Khắc phục lỗi VMware: Cần hợp nhất đĩa của máy ảo

Lỗi “Cần hợp nhất đĩa máy ảo VMware” thường xuất hiện khi các bản chụp nhanh (snapshot) không thể hợp nhất thành công với đĩa ảo chính. Vấn đề này thường xảy ra sau khi sao lưu không hoàn tất, việc xóa bản chụp nhanh bị hủy bỏ hoặc dung lượng lưu trữ thấp. Nếu không được khắc phục, tình trạng này có thể làm chậm máy ảo của bạn hoặc thậm chí gây ra rủi ro hỏng dữ liệu. Hãy đọc bài viết này để tìm hiểu lý do tại sao trạng thái “Cần hợp nhất máy ảo” xuất hiện và cách khắc phục an toàn.

NAKIVO cho sao lưu VMware vSphere

NAKIVO cho sao lưu VMware vSphere

Bảo vệ dữ liệu toàn diện cho các máy ảo VMware vSphere cùng các tùy chọn khôi phục tức thì. Các điểm sao lưu an toàn tại chỗ, ngoài cơ sở và trên đám mây. Các tính năng chống ransomware.

Hợp nhất đĩa ảo VMware là gì?

Hợp nhất đĩa ảo là quá trình hợp nhất các tệp đĩa ảo được tạo ra sau khi thực hiện Bản sao lưu VM. Bạn có thể khởi chạy quá trình hợp nhất đĩa theo yêu cầu để tránh tình trạng suy giảm hiệu suất và các vấn đề khác. Khi bạn tạo bản sao lưu (snapshot), các đĩa delta sẽ được tạo ra và các thay đổi sẽ được ghi vào đĩa delta tương ứng (mặc định là đĩa delta mới nhất, cho đến khi một trong các bản sao lưu trước đó được chọn để khôi phục máy ảo). Do đó, dữ liệu trùng lặp tồn tại trong bộ nhớ lưu trữ của máy ảo vì mỗi đĩa delta chứa tất cả các thay đổi so với trạng thái đĩa delta trước đó, trong khi đĩa gốc vẫn không thay đổi.

Khi chuỗi ảnh chụp nhanh và các tệp đĩa ảo liên quan trở nên quá lớn, hiệu suất sẽ giảm sút. Khi thực hiện hợp nhất đĩa VMware, dữ liệu từ các đĩa delta được hợp nhất thành một đĩa duy nhất, và không còn dữ liệu trùng lặp nào trên kho dữ liệu nơi các tệp của máy ảo này được lưu trữ. Dung lượng lưu trữ được dọn dẹp sau khi bạn hợp nhất các tệp đĩa máy ảo. Lưu ý rằng VMware khuyến nghị không sử dụng quá 32 bản sao lưu cho mỗi máy ảo.

Các nguyên nhân có thể gây ra lỗi hợp nhất đĩa VMware

Thông báo lỗi “Hợp nhất đĩa máy ảo VMware là cần thiết” được hiển thị trong máy ảo trong tab của Ứng dụng VMware vSphere Client (hình ảnh minh họa bên dưới). Một trong những nguyên nhân phổ biến dẫn đến thông báo lỗi này là việc xóa bản sao lưu máy ảo (VM snapshot) không đúng cách, điều này có thể để lại các tệp VMDK liên quan đến bản sao lưu và tệp nhật ký trên kho dữ liệu (ví dụ: sau khi bạn thực hiện thao tác Delete All hoặc Delete cho bản sao lưu máy ảo).

The virtual machine consolidation needed status error is displayed in vSphere Client

Các nguyên nhân phổ biến nhất dẫn đến trạng thái ” ” (Cần hợp nhất máy ảo) và ” ” (Không đủ dung lượng đĩa trên kho dữ liệu VMFS để hợp nhất bản sao lưu máy ảo và tệp đĩa ảo):

  • Không đủ dung lượng đĩa trên kho dữ liệu VMFS để hợp nhất bản sao lưu máy ảo và tệp đĩa ảo. Nếu kho dữ liệu có ít hơn 1 GB dung lượng trống, lỗi này có thể xảy ra.
  • Hiệu suất thấp của hệ thống lưu trữ được kết nối với máy chủ ESXi nơi máy ảo đang chạy. Nếu kích thước bản sao lưu lớn hoặc hết thời gian chờ, quá trình hợp nhất bản sao lưu có thể thất bại.
  • Vấn đề kết nối giữa máy chủ ESXi và vCenter.
  • Các tệp ảnh chụp nhanh bị khóa bởi một ứng dụng của bên thứ ba (ví dụ: ứng dụng sao lưu). Điều này có thể xảy ra nếu ứng dụng sao lưu chưa hoàn tất tác vụ sao lưu và đã khóa ảnh chụp nhanh (các ứng dụng sao lưu có thể tạo ảnh chụp nhanh tạm thời của máy ảo khi thực hiện sao lưu). Các ứng dụng sao lưu không thể tạm dừng hoạt động của đĩa mà không sử dụng kỹ thuật chụp nhanh (snapshot) để tạo bản sao lưu nhất quán cho máy ảo đang chạy.

