บทความนี้จะแนะนำ วิธีเพิ่มขนาด VMFS Datastore โดยใช้ vSphere Web Client Interface หรือ VMware ESXi Command Prompt
สมมติเวลา Check Free Space บน VMFS Datastores พบว่าตัวหนึ่งจะหมดพื้นที่ว่าง ต้องการเพิ่มขนาด VMFS Datastore โดยเพิ่ม Storage Space
ขั้นแรก ต้อง Extend ขนาด LUN บน Storage Device วิธีการขึ้นอยู่กับ Vendor ของ Storage หากใช้ Windows Server iSCSI LUN สามารถเพิ่ม VHDX ผ่าน Server Manager (File and Storage Services → iSCSI → Select Disk → Extend iSCSI Virtual Disk) ในตัวอย่าง Extend LUN Size จาก 100GB เป็น 105GB
VMware ESXi รองรับ 2 วิธี Expand VMFS Datastores: ใช้ Unused Space บน LUN เดียวกัน (วิธีนี้อธิบายในบทความ) หรือเพิ่ม LUN เพิ่มเติม (เรียกว่า Extent) VMFS Extent เป็น Partition แบบครอบหลาย LUNs Data จะเขียนไป LUN ที่สองหลัง LUN แรกเต็ม ฯลฯ
วิธีเพิ่มขนาด VMFS Datastore ด้วย vSphere Web Client
- เลือก Storage ใน vSphere Client Interface
- Right-click Datastore เลือก Increase Datastore Capacity;

- เลือก Disk (LUN) ที่ต้องการเพิ่ม สังเกตค่าใน Column
Expandableควรเป็น Yes หมายถึง VMFS Datastore นี้ขยายได้ หากเป็น No สามารถเพิ่ม Capacity ได้แค่ด้วย VMFS Extent (ขยาย Datastore ไป 2 LUNs)

- ขั้นตอนถัดไป เลือกว่าจะเพิ่มขนาด Storage เท่าไหร่ โดย Default Wizard เสนอใช้ Free Space ทั้งหมด (
Use Free space 5Gb to expand the datastore) จะเห็น Warning ว่ากำลังขยาย Current Partition ด้วย Free Space;

The datastore already occupies one or more extents on this device. Selecting free space adjacent to an extent in the datastore will expand that extent. Selecting any other option will add a new extent to the datastore.
ถ้าตรงใจ คลิก Next จะเห็นว่า VMFS Datastore จะโตเท่าไหร่ (Increase Datastore Size by) และขนาดใหม่ (Future Datastore Size) ในหน้า Summary

ขนาดสูงสุดของ VMFS Datastore สำหรับ VMFS6 คือ 64TB Storage อาจประกอบด้วย 1 LUN หรือถึง 32 Extents รวมขนาดถึง 64TB
บางกรณีไม่สามารถ Expand VMFS Datastore จาก vSphere Client GUI ได้ บ่อยที่สุดเกี่ยวกับความไม่สามารถเพิ่ม VMFS Storage บน Boot Disk Device ได้ จะเจอ Error:
Failed to expand VMFS datastore VMFSstore - Cannot change the host configuration.

ในกรณีนี้ ต้อง Expand Datastore จาก VMware ESXi Command Prompt
การขยาย VMFS Datastore บน VMware ESXi จาก Command Line
- SSH เข้า ESXi Host (บน Windows ใช้ Built-in SSH Client)
- Rescan Storage Adapters:
esxcli storage core adapter rescan --all - ระบุ Disk (LUN) ที่ VMFS Datastore อยู่:
vmkfstools -P /vmfs/volumes/DCx2VMFS1ในกรณีนี้ Disk เป็น /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1f.:1 หมายถึง VMFS Datastore อยู่ Partition แรกของ Disk

- Check Partition Table ของ Disk:
partedUtil get /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1f
13706 255 63 220200960 1 2048 209713152 0 0
ในกรณีนี้ First Partition Sector คือ 2048 และ Last Sector คือ 209713152 - หา Last Sector Number ที่ใช้ได้ คือ Sector ที่ VMFS Partition อาจขยายไป:
partedUtil getUsableSectors /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1f - ในกรณีของผม คำสั่งคืน Error:
Error: The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)? Warning: Not all of the space available to /dev/disks/naa.6000f3fdc1175dacd86b623db26e4d1f appears to be used, you can fix the GPT to use all of the space (an extra 10485760 blocks) or continue with the current setting? This will also move the backup table at the end if is not at the end already. diskSize (220200960) AlternateLBA (209715199) LastUsableLBA (209715166) NewLastUsableLBA (220200926)

- Fix GPT Table Error:
partedUtil fixGpt /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1f
FixGpt tries to fix any problems detected in GPT table. Please ensure that you don't run this on any RDM (Raw Device Mapping) disk. Are you sure you want to continue (Y/N): Exiting ... gpt 13706 255 63 220200960 1 2048 209713152 AA31E02A400F11DB9590000C2911D1B8 vmfs 0
- แสดง Last Available Sector (NewLastUsableLBA) อีกครั้ง:
partedUtil getUsableSectors /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1fในตัวอย่างขยาย Partition ไป Sector 220200926

- มี First Sector (2048) และ Last Sector (220200926) แล้ว ขยาย Partition:
partedUtil resize /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1f 1 2048 220200926 - Grow VMFS File System:
vmkfstools --growfs /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1f:1 /vmfs/devices/disks/naa.6000f3fdc1175dacd86b623db26e4d1f:1 - Refresh Datastore List:
vmkfstools –V - Check Local Datastore Sizes:
df –h

เห็นว่า VMFS Datastore ขยายสำเร็จ 5 GB Operation ทำ Online โดยไม่ Unmount Datastore หรือ Stop VM
แนะนำอ่านคู่มือวิธี Shrink VMware VM Disk (VMDK Files) ด้วย