ฉันเห็นข้อผิดพลาดแปลกๆ:Errno 28 “No space left on device”
เมื่อพยายามอัปเดตเวอร์ชัน VMWare ESXi ด้วยตนเองบนโฮสต์แบบสแตนด์อโลน:
# 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.
ข้อผิดพลาดบ่งชี้อย่างชัดเจนว่าไม่มีพื้นที่ว่าง อย่างไรก็ตาม การตรวจสอบพื้นที่ว่างในดิสก์พบว่ามีพื้นที่ว่างเหลือเพียงพอในอุปกรณ์จัดเก็บข้อมูล:
df -h
VMWare มี KB 1007638 “ข้อผิดพลาด ESXi/ESX:ไม่มีพื้นที่ว่างเหลือบนอุปกรณ์” . ในบทความมีข้อความว่าคุณไม่สามารถสร้างไฟล์ใหม่ได้เนื่องจากคุณมีไอโหนดในระบบไฟล์ถึงจำนวนสูงสุดแล้ว ตรวจสอบโดยใช้คำสั่งนี้:
stat -f / | grep Inodes | awk '{ print $NF }'
ในกรณีของฉัน Free
มีค่าค่อนข้างมากจึงไม่น่าจะเป็นต้นเหตุของปัญหา
ปัญหาที่เป็นไปได้อีกประการหนึ่งคือการไม่มีหน่วยความจำว่างบนโฮสต์เพื่อทำการอัพเกรด คุณต้องอนุญาตให้โฮสต์ ESXi วางไฟล์สลับบนที่เก็บข้อมูล VMFS ที่มีอยู่
คุณสามารถตั้งค่าตำแหน่งไฟล์สลับอื่นได้ผ่านอินเทอร์เฟซแบบกราฟิกของไคลเอ็นต์ vSphere ของคุณ:โฮสต์ -> กำหนดค่า -> สลับระบบ -> แก้ไข -> ใช้ datastore ได้ (เลือกที่เก็บข้อมูลที่มีอยู่)
ตรวจสอบให้แน่ใจว่าได้เปิดใช้งานตัวเลือกต่อไปนี้:
- ใช้แคชของโฮสต์ได้
- สามารถใช้พื้นที่เก็บข้อมูลที่ระบุโดยโฮสต์สำหรับไฟล์ตัวต่อ
คุณยังสามารถเปิดใช้งานการใช้ที่เก็บข้อมูล VMFS สำหรับไฟล์สลับจาก ESXi CLI:
# esxcli sched swap system set -n VMFSDataStoreName1 -d y
บันทึกการเปลี่ยนแปลงแล้วลองเรียกใช้การอัปเดตโฮสต์อีกครั้ง
หลังจากเพิ่มไฟล์ swap ฉันได้รับข้อผิดพลาดอื่นที่ระบุว่า vmware tools light ไม่สามารถอัปเดต:
[InstallationError] [Errno 28] No space left on device vibs = VMware_locker_tools_light_11.2.5.xxxxxxxxxxxx
ลองดาวน์โหลดและติดตั้งไฟล์ VIB ด้วยตนเอง: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
คุณสามารถแสดงรายการเวอร์ชันทั้งหมดที่มีได้ดังนี้:
# esxcli software sources vib list --depot=https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml | grep tools-light | sort
เรียกใช้การอัปเดต ESXi build:# esxcli software profile update .....
หากการอัปเดตไลท์เครื่องมือ VMware ด้วยตนเองล้มเหลว ให้ลองอัปเดตอิมเมจ ESXi ของคุณและข้ามการอัปเดตไฟล์ vmtools VIB:
# esxcli software profile update -p ESXi-version-build -no-tools -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vm-depot -index.xml
รีสตาร์ทโฮสต์ของคุณและอัปเดต 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
ถ้าไม่มีอะไรช่วย ให้ดาวน์โหลดไฟล์ ZIP ที่มีเวอร์ชัน ESXi ใหม่และอัปโหลดไปยังที่เก็บข้อมูลที่เชื่อมต่อ
อัปเดตโฮสต์ของคุณจากไฟล์ ZIP ในเครื่อง:
# esxcli software vib update -d /vmfs/volumes/YourVMFSDatastore/ESXi700-xxxxxx.zip