ค้นหาเว็บไซต์

ลดขนาดดิสก์เสมือน VMDK บน VMWare ESXi


ในบทความนี้ เราจะแสดงวิธีลดขนาดไฟล์ดิสก์เสมือน (vmdk) ของเครื่องเสมือนที่ทำงานบน VMWare ESXi ไม่เหมือนกับการขยายดิสก์ของเครื่องเสมือน VMWare ที่คุณสามารถทำได้ทันทีโดยไม่ต้องปิดเครื่องเสมือน การลดขนาดของไฟล์ vmdk บนไฮเปอร์ไวเซอร์ VMWare ESXi นั้นซับซ้อนกว่า และคุณไม่สามารถทำได้ผ่าน vSphere ส่วนติดต่อแบบกราฟิกของเว็บไคลเอ็นต์ vSphere Client ไม่อนุญาตให้คุณระบุขนาดดิสก์เสมือนที่เล็กลง

สำคัญ คู่มือนี้ไม่ใช่โซลูชันที่ได้รับการสนับสนุนอย่างเป็นทางการเกี่ยวกับวิธีการลดขนาดดิสก์ vmdk ใน VMWare อย่างไรก็ตาม ฉันใช้วิธีนี้หลายสิบครั้ง บทความนี้ใช้ VMWare ESXi 6.7

ก่อนที่จะลดขนาดของดิสก์เสมือน ให้ทำดังต่อไปนี้บนโฮสต์ VMWare ESXi ของคุณ:

  1. ลบสแนปชอตทั้งหมดของเครื่องเสมือน (มิฉะนั้น คุณอาจทำให้ดิสก์เสมือนเสียหายได้)

  2. สร้างการสำรองข้อมูลเต็มรูปแบบของเครื่องเสมือน หรือสร้างสำเนาของ vmdk และไฟล์แฟลตที่คุณต้องการลดขนาด ใช้คำสั่งเหล่านี้:

    cp vmname.vmdk backup_vmname.vmdk
    cp vmname-flat.vmdk backup_vmname-flat.vmdk

ขั้นตอนการลดขนาดดิสก์เสมือนประกอบด้วยสองขั้นตอน:

  • ลดขนาดพาร์ติชันภายในระบบปฏิบัติการเกสต์

  • ลดขนาดไฟล์ VMDK ของเครื่องเสมือน VMWare บนที่เก็บข้อมูล VMFS (NFS)

วิธีลดขนาดพาร์ติชันใน Guest OS

ก่อนอื่น ลดขนาดของพาร์ติชั่นดิสก์ในระบบปฏิบัติการเกสต์ หากเครื่องเสมือนของคุณใช้ระบบปฏิบัติการ Windows ให้ใช้ตัวจัดการดิสก์

diskmgmt.msc

(การดำเนินการ ลดขนาด มีอยู่ใน Windows ทุกรุ่นที่รองรับ

sdelete

เครื่องมือนี้ใช้ใน Windows เวอร์ชันเก่าเพื่อลดขนาดพาร์ติชัน) หรือเครื่องมือของบุคคลที่สาม (เช่น Acronis Disk Director) หากคุณไม่ดำเนินการ ระบบไฟล์ของคุณอาจหยุดทำงานหลังจากลดขนาดดิสก์เสมือน

สมมติว่าคุณต้องการลดขนาดดิสก์ลง 40 GB ดังนั้นขนาดวอลุ่มจะต้องลดลง 40960 MB (

40 GB x 1024

). ป้อนค่านี้ในช่องที่เกี่ยวข้องของตัวช่วยสร้าง ย่อขนาด หลังจากลดขนาดพาร์ติชัน จะมีพื้นที่ ไม่ได้จัดสรร บางส่วน (40 GB ในตัวอย่างของเรา) ทางด้านขวาของพาร์ติชันของคุณ

โปรดทราบว่าบางครั้งพาร์ติชันการกู้คืนของ OEM หรือ Windows อาจขัดขวางการขยายหรือลดขนาดดิสก์

