Computer >> Hướng Dẫn Máy Tính >  >> Phần Mềm >> Máy Ảo

Thu nhỏ dung lượng ổ cứng ảo VMDK trên VMware ESXi

Trong bài viết này chúng ta sẽ chỉ cách giảm kích thước file ổ cứng ảo (vmdk) của máy ảo chạy trên VMware ESKhác với việc mở rộng ổ đĩa của máy ảo VMware có thể thực hiện on-the-fly mà không cần tắt máy ảo, việc giảm kích thước file vmdk trên hypervisor VMware ESXi phức tạp hơn và bạn không thể làm qua giao diện đồ họa vSphere Web Client. vSphere Client không cho phép bạn chỉ định kích thước ổ cứng ảo nhỏ hơn.

Quan trọng. Hướng dẫn này không phải là giải pháp được hỗ trợ chính thức về cách giảm kích thước ổ đĩa vmdk trong VMware. Tuy nhiên, tôi đã sử dụng phương pháp này hàng chục lần. VMware ESXi 6.7 được sử dụng trong bài viết này.

Thu nhỏ dung lượng ổ cứng ảo VMDK trên VMware ESXi

Trước khi giảm kích thước ổ cứng ảo, hãy làm theo các bước sau trên máy chủ VMware ESXi của bạn:

  1. Xóa tất cả snapshot của máy ảo (ngay cả khi không làm vậy, bạn có thể hỏng ổ cứng ảo);
  2. Tạo bản sao lưu đầy đủ của máy ảo, hoặc tạo bản sao của file vmdk và flat bạn muốn thu nhỏ. Sử dụng các lệnh:
    cp vmname.vmdk backup_vmname.vmdk
    cp vmname-flat.vmdk backup_vmname-flat.vmdk

Quy trình giảm kích thước ổ cứng ảo bao gồm hai bước:

  • Thu nhỏ phân vùng bên trong hệ điều hành khách;
  • Giảm kích thước file VMDK của máy ảo VMware trên datastore VMFS (NFS).

Cách thu nhỏ kích thước phân vùng trong hệ điều hành khách?

Trước hết, hãy giảm kích thước phân vùng ổ đĩa trong hệ điều hành khách. Nếu máy ảo của bạn chạy Windows OS, hãy sử dụng Disk Manager diskmgmt.msc (thao tác Shrink Volume có sẵn trong tất cả các phiên bản Windows được hỗ trợ; công cụ sdelete được dùng trong các phiên bản Windows cũ hơn để giảm kích thước phân vùng) hoặc các công cụ của bên thứ ba (như Acronis Disk Director). Nếu bạn không làm điều này, hệ thống file của bạn có thể bị hỏng sau khi thu nhỏ kích thước ổ cứng ảo.

Thu nhỏ dung lượng ổ cứng ảo VMDK trên VMware ESXi

Giả sử bạn muốn giảm dung lượng ổ đĩa 40 GB. Vì vậy kích thước phân vùng phải giảm 40960 MB (40 GB x 1024). Nhập giá trị này vào trường tương ứng của wizard Shrink Volume. Sau khi giảm kích thước phân vùng, sẽ có một số không gian unallocated (40 GB trong ví dụ của chúng ta) ở bên phải phân vùng của bạn.

Thu nhỏ dung lượng ổ cứng ảo VMDK trên VMware ESXi

Lưu ý rằng phân vùng OEM hoặc Windows Recovery đôi khi có thể ngăn chặn việc mở rộng hoặc thu nhỏ ổ đĩa.

Thu nhỏ dung lượng ổ cứng ảo VMDK trên VMware ESXi

Trong Linux, bạn có thể giảm kích thước phân vùng bằng parted. Nếu sử dụng LVM logical volumes, kịch bản sẽ khác.

Giảm kích thước file VMDK của máy ảo VMware

