Linux分卷维护指南(基于LVM)
Linux系统中,**LVM(逻辑卷管理)**是主流的分卷维护技术,它通过“物理卷(PV)-卷组(VG)-逻辑卷(LV)”的层级结构,实现了磁盘空间的动态调整、灵活扩展和高效管理。以下是日常维护中的核心操作及注意事项:
在维护前需明确三个核心组件:
/dev/sdb1、整个磁盘/dev/sdc);逻辑卷的核心优势是无需卸载即可扩展空间(缩小需卸载),适用于根分区、数据分区等场景。
/dev/vg_name/lv_name为例):# 1. 查看卷组剩余空间(确保有足够空间)
sudo vgdisplay
# 2. 扩展逻辑卷(+10G表示增加10GB,也可用-L 20G直接指定新大小)
sudo lvextend -L +10G /dev/vg_name/lv_name
# 3. 调整文件系统大小(根据文件系统类型选择命令)
sudo resize2fs /dev/vg_name/lv_name # ext4文件系统
sudo xfs_growfs /dev/vg_name/lv_name # XFS文件系统(需已挂载)
# 1. 卸载逻辑卷
sudo umount /dev/vg_name/lv_name
# 2. 检查文件系统(ext4示例)
sudo e2fsck -f /dev/vg_name/lv_name
# 3. 缩小逻辑卷(-10G表示减少10GB)
sudo lvreduce -L -10G /dev/vg_name/lv_name
# 4. 重新调整文件系统大小
sudo resize2fs /dev/vg_name/lv_name
# 5. 重新挂载
sudo mount /dev/vg_name/lv_name /mnt/point
⚠️ 注意:缩小逻辑卷前务必确认文件系统已检查,否则可能导致数据损坏。
当VG空间不足时,可通过添加新物理卷(PV)扩展VG:
# 1. 创建新分区并转换为PV(假设新分区为/dev/sdd1)
sudo pvcreate /dev/sdd1
# 2. 将PV添加到现有VG(vg_name为目标卷组)
sudo vgextend vg_name /dev/sdd1
扩展VG后,即可通过lvextend命令扩展LV。
# 1. 创建物理卷(PV)
sudo pvcreate /dev/sdb
# 2. 创建卷组(VG,vg_name为自定义名称)
sudo vgcreate vg_name /dev/sdb
# 3. 创建逻辑卷(LV,lv_name为自定义名称,-L指定大小)
sudo lvcreate -L 10G -n lv_name vg_name
# 4. 格式化并挂载
sudo mkfs.ext4 /dev/vg_name/lv_name
sudo mkdir /mnt/my_lv
sudo mount /dev/vg_name/lv_name /mnt/my_lv
# 1. 卸载逻辑卷
sudo umount /dev/vg_name/lv_name
# 2. 删除逻辑卷
sudo lvremove /dev/vg_name/lv_name
# 3. 删除卷组(需确保VG中无LV)
sudo vgremove vg_name
# 4. 删除物理卷
sudo pvremove /dev/sdb
定期检查分卷信息可及时发现空间不足或异常:
sudo vgdisplay(显示VG名称、大小、剩余空间等);sudo lvdisplay(显示LV路径、大小、挂载点等);df -h(直观显示各分区的已用/可用空间)。定期清理系统垃圾可释放空间:
sudo rm -rf /tmp/*;sudo truncate -s 0 /var/log/*.log(清空日志文件);sudo yum remove package_name(CentOS)或sudo apt remove package_name(Ubuntu)。使用工具实时分析空间占用,提前预警:
sudo yum install ncdu # CentOS
sudo apt install ncdu # Ubuntu
ncdu /path/to/directory # 分析指定目录
tar或rsync工具);umount),否则可能导致数据损坏;e2fsck -f检查文件系统;XFS分区不支持缩小操作;sudo或root用户执行,避免权限不足导致失败。