ใน Linux คุณสามารถลดขนาดพาร์ติชันได้โดยใช้พาร์ติชัน หากใช้โลจิคัลวอลุ่ม LVM สถานการณ์จะแตกต่างออกไป

ลดขนาดไฟล์ VMDK ของเครื่องเสมือน VMWare

จากนั้นลดขนาดของไฟล์ VMDK บนระบบไฟล์ VMWare VMFS

  1. ปิดเครื่องเสมือนที่คุณต้องการลดขนาดดิสก์

  2. ใช้ SSH เชื่อมต่อกับคอนโซลของโฮสต์ ESXi ที่ลงทะเบียน VM (คุณสามารถใช้ putty หรือไคลเอนต์ Windows SSH ในตัว)

  3. ไปที่ไดเร็กทอรีที่มีไฟล์ VMDK ของ VM ของคุณอยู่ (คุณสามารถรับพาธไปยังไดเร็กทอรีได้ในคุณสมบัติดิสก์เสมือนของไคลเอนต์ vSphere):

    cd /vmfs/volumes/datastore/test-VM

  4. แสดงเนื้อหาของไฟล์การกำหนดค่าดิสก์เสมือน (*.vmdk) โดยใช้คำสั่ง cat:

    # cat test_vm_3.vmdk

    ขนาดของดิสก์ vmdk จะแสดงในส่วน #Extent description (หลังอักขระ RW) ในกรณีนี้คือ 167772160 (

    80 GB *1024*1024*1024 / 512

    );

  5. ฉันต้องการลดดิสก์ VMDK จาก 80 เป็น 40 GB หมายความว่าฉันต้องระบุ 83886080 (

    40 GB*1024*1024*1024 / 512

    ) ในส่วนคำอธิบายขอบเขต กำหนดขนาดใหม่ของดิสก์เสมือนโดยใช้โปรแกรมแก้ไขข้อความ (vi หรือ nano)

  6. ฉันใช้ vi:

    # vi test_vm_3.vmdk
  7. ใช้ปุ่มลูกศรลง ไปที่บรรทัดที่มีขนาดดิสก์แล้วกด

    i

    (เพื่อแก้ไข) ระบุขนาดใหม่ของดิสก์เสมือน กด ESC เพื่อออกจากโหมดแก้ไขแล้วพิมพ์

    :wq 

    -> Enter เพื่อบันทึกการเปลี่ยนแปลง

  8. จากนั้นเพียงโคลนหรือโยกย้าย (โดยใช้ Storage vMotion) เครื่องเสมือนไปยังที่เก็บข้อมูลอื่น หลังจากย้ายไฟล์เครื่องเสมือนแล้ว ขนาดใหม่ของดิสก์เสมือนจะแสดงในคุณสมบัติ

    เคล็ดลับ หากคุณมีโฮสต์ ESXi เพียงหนึ่งโฮสต์ ที่เก็บข้อมูล VMFS หนึ่งแห่ง คุณจะไม่สามารถใช้ Storage vMotion ได้ จากนั้นคุณสามารถโคลน vmdk โดยใช้คำสั่งนี้:

    vmkfstools -i test_vm_3.vmdk test_vm_3_newsize.vmdk

    ลบดิสก์ VMDK ต้นทาง โคลนดิสก์ VMDK ที่ทำการรีมอีกครั้ง และเปลี่ยนชื่อโดยระบุชื่อเดิม:

    rm test_vm_3.vmdk
    rm test_vm_3-flat.vmdk
    vmkfstools -i test_vm_3_newsize.vmdk test_vm_3.vmdk
  9. ตรวจสอบให้แน่ใจว่า ขณะนี้ ขนาดใหม่ของดิสก์เสมือนแสดงในคุณสมบัติของ VM

  10. จากนั้นเริ่ม VM เข้าสู่ระบบเกสต์ OS และตรวจสอบให้แน่ใจว่าพื้นที่ที่ไม่ได้จัดสรรหายไป และลดขนาดดิสก์แล้ว

