## 一、背景 当前服务器磁盘情况: - `/dev/sdb1` 挂载 `/data`(100G,已使用 95%) - 新增磁盘 `/dev/sdc`(500G,未使用) 目标: 1. 使用新磁盘构建 LVM 2. 挂载到 `/data2` 3. 将 `/data` 数据迁移过去 --- ## 二、整体架构 ``` 磁盘 sdc ↓ PV(物理卷) ↓ VG(卷组 data_vg) ↓ LV(逻辑卷 data_lv) ↓ ext4 文件系统 ↓ 挂载到 /data2 ``` --- ## 三、操作步骤 ### 1. 确认磁盘 ```bash lsblk ``` 示意图: ``` sdc 500G disk ``` --- ### 2. 创建 PV(物理卷) ```bash pvcreate /dev/sdc ``` 说明: - 将磁盘初始化为 LVM 可用结构 --- ### 3. 创建 VG(卷组) ```bash vgcreate data_vg /dev/sdc ``` 说明: - VG 相当于“磁盘资源池” --- ### 4. 创建 LV(逻辑卷) ```bash lvcreate -l 100%FREE -n data_lv data_vg ``` 说明: - LV 才是最终可使用的“分区” 结构图: ``` data_vg └── data_lv (500G) ``` --- ### 5. 格式化文件系统 ```bash mkfs.ext4 /dev/data_vg/data_lv ``` --- ### 6. 创建挂载点 ```bash mkdir /data2 ``` --- ### 7. 挂载 ```bash mount /dev/data_vg/data_lv /data2 ``` 验证: ```bash df -Th ``` --- ### 8. 设置开机自动挂载 获取 UUID: ```bash blkid /dev/data_vg/data_lv ``` 编辑 `/etc/fstab`: ```bash UUID=xxxxxx /data2 ext4 defaults 0 0 ``` 测试: ```bash mount -a ``` --- ## 四、数据迁移 ### 推荐方式:rsync ```bash yum install -y rsync rsync -avh /data/ /data2/ ``` 参数说明: - `-a` 保留权限 - `-v` 显示过程 - `-h` 易读格式 ⚠️ 注意: ``` /data/ (结尾必须有 /) ``` --- ### 二次同步(确保数据一致) ```bash rsync -avh /data/ /data2/ ``` --- ## 五、umount 常见问题 ### 报错 ``` umount: /data: target is busy ``` ### 原因 - 有进程正在使用该目录 ### 解决方法 #### 方法1:查看占用 ```bash lsof +D /data ``` 或: ```bash fuser -m /data ``` #### 方法2:终止进程 ```bash kill -9 PID ``` #### 方法3:懒卸载 ```bash umount -l /data ``` --- ## 六、为什么不能直接挂载 VG? LVM 结构: ``` 磁盘 → PV → VG → LV → 文件系统 → 挂载 ``` 说明: - VG 是“资源池”,不是块设备 - LV 才是“可挂载分区” --- ## 七、LVM 的优势 ### 1. 动态扩容 ```bash lvextend -l +100%FREE /dev/data_vg/data_lv resize2fs /dev/data_vg/data_lv ``` --- ### 2. 多逻辑卷 ``` data_vg ├── data_lv ├── log_lv └── backup_lv ``` --- ### 3. 快照功能 ```bash lvcreate -L 10G -s -n snap_data /dev/data_vg/data_lv ``` --- ### 4. 跨磁盘扩展 ``` sdc + sdd → 一个 VG ``` --- ## 八、更优方案(进阶) 如果 `/data` 使用 LVM,可以直接扩容: ```bash pvcreate /dev/sdc vgextend centos /dev/sdc lvextend -l +100%FREE /dev/centos/data resize2fs /dev/centos/data ``` 优点: - 无需迁移数据 - 无需新增挂载点 --- ## 九、总结 ``` VG = 磁盘池(不能挂载) LV = 分区(可以挂载) ``` 推荐流程: ``` 新磁盘 → LVM → 挂载 → rsync迁移 → 切换 ``` --- Loading... ## 一、背景 当前服务器磁盘情况: - `/dev/sdb1` 挂载 `/data`(100G,已使用 95%) - 新增磁盘 `/dev/sdc`(500G,未使用) 目标: 1. 使用新磁盘构建 LVM 2. 挂载到 `/data2` 3. 将 `/data` 数据迁移过去 --- ## 二、整体架构 ``` 磁盘 sdc ↓ PV(物理卷) ↓ VG(卷组 data_vg) ↓ LV(逻辑卷 data_lv) ↓ ext4 文件系统 ↓ 挂载到 /data2 ``` --- ## 三、操作步骤 ### 1. 确认磁盘 ```bash lsblk ``` 示意图: ``` sdc 500G disk ``` --- ### 2. 创建 PV(物理卷) ```bash pvcreate /dev/sdc ``` 说明: - 将磁盘初始化为 LVM 可用结构 --- ### 3. 创建 VG(卷组) ```bash vgcreate data_vg /dev/sdc ``` 说明: - VG 相当于“磁盘资源池” --- ### 4. 创建 LV(逻辑卷) ```bash lvcreate -l 100%FREE -n data_lv data_vg ``` 说明: - LV 才是最终可使用的“分区” 结构图: ``` data_vg └── data_lv (500G) ``` --- ### 5. 格式化文件系统 ```bash mkfs.ext4 /dev/data_vg/data_lv ``` --- ### 6. 创建挂载点 ```bash mkdir /data2 ``` --- ### 7. 挂载 ```bash mount /dev/data_vg/data_lv /data2 ``` 验证: ```bash df -Th ``` --- ### 8. 设置开机自动挂载 获取 UUID: ```bash blkid /dev/data_vg/data_lv ``` 编辑 `/etc/fstab`: ```bash UUID=xxxxxx /data2 ext4 defaults 0 0 ``` 测试: ```bash mount -a ``` --- ## 四、数据迁移 ### 推荐方式:rsync ```bash yum install -y rsync rsync -avh /data/ /data2/ ``` 参数说明: - `-a` 保留权限 - `-v` 显示过程 - `-h` 易读格式 ⚠️ 注意: ``` /data/ (结尾必须有 /) ``` --- ### 二次同步(确保数据一致) ```bash rsync -avh /data/ /data2/ ``` --- ## 五、umount 常见问题 ### 报错 ``` umount: /data: target is busy ``` ### 原因 - 有进程正在使用该目录 ### 解决方法 #### 方法1:查看占用 ```bash lsof +D /data ``` 或: ```bash fuser -m /data ``` #### 方法2:终止进程 ```bash kill -9 PID ``` #### 方法3:懒卸载 ```bash umount -l /data ``` --- ## 六、为什么不能直接挂载 VG? LVM 结构: ``` 磁盘 → PV → VG → LV → 文件系统 → 挂载 ``` 说明: - VG 是“资源池”,不是块设备 - LV 才是“可挂载分区” --- ## 七、LVM 的优势 ### 1. 动态扩容 ```bash lvextend -l +100%FREE /dev/data_vg/data_lv resize2fs /dev/data_vg/data_lv ``` --- ### 2. 多逻辑卷 ``` data_vg ├── data_lv ├── log_lv └── backup_lv ``` --- ### 3. 快照功能 ```bash lvcreate -L 10G -s -n snap_data /dev/data_vg/data_lv ``` --- ### 4. 跨磁盘扩展 ``` sdc + sdd → 一个 VG ``` --- ## 八、更优方案(进阶) 如果 `/data` 使用 LVM,可以直接扩容: ```bash pvcreate /dev/sdc vgextend centos /dev/sdc lvextend -l +100%FREE /dev/centos/data resize2fs /dev/centos/data ``` 优点: - 无需迁移数据 - 无需新增挂载点 --- ## 九、总结 ``` VG = 磁盘池(不能挂载) LV = 分区(可以挂载) ``` 推荐流程: ``` 新磁盘 → LVM → 挂载 → rsync迁移 → 切换 ``` --- 最后修改:2026 年 03 月 18 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