VMware Changed Block Tracking (CBT) là gì và nó hoạt động như thế nào?
VMware cung cấp các giao diện lập trình ứng dụng (API) nhằm đơn giản hóa việc bảo vệ dữ liệu trong các môi trường ảo hóa doanh nghiệp, với các tính năng cho phép sao lưu không cần trình điều khiển (agentless) và nâng cao hiệu quả của việc sao lưu tăng dần cho máy ảo (VM). Sao lưu tăng dần giúp tiết kiệm một lượng đáng kể dung lượng lưu trữ so với sao lưu toàn bộ
Khi nói đến các giải pháp sao lưu hiện đại Các giải pháp sao lưu của VMware, phần lớn đều dựa vào các API của VMware và sử dụng công nghệ Changed Block Tracking (CBT) để hỗ trợ và đẩy nhanh quá trình tạo bản sao lưu tăng dần cho máy ảo. Trong bài viết blog này, chúng tôi sẽ giải thích về Changed Block Tracking, bao gồm nguyên lý hoạt động và các ứng dụng thực tiễn.
Changed Block Trackinglà gì?
Changed Block Tracking (CBT) là một tính năng gốc của VMware, có chức năng ghi lại các khối dữ liệu đã thay đổi vào tệp theo dõi. CBT là một phần của khung công nghệ VMware vSphere Storage APIs – Data Protection được ra mắt lần đầu tiên trong phiên bản 4.0, cho phép các ứng dụng bảo vệ dữ liệu của bên thứ ba tận dụng CBT để thực hiện sao lưu và nhân bản hiệu quả hơn.
CBT hoạt động ở cấp độ ESXi Storage Stack và cho phép các giải pháp sao lưu của bên thứ ba chỉ sao lưu các khối dữ liệu đã thay đổi kể từ lần sao lưu gần nhất, tức là tạo các bản sao lưu gia tăng, hoặc các khối dữ liệu đang được sử dụng thay vì toàn bộ máy ảo (VM). Điều này giúp bạn giảm đáng kể lượng dữ liệu sao lưu, đặc biệt trong các môi trường quy mô lớn với hàng trăm máy ảo, đồng thời tăng tốc quá trình sao lưu.
VMware CBT giảm đáng kể thời gian phần mềm sao lưu cần để thực hiện các bản sao lưu gia tăng vì nó theo dõi các thay đổi trong một tệp nhật ký đặc biệt. Các giải pháp sao lưu của bên thứ ba sẽ gây ra tải CPU cao hơn trên máy chủ ESXi nếu chúng theo dõi các thay đổi mà không sử dụng CBT bằng các phương pháp khác. Do đó, CBT cũng tối ưu hóa hiệu suất của máy chủ ESXi khi sao lưu dữ liệu.
CBT cũng được sử dụng bởi quy trình Storage vMotion của VMware, cho phép di chuyển các tệp đĩa của máy ảo từ kho dữ liệu này sang kho dữ liệu khác trong khi máy ảo đang chạy.
Cách thức hoạt động của VMware Changed Block Tracking
Tính năng CBT hoạt động bằng cách so sánh tệp nhật ký thay đổi cuối cùng và hiện tại changeset IDs và xác định các sector đĩa đã bị thay đổi giữa hai tệp này changeset IDs. VMware CBT cũng xác định tất cả các khối Virtual Machine File System (VMFS) trên đĩa ảo đang được sử dụng. Việc theo dõi này được thực hiện bởi chính trình ảo hóa và diễn ra bên ngoài máy ảo.
CBT Yêu cầu
Các yêu cầu đối với Changed Block Tracking bao gồm:
- VMware vSphere (ESXi 4.0 trở lên)
- Phần cứng ảo phiên bản 7 trở lên
- Các kho dữ liệu cục bộ {24} kho dữ liệu,
NFShoặciSCSI - Cung cấp tài nguyên theo kiểu dày hoặc mỏng
- Không
RAW disk mappings.Raw Device Mapping (RDM)trongPhysical Compatibility Modekhông được hỗ trợ. - Máy ảo không được có ảnh chụp nhanh để bắt đầu sử dụng
VMware CBT
Cách kích hoạt Changed Block Tracking
Theo mặc định, CBT bị tắt vì nó tiêu tốn một lượng nhỏ thời gian CPU của máy chủ. Tuy nhiên, đối với giải pháp sao lưu của bên thứ ba như NAKIVO Backup & Replication, CBT phải được bật để sản phẩm có thể thực hiện sao lưu gia tăng nhanh chóng và đáng tin cậy.
CBT được bật trong cài đặt cấu hình nâng cao của máy ảo:
- Mở cài đặt máy ảo. Bạn có thể thực hiện việc này tại
VMware vSphere Clientbằng cách nhấp chuột phải vào một máy ảo và chọnEdit Settings. - Trong cửa sổ
Edit settings, nhấp vào tabVM Options. - Nhấp vào danh mục tùy chọn
Advancedđể mở rộng cài đặt và nhấp vàoEdit Configurationtrong dòngConfiguration Parameters. Cửa sổConfiguration Parameterscủa máy ảo (VM) sẽ mở ra, trong đó chứa nhiều dòng, mỗi dòng bao gồm tên tham số và giá trị tương ứng. Việc kích hoạt CBTđược xác định bởi dòng sau trong cấu hình.vmx:
ctkEnabled = "TRUE"
Ngoài ra, đối với mỗi đĩa mà CBT được bật, một mục sẽ được thêm vào:
scsix:x.ctkEnabled = "TRUE"
Các tham số này phải được thiết lập để kích hoạt Changed Block Tracking.
Lưu ý : Để tắt CBT, hãy thay đổi TRUE thành FALSE trong các dòng ctkEnabled và scsi0:0.ctkEnabled (sử dụng số thứ tự phù hợp của thiết bị SCSI ).
Khi CBT được kích hoạt trên một máy ảo (VM), VMkernel sẽ tạo thêm một tệp có tên -ctk.vmdk trong thư mục của máy ảo, dùng để lưu trữ bản đồ các khối đĩa ảo. Tệp này liên quan đến đĩa tương ứngvmdk và chứa danh sách các khối đã thay đổi trên đĩa ảo này trong khoảng thời gian được xác định trong tệp changeset ID cuối cùng so với trạng thái hiện tại. Kích thước của tệp CTK được tạo ra sẽ giữ nguyên và không tăng vượt quá kích thước ban đầu trừ khi kích thước của đĩa ảo được tăng lên. Kích thước của tệp CTK khoảng 5 MB cho mỗi 10 GB dung lượng đĩa VM.
Hầu hết các giải pháp sao lưu sẽ sử dụng phương pháp VMware SDK để kích hoạt tự động CBT cho một VM và sử dụng một stun/unstun cycle, bao gồm các thao tác như bật/tắt nguồn, tạm dừng/tiếp tục, hoặc tạo/xóa bản sao lưu. Trong quá trình stun/unstun cycle, một bộ lọc theo dõi thay đổi đặc biệt được chèn vào VMware storage stack cho VM cụ thể đó, cho phép CBT khởi tạo trên VM.
Cách kiểm tra xem CBT có được bật hay không
Trong trường hợp bạn chưa bật CBT theo cách thủ công, bạn có thể kiểm tra xem phần mềm sao lưu có bật CBT để thực hiện sao lưu máy ảo hay không. Các bước để kiểm tra cài đặt CBT tương tự như các bước để bật tính năng này. Tuy nhiên, ở đây chúng ta sẽ đề cập đến một phương pháp hơi khác một chút bằng cách sử dụng tệp cấu hình .vmx
Để kiểm tra xem CBT có được bật cho máy ảo hay không, hãy thực hiện như sau:
- Mở
VMware vSphere Client. - Tìm máy ảo cần thiết và đảm bảo rằng nó đã được tắt nguồn.
- Truy cập thư mục chứa máy ảo trên kho dữ liệu.
- Tìm tệp cấu hình máy ảo (.
vmx).
vmx phải chứa mục ctkEnabled . Giá trị của mục này phải là "TRUE". Nếu không, hãy thay đổi giá trị thành "TRUE" để kích hoạt CBT cho máy ảo.Khi tính năng CBTđược kích hoạt, mỗi đĩa ảo sẽ đi kèm với một tệp xxx-ctk.vmdk , trong đó "xxx" là tên của đĩa ảo. Nếu bạn thấy các tệp này CTK , điều đó cho thấy tính năng CBT đang hoạt động.
Trong một số trường hợp, chẳng hạn như tắt máy chủ không đúng cách hoặc mất điện, CBT có thể mất dấu các thay đổi trong khi máy ảo (VM) đang bật nguồn. Điều này có thể khiến CBT phải thiết lập lại, nghĩa là tất cả dữ liệu CBT đã thu thập trước đó sẽ bị xóa sạch và dữ liệu mới sẽ bắt đầu được thu thập từ thời điểm thiết lập lại. Nếu bạn thực hiện sao lưu máy ảo sau khi CBT được thiết lập lại, hệ thống sẽ tạo một bản sao lưu toàn bộ. Sau khi thực hiện sao lưu toàn bộ và theo dõi các thay đổi mới, bạn có thể tiếp tục thực hiện các bản sao lưu gia tăng.
Sử dụng VMware CBT trong NAKIVO Backup & Replication
NAKIVO Backup & Replication là giải pháp bảo vệ dữ liệu toàn diện có thể sao lưu, khôi phục và nhân bản máy ảo trong VMware vSphere. Để tăng tốc quá trình sao lưu gia tăng được thực hiện bằng giải pháp NAKIVO, CBT được kích hoạt theo mặc định trong mọi tác vụ sao lưu mới.
Có một số trường hợp NAKIVO Backup & Replication, giống như bất kỳ giải pháp sao lưu vSphere nào khác, không thể sử dụng VMware CBT:
VMware CBTkhông được hỗ trợ bởi máy ảo : Nguyên nhân có thể – Máy chủ ESXi có phiên bản thấp hơn v4.1, hoặcVirtual Hardwarephiên bản thấp hơn v7.
VMware CBTDữ liệu không được cung cấp : Nguyên nhân có thể – Mất điện trên máy chủ ESXi vàCBTđã mất dấu các thay đổi gia tăng của máy ảo.
Trong phần theo dõi thay đổi bổ sung settings, bạn có thể tìm thấy các hành động mà giải pháp nên thực hiện khi gặp lỗi trong quá trình sử dụng CBT.
Hãy xem xét kỹ hơn các hành động này tại On error :
Switch to proprietary method: Phương pháp theo dõi thay đổi độc quyền của NAKIVO Backup & Replication sẽ được sử dụng, phương pháp này chậm hơn so vớiVMware CBTvà tiêu tốn nhiều tài nguyên hơn của máy chủ ESXi.Reset CBT:CBTsẽ được đặt lại choCBTtrong trường hợpCBTthất bại.Fail VM processing: Việc xử lý máy ảo (VM) sẽ bị dừng lại.
Ngoài ra, bạn có thể chỉ định thời điểm áp dụng hành động đã chọn tại On error :
Immediately: Hành động khi gặp lỗi được áp dụng ngay lập tức (trừ hành độngReset CBT).On the next retry: Hành động khi xảy ra lỗi sẽ được áp dụng ở lần thử lại tiếp theo.On the last retry: Hành động khi xảy ra lỗi sẽ được áp dụng ở lần thử lại cuối cùng.
Bạn cũng có thể chọn hộp kiểm Double-check changed blocks provided by CBT . Trong trường hợp này, dữ liệu do VMware CBT cung cấp sẽ được kiểm tra bổ sung dựa trên hệ thống theo dõi thay đổi độc quyền của NAKIVO Backup & Replication. Cách tiếp cận này đáng tin cậy hơn, nhưng có thể chậm hơn so với phương pháp thông thường VMware CBT.
Kết luận
VMware Changed Block Tracking là một tính năng mạnh mẽ giúp quá trình sao lưu diễn ra nhanh chóng và đáng tin cậy trên mọi phương diện. Công nghệ này đã được kiểm thử kỹ lưỡng và được ứng dụng rộng rãi trong các giải pháp gốc của VMware như Storage vMotion.
VMware CBT là một phần không thể thiếu của các giải pháp sao lưu hiện đại như NAKIVO Backup & Replication, giúp thực hiện sao lưu hiệu quả cho các môi trường VMware mà không gây thêm tải cho các máy chủ.



