linux合并多块盘(不建议这样使用,一块盘坏了,整个数据都有可能出问题)

根据自己的情况,选择以下任意一个操作即可,不是从头到位都执行

1.首次操作多个盘(没有卷组,每个盘都没有数据)

# 创建物理卷
pvcreate /dev/vda /dev/vdb /dev/vdc

# 创建卷组
vgcreate vg_disk /dev/vda /dev/vdb /dev/vdc

# 创建逻辑卷
lvcreate -n lv_disk -l 100%FREE vg_disk

# 格式化
mkfs.ext4 /dev/vg_disk/lv_disk

# 挂载
mkdir -p /disk
mount /dev/vg_disk/lv_disk /disk

# 设置开机自启
echo "UUID=$(blkid -s UUID -o value /dev/vg_disk/lv_disk) /disk ext4 defaults 0 0" >> /etc/fstab

 2.将多个新盘合并到一个已存在单盘的挂载上(没有卷组,挂载点的盘有数据)

# ========== 第一步:准备 vdb 作为临时存储 ==========
# 格式化 vdb
mkfs.ext4 /dev/vdb

# 创建临时挂载点
mkdir -p /mnt/temp

# 挂载 vdb
mount /dev/vdb /mnt/temp

# 备份原有数据到 vdb
rsync -avP --progress /disk/ /mnt/temp/

# 验证数据完整性
diff -r /disk/ /mnt/temp/

# ========== 第二步:卸载原有的 /disk ==========
umount /disk

# ========== 第三步:创建 LVM ==========
# 将 vda 和 vdb 都初始化为物理卷(此时 vdb 有备份数据,会丢失!注意)
# 如果 vdb 上有备份,需要先确保数据已复制到其他地方
# 或者使用第三个盘作为备份

# 更安全的做法:使用 vdb 作为 LVM 的一部分,但备份在别处
# 假设你已将数据备份到其他位置(如 NFS、外部硬盘等)

pvcreate /dev/vda /dev/vdb
vgcreate vg_disk /dev/vda /dev/vdb
lvcreate -n lv_disk -l 100%FREE vg_disk
mkfs.ext4 /dev/vg_disk/lv_disk

# ========== 第四步:恢复数据 ==========
mount /dev/vg_disk/lv_disk /disk
rsync -avP --progress /backup_location/ /disk/

# ========== 第五步:设置开机挂载 ==========
echo "UUID=$(blkid -s UUID -o value /dev/vg_disk/lv_disk) /disk ext4 defaults 0 0" >> /etc/fstab

 

3.将多个新盘合并到一个已存在单盘的挂载上(有卷组,卷组里有数据)

# 查看当前状态
df -h /disk
vgs vg_disk

# 添加新磁盘到 LVM
pvcreate /dev/vdd
vgextend vg_disk /dev/vdd

# 扩容逻辑卷
lvextend -l +100%FREE /dev/vg_disk/lv_disk

# 扩容文件系统(ext4)
resize2fs /dev/vg_disk/lv_disk

# 如果是 xfs 请用下面这行代替上面
# xfs_growfs /disk

# 验证结果
df -h /disk

 

posted @ 2026-06-02 23:36  NAVYSUMMER  阅读(31)  评论(0)    收藏  举报
交流群 编程书籍