การปรับขนาดแบบไดนามิกของฮาร์ดดิสก์ของเครื่องเสมือนจะพร้อมใช้งานโดยเริ่มด้วย Hyper-V ใน Windows Server 2012 R2 ของ ปรับขนาด VHDX ออนไลน์ คุณลักษณะช่วยให้คุณสามารถเพิ่มหรือลดขนาดไฟล์ vhdx ของเครื่องเสมือนแบบออนไลน์ได้ (โดยไม่ต้องหยุด VM) ในบทความนี้เราจะมาดูวิธีการขยายหรือลดขนาด (ย่อ) ขนาดของฮาร์ดดิสก์เครื่องเสมือนใน Hyper-V ที่ทำงานบน Windows 10 หรือ Windows Server 2016 (คำแนะนำใช้กับ Hyper-V เวอร์ชันที่รองรับทั้งหมด รวมทั้งฟรี เซิร์ฟเวอร์ Hyper-V)
คุณสมบัติหลักและข้อจำกัดของ Online VHDX Resize ใน Hyper-V:
- คุณสามารถปรับขนาดดิสก์เสมือน Hyper-V ประเภทใดก็ได้:คงที่ ไดนามิก และส่วนต่าง
- คุณสามารถปรับขนาดดิสก์ VHDX (รวมถึงไดรฟ์ระบบของระบบปฏิบัติการแขก) ได้ทันที คุณไม่จำเป็นต้องหยุด VM เฉพาะ VHDX เท่านั้นที่สามารถปรับขนาดแบบไดนามิกได้ ไม่รองรับ VHD และต้องแปลงเป็นรูปแบบ VHDX
- ดิสก์ VHDX ต้องเชื่อมต่อกับ VM ผ่านคอนโทรลเลอร์ SCSI เสมือน (ไม่รองรับส่วนขยายออนไลน์ของดิสก์บนคอนโทรลเลอร์ IDE จึงต้องปิด VM เพื่อเปลี่ยนขนาดดิสก์)
- การปรับขนาด VHDX ออนไลน์ใช้งานได้ทั้งบนเครื่องเสมือนรุ่นแรกและรุ่นที่สอง Hyper-V;
- ทั้ง Windows และ Linux สามารถทำหน้าที่เป็นแขก OS ได้
- รองรับทั้งการขยายและการย่อขนาดดิสก์เสมือน
- คุณสามารถปรับขนาดดิสก์ vhdx จากคอนโซลกราฟิก Hyper-V, PowerShell หรือ Windows Admin Center
- ไม่รองรับการปรับขนาดของดิสก์ VHDX ที่แชร์ (AVHDX) ที่ใช้ในคลัสเตอร์
- คุณไม่สามารถเปลี่ยนขนาดของดิสก์เสมือนที่สร้างสแน็ปช็อต (เช่น ระหว่างการสำรองข้อมูล)
การขยายฮาร์ดดิสก์ VM ใน Hyper-V
คุณสามารถเพิ่มขนาดของดิสก์ VHDX เสมือนได้โดยใช้คอนโซล Hyper-V Manager
- เลือกเครื่องเสมือนในตัวจัดการเครื่องเสมือน Hyper-V ไปที่ VM การตั้งค่า -> ขยาย ตัวควบคุม SCSI;
- เลือกดิสก์เสมือนและคลิกปุ่ม แก้ไข ปุ่ม; หากปุ่มแก้ไขไม่ทำงาน และคำเตือนแจ้งว่า “ไม่สามารถแก้ไขได้เนื่องจากมีจุดตรวจสำหรับ เครื่องเสมือนนี้ ” คุณต้องลบสแนปชอตทั้งหมด อาจจำเป็นต้องปิดการใช้งานจุดตรวจการผลิต ตัวเลือกในคุณสมบัติ VM
- ในตัวช่วยสร้างการแก้ไขฮาร์ดดิสก์เสมือนที่ปรากฏขึ้น ให้เลือก ขยาย;
- ระบุขนาดใหม่ของฮาร์ดดิสก์เสมือน (ในตัวอย่าง เราจะขยายขนาดดิสก์เป็น 170 GB)
- ไปที่คอนโซลของ guest OS ซึ่งดิสก์ถูกขยาย มาดูวิธีเพิ่มพาร์ติชั่นระบบในระบบปฏิบัติการแขกของ Windows เปิด ตัวจัดการดิสก์ คอนโซล อย่างที่คุณเห็น พื้นที่ว่างที่ไม่ได้ปันส่วนเพิ่มเติม 43 GB ปรากฏบนดิสก์
- คลิกขวาที่พาร์ติชันที่คุณต้องการขยายและเลือก ขยายระดับเสียง (คุณสามารถขยายระดับเสียงได้ทางด้านซ้ายของพื้นที่ที่ไม่ได้ปันส่วนเท่านั้น) ระบุจำนวนที่คุณต้องการเพิ่มขนาดไดรฟ์ข้อมูลปัจจุบัน บางครั้งพาร์ติชั่นการกู้คืนของ Windows อาจบล็อกการขยายไดรฟ์ข้อมูลได้
- หลังจากเสร็จสิ้น ขยาย ขั้นตอนขนาดไดรฟ์ข้อมูลจะเพิ่มขึ้น ใน guest Linux OS คุณสามารถขยายดิสก์โดยใช้เครื่องมือแยกส่วน
จะย่อขนาดของดิสก์เสมือน Hyper-V (VHDX) ได้อย่างไร
ตอนนี้เรามาดูวิธีลดขนาดของดิสก์ vhdx เสมือนบน Hyper-V กัน
- ก่อนที่จะลดขนาดดิสก์เสมือนจากคอนโซล Hyper-V จำเป็นต้องลดขนาดของโลจิคัลพาร์ติชันบนดิสก์ภายใน guest OS เพิ่มพื้นที่ว่างและแปลงเป็นโวลุ่มที่ไม่ได้ปันส่วน ในการดำเนินการ ให้เปิดตัวจัดการดิสก์ในระบบปฏิบัติการของแขก เลือกโวลุ่มแล้วคลิก ลดขนาดระดับเสียง; หมายเหตุ . ตัวเลือก Shrink Volume จะใช้ได้ก็ต่อเมื่อมีพื้นที่ว่างบนพาร์ติชั่น
- ระบุจำนวนเนื้อที่ที่จะย่อขนาดพาร์ติชั่นโดย (ในตัวอย่างของเรา เราระบุ 50GB);
- หลังจากลดขนาดพาร์ติชั่นใน guest OS แล้ว คุณต้องเปิดคอนโซล Hyper-V และไปที่การตั้งค่าดิสก์เสมือน กดปุ่ม แก้ไข ปุ่ม;
- ใน แก้ไขฮาร์ดดิสก์เสมือน วิซาร์ด เลือก ย่อ จากนั้นระบุขนาดใหม่สำหรับไฟล์ vhdx โปรดทราบว่าคุณไม่สามารถทำให้ดิสก์มีขนาดเล็กกว่าข้อมูลในดิสก์ได้ (ตรวจสอบ ขั้นต่ำ ค่า). ในกรณีของเรา คุณสามารถลดขนาดดิสก์จาก 40 เป็น 31 GB ก่อนย่อไฟล์ VHDX ให้ลองจัดเรียงข้อมูลด้วย Hyper-V Optimization ในแบบฟอร์มก่อนหน้านี้ เลือก กะทัดรัด ตัวเลือก. หรือ คุณสามารถใช้คำสั่ง PowerShell เพื่อเพิ่มประสิทธิภาพและจัดเรียงข้อมูลดิสก์เสมือนแบบไดนามิก Hyper-V ได้:
Optimize-VHD -Path 'C:\VM\VHDHyper-V\fs01.vhdx'
- เสร็จเรียบร้อย
การปรับขนาดไฟล์ Virtual Hard Disk ใน Hyper-V ด้วย PowerShell
คุณสามารถปรับขนาดดิสก์ VHDX บนโฮสต์ Hyper-V โดยใช้ PowerShell ในการดำเนินการนี้ ให้ใช้ ปรับขนาด-VHD cmdlet (เพื่อไม่ให้สับสนกับ Resize-VirtualDisk cmdlet ซึ่งเป็นของ cmdlet การจัดการดิสก์ Windows ในตัว)
หมายเหตุ คุณไม่จำเป็นต้องปิดเครื่องเสมือนเพื่อปรับขนาดดิสก์เสมือนโดยใช้ Resize-VHD cmdlet ใน Hyper-V เวอร์ชันปัจจุบันขั้นแรก คุณต้องหาเส้นทางแบบเต็มไปยังดิสก์ VHDX ของเครื่องเสมือน:
Get-VM -VMName fs01 | Select-Object VMId | Get-VHD
cmdlet เหล่านี้ส่งคืนขนาดจริงของไฟล์ VHDX บนที่เก็บข้อมูล (FileSize ) และขนาดสูงสุดที่รับได้ (ขนาด ). ขนาดขั้นต่ำ คือขนาดดิสก์ VHDX ขั้นต่ำที่สามารถลดขนาดไฟล์ดิสก์เสมือนได้
ในการเพิ่มขนาดของดิสก์ VHDX คุณต้องระบุขนาดใหม่:
Resize-VHD -Path 'C:\VM\fs01\VHD\fs01.vhdx' -SizeBytes 50Gb
Resize-VHD : Failed to resize the virtual disk
. คุณเพียงแค่ต้องปรับขนาดพาร์ติชั่นใน guest OS
คุณสามารถขยายดิสก์บน Windows จากระยะไกลได้โดยใช้ PowerShell Remoting เชื่อมต่อกับ VM ระยะไกลโดยใช้ Invoke-Command หรือ Enter-PSSession cmdlet (ผ่านเครือข่ายหรือผ่าน Hyper-V PowerShell Direct):
Enter-PSSession -ComputerName fs01
คุณต้องได้รับข้อมูลเกี่ยวกับจำนวนที่คุณสามารถขยายพาร์ติชันและขยายเป็นขนาดสูงสุดที่มี:
$MaxSize = (Get-PartitionSupportedSize -DriveLetter C).SizeMax
Resize-Partition -DriveLetter L -Size $MaxSize
หากคุณต้องการย่อขนาดของดิสก์เสมือนให้เล็กที่สุดเท่าที่จะเป็นไปได้ ให้รัน:
Resize-VHD -Path 'C:\VM\fs01\VHD\fs01.vhdx' -ToMinimumSize
คำสั่งนี้จะลดขนาดไฟล์ VHDX สูงสุดลง 6 GB
คำแนะนำสำหรับการปรับขนาดดิสก์เสมือนในไฮเปอร์ไวเซอร์อื่นๆ มีอยู่ที่ลิงก์ต่อไปนี้:KVM, VMWare