Về cơ bản, bạn cần khôi phục tính nhất quán cho các tệp đĩa của máy ảo.

Làm thế nào để khắc phục lỗi hợp nhất đĩa VMware?

Để giải quyết tình trạng cần hợp nhất máy ảo , hãy nhấp chuột phải vào tên máy ảo trong VMware vSphere Client và trong menu hiện ra, nhấp vào Snapshots > Consolidate.

VMware snapshot consolidate

Một thông báo xác nhận sẽ hiển thị:

Thao tác này sẽ hợp nhất tất cả các nhật ký redo dư thừa trên máy ảo của bạn. Bạn có chắc chắn muốn tiếp tục không?

Nhấp vào Yes để xác nhận và hợp nhất các tệp đĩa của máy ảo.

Note: Nếu lo ngại rằng một số dữ liệu có thể bị mất trong quá trình hợp nhất đĩa VMware, hãy tạo một Sao lưu máy ảo VMware bằng cách sao chép tất cả các tệp máy ảo sang một thư mục khác trên kho dữ liệu và sau đó thực hiện hợp nhất đĩa VMware.

Chờ cho đến khi quá trình hợp nhất đĩa VMware hoàn tất và các nhật ký được xóa. Bạn có thể xem tiến trình tác vụ trong bảng tác vụ ở phía dưới giao diện VMware vSphere Client. Nếu máy ảo đang chạy, hiệu suất của máy ảo có thể bị giảm trong quá trình này. Thời gian cần thiết để hoàn tất thao tác này phụ thuộc vào kích thước máy ảo, số lượng bản sao lưu và tải của máy ảo.

Sau khi tác vụ hợp nhất đĩa VMware hoàn tất, cảnh báo sẽ biến mất.

Các lỗi khác có thể xảy ra

Đôi khi, một lỗi khác có thể xảy ra trong quá trình hợp nhất đĩa VMware và thông báo lỗi sau được hiển thị:

Không thể truy cập tệp vì tệp đang bị khóa. Đã xảy ra lỗi trong quá trình hợp nhất đĩa: Không thể khóa tệp. Quá trình hợp nhất đã thất bại cho nút đĩa ‘scsi0:0’.

Khóa cũng có thể được tạo khi các ứng dụng sao lưu sử dụng tùy chọn ‘hot-add disk’ cho các bản sao lưu sử dụng snapshot. Khóa tệp VM được thiết kế để tránh việc ghi đồng thời vào tệp bởi nhiều máy chủ ESXi.

Hãy thử thực hiện các thao tác sau để khắc phục lỗi này:

  1. Khởi động lại các trình quản lý trên máy chủ ESXi nơi máy ảo đang chạy. Truy cập Giao diện dòng lệnh ESXi hoặc kết nối với máy chủ ESXi qua SSH và chạy lệnh với quyền root:

    services.sh restart

    Hoặc

    /etc/init.d/hostd restart

    /etc/init.d/vpxa restart

    Bạn cũng có thể mở giao diện điều khiển trực tiếp của ESXi, truy cập Troubleshooting Options và chọn Restart Management Agents (nhấn Enter để kích hoạt tùy chọn cần thiết, sau đó nhấn F11 để xác nhận).

  2. Kiểm tra tệp bị khóa bằng lệnh:

    vmfsfilelockinfo -p /vmfs/volumes/vm_datastore/vm_name/vm_name.vmx

  3. Hãy kiểm tra tệp nhật ký hostd nếu bạn cần xác định đường dẫn trên kho dữ liệu (datastore) nơi chứa các tệp của máy ảo (VM).

    cat /var/log/hostd.log |grep -i vm_name

  4. Truy cập thư mục VM trên datastore khi bạn đã biết vị trí của các tệp VM:

    cd /vmfs/volumes/datastore_name/vm_name

  5. Chạy lệnh để liệt kê các máy chủ ESXi đang khóa các tệp VM:

    for i in `ls`; do vmfsfilelockinfo -p $i ;done|grep 'is locked in|Host owning the lock|Total time taken' | sed 's|Host owning the lock on file is||g'|sed 's|Total time|---|g' | awk '{print $1}' |uniq

  6. Khởi động lại các trình quản lý ESXi, bao gồm hostdvpxa như đã giải thích ở trên, hoặc chạy các lệnh này trên máy chủ ESXi đang khóa các tệp VM:

    /etc/init.d/hostd restart

    /etc/init.d/vpxa restart

