Làm thế nào để mở rộng hoặc thu nhỏ đĩa cứng ảo trên Hyper-V?

Tác giả sysadmin, T.Mười 09, 2022, 01:50:06 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Làm thế nào để mở rộng hoặc thu nhỏ đĩa cứng ảo trên Hyper-V?


Thay đổi kích thước động của đĩa cứng máy ảo bắt đầu với Hyper-V trong Windows Server 2012 R2. Tính năng Thay đổi kích thước VHDX trực tuyến cho phép bạn tăng hoặc thu nhỏ kích thước của tệp vhdx của máy ảo trực tuyến (mà không cần dừng máy ảo). Trong bài viết này, chúng ta sẽ xem xét cách mở rộng hoặc giảm (thu nhỏ) kích thước của đĩa cứng máy ảo trong Hyper-V chạy trên Windows 10 hoặc Windows Server 2016 (hướng dẫn áp dụng cho tất cả các phiên bản Hyper-V được hỗ trợ, bao gồm cả miễn phí. Máy chủ Hyper-V ).

Các tính năng và hạn chế chính của Thay đổi kích thước VHDX Trực tuyến trong Hyper-V:

  • Bạn có thể thay đổi kích thước bất kỳ loại đĩa ảo Hyper-V nào: cố định, động và vi sai;
  • Bạn có thể thay đổi kích thước đĩa VHDX (bao gồm cả ổ đĩa hệ thống của hệ điều hành khách) một cách nhanh chóng. Bạn không cần phải dừng VM;
  • Chỉ VHDX mới có thể được thay đổi kích thước động. VHD không được hỗ trợ và phải được chuyển đổi thành định dạng VHDX.
  • Đĩa VHDX phải được kết nối với máy ảo thông qua bộ điều khiển SCSI ảo (phần mở rộng trực tuyến của đĩa trên bộ điều khiển IDE không được hỗ trợ, máy ảo như vậy sẽ phải được tắt để thay đổi kích thước đĩa);
  • Trực tuyến VHDX Resize hoạt động trên cả thế hệ máy ảo Hyper-V đầu tiên và thứ hai:
  • Cả Windows và Linux đều có thể hoạt động như một hệ điều hành khách;
  • Cả việc mở rộng và thu nhỏ đĩa ảo đều được hỗ trợ;
  • Bạn có thể thay đổi kích thước đĩa vhdx từ bảng điều khiển đồ họa Hyper-V, PowerShell hoặc Trung tâm quản trị Windows;
  • Không hỗ trợ thay đổi kích thước đĩa VHDX (AVHDX) dùng chung trong cụm;
  • Bạn không thể thay đổi kích thước của đĩa ảo mà ảnh chụp nhanh đã được tạo (ví dụ: trong khi sao lưu).

1. Mở rộng đĩa cứng máy ảo trong Hyper-V

Bạn có thể tăng kích thước của đĩa VHDX ảo bằng bảng điều khiển Hyper-V Manager.

Chọn máy ảo trong trình quản lý máy ảo Hyper-V, vào Cài đặt VM -> mở rộng Bộ điều khiển SCSI;


Nếu nút Chỉnh sửa không hoạt động và cảnh báo cho biết " Chỉnh sửa không khả dụng do tồn tại trạm kiểm soát cho máy ảo này ", bạn cần xóa tất cả ảnh chụp nhanh. Có thể cần phải tắt tùy chọn Điểm kiểm tra Sản xuất trong thuộc tính VM.
   

Trong trình hướng dẫn Chỉnh sửa Đĩa cứng Ảo xuất hiện, chọn Mở rộng;


Chỉ định kích thước mới của đĩa cứng ảo (trong ví dụ của chúng tôi, chúng tôi sẽ mở rộng kích thước đĩa lên 170 GB);


Đi tới bảng điều khiển của hệ điều hành khách, đĩa đã được mở rộng. Chúng ta hãy xem cách tăng phân vùng hệ thống trong hệ điều hành khách Windows. Mở bảng điều khiển Trình quản lý đĩa. Như bạn có thể thấy, thêm 43 GB dung lượng chưa được phân bổ đã xuất hiện trên đĩa;


Nhấp chuột phải vào phân vùng bạn muốn mở rộng và chọn Mở rộng khối lượng (bạn chỉ có thể mở rộng khối lượng ở bên trái của vùng chưa được phân bổ). Chỉ định mức độ bạn muốn tăng kích thước ổ đĩa hiện tại;


Đôi khi việc mở rộng khối lượng có thể bị chặn bởi phân vùng khôi phục Windows.

Sau khi hoàn thành thủ tục Mở rộng, kích thước âm lượng sẽ được tăng lên. Trong hệ điều hành Linux dành cho khách, bạn có thể mở rộng đĩa bằng công cụ đã chia nhỏ.

2. Làm thế nào để thu nhỏ kích thước của đĩa ảo Hyper-V (VHDX)?

Bây giờ chúng ta hãy xem cách giảm kích thước của đĩa vhdx ảo trên Hyper-V.