เคล็ดลับ หากคุณใช้ vmkfstools ในขั้นตอนก่อนหน้า ให้เชื่อมต่อดิสก์เสมือนอีกครั้งในการตั้งค่า VM เนื่องจากขนาดใหม่อาจแสดงไม่ถูกต้อง

หมายเหตุ วิธีการต่อไปนี้มักใช้เพื่อลดขนาดของดิสก์ VMDK:

  • ลดขนาดดิสก์เสมือนโดยการแปลงเครื่องเสมือนโดยใช้ VMware vCenter Converter ระบุขนาดดิสก์ที่เล็กกว่าซอร์สที่จะแปลง (เราจะแสดงในส่วนถัดไป)

  • คุณสามารถโคลนเนื้อหาดิสก์เสมือนโดยใช้ซอฟต์แวร์ของบุคคลที่สาม (เช่น Acronis True Image หรือ Symantec Ghost32) งานนี้ดำเนินการโดยการเพิ่มดิสก์ใหม่ขนาดเล็กลงในเครื่องเสมือนและโคลนเนื้อหาของดิสก์ที่ใหญ่กว่าลงไป คุณสามารถถอดดิสก์ขนาดใหญ่ออกได้

การลดขนาด VMDK โดยใช้ VMware vCenter Converter แบบสแตนด์อโลน

อีกวิธีหนึ่งในการลดขนาดดิสก์เสมือนของเครื่องเสมือน VMWare คือการใช้เครื่องมือ GUI ฟรี VMware vCenter Converter Standalone

ข้อเสีย:

  • การแปลง V2V นั้นช้า

  • ต้องมีพื้นที่เพียงพอบนที่เก็บข้อมูลเพื่อบันทึก VM ใหม่

  • เครื่องเสมือนใหม่จะมีที่อยู่ MAC ใหม่

ข้อดี :

  • คุณไม่จำเป็นต้องเปิดคอนโซลโฮสต์ vCenter หรือ ESXi

  • มีการสร้างสำเนา VM ที่ถูกต้อง

  • ดิสก์ต้นทางไม่สามารถเสียหายได้ในกรณีที่เกิดข้อผิดพลาดใดๆ ในการตั้งค่างานการแปลง

หมายเหตุ เครื่องเสมือนที่คุณต้องการแปลง (เปลี่ยนขนาดดิสก์ ฯลฯ) ต้องปิดเครื่อง (โดยใช้ ปิดเครื่อง หรือ ปิดเครื่อง แทน Suspend ).

ระบุที่อยู่โฮสต์ ESXi

เลือก VM ต้นทาง

ตั้งค่าพารามิเตอร์ของ VM ใหม่ของคุณ

ไปที่โหมดแก้ไขดิสก์ (ข้อมูลที่จะคัดลอก -> แก้ไข)

เลือกโหมดการคัดลอก: เลือกปริมาณที่จะคัดลอก

ระบุขนาดดิสก์ใหม่สำหรับ VM ใหม่ของคุณ อย่างที่คุณเห็น 48 GB ถูกครอบครองในระบบปฏิบัติการเกสต์และขนาดดิสก์คือ 150 GB เราจะลดขนาดของดิสก์เสมือนเป็น 60 GB

เรียกใช้กระบวนการแปลง VM จากนั้นคุณสามารถปิด VM ต้นทางและเปิดเครื่องใหม่ได้ ตรวจสอบให้แน่ใจว่าได้ลดขนาดดิสก์แล้ว หลังจากนั้น VM เดิมอาจถูกลบออก

หมายเหตุ ใน Microsoft Hyper-V เวอร์ชันล่าสุด คุณสามารถใช้เครื่องมือปรับขนาด VHDX ออนไลน์ของ Hyper-V เพื่อปรับขนาดดิสก์เสมือนแบบไดนามิก (ทั้งการขยายและการลดขนาด)

บทความที่เกี่ยวข้อง