仅限 AOS - 当控制器虚拟机 (CVM) 上的主分区或主 Nutanix 目录已满时该怎么办
仅限 AOS - 当控制器虚拟机 (CVM) 上的主分区或主 Nutanix 目录已满时该怎么办
仅限 AOS - 当控制器虚拟机 (CVM) 上的主分区或主 Nutanix 目录已满时该怎么办
描述
重要说明:
- 如果 /home 分区超出Prism Central VM (PCVM)上的限制,请勿使用此 KB 或清理脚本。有关 PCVM 问题,请参阅KB 5228 。
- 以nutanix用户身份登录 CVM
- 不要将 Nutanix CVM(控制器 VM)视为普通 Linux 机器。
- 除非另有说明,否则请勿在任何情况下使用rm -rf 。这将导致数据丢失的情况。
- 如果您正在运行 LCM-2.6 或 LCM-2.6.0.1,LCM 日志收集会填满 /home 目录,请参阅KB 14671寻找解决方法。
- 如果在运行 NCC 4.0.0 的集群上收到 /home 分区使用率高警报,也请检查KB 10530 。
- 您可以通过Nutanix Insights 支持门户上的发现查看受此警报影响的特定集群
- 如果您有任何疑问,请联系Nutanix 支持。
在两种情况下可能会报告 CVM /home 分区或 /home/nutanix 目录已满:
- NCC 健康检查 disk_usage_check 报告 /home 分区使用率高于阈值(默认情况下为 75%)。
- 升级前检查 test_nutanix_partition_space 检查所有节点在 /home/nutanix 目录中是否至少有 5.6 GB 的空间。
Prism 中的test_nutanix_partition_space升级前检查生成了以下错误消息:
Nutanix 在每个 CVM 的 SSD 层上为其文件和目录预留空间。这些文件和目录位于您登录 CVM 时看到的 /home 文件夹中。/home 文件夹的大小上限为 40 GB,因此 SSD 上的大部分空间可用于用户数据。
由于/home分区的大小有限,可用空间可能会不足,并触发 Prism 警报、NCC 健康检查失败或警告或升级前检查失败。这些防护措施旨在防止/home完全填满,因为这会导致 Stargate 等数据处理服务无响应。多个 CVM 的/home分区 100% 填满的集群通常会导致用户虚拟机停机。
清理 CVM 上未使用的二进制文件和旧日志时,请务必注意,与给定节点关联的每个驱动器上的所有用户数据分区也都安装在 /home 内。这就是为什么我们强烈建议不要使用未记录的命令(如rm -rf /home),因为这也会擦除安装在此路径内的用户数据目录。本文的目的是指导您识别导致 CVM 可用空间不足的文件,并仅删除可以安全删除的文件。
解决方案
注意:最新版本的 AOS 包含旨在优化 /home 空间利用率的增强功能和错误修复。为避免后续出现潜在问题,务必确保您的 AOS 定期更新。
一般指导
- 检查/home中的空间使用情况。为了适应潜在的 AOS 升级,使用率应低于 70%。使用df -h命令验证/home中的可用空间量。在下面的示例中,CVM xxx12 /home 的使用率为 81%。
================== xxx11 =================
/dev/md2 40G 22G 18G 55% /主页
================== xxx12 =================
/dev/md2 40G 32G 7.4G 81% /主页
================== xxx13 =================
/dev/md2 40G 24G 16G 61% /主页
要进一步按降序细分使用情况,请使用du -h命令和 -d 标志来获取所需的目录级别数。例如,下面的-d 2表示从/home/nutanix/data 中查找两个目录级别,此外,添加head -n 15将显示前 15 个目录,然后可以将其与其他 CVM 进行比较,以查看高使用率来自何处:
================== xx.xx.xx.11 =================
17G /主页/nutanix/数据
9.4G /主页/nutanix/数据/日志
4.6G /home/nutanix/data/installer/el7.*
4.6G /主页/nutanix/数据/安装程序
2.5G /主页/nutanix/数据/日志/sysstats
512M /主页/nutanix/数据/ncc/安装程序
================== xx.xx.xx.12 =================
18G /主页/nutanix/数据
9.5G /主页/nutanix/数据/日志
4.6G /home/nutanix/data/installer/el7.*
4.6G /主页/nutanix/数据/安装程序
3.0G /主页/nutanix/数据/日志/sysstats
610M /主页/nutanix/数据/logbay/taskdata
。
。
- 可以使用 logbay 命令(NCC 4.0.0 及以上版本, Nutanix KB 6691 )收集 CVM /home 分区信息。
- 清理/home目录下不需要的文件。
如果您有任何未完成的案件且尚未进行根本原因分析,请与案件所有者核实这些日志文件是否仍然需要或可以丢弃。
警告:在应用任何解决方法之前,请确保将知识库 (KB) 文章顶部提到的重要说明保留在手边
方法 1:使用已批准的脚本
下载并运行KB-1540_clean_v12.sh以清除批准目录中的文件。
注意:此脚本不适合在 Prism Central VM 上使用。
- 从任意 CVM 运行以下命令下载KB-1540_clean_v12.sh :
(MD5:967eb7f5de91bb684f730eb4bb45a16d)
nutanix@cvm:~/tmp$ wget -O KB-1540_clean_v12.sh http://download.nutanix.com/kbattachments/1540/KB-1540_clean_v12.sh
nutanix@cvm:~/tmp$ md5sum KB-1540_clean_v12.sh
967eb7f5de91bb684f730eb4bb45a16d KB-1540_clean_v12.s
- 将脚本部署到本地一台云服务器或者集群所有云服务器:
选择要部署的包
1:仅将工具部署到本地 CVM
2:将工具部署到集群内所有CVM
选择(取消=“c”):<==== 1 或 2
- 执行脚本以从批准的目录中清除文件。
- 帮助
- 交互模式
- 非交互模式
注意:如果脚本的输出或其颜色看起来不正确,请尝试在运行脚本之前设置环境变量,或使用“--no_color”选项:
交互模式
主菜单
|
计划项目菜单
|
非交互模式
命令
|
如果某个项目在“操作”列下被列为“指令”,则您可以通过运行该项目来查看指令。
例如:
┌────────────────────────────────────────────────────────┬────────────┬────────┐ │ 清洁计划:关注事项 │ 操作 │ 使用方法 │ ├────────────────────────────────────────────────────────┼────────────┼────────┤ │ 5:日志包(logbay)│删除 │ 2.25G│ │10:已下载安装程序│说明│ 824.00M│ │59:可能手动创建的文件│指令│ 3.69G│ ├──────────────────────────────────────────────────────────┴────────────┼────────┤ │ 总计 │ 6.74G│ ╞═══════════════════════════════════════ ══════════════════════════════╧════════╡ │CVM xxxx │ │ /home 使用量 = 30.99G (80%) >> 建议清理 │ └──────────────────────────────────────────────────────────────────────────────┘
项目 10 和 59 被列为“指令”。要查看项目 10 的指令,请在主菜单上输入“10”,然后在下一个屏幕上输入“R”来运行它。示例输出如下:
┌────────────────────────────────────────────────────────┬────────────┬────────┐ │ 清理计划 10 │ 操作 │ 使用 │ │ ═────────────────────────────────────────────────────┼────────────┼────────┤ │10:已下载的安装程序 │ 说明 │ 824.00M│ └────────────────────────────────────────────────┴──────────┴────────┘ 计划 10 菜单(退出、返回、帮助、重新扫描、操作、列表、试运行、运行、导出):R 计划 10 的运行操作:“说明” 计划 10 需要手动操作 --说明 - 这些下载的安装程序可以从 Prism 上的“升级软件”中删除。请在 KB-1540 (http://portal.nutanix.com/kb/1540) 上找到带有“/home/nutanix/software_downloads/”的部分。Prism 或 ncli 无法列出较旧的安装程序文件。如需帮助,请联系 Nutanix 支持。 ┌────────────────────────────────────────────────────────┬────────────┬────────┐ │ 清洁计划 10 │ 操作 │ 使用 │ │ ═────────────────────────────────────────────────────┼────────────┼────────┤ │10:下载安装程序 │ 说明 │ 824.00M│ └──────────────────────────────────────────────────┴────────────┴────────┘
对项目 59 重复上述操作,查看项目 59 的说明。
- 故障排除后的清理
每次故障排除后,应手动删除下载的脚本文件、日志和导出的文件。这些文件的总大小应该很小,不会影响 CVM 的文件系统。当脚本不再需要时,您可以删除以下文件。
<yymmdd-hhmmss> 是创建日期和时间。- 在部署 KB 脚本的 CVM 中( /home/nutanix/tmp/ ):
KB-1540_clean.sh - 从 KB 下载的文件
deploytool_yyyymmdd-hhmmss.log - 部署脚本的日志(部署后不需要)
nutanix_home_clean.py - 主要 KB 脚本
nutanix_home_clean_config.py-主脚本的配置文件 - 在集群中其余的 CVM 中 - 如果在步骤 2 中部署到所有 CVM:
nutanix_home_clean.py - 主要 KB 脚本
nutanix_home_clean_config.py-主脚本的配置文件 - 运行 nutanix_home_clean.py 的每个 CVM:
KB-1540_v12_yyyymmdd_hhmmss_nutanix_home_clean.log - KB 脚本的日志
KB-1540_v12_yyyymmdd_hhmmss_export_*.csv - 导出的文件(如果已导出)
以下命令可以删除以上所有内容:
nutanix@cvm:~/tmp$ allssh'cd ~/tmp/; /usr/bin/rm KB-1540* deploytool_*.log nutanix_home_clean.py nutanix_home_clean_config.py'
- 在部署 KB 脚本的 CVM 中( /home/nutanix/tmp/ ):
方法 2:手动方法
请阅读:只有下面所述目录下的文件才可以安全删除。请注意从每个目录中删除文件的具体指导。请勿使用任何其他命令或脚本来删除文件。在任何情况下都不要使用rm -rf 。
- 删除旧日志和核心文件。仅删除以下目录中的文件,而不删除目录本身。
- /主页/nutanix/数据/核心/
- /主页/nutanix/数据/binary_logs/
- /主页/nutanix/数据/ncc/安装程序/
- /主页/nutanix/数据/log_collector/
- /主页/nutanix/prism/webapps/console/downloads/NCC-logs-*
使用以下语法删除每个目录中的文件:
- 删除旧 ISO 和软件二进制文件。仅删除以下目录中的文件,而不删除目录本身。
在“Cluster Version”下检查当前运行的AOS版本:
集群名称:Axxxxa
集群版本:5.10.2
- /home/nutanix/software_uncompressed/ - software_uncompressed 文件夹仅在预升级运行时使用,升级成功后应将其删除。如果您看到正在运行但当前未升级的集群,则可以安全地删除 software_uncompressed 目录中的所有内容。删除除要升级到的版本之外的所有旧版本。
- /home/nutanix/foundation/isos/ ——虚拟机管理程序或 Phoenix 的旧 ISO。
- /home/nutanix/foundation/tmp/ ——可以删除的临时文件。
使用以下语法删除每个目录中的文件:nutanix@cvm:~$ /usr/bin/rm /home/nutanix/foundation/isos/* nutanix@cvm:~$ /usr/bin/rm /home/nutanix/foundation/tmp/*
- /主页/nutanix/软件下载/
如果 software_downloads 目录下的文件对于任何计划的升级都不是必需的,请从Prism Web 控制台 > 设置 > 升级软件中删除它们。同时检查文件服务器、虚拟机管理程序、 NCC和Foundation选项卡以找到您可能不需要的下载。下面的示例说明了两个可用于升级的 AOS 版本,每个版本占用大约 5 GB。单击“X”可删除文件。
如果已选中,请取消选中“启用自动下载”选项。如果不进行监控,集群将下载多个版本,从而不必要地占用主目录中的空间。
- 使用df -h重新检查/home中的空间使用情况(参见本文的常规指南)以确认其现在低于 70%。
注意:如果您无法删除文件并出现以下错误且空间未被占用,请联系Nutanix 支持寻求帮助。
==> 检测到的系统文件:
/home/nutanix/data/software_uncompressed/xxx
操作不允许。删除系统文件将导致集群不稳定,并可能导致数据丢失。
NC2 集群的重要注意事项:
在一些 NC2 集群实例中,我们观察到 /tmp 接近已满。您可以按照以下步骤清理 ~/tmp 目录。
- 通过 SSH 连接到受影响的 CVM 并通过运行“df -h”命令检查磁盘使用情况:
nutanix@CVM:~$ df -h /tmp 文件系统大小已使用可用使用率%安装于 /dev/loop0 240M 236M 0 100% /tmp
- 在上面的输出中,我们可以看到 /tmp 显示 100%。将目录更改为 ~/tmp 并使用sudo du -aSxh /tmp/* | sort -h对列表进行排序。
4.0K /tmp/hsperfdata_nutanix 12K /tmp/lost+found 23K /tmp/rc_nutanix_start.1731.log 39K /tmp/rc_nutanix_start.1734.log 78M /tmp/infra-gateway.ntnx-i-02a754840c30b5e66-a-cvm.root.log.ERROR.20230123-201357.3575 78M /tmp/infra-gateway.ntnx-i-02a754840c30b5e66-a-cvm.root.log.INFO.20230123-200932.3575 78M /tmp/infra-gateway.ntnx-i-02a754840c30b5e66-a-cvm.root.log.WARNING.20230123-201357.3575
- 从上面收到的输出中,手动删除大于 12K 的文件。例如,查看下面从上面输出中删除的文件。
nutanix@CVM:~/tmp$ sudo /usr/bin/rm /tmp/infra-gateway.ntnx-i-02a754840c30b5e66-a-cvm.root.log.WARNING.20230123-201357.3575 nutanix@CVM:~/tmp$ sudo /usr/bin/rm /tmp/infra-gateway.ntnx-i-02a754840c30b5e66-a-cvm.root.log.INFO.20230123-200932.3575 nutanix@CVM:~/tmp$ sudo /usr/bin/rm /tmp/.ntnx-i-02a754840c30b5e66-a-cvm.root.log.ERROR.20230123-201357.3575 nutanix@CVM:~/tmp$ sudo /usr/bin/rm /tmp/rc_nutanix_start.1734.log nutanix@CVM:~/tmp$ sudo /usr/bin/rm /tmp/rc_nutanix_start.1731.log
- 删除后,您可以使用df -h检查可用空间:
nutanix@CVM:~/tmp$ df -h /tmp 文件系统大小已使用可用使用率%安装于 /dev/loop0 240M 14M 210M 6% /tmp
- 如您所见,可用空间现在显示为 6%。您可以进一步检查:
nutanix@CVM:~$ ncc 健康检查硬件检查磁盘检查磁盘使用情况检查--cvm_list=
或者nutanix@CVM:~$ ncc health_checks run_all
如果在清理已批准目录中的文件后/home使用率仍高于阈值,请联系Nutanix 支持寻求帮助。在任何情况下,您都不应从本文推荐的目录中删除任何其他目录中的文件,因为这些文件可能对 CVM 性能至关重要或可能包含用户数据。