Một phương pháp khác để mở khóa các tệp VM

Ngoài ra, bạn có thể thử các bước này để khắc phục lỗi xảy ra trong quá trình hợp nhất đĩa: Không thể khóa tệp.

  1. Tắt máy ảo.
  2. Tạo bản sao lưu đĩa mới cho máy ảo.
  3. Xóa tất cả các bản sao lưu hiện có của máy ảo. Nhấp chuột phải vào tên máy ảo trong vSphere Client, chọn Snapshots và nhấp vào Delete All Snapshots.

    VMware delete snapshot

  4. Sao chép máy ảo hoặc di chuyển nó sang một máy chủ ESXi khác bằng vMotion nếu lỗi vẫn chưa được khắc phục.
  5. Thử hợp nhất các bản sao lưu một lần nữa, như đã giải thích ở trên. 

Nếu các thao tác này không giúp được, hãy tắt máy ảo, mở VM settings, chọn tab VM options , sau đó mở rộng phần Advanced và nhấp vào Edit Configuration. Trong cửa sổ Tham số cấu hình , nhấp vào Add Configuration Params. Thêm tham số asyncConsolidate.forceSync và đặt tham số này thành TRUE.

Đôi khi trạng thái cần hợp nhất máy ảo có thể do các tệp -ctk.vmdk không nhất quán được tạo ra cho theo dõi khối đã thay đổi (có thể do phần mềm sao lưu máy ảo). Hãy thử xóa các tệp CTK vì chúng không cần thiết cho việc hợp nhất ảnh chụp nhanh. Đừng quên sao lưu các tệp máy ảo trước khi xóa các tệp CTK. Sau đó, hãy thử hợp nhất các tệp đĩa máy ảo một lần nữa.

Editing VM configuration parameters

Tùy chọn Hợp nhất không hoạt động

Nếu tùy chọn hợp nhất ảnh chụp nhanh VMware bị mờ đi (không hoạt động), có thể có một tác vụ đang chạy trên máy ảo. Nếu bạn thấy lỗi phát hiện cấu hình ảnh chụp nhanh không hợp lệ , một số ảnh chụp nhanh có thể bị hỏng hoặc có thể có chuỗi ảnh chụp nhanh bị tách rời. Trong trường hợp này, hãy thử thực hiện các thao tác sau:

  1. Kết nối với máy chủ ESXi qua SSH và chuyển đến thư mục chứa các tệp máy ảo trên kho dữ liệu.

    cd vmfs/volumes/DatastoreName/VMFolderName

    Bạn có thể kiểm tra vị trí của các tệp máy ảo trong VMware vSphere Client và tìm vị trí của các đĩa ảo bằng cách xem cài đặt máy ảo.

  2. Xác định các bản sao lưu đĩa đang được trỏ đến:

    cat VM-name.vmx | grep scsi*

    Tham khảo kết quả đầu ra để kiểm tra các tệp đĩa ảo, bao gồm cả các tệp bản sao lưu đĩa ảo. Ví dụ: tên của tệp đĩa ảo được hiển thị trong dòng đó. Đây không phải là bản sao lưu:

    scsi 0:0.fileName = “VM-Name.vmdk”

    Trong dòng kết quả, tên tệp bản sao lưu đĩa ảo được hiển thị, và bạn đang trỏ đến bản sao lưu:

    scsi 0:0.fileName = “VM-Name-000002.vmdk”

    Trong ví dụ này, bộ điều khiển đĩa ảo SCSI được sử dụng trong cấu hình máy ảo.

  3. Lệnh sau đây kiểm tra xem mỗi bản sao lưu đang trỏ đến đâu. Sử dụng lệnh này để xác định bản sao lưu nào đang trỏ đến tệp đĩa cụ thể (tệp VMDK của bản sao lưu hoặc tệp VMDK đĩa gốc) trong chuỗi bản sao lưu.

    cat VM-Name-000002.vmdk | grep parentFileNameHint

    Bạn có thể cần thực thi lại lệnh này cho các tệp VMDK khác (như VM-Name-000001.vmdk trong ví dụ này) cho đến khi tìm thấy đĩa gốc cần thiết. Phương pháp này giúp bạn xác định các sự không nhất quán.

  4. Nếu bạn phát hiện sự không nhất quán, ví dụ: VM-Name-000002.vmdk đang trỏ đến VM-Name-000001.vmdk, mà tệp này lại trỏ đến VM-Name.vmdk, hãy chạy vmkfstools tại điểm cao nhất của chuỗi bản sao lưu đĩa ( VM-Name-000002.vmdk trong trường hợp này):

    vmkfstools -q -v10 VM-Name-000002.vmdk

    Lệnh này sẽ cố gắng mở và đóng tất cả các tệp VMDK trong chuỗi, đồng thời thông báo cho bạn biết vị trí xảy ra lỗi.

