出现No Space Left On Device错误的原因?

ESXi为什么会出现No Space Left On Device错误?我们简单总结了几个常见的原因,列举如下,大家可以参考参考:

  • 磁盘空间不足:比较常见的原因就是ESXi主机上的可用磁盘空间不足。随着虚拟机、快照、日志和其他数据的积累,它们会消耗大量的存储空间,从而导致ESXi设备没有空间。
  • 虚拟机快照多:虽然虚拟机快照对于恢复虚拟机状态很有帮助,但是如果不进行有效管理,它们会起到反作用,消耗大量磁盘空间,随着快照数量越来越多,就可能会耗尽存储资源。
  • 资源分配不当:虚拟机资源管理不当,如过度配置存储,可能会导致ESXi主机上的空间限制。
  • 虚拟机误删除:对虚拟机进行不正确或失败的删除可能会留下虚拟机残留物,从而进一步减少可用磁盘空间。

如何排除No Space Left On Device故障?

我们在使用命令行移除ESXi主机时,或者在使用“esxcli software vib update”命令更新VMware ESXi服务器时,可能会遇到No Space Left On Device错误,提示ESXi设备没有空间。

no space left on device错误
 

但是在这个时候执行“df -h”命令输出的结果却与之相反,结果表明这些卷中有足够的空间。

df-h命令表明有足够空间
 

出现这种情况很奇怪,在接下来的内容中,我们将带领大家逐步排除这个故障。

✧ 缺少inodes文件对象

文件系统结构称为索引节点(inodes),单个VMFS卷上限可以有640000个索引节点。在任何给定的时间,文件系统中保留了多少文件决定了使用了多少inodes。

通过“stat-f/”命令检查可用索引节点的数量。

检查可用索引节点的数量
 

通过“df -I”命令检查可用索引节点的数量。

$ df –i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 942080 507361 11 100% /

正如您所看到的,您几乎是不可能超过这个数字的,但如果您超过了,只需从ESXi主机中删除一些文件即可。

✧ ESXi上文件过多

ESXi可能包含大小超过50 MB的日志文件,以及未存储在VMFS卷上的其他文件。以下命令将帮助您定位这些文件,同时避免无法扩展VMFS数据存储错误。

find / -path "/vmfs" -prune -o -type f -size +50000k -exec ls -l '{}' \;

执行命令后,将生成本地文件列表,包括ISO映像、大型日志文件等。如果您不再需要这些信息,您可以将其删除或发送到存储器以供将来参考。

✧ ESXi主机缺少RAM

实际上,主机无法为升级分配足够的RAM也会导致No Space Left On Device错误出现。在不同的数据存储上启用ESXi系统交换(如果出现问题,RAM将在更新期间刷新)将解决此问题。

请您登录到自己的ESXi主机,然后导航到“管理”>“系统”>“交换”>“编辑设置”

系统交换编辑设置
 

在弹出的编辑交换配置页面中,为其指定一个数据存储,然后点击“保存”即可。

指定一个数据存储
 

操作完毕之后,重启ESXi主机,检查检查ESXi设备没有空间问题是否已解决。

批量备份ESXi虚拟机以实现数据保护!

除了文中提到的No Space Left On Device错误之外,我们在使用虚拟机的过程中,可能还会遇到其他的许多问题。为了确保我们在遇到这些故障时能够更加轻松地解决,并且有效保障虚拟机数据安全不丢失,比较好的方法就是定期备份虚拟机。

我们推荐大家尝试一下这个专业的虚拟机备份软件——傲梅企业备份旗舰版,它的用户界面整洁直观,操作方法简单易学,内置功能专业强大,对于有大量虚拟机需要备份的企业用户来说,集中化批量化的备份方式更受欢迎。除此之外,在虚拟机备份方面,它还提供了这些优势:

  • 无代理备份:无需额外安装代理即可轻松对VMware ESXi和Hyper-V虚拟机创建完整且独立的映像级备份。
  • 自动化备份:支持创建每天、每周、每月定时备份任务,持续稳定保护VMware安全。
  • 瞬时间恢复:当VMware系统崩溃之后,可以通过备份快速恢复VMware到备份时的正常状态,降低关键业务停机时间,确保业务连续不中断。
  • 角色可分配:允许一个管理员创建拥有不同权限的子账号,有效降低管理成本和手动错误。

如果您觉得还不错的话可以点击下方按钮进入下载中心下载安装傲梅企业备份旗舰版,然后跟着我们的演示教程一起看看如何备份虚拟机吧!

步骤1. 绑定设备:打开傲梅企业备份旗舰版,登录您的账号,在主界面中将您的vCenter或ESXi主机添加为源设备(此步骤仅在初次绑定主机时才需要,绑定成功之后则无需重复此步骤)。

vCenter或ESXi主机添加为源设备
 

步骤2. 创建备份任务:点击“备份任务”>“新建任务”

新建任务
 

步骤3. 根据您的需求设置备份类型、任务名、设备、备份目标、备份计划、版本清理等。

步骤4. 各项设置无误之后,点击右下角的“开始备份”即可,如果创建了定时备份任务的话则请选择“添加定时任务并立即备份”“仅添加定时任务”

开始备份
 

备份完成之后,如果您想要还原的话也很简单,只需要导航到“备份管理”>“历史版本”,然后找到您想要还原的版本,点击“还原”即可。并且在还原的时候可以还原到源位置,也支持还原到新位置。

虚拟机还原到新位置
 

结论

本文主要向大家简单介绍了一下为什么会出现No Space Left On Device错误,并给出了一些故障排除方法,大家可以参考参考。

通过这个问题,我们了解到了监控磁盘空间和采取主动措施防止数据丢失的重要性,也知道了保持足够的虚拟存储空间和定期执行备份是保护数据和确保ESXi主机稳定性的关键措施。除此之外,我们还可以通过加密和访问控制等措施保护数据安全,进一步防止数据泄露和其他安全威胁。