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

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 -h

VMWare มี 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

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