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 một máy chủ độ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.
Lỗi rõ ràng cho thấy thiếu dung lượng trống. Tuy nhiên, việc kiểm tra dung lượng đĩa trống cho thấy rằng có đủ dung lượng trống trên thiết bị lưu trữ:
df -h
VMWare có KB 1007638 “ Lỗi ESXi / ESX:Không còn dung lượng trống trên thiết bị” . Trong bài báo, họ nói rằng bạn không thể tạo tệp mới vì bạn đã đạt đến số inodes tối đa trên hệ thống tệp. Kiểm tra nó bằng lệnh sau:
stat -f / | grep Inodes | awk '{ print $NF }'
Trong trường hợp của tôi, Free
giá trị khá lớn, vì vậy nó không phải là nguyên nhân của vấn đề.
Một vấn đề khác có thể xảy ra là thiếu bộ nhớ trống trên máy chủ để thực hiện nâng cấp. Bạn cần cho phép máy chủ ESXi đặt tệp hoán đổi của nó trên bất kỳ kho dữ liệu VMFS nào có sẵn.
Bạn có thể đặt một vị trí tệp hoán đổi khác thông qua giao diện đồ họa của Ứng dụng khách vSphere của mình: Máy chủ lưu trữ -> Định cấu hình -> Hoán đổi hệ thống -> Chỉnh sửa -> Có thể sử dụng kho dữ liệu (chọn một kho dữ liệu có sẵn).
Đảm bảo rằng các tùy chọn sau được bật:
- Có thể sử dụng bộ nhớ cache của máy chủ lưu trữ
- Có thể sử dụng kho dữ liệu do máy chủ chỉ định cho các tệp ong bắp cày
Bạn cũng có thể cho phép sử dụng kho dữ liệu VMFS cho tệp hoán đổi từ ESXi CLI:
# esxcli sched swap system set -n VMFSDataStoreName1 -d y
Lưu các thay đổi và thử chạy lại bản cập nhật máy chủ.
Sau khi thêm tệp hoán đổi, tôi gặp một lỗi khác cho biết rằng 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
Cố gắng tải xuống và cài đặt tệp VIB theo cách 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
Bạn có thể hiển thị danh sách đầy đủ các phiên bản hiện có như sau:
# esxcli software sources vib list --depot=https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml | grep tools-light | sort
Chạy bản cập nhật bản dựng ESXi:
# esxcli software profile update .....
Nếu cập nhật nhẹ các công cụ VMware thủ công không thành công, hãy thử cập nhật hình ảnh ESXi của bạn và bỏ qua quá trình cập nhật tệp 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
Khởi động lại máy chủ của bạn 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 có gì hữu ích, hãy tải xuống tệp ZIP có phiên bản ESXi mới và tải tệp đó lên bất kỳ kho dữ liệu nào được kết nối.
Cập nhật máy chủ của bạn từ tệp ZIP cục bộ:
# esxcli software vib update -d /vmfs/volumes/YourVMFSDatastore/ESXi700-xxxxxx.zip