Sử dụng PowerCLI

Thay vì thực hiện hợp nhất đĩa VMware trong giao diện người dùng đồ họa VMware vSphere Client, bạn có thể sử dụng vSphere PowerCLI với giao diện dòng lệnh.

  1. Kết nối với vCenter Server quản lý máy chủ ESXi có máy ảo cần hợp nhất trạng thái. Nhập thông tin đăng nhập khi được yêu cầu.

    Connect-VIServer vcenter01.test.com

  2. Lấy danh sách các máy ảo có trạng thái cần hợp nhất máy ảo :

    Get-VM | Where-Object {$ _. Extensiondata.Runtime.ConsolidationNeeded}

  3. Thực hiện hợp nhất đĩa VMware.

    Get-VM | Where-Object {$ . Extensiondata.Runtime.ConsolidationNeeded} | foreach {$ . ExtensionData.ConsolidateVMDisks_Task ()}

Các khuyến nghị bổ sung

Trong VMware vSphere 7.0, người dùng có thể gặp sự cố khi máy chủ được khởi động lại và dịch vụ CBT không khởi động được. Có thể cần phải khởi động dịch vụ theo cách thủ công mỗi lần. Tuy nhiên, vấn đề này đã được khắc phục trong vSphere 7 U3. Nếu bạn đang sử dụng vSphere 7.0, bạn có thể thử giải pháp tạm thời sau:

  1. Kiểm tra xem mô-đun CBT đã được kích hoạt chưa:

    esxcli system module list --enabled=true | grep cbt

  2. Kiểm tra xem mô-đun CBT đã được tải trên máy chủ ESXi chưa:

    esxcli system module list --loaded=true | grep cbt

  3. Tải mô-đun CBT theo cách thủ công:

    vmkload_mod cbt

Nếu ứng dụng sao lưu đang khóa các tệp của máy ảo, bạn có thể khởi động lại vpx quá trình trên máy chủ ESXi để giúp gỡ bỏ khóa. Hãy thử ngắt kết nối các đĩa ảo khỏi ứng dụng sao lưu VM.

Thay vì di chuyển VM, bạn có thể tắt VM và khởi động lại máy chủ ESXi. Sau đó, đưa máy chủ ra khỏi chế độ bảo trì để giải phóng khóa và khắc phục sự cố.

Kết luận

Tình trạng cần hợp nhất máy ảo là một vấn đề phổ biến nhưng có thể quản lý được trong môi trường VMware. Bằng cách hiểu nguyên nhân gây ra lỗi và áp dụng các thực hành sao lưu và bản sao lưu phù hợp, bạn có thể duy trì một cơ sở hạ tầng ảo khỏe mạnh và hiệu quả. Luôn xác minh việc xóa bản sao lưu và theo dõi dung lượng lưu trữ khả dụng để ngăn chặn sự tái diễn. Bảo trì định kỳ và giám sát chủ động giúp đảm bảo hiệu suất máy ảo mượt mà và bảo vệ dữ liệu đáng tin cậy.

Hãy thử NAKIVO Backup & Replication

Hãy thử NAKIVO Backup & Replication

Đăng ký dùng thử miễn phí để khám phá toàn bộ các tính năng bảo vệ dữ liệu của giải pháp. Dùng thử miễn phí trong 15 ngày. Không có bất kỳ giới hạn nào về tính năng hay dung lượng. Không cần thẻ tín dụng.

People also read