Ubuntu 22.04 LVM 扩容实战:3步将2块新硬盘合并挂载到 /data 目录
Ubuntu 22.04 LVM 扩容实战:3步将2块新硬盘合并挂载到 /data 目录
最近在部署机器学习训练环境时,遇到了一个典型问题:随着数据集不断增长,原有的存储空间很快被占满。传统方案需要频繁迁移数据到新硬盘,既麻烦又容易造成目录结构混乱。经过实践验证,LVM(逻辑卷管理)技术能完美解决多盘合并管理的痛点——它允许将多块物理硬盘整合为单一逻辑存储池,实现容量的动态扩展和统一管理。
本文将手把手演示如何在Ubuntu 22.04系统上,通过LVM将两块新硬盘无缝合并为一个逻辑卷,并挂载到/data目录。整个过程仅需三个核心步骤,无需停机且保证数据安全。下面我们直接从实战操作开始:
1. 环境准备与硬盘识别
首先确认系统已安装LVM工具包(Ubuntu Server版默认已安装):
sudo apt update && sudo apt install -y lvm2插入两块新硬盘后(假设为/dev/sdb和/dev/sdc),使用以下命令识别设备:
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT理想输出应显示新增的未格式化设备(无FSTYPE标识):
NAME SIZE FSTYPE MOUNTPOINT sdb 465.8G sdc 465.8G关键检查点:务必确认目标设备没有重要数据!以下操作将清空磁盘所有内容。
2. 创建LVM逻辑卷
2.1 初始化物理卷(PV)
将两块硬盘初始化为LVM可管理的物理卷:
sudo pvcreate /dev/sdb /dev/sdc验证创建结果:
sudo pvdisplay输出应显示两个新PV的详细信息,包括分配的PE(物理块)数量。
2.2 构建卷组(VG)
创建一个名为data-vg的卷组,包含两块硬盘:
sudo vgcreate>sudo vgdisplay>sudo lvcreate -l 100%FREE -n>sudo mkfs.ext4 /dev/data-vg/data-lv3. 挂载与自动化配置
3.1 创建挂载点并临时挂载
sudo mkdir /data sudo mount /dev/data-vg/data-lv /data验证挂载结果:
df -h /data输出应显示正确的容量和挂载点信息。
3.2 配置永久挂载
获取逻辑卷的UUID(避免设备名变化导致挂载失败):
sudo blkid /dev/data-vg/data-lv编辑/etc/fstab文件,添加以下行(替换实际UUID):
UUID=你的逻辑卷UUID /data ext4 defaults 0 2测试配置是否正确:
sudo umount /data sudo mount -a高级技巧与故障排查
容量监控命令速查
| 命令 | 作用 | 示例输出关键字段 |
|---|---|---|
vgs | 查看卷组空间概况 | VFree: 剩余空间 |
lvs | 查看逻辑卷状态 | LSize: 逻辑卷大小 |
pvs | 查看物理卷状态 | PFree: 物理卷剩余空间 |
常见问题解决方案
挂载失败:检查dmesg日志,常见原因是:
- 文件系统损坏:
sudo fsck /dev/data-vg/data-lv - UUID不匹配:重新执行blkid获取最新UUID
- 文件系统损坏:
后续扩容:当需要添加第三块硬盘时:
sudo pvcreate /dev/sdd sudo vgextend>sudo lvcreate -i 2 -I 256 -l 100%FREE -n>sudo lvcreate -s -n>sudo vgchange -r n>
