pvcreate初始化物理卷会覆写设备前几个扇区,不格式化整个文件系统,但需提前卸载、备份数据并确保分区未被LVM使用;操作后可将该PV加入卷组并创建逻辑卷。

不能真正“无损”转换——分区原有数据可保留,但必须先卸载、备份,并接受物理卷初始化对设备头部的覆盖。整个过程不格式化文件系统,但pvcreate 会覆写前几个扇区,因此数据安全完全依赖于提前备份和操作严谨性。
确认前提与强制卸载
目标分区(如 /dev/sdb1)必须处于未挂载状态,且不能是任何 PV/VG/LV 的一部分:
- 运行 mount | grep sdb1 确认未挂载;若已挂载,执行 umount /dev/sdb1
- 用 sudo pvs 和 sudo vgs 检查是否已被识别为物理卷;若已加入 LVM,需先 sudo pvremove /dev/sdb1 清除元数据
- 强烈建议将分区内全部数据完整拷贝到其他位置,例如:rsync -avh /mnt/old/ /backup/sdb1/
修改分区类型标识
让系统和工具明确该分区用途,提升兼容性与可维护性:
- 用 sudo fdisk -l /dev/sdb 查看磁盘标签类型:显示 dos 为 MBR,gpt 为 GPT
- 进入交互:sudo fdisk /dev/sdb,再按需操作:
- 若修改已有分区:输入 t → 分区号(如 1)→ 类型码:8e(MBR)或 L 后选 Linux LVM(GPT)
- 若新建分区:先输 n 创建,再输 t 设类型
- 最后输 w 保存退出
- 刷新内核分区表:sudo partprobe /dev/sdb 或重启 udev
初始化为物理卷并纳入卷组
这是从普通分区迈入 LVM 架构的关键一步:
- 执行 sudo pvcreate /dev/sdb1 —— 此命令仅在设备起始区域写入 LVM 元数据,不触碰后续文件系统内容
- 验证结果:sudo pvdisplay /dev/sdb1 应显示 PV 状态为 allocatable
- 加入已有卷组:sudo vgextend myvg /dev/sdb1
- 或新建卷组:sudo vgcreate myvg /dev/sdb1
- 检查空闲空间:sudo vgdisplay myvg | grep "Free PE"
创建逻辑卷并迁移挂载
完成架构切换后,需建立可用的逻辑卷并接管原路径:
- 创建 LV:sudo lvcreate -L 50G -n lv_data myvg
- 格式化(若原分区已是 ext4/xfs,可跳过此步;但首次使用建议重格式化):sudo mkfs.xfs /dev/myvg/lv_data
- 临时挂载新 LV:sudo mount /dev/myvg/lv_data /mnt/new
- 把原分区数据复制过去:sudo rsync -avh --delete /mnt/old/ /mnt/new/
- 卸载原分区与新 LV,更新 /etc/fstab:将原 /dev/sdb1 行替换为 /dev/myvg/lv_data,指定相同挂载点(如 /data)
- 重启前测试:sudo mount -a,确认无报错


















