Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows Server

วิธีขยายหรือย่อขนาด Virtual Hard Disks บน Hyper-V

การปรับขนาดฮาร์ดดิสก์เสมือนของเครื่องเสมือนแบบไดนามิกพร้อมใช้งานตั้งแต่ Hyper-V ใน Windows Server 2012 R2 ฟีเจอร์ Online VHDX Resize ช่วยให้คุณเพิ่มหรือลดขนาดไฟล์ vhdx ของเครื่องเสมือนได้แบบออนไลน์ (โดยไม่ต้องหยุด VM) ในบทความนี้ เราจะดูวิธีขยายหรือลดขนาดฮาร์ดดิสก์ของเครื่องเสมือนใน Hyper-V ที่ทำงานบน Windows 10 หรือ Windows Server 2016 (คำแนะนำใช้ได้กับเวอร์ชัน Hyper-V ที่รองรับทั้งหมด รวมถึง Hyper-V Server ฟรี)

คุณสมบัติหลักและข้อจำกัดของ Online VHDX Resize ใน Hyper-V:

  • สามารถปรับขนาดได้ทุกประเภทของ Virtual Disk ของ Hyper-V: แบบคงที่ (Fixed), แบบไดนามิก (Dynamic), และแบบ Differential
  • สามารถปรับขนาด VHDX disk (รวมถึง System drive ของ Guest OS) แบบ Real-time ไม่ต้องหยุด VM; รองรับเฉพาะ VHDX เท่านั้น VHD ไม่รองรับและต้องแปลงเป็นรูปแบบ VHDX ก่อน
  • VHDX disk ต้องเชื่อมต่อกับ VM ผ่าน Virtual SCSI Controller (ไม่รองรับการขยายออนไลน์ของดิสก์บน IDE Controller VM จะต้องปิดเครื่องเพื่อเปลี่ยนขนาดดิสก์)
  • Online VHDX Resize ทำงานได้ทั้ง Generation 1 และ Generation 2 ของ Hyper-V VM
  • ทั้ง Windows และ Linux สามารถเป็น Guest OS ได้
  • รองรับทั้งการขยายและการย่อขนาด Virtual Disks
  • สามารถปรับขนาด vhdx disk จาก Hyper-V GUI, PowerShell หรือ Windows Admin Center
  • ไม่รองรับการปรับขนาด Shared VHDX (AVHDX) disks ที่ใช้ใน Cluster
  • ไม่สามารถเปลี่ยนขนาด Virtual Disk ที่มี Snapshot ถูกสร้างไว้ (เช่น ระหว่างการ Backup)

การขยายฮาร์ดดิสก์ VM ใน Hyper-V

คุณสามารถเพิ่มขนาด Virtual VHDX disk โดยใช้คอนโซล Hyper-V Manager

  1. เลือกเครื่องเสมือนใน Hyper-V Manager ไปที่ VM Settings -> ขยาย SCSI Controller;
  2. เลือก Virtual Disk และคลิกปุ่ม Edit;วิธีขยายหรือย่อขนาด Virtual Hard Disks บน Hyper-V หากปุ่ม Edit ไม่ทำงาน และมีคำเตือนว่า "Edit is not available because checkpoint exist for this virtual machine" คุณต้องลบ Snapshot ทั้งหมด อาจต้องปิดใช้งานตัวเลือก Production Checkpoint ในคุณสมบัติ VM วิธีขยายหรือย่อขนาด Virtual Hard Disks บน Hyper-V
  3. ใน Wizard Edit Virtual Hard Disk ที่ปรากฏขึ้น เลือก Expand;วิธีขยายหรือย่อขนาด Virtual Hard Disks บน Hyper-V
  4. ระบุขนาดใหม่ของ Virtual Hard Disk (ในตัวอย่างเราจะขยายขนาดดิสก์เป็น 170 GB);วิธีขยายหรือย่อขนาด Virtual Hard Disks บน Hyper-V
  5. ไปที่คอนโซลของ Guest OS ที่ดิสก์ถูกขยาย มาดูวิธีเพิ่มขนาด System Partition ใน Windows Guest OS เปิดคอนโซล Disk Manager จะเห็นพื้นที่ Unallocated เพิ่มขึ้น 43 GB บนดิสก์;วิธีขยายหรือย่อขนาด Virtual Hard Disks บน Hyper-V
  6. คลิกขวาที่ Partition ที่ต้องการขยายและเลือก Extend Volume (คุณสามารถขยาย Volume ได้เฉพาะทางซ้ายของพื้นที่ Unallocated) ระบุว่าต้องการเพิ่มขนาด Volume ปัจจุบันเท่าไหร่;วิธีขยายหรือย่อขนาด Virtual Hard Disks บน Hyper-V บางครั้งการขยาย Volume อาจถูกบล็อคโดย Windows Recovery Partition
  7. หลังจากเสร็จสิ้นขั้นตอน Extend ขนาด Volume จะเพิ่มขึ้น ใน Guest Linux OS คุณสามารถขยายดิสก์โดยใช้เครื่องมือ parted

วิธีย่อขนาด Hyper-V Virtual Disk (VHDX)

