VMWare ESXi: Errno 28 — ไม่มีพื้นที่เหลือบนอุปกรณ์
ฉันเห็นข้อผิดพลาดแปลก ๆ :
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 -hVMWare มี KB 1007638 แยกต่างหาก “ข้อผิดพลาด ESXi/ESX: ไม่มีพื้นที่ว่างเหลือบนอุปกรณ์ ” ในบทความ พวกเขาบอกว่าคุณไม่สามารถสร้างไฟล์ใหม่ได้ เนื่องจากคุณมีไอโหนดถึงจำนวนสูงสุดในระบบไฟล์แล้ว ตรวจสอบโดยใช้คำสั่งนี้:
stat -f / | grep Inodes | awk '{ print $NF }'
ในกรณีของฉัน
Freeค่าค่อนข้างมากจึงไม่น่าจะเป็นสาเหตุของปัญหา
อีกปัญหาที่เป็นไปได้คือการไม่มีหน่วยความจำว่างบนโฮสต์เพื่อทำการอัปเกรด คุณต้องอนุญาตให้โฮสต์ ESXi วางไฟล์ swap บนที่เก็บข้อมูล VMFS ที่มีอยู่
คุณสามารถตั้งค่าตำแหน่งไฟล์ swap อื่นผ่านทางอินเทอร์เฟซกราฟิกของไคลเอ็นต์ vSphere ของคุณ: โฮสต์ -> กำหนดค่า -> ระบบสลับ -> แก้ไข -> สามารถใช้ที่เก็บข้อมูลได้ (เลือกที่เก็บข้อมูลที่มีอยู่)
ตรวจสอบให้แน่ใจว่าเปิดใช้งานตัวเลือกต่อไปนี้:
สามารถใช้โฮสต์แคช
สามารถใช้ datastore ที่ระบุโดยโฮสต์สำหรับไฟล์ตัวต่อ
คุณยังสามารถเปิดใช้งานการใช้ที่เก็บข้อมูล VMFS สำหรับไฟล์ swap จาก 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 http://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 ที่มีเวอร์ชัน VMware_locker_tools_light จากข้อผิดพลาดของคุณในคำสั่ง
คุณสามารถแสดงรายการเวอร์ชันทั้งหมดที่มีดังต่อไปนี้:
# esxcli software sources vib list --depot=https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml | grep tools-light | sortเรียกใช้การอัปเดตบิลด์ ESXi:
# esxcli software profile update .....หากการอัปเดต VMware tools light ด้วยตนเองล้มเหลว ให้ลองอัปเดตอิมเมจ 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
