Computer >> Hướng Dẫn Máy Tính >  >> Phần Mềm >> Máy Ảo

VMware ESXi: Errno 28 — Không còn không gian trên thiết bị

Tôi thấy một lỗi lạ: Errno 28 “No space left on device” khi cố gắng cập nhật thủ công phiên bản VMware ESXi trên host độc lập:

# 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 — Không còn không gian trên thiết bị

Lỗi rõ ràng chỉ ra thiếu không gian trống. Tuy nhiên, kiểm tra dung lượng trống cho thấy vẫn còn đủ không gian trên thiết bị lưu trữ:

df -h

VMware có KB 1007638 "ESXi/ESX error: No free space left on device". Trong bài viết, họ nói bạn không thể tạo file mới vì đã đạt số inode tối đa trên hệ thống file. Kiểm tra bằng lệnh:

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

Trong trường hợp của tôi, giá trị Free khá lớn, nên không phải nguyên nhân.

Vấn đề có thể khác là thiếu bộ nhớ trống trên host để thực hiện nâng cấp. Bạn cần cho phép ESXi host đặt file swap trên bất kỳ VMFS datastore khả dụng nào.

Bạn có thể đặt vị trí file swap khác qua giao diện đồ họa vSphere Client: Host → Configure → System Swap → Edit → Can use datastore (chọn datastore khả dụng).

Đảm bảo các tùy chọn sau được bật:

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

VMware ESXi: Errno 28 — Không còn không gian trên thiết bị

Bạn cũng có thể bật dùng VMFS datastore cho file swap từ ESXi CLI:

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

Lưu thay đổi và thử chạy cập nhật host lại.

Sau khi thêm file swap, tôi nhận được lỗi khác cho thấy vmware tools light không thể cập nhật:

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

Thử tải và cài file VIB thủ công:
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

Dùng tên file VIB chứa phiên bản VMware_locker_tools_light từ lỗi của bạn trong lệnh.
Bạn có thể hiển thị danh sách đầy đủ các phiên bản:
# esxcli software sources vib list --depot=https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml | grep tools-light | sort

Chạy cập nhật build ESXi:
# esxcli software profile update .....

Nếu cập nhật VMware tools light thủ công thất bại, thử cập nhật image ESXi và bỏ qua cập nhật VIB vmtools:

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

Khởi động lại host và cập nhật 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

Nếu không giúp được, tải file ZIP phiên bản ESXi mới và upload lên datastore đã kết nối.

Cập nhật host từ file ZIP cục bộ:

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