ตอนนี้มาดูวิธีลดขนาด Virtual vhdx disk บน Hyper-V

  1. ก่อนย่อ Virtual Disk จากคอนโซล Hyper-V จำเป็นต้องลดขนาด Logical Partition บนดิสก์ภายใน Guest OS ให้ว่างพื้นที่บางส่วนและแปลงเป็น Unallocated Volume เปิด Disk Manager ใน Guest OS เลือก Volume และคลิก Shrink Volume;วิธีขยายหรือย่อขนาด Virtual Hard Disks บน Hyper-V หมายเหตุ ตัวเลือก Shrink Volume จะพร้อมใช้งานก็ต่อเมื่อมีพื้นที่ว่างบน Partition
  2. ระบุปริมาณพื้นที่ที่ต้องการย่อ Partition (ในตัวอย่างเราระบุ 50 GB);วิธีขยายหรือย่อขนาด Virtual Hard Disks บน Hyper-V
  3. หลังจากลดขนาด Partition ใน Guest OS แล้ว ให้เปิดคอนโซล Hyper-V และไปที่การตั้งค่า Virtual Disk กดปุ่ม Edit;
  4. ใน Wizard Edit Virtual Hard Disk เลือก Shrink แล้วระบุขนาดใหม่สำหรับไฟล์ vhdx โปรดทราบว่าคุณไม่สามารถทำให้ดิสก์เล็กลงกว่าข้อมูลที่อยู่บนมันได้ (ตรวจสอบค่า Minimum) ในกรณีของเรา สามารถลดขนาดดิสก์จาก 40 เป็น 31 GB; วิธีขยายหรือย่อขนาด Virtual Hard Disks บน Hyper-V ก่อนย่อไฟล์ VHDX ลองทำการ Defragment ด้วย Hyper-V Optimization ในฟอร์มก่อนหน้า ให้เลือกตัวเลือก Compact หรือใช้คำสั่ง PowerShell เพื่อ Optimize และ Defragment Hyper-V Dynamic Virtual Disk: Optimize-VHD -Path 'C:\VM\VHDHyper-V\fs01.vhdx' วิธีขยายหรือย่อขนาด Virtual Hard Disks บน Hyper-V
  5. เสร็จสิ้น

การปรับขนาดไฟล์ Virtual Hard Disk ใน Hyper-V ด้วย PowerShell

คุณสามารถปรับขนาด VHDX disk บน Hyper-V Host โดยใช้ PowerShell ใช้ cmdlet Resize-VHD (อย่าสับสนกับ Resize-VirtualDisk cmdlet ซึ่งเป็น cmdlet จัดการดิสก์ Built-in ของ Windows)

หมายเหตุ คุณไม่ต้องปิดเครื่องเสมือนเพื่อปรับขนาด Virtual Disk โดยใช้คำสั่ง Resize-VHD ใน Hyper-V เวอร์ชันปัจจุบัน

ขั้นแรก ต้องได้ Full Path ไปยัง VHDX disk ของเครื่องเสมือน:

Get-VM -VMName fs01 | Select-Object VMId | Get-VHD

Cmdlet เหล่านี้ยังคืนค่าขนาดจริงของไฟล์ VHDX บน Storage (FileSize) และขนาดสูงสุดที่มันสามารถรับได้ (Size) MinimumSize คือขนาด VHDX disk ขั้นต่ำที่ไฟล์ Virtual Disk สามารถลดลงได้

วิธีขยายหรือย่อขนาด Virtual Hard Disks บน Hyper-V

เพื่อเพิ่มขนาด VHDX disk ให้ระบุขนาดใหม่:

Resize-VHD -Path 'C:\VM\fs01\VHD\fs01.vhdx' -SizeBytes 50Gb

หากคุณระบุขนาดใหม่ของ Virtual Disk น้อยกว่าที่มันใช้อยู่บนดิสก์ จะเกิดข้อผิดพลาด: Resize-VHD : Failed to resize the virtual disk

คุณเพียงต้องปรับขนาด Partition ใน Guest OS ให้เสร็จสมบูรณ์

คุณสามารถขยายดิสก์บน Windows แบบ Remote โดยใช้ PowerShell Remoting เชื่อมต่อกับ Remote VM โดยใช้ cmdlet Invoke-Command หรือ Enter-PSSession (ผ่านเครือข่ายหรือผ่าน Hyper-V PowerShell Direct):

Enter-PSSession -ComputerName fs01
คุณต้องรับข้อมูลว่าสามารถขยาย Partition ได้มากแค่ไหน และขยายไปถึงขนาดสูงสุดที่มี:

$MaxSize = (Get-PartitionSupportedSize -DriveLetter C).SizeMax
Resize-Partition -DriveLetter L -Size $MaxSize

หากคุณต้องการย่อขนาด Virtual Disk ให้เล็กที่สุดเท่าที่จะเป็นไปได้ ให้รัน:

Resize-VHD -Path 'C:\VM\fs01\VHD\fs01.vhdx' -ToMinimumSize

วิธีขยายหรือย่อขนาด Virtual Hard Disks บน Hyper-V

คำสั่งนี้จะลดขนาด VHDX file สูงสุดลง 6 GB

คำแนะนำสำหรับการปรับขนาด Virtual Disks ใน Hypervisor อื่นๆ พร้อมใช้งานที่ลิงก์ต่อไปนี้: KVM, VMWare