温馨提示×

Linux分卷如何监控与管理

小樊
35
2025-11-08 10:26:31
栏目: 智能运维

一、Linux分卷监控方法

1. 命令行工具监控

  • 基础磁盘/分卷空间监控:使用df -hT命令以人类可读格式显示文件系统的总大小、已用容量、剩余容量及使用率(-h表示易读格式,-T显示文件系统类型);du -sh /path/to/directory用于评估指定目录的磁盘使用量(-s显示总计,-h易读格式),可递归查找占用空间大的目录。
  • LVM分卷详细信息监控lvs命令显示逻辑卷(LV)信息(如名称、卷组、大小、空闲空间),常用lvs --all --noheadings -o lv_name,vg_name,lv_size,lv_freevgs命令显示卷组(VG)信息(如名称、总大小、空闲空间),常用vgs --all --noheadings -o vg_name,vg_size,vg_freepvs命令显示物理卷(PV)信息(如设备名、总大小、空闲空间),常用pvs --all --noheadings -o pv_name,pv_size,pv_free
  • 磁盘健康与I/O监控smartctl -a /dev/sdX(需安装smartmontools)查看硬盘健康状态(如坏道、温度);iostat -x 1(需安装sysstat)显示磁盘I/O扩展统计信息(如读写速率、I/O等待时间),1表示每秒刷新一次。
  • 实时系统资源监控top/htop(需安装)实时显示系统进程的资源使用情况(CPU、内存、磁盘I/O),htop提供更友好的交互界面;vmstat 1显示系统虚拟内存、磁盘、CPU活动(如页面交换、磁盘读写次数)。

2. 脚本化告警监控

通过自定义脚本设置分卷使用率阈值告警(如超过80%警告、90%严重),例如中的bash脚本:

#!/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/sda1监控指定分区。

3. 可视化工具监控

  • Netdata:开源实时性能监控工具,安装后自动提供磁盘、分卷、网络等指标的Web dashboard(sudo apt install netdata);
  • Munin:基于SNMP的监控软件,通过Web界面展示历史趋势图(需安装munin-nodemunin-server并配置节点)。

二、Linux分卷管理方法

1. LVM(逻辑卷管理)流程

LVM是Linux下灵活管理分卷的主流方式,核心步骤如下:

  • 创建物理卷(PV):将磁盘或分区转换为物理卷,命令:sudo pvcreate /dev/sdb/dev/sdb为目标设备);
  • 创建卷组(VG):将物理卷组合成卷组(存储池),命令:sudo vgcreate vg_name /dev/sdb /dev/sdcvg_name为卷组名,可添加多个物理卷);
  • 创建逻辑卷(LV):从卷组中划分逻辑卷(实际挂载的分区),命令:sudo lvcreate -L 10G -n lv_name vg_name-L指定大小,-n指定名称);
  • 格式化与挂载:使用mkfs.ext4 /dev/vg_name/lv_name格式化逻辑卷(ext4文件系统),创建挂载点(sudo mkdir /mnt/my_lv)并通过sudo mount /dev/vg_name/lv_name /mnt/my_lv挂载;
  • 调整分卷大小
    • 扩展逻辑卷:先通过vgextend vg_name /dev/sdd向卷组添加新空间,再用lvextend -L +2G /dev/vg_name/lv_name扩展逻辑卷(+2G表示增加2GB);
    • 调整文件系统:ext4文件系统用resize2fs /dev/vg_name/lv_name,XFS文件系统用xfs_growfs /mount/point/mount/point为逻辑卷挂载点);
  • 删除分卷:先删除逻辑卷(lvremove /dev/vg_name/lv_name),再删除卷组(vgremove vg_name),最后删除物理卷(pvremove /dev/sdb)。

2. 传统分区管理(非LVM)

  • 分区工具fdisk(MBR/GPT分区,命令:sudo fdisk /dev/sdX,通过n创建分区、w保存退出)、parted(支持更大磁盘,命令:sudo parted /dev/sdX mkpart primary 0 200,创建主分区)、gparted(图形界面,适合新手);
  • 格式化与挂载:分区后用mkfs.ext4 /dev/sdXY格式化(sdXY为分区名,如sda1),创建挂载点并通过mount命令挂载,若需永久挂载需编辑/etc/fstab文件。

0