Sau đó giảm kích thước file VMDK trên hệ thống file VMware VMFS.

  1. Tắt máy ảo bạn muốn giảm kích thước ổ đĩa;
  2. Sử dụng SSH, kết nối với console của ESXi host mà VM đăng ký trên đó (bạn có thể dùng putty hoặc client SSH tích hợp sẵn của Windows);
  3. Đi đến thư mục chứa file VMDK của VM (bạn có thể lấy đường dẫn trong thuộc tính ổ cứng ảo của vSphere client):
    cd /vmfs/volumes/datastore/test-VM
    Thu nhỏ dung lượng ổ cứng ảo VMDK trên VMware ESXi
  4. Hiển thị nội dung file cấu hình ổ cứng ảo (*.vmdk) bằng lệnh cat:
    # cat test_vm_3.vmdk
    Kích thước ổ đĩa vmdk được hiển thị trong phần #Extent description (sau ký tự RW). Trong trường hợp này là 167772160 (80 GB *1024*1024*1024 / 512);
    Thu nhỏ dung lượng ổ cứng ảo VMDK trên VMware ESXi
  5. Tôi muốn giảm ổ đĩa VMDK từ 80 xuống 40 GB. Điều đó có nghĩa là tôi phải chỉ định 83886080 (40 GB*1024*1024*1024 / 512) trong phần Extent description. Đặt kích thước mới của ổ cứng ảo bằng trình soạn thảo văn bản (vi hoặc nano);
  6. Tôi dùng vi: # vi test_vm_3.vmdk
  7. Sử dụng phím mũi tên xuống, đi đến dòng chứa kích thước ổ đĩa và nhấn i (để chỉnh sửa). Chỉ định kích thước mới của ổ cứng ảo. Nhấn ESC để thoát chế độ chỉnh sửa và sau đó gõ :wq → Enter để lưu thay đổi;
    Thu nhỏ dung lượng ổ cứng ảo VMDK trên VMware ESXi
  8. Sau đó chỉ cần clone hoặc migrate (sử dụng Storage vMotion) máy ảo sang datastore khác. Sau khi di chuyển file máy ảo, kích thước mới của ổ cứng ảo sẽ hiển thị trong thuộc tính của nó. Mẹo. Nếu bạn chỉ có một ESXi host, một VMFS datastore, bạn sẽ không thể dùng Storage vMotion. Lúc đó bạn có thể clone vmdk bằng lệnh:
    vmkfstools -i test_vm_3.vmdk test_vm_3_newsize.vmdk
    Thu nhỏ dung lượng ổ cứng ảo VMDK trên VMware ESXi
    Xóa ổ VMDK nguồn, clone lại ổ VMDK còn lại và đổi tên bằng cách chỉ định tên gốc:
    rm test_vm_3.vmdk
    rm test_vm_3-flat.vmdk
    vmkfstools -i test_vm_3_newsize.vmdk test_vm_3.vmdk
  9. Đảm bảo rằng kích thước mới của ổ cứng ảo hiện hiển thị trong thuộc tính VM.
    Thu nhỏ dung lượng ổ cứng ảo VMDK trên VMware ESXi
  10. Sau đó khởi động VM, đăng nhập hệ điều hành khách và đảm bảo rằng vùng unallocated đã biến mất, và kích thước ổ đĩa đã được giảm.
    Thu nhỏ dung lượng ổ cứng ảo VMDK trên VMware ESXi
Mẹo. Nếu bạn đã dùng vmkfstools ở bước trước, hãy kết nối lại ổ cứng ảo trong cài đặt VM, vì kích thước mới có thể không hiển thị đúng.
Lưu ý. Các phương pháp sau thường được dùng để giảm kích thước ổ đĩa VMDK:
  • Giảm kích thước ổ cứng ảo bằng cách chuyển đổi máy ảo sử dụng VMware vCenter Converter. Chỉ định kích thước ổ đĩa nhỏ hơn nguồn để chuyển đổi (chúng ta sẽ chỉ trong phần tiếp theo);
  • Bạn có thể clone nội dung ổ cứng ảo bằng phần mềm của bên thứ ba (như Acronis True Image hoặc Symantec Ghost32). Nhiệm vụ này được thực hiện bằng cách thêm ổ đĩa mới nhỏ hơn vào máy ảo và clone nội dung ổ đĩa lớn hơn vào nó. Sau đó bạn có thể xóa ổ đĩa lớn hơn.

Thu nhỏ VMDK bằng VMware vCenter Converter Standalone

Một cách khác để giảm kích thước ổ cứng ảo của máy ảo VMware là sử dụng công cụ GUI miễn phí VMware vCenter Converter Standalone.

Nhược điểm:

  • Chuyển đổi V2V chậm;
  • Phải có đủ không gian trên datastore để lưu VM mới;
  • Máy ảo mới sẽ có địa chỉ MAC mới.

Ưu điểm:

  • Không cần mở console vCenter hoặc ESXi host;
  • Tạo bản sao chính xác của VM;
  • Ổ đĩa nguồn không thể bị hỏng nếu có lỗi trong cài đặt tác vụ chuyển đổi.
Lưu ý. Máy ảo bạn muốn chuyển đổi (thay đổi kích thước ổ đĩa, v.v.) phải được tắt (sử dụng Shut down hoặc Power Off, thay vì Suspend).

Chỉ định địa chỉ ESXi host.

Thu nhỏ dung lượng ổ cứng ảo VMDK trên VMware ESXi

Chọn VM nguồn.

Thu nhỏ dung lượng ổ cứng ảo VMDK trên VMware ESXi

Đặt tham số cho VM mới.

Thu nhỏ dung lượng ổ cứng ảo VMDK trên VMware ESXi

Vào chế độ chỉnh sửa ổ đĩa (Data to copy → Edit).

Thu nhỏ dung lượng ổ cứng ảo VMDK trên VMware ESXi

Chọn chế độ copy: Select volumes to copy.

Thu nhỏ dung lượng ổ cứng ảo VMDK trên VMware ESXi

Chỉ định kích thước ổ đĩa mới cho VM mới. Như bạn thấy, 48 GB được chiếm dụng trong guest OS, và kích thước ổ đĩa là 150 GB. Chúng ta sẽ giảm kích thước ổ cứng ảo xuống 60 GB.

Thu nhỏ dung lượng ổ cứng ảo VMDK trên VMware ESXi Thu nhỏ dung lượng ổ cứng ảo VMDK trên VMware ESXi

Chạy quá trình chuyển đổi VM. Sau đó bạn có thể tắt VM nguồn và bật VM mới. Đảm bảo rằng kích thước ổ đĩa đã được giảm. Sau đó VM gốc có thể bị xóa.

Lưu ý. Trong các phiên bản mới nhất của Microsoft Hyper-V, bạn có thể sử dụng công cụ Hyper–V Online VHDX Resize để thay đổi kích thước động (cả mở rộng và thu nhỏ) ổ cứng ảo.