Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> เครื่องเสมือน

VMware ESXi: Errno 28 — No space left on device

ผมเจอ Error แปลกๆ: Errno 28 "No space left on device" เวลาพยายาม Update VMware ESXi Version แบบ Manual บน Standalone Host:

# esxcli software profile update -p ESXi-7.0.0-xxxx-standard -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml

[InstallationError] [Errno 28] No space left on device vibs = VMware_bootbank_esx-base_7.0.0-xxxx Please refer to the log file for more details.

VMware ESXi: Errno 28 — No space left on device

Error ชี้ชัดว่าไม่มีพื้นที่ว่าง แต่ Check Free Disk Space แสดงว่ายังมีพื้นที่พอ:

df -h

VMware มี KB 1007638 "ESXi/ESX error: No free space left on device" บอกว่าไม่สามารถสร้างไฟล์ใหม่ได้เพราะถึง Max Inodes บน File System ตรวจสอบด้วย:

stat -f / | grep Inodes | awk '{ print $NF }'

ในกรณีของผม ค่า Free ค่อนข้างมาก ไม่ควรเป็นสาเหตุ

อีกสาเหตุที่เป็นไปได้ คือขาด Free Memory บน Host สำหรับ Upgrade ต้องอนุญาตให้ ESXi Host วาง Swap File บน VMFS Datastores ที่มีอยู่ได้

ตั้งค่า Swap File Location อื่นผ่าน vSphere Client GUI: Host → Configure → System Swap → Edit → Can use datastore (เลือก Datastore ที่มีอยู่)

ตรวจสอบว่า Options ต่อไปนี้ Enable แล้ว:

  • Can use host cache
  • Can use datastore specified by host for wasp files

VMware ESXi: Errno 28 — No space left on device

Enable การใช้ VMFS Datastores สำหรับ Swap File จาก ESXi CLI:

# esxcli sched swap system set -n VMFSDataStoreName1 -d y

Save Changes และลอง Run Host Update อีกครั้ง

หลังเพิ่ม Swap File ได้ Error อีกอันบอกว่า vmware tools light ไม่สามารถ Update ได้:

[InstallationError] [Errno 28] No space left on device vibs = VMware_locker_tools_light_11.2.5.xxxxxxxxxxxx

ลอง Download และ Install VIB File Manual:
cd /tmp
wget https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/esx/vmw/vib20/tools-light/VMware_locker_tools_light_11.2.5.xxxxxxxxxxxx.vib
esxcli software vib install -f -v /tmp/VMware_locker_tools_light_11.2.5.xxxxxxxxxxxx
rm /tmp/VMware_locker_tools_light_11.2.5.xxxxxxxxxxxx

ใช้ชื่อ VIB File ที่มี VMware_locker_tools_light Version จาก Error ของคุณในคำสั่ง
แสดงรายการ Versions ทั้งหมดที่มี:
# esxcli software sources vib list --depot=https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml | grep tools-light | sort

รัน ESXi Build Update:
# esxcli software profile update .....

หาก Manual VMware Tools Light Update Fail ลอง Update ESXi Image และ Skip Update ของ VMTools VIB File:

# esxcli software profile update -p ESXi-version-build -no-tools -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vm-depot-index.xml

Restart Host และ Update Vmware_locker_tools:

# esxcli software vib install -v https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/esx/vmw/vib20/tools-light/VMware_locker_tools-light-version-build.vib

หากไม่ได้ผล ให้ Download ZIP File ESXi Version ใหม่ และ Upload ไป Datastore ที่เชื่อมต่ออยู่

Update Host จาก Local ZIP File:

# esxcli software vib update -d /vmfs/volumes/YourVMFSDatastore/ESXi700-xxxxxx.zip