Trước khi thu nhỏ đĩa ảo từ bảng điều khiển Hyper-V, cần phải giảm kích thước của phân vùng logic trên đĩa bên trong hệ điều hành khách. Giải phóng một số không gian và chuyển đổi nó thành ổ đĩa chưa được phân bổ. Để làm điều đó, hãy mở Disk Manager trong hệ điều hành khách, chọn một ổ đĩa và nhấp vào  Shrink Volume:


Ghi chú. Tùy chọn Thu nhỏ Âm lượng chỉ khả dụng nếu có một số dung lượng trống trên phân vùng.

Chỉ định dung lượng để thu nhỏ phân vùng (trong ví dụ của chúng tôi, chúng tôi đã chỉ định 50GB);


Sau khi giảm kích thước của phân vùng trong hệ điều hành khách, bạn cần mở bảng điều khiển Hyper-V và đi tới cài đặt đĩa ảo. Nhấn nút Chỉnh sửa:

Trong trình hướng dẫn Chỉnh sửa Đĩa cứng Ảo, chọn Thu nhỏ, sau đó chỉ định kích thước mới cho tệp vhdx. Xin lưu ý rằng bạn không thể làm cho đĩa nhỏ hơn dữ liệu trên đó (kiểm tra Giá trị tối thiểu ). Trong trường hợp của chúng tôi, bạn có thể giảm kích thước đĩa từ 40 xuống 31 GB;t


Trước khi thu nhỏ tệp VHDX, hãy thử chống phân mảnh bằng Tối ưu hóa Hyper-V. Trong biểu mẫu trước, hãy chọn tùy chọn Thu gọn. Ngoài ra, bạn có thể sử dụng lệnh PowerShell để tối ưu hóa và chống phân mảnh đĩa ảo động Hyper-V.: Optimize-VHD -Path 'C:\VM\VHDHyper-V\fs01.vhdx'


Xong.

3. Thay đổi kích thước tệp đĩa cứng ảo trong Hyper-V với PowerShell

Bạn có thể thay đổi kích thước đĩa VHDX trên máy chủ Hyper-V bằng PowerShell. Để thực hiện việc này, hãy sử dụng lệnh ghép ngắn Resize-VHD (đừng nhầm với lệnh ghép ngắn Resize-VirtualDisk, thuộc về lệnh ghép ngắn quản lý đĩa cài sẵn trong Windows ).

Ghi chú. Bạn không cần phải tắt máy ảo để thay đổi kích thước đĩa ảo bằng lệnh ghép ngắn Resize-VHD trong các phiên bản hiện tại của Hyper-V.

Trước tiên, bạn cần lấy đường dẫn đầy đủ đến đĩa VHDX của máy ảo:

Mã nguồn [Chọn]
Get-VM -VMName fs01 | Select-Object VMId | Get-VHD
Các lệnh ghép ngắn này cũng trả về kích thước thực của tệp VHDX trên bộ nhớ ( FileSize ) và kích thước tối đa mà nó có thể có ( Size ). MinimumSize là kích thước đĩa VHDX tối thiểu mà tệp đĩa ảo có thể được giảm xuống.


Để tăng kích thước của đĩa VHDX, bạn cần chỉ định kích thước mới của nó:

Mã nguồn [Chọn]
Resize-VHD -Path 'C:\VM\fs01\VHD\fs01.vhdx' -SizeBytes 50Gb
Nếu bạn chỉ định kích thước mới của đĩa ảo nhỏ hơn dung lượng của nó trên đĩa, một lỗi sẽ xuất hiện.

Mã nguồn [Chọn]
Resize-VHD : Failed to resize the virtual disk:.
Bạn chỉ cần thay đổi kích thước phân vùng trong hệ điều hành khách.

Bạn có thể mở rộng đĩa trên Windows từ xa bằng PowerShell Remoting. Kết nối với máy ảo từ xa bằng lệnh ghép ngắn Invoke-Command hoặc E nter-PSSession (qua mạng hoặc qua Hyper-V PowerShell Direct):

Mã nguồn [Chọn]
Enter-PSSession -ComputerName fs01
Bạn cần nhận thông tin về số lượng bạn có thể mở rộng phân vùng và mở rộng nó đến kích thước tối đa có sẵn:

Mã nguồn [Chọn]
$MaxSize = (Get-PartitionSupportedSize -DriveLetter C).SizeMax
Resize-Partition -DriveLetter L -Size $MaxSize

Nếu bạn cần thu nhỏ kích thước của đĩa ảo xuống kích thước nhỏ nhất có thể, hãy chạy:

Mã nguồn [Chọn]
Resize-VHD -Path 'C:\VM\fs01\VHD\fs01.vhdx' -ToMinimumSize

Lệnh này sẽ giảm kích thước tệp VHDX tối đa 6 GB.

Hướng dẫn thay đổi kích thước đĩa ảo trong các trình siêu giám sát khác có sẵn tại các liên kết sau: KVM, VMWare.