Linux分卷(逻辑卷/LVM)性能监控方法
监控Linux分卷(尤其是LVM管理的逻辑卷)的性能,需结合基础命令行工具(快速查看关键指标)、专业监控工具(可视化与长期跟踪)及脚本自动化(告警与定制化),以下是具体方案:
用于查看分卷的文件系统空间占用(总容量、已用/空闲空间、使用率),是判断分卷是否需扩容的基础工具。常用选项:-h
(人类可读格式)、-T
(显示文件系统类型)。
示例:df -hT
可清晰看到各分卷(如/dev/mapper/centos-root
)的空间使用情况,若使用率接近100%,需及时扩容。
列出所有块设备(物理卷、卷组、逻辑卷)的层次结构(如挂载点、设备类型、大小),帮助理清分卷与物理设备的关联。
示例:lsblk
可显示逻辑卷(如lv_root
)所属的卷组(如centos
)及底层物理磁盘(如sda
)。
来自sysstat
包,用于监控分卷的I/O吞吐量(读/写速率)、I/O等待时间(await
)、设备利用率(%util
)等关键指标。-x
选项提供更详细的设备级统计。
示例:iostat -dx 1 3
每1秒刷新一次,共3次,重点关注%util
(若接近100%,说明设备饱和)和await
(平均I/O等待时间,越高性能越差)。
监控系统进程、内存、磁盘I/O、CPU的综合状态,其中bi
(块设备输入)、bo
(块设备输出)反映分卷的I/O流量。
示例:vmstat 1 3
每1秒输出一次,若bi
/bo
值持续较高,说明分卷存在频繁I/O操作。
实时显示各进程的磁盘I/O使用情况(读/写速率、I/O占比),帮助定位导致分卷性能瓶颈的具体进程(如数据库、备份任务)。
示例:iotop -o
仅显示正在执行I/O的进程,按Shift+P
按I/O速率排序。
node_exporter
采集系统指标,并配置Prometheus抓取目标。一键安装的实时监控工具,提供分卷I/O速率、空间使用、设备温度等指标的 dashboard,无需复杂配置,适合快速排查问题。
示例:yum install netdata -y && systemctl start netdata
即可访问http://服务器IP:19999
查看。
通过df
命令获取分卷使用率,与预设阈值(如80%警告、90%严重)比较,输出告警信息并退出对应状态码(0=正常、1=警告、2=严重)。
示例脚本(保存为check_partition.sh
):
#!/bin/bash
WARNING_PERCENT=80
CRITICAL_PERCENT=90
PARTITION=$1
USED=$(df -hT $PARTITION | awk '/^.*%/{print $5}' | sed 's/%//')
if [ $USED -ge $CRITICAL_PERCENT ]; then
echo "CRITICAL: Partition $PARTITION is at $USED% used."
exit 2
elif [ $USED -ge $WARNING_PERCENT ]; then
echo "WARNING: Partition $PARTITION is at $USED% used."
exit 1
else
echo "OK: Partition $PARTITION is at $USED% used."
exit 0
fi
使用方式:chmod +x check_partition.sh && ./check_partition.sh /dev/mapper/centos-root
。
lvdisplay
:查看逻辑卷的大小、PE(物理扩展)数量、条带化配置(如-i
选项显示条带数);vgdisplay
:查看卷组的剩余空间、物理卷成员,判断是否需扩展卷组以支持分卷扩容;pvdisplay
:查看物理卷的设备路径、PE大小、分配状态。lvdisplay /dev/mapper/centos-root
可查看逻辑卷的详细信息。通过上述方法,可全面监控Linux分卷的性能状态(空间、I/O、设备负载),及时发现瓶颈并采取措施(如扩容、优化I/O调度器、更换SSD),确保系统稳定运行。