免责声明:本文为 Investigating disk space on an ESX or ESXi host (1003564) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。
要检查 ESX/ESXi 服务控制台分区上的可用空间,请执行以下步骤:
df -h
。Filesystem Size Used Avail Use% Mounted on
/dev/sda2 4.9G 3.0G 1.6G 66% /
/dev/sda1 99M 18M 77M 19% /boot
none 145M 0 145M 0% /dev/shm
/dev/sda7 2.0G 135M 1.7G 8% /var/log
[root@server]#
注意:显示的分区来自 ESX 主机的默认安装。如果您已修改分区配置,显示的输出可能会有所不同。 Filesystem Size Used Available Use% Mounted on
visorfs 1.3G 322.3M 1.0G 24% /
vmfs3 63.3G 570.0M 62.7G 1% /vmfs/volumes/4d71190d-5921bfa8-03ea-001e0be916ba
vfat 285.9M 135.5M 150.4M 47% /vmfs/volumes/3c3693e8-f77a642a-1910-5c6bdcb26d3a
vfat 4.0G 2.7M 4.0G 0% /vmfs/volumes/4d71190d-190fbdb0-ff95-001e0be916ba
vfat 249.7M 102.0M 147.7M 41% /vmfs/volumes/474ef17b-e05aa697-c0fe-f8c0bde4916e
vfat 249.7M 4.0k 249.7M 0% /vmfs/volumes/51aa187c-89f6786d-a281-5b966197c73c
检查所列每一项的使用率。如果列出的任意卷 100% 充满,则必须检查它们以确定是否可以释放空间。检查 ESX 默认安装最重要的挂载点是 /
和 /var/log
挂载,如果它们已满,将会阻止 ESX 主机正常运行。
logout
,然后按 Enter 退出系统。 要检查 ESX/ESXi 主机的 VMFS 卷上的可用空间,请执行以下操作:
vdf -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 4.9G 3.0G 1.6G 66% /
/dev/sda1 99M 18M 77M 19% /boot
none 145M 0 145M 0% /dev/shm
/dev/sda7 2.0G 135M 1.7G 8% /var/log
/vmfs/devices 439G 0 439G 0% /vmfs/devices
/vmfs/volumes/458865ba-b31110fd-43d5-00127994e616
68G 47G 20G 69% /vmfs/volumes/San_Storage
/vmfs/volumes/45b5eb1a-808343db-ecab-00114335854b
26G 9.7G 16G 36% /vmfs/volumes/Local_Storage
注意:显示的分区取决于您已定义且提供给 ESX 或 ESXi 主机的 VMFS 卷。logout
,然后按 Enter 退出系统。 du -h --max-depth=1
<dir>
。该命令列出给定文件系统中包含最大文件的目录。从 root (/) 目录开始,找到最大的目录,然后您可以向下钻取到这些目录(使用 cd)并递归执行相同的命令,直到您找到占用空间的文件本身为止。 </dir>相关信息请参见 Troubleshooting a datastore or VMFS volume that is full or near capacity (1003412)。
出于若干原因,磁盘上的信息可能会越积越多。在写入大量消息后,日志文件可能会增大。虚拟机或 ISO 等内容可能会被复制到 ESX 或 ESXi 主机,但放在不合适的位置。过去故障产生的 Coredump 可能已累积。
要确认这一点,请检查以下目录的大小:
/vmimages/
目录用于存储操作系统安装文件,如 VMware Tools 或其他 ISO 文件。 /var/core/
和 /root/
目录用于存储服务控制台和 VMkernel 上的崩溃文件。 /var/log/
目录用于存储 ESX 主机的大多数日志。 /vmfs/volumes/
数据存数用于存储虚拟机数据。 要查看上面一些常用目录占用的空间,请运行以下命令:
du -ch /vmimages /var/core /root /var/log
find
命令查找所有符合给定条件的文件。 /
中大于 10 MB 的文件,请使用以下命令:find / -size +10M
-exec du -h {} \; | less
/var/
中大于 1 MB 的文件,请使用以下命令:find /var/ -size +1M
-mount -exec du -h {} \; | less
注意:
-size N[bck] File size is N (c:bytes,k:kbytes,b:512 bytes(def.)).对于所有超过 1 M 的文件,请使用以下命令:
find / -size +1000k -exec du -h {} \;
以下是可以安全删除的文件的列表:
vmware*.log
文件,则可以删除虚拟机日志文件。有关详细信息,请参见 Too many vmware.log files created on VMFS datastores results in delays or failure to power on virtual machines (1006434)。 /vmimages/.
在确定哪个文件占用磁盘空间后,删除不需要的文件:
rm
命令永久删除文件。例如:rm /var/log/oldlogfile
# > file.log
零输入到文件的标准重定向会使文件大小变成 0 kb ,且文件名称和权限不变。
在进行故障排除或趋势分析时,可能需要 ESX 或 ESXi 主机上的历史日志文件作为参考。可以将它们进行压缩和归档,而不是删除。注意,另请参见 vmsupport files left on ESX or ESXi host fill the filesystem on which they reside (1026359)。
要压缩历史日志文件,请执行以下操作:
var/log/vmkwarning
和 /var/log/vmkernel 日志文件:tar czvf /tmp/vmkwarning-logs.tgz /var/log/vmkwarning*
tar czvf /tmp/vmkernel-logs.tgz /var/log/vmkernel.*
/var/log/messages
日志文件:tar czvf /tmp/messages-logs.tgz /var/log/messages.*
rm /var/log/vmkwarning.* /var/log/vmkernel.* /var/log/messages.*
/var/log/
分区以便进行长期存储:mv
/tmp/vmkwarning-logs.tgz
/tmp/
vmkernel-logs.tgz
/tmp/messages-logs.tgz
/var/log/
有关建议的分区大小的详细信息,请参见您的 ESX/ESXi 版本对应的 Installation and Upgrade Guide 中的“数据存储分区”部分。
其他 find 命令:
find / -size +10240000c -exec vmkvsitools visorfsdu -h {} \; | less
Investigating disk space on an ESX or ESXi host