收起左侧

linear替换硬盘分享,曲线救国,稳定性不确定

0
回复
43
查看
[ 复制链接 ]

0

主题

1

回帖

0

牛值

江湖小虾

谨慎使用,仅仅在虚拟机测试使用!!!!!!!!!!!!!!!!!!

前提:新硬盘容量大于等于原来linear硬盘总和

目标:用 sdd 上的分区 sdd1 替换 sdb1,数据不丢失,系统不重启。

结果:所有数据整合到新的8G硬盘sdd,飞牛可以识别。原先的4G硬盘 sdb1和sdc1可以用飞牛创建存储空间再次利用

  • sdb1 (4G) + sdc1 (4G) 组成线性 RAID /dev/md1(总 8G)
  • /dev/md1 是 LVM PV,属于卷组 trim_3acc5171_b3c1_41b8_aa1a_edff3b169b0a(替换成自己的,使用命令lsblk可以查看),卷组中只有一个逻辑卷 0,挂载在 /vol2

image.png

成功后截图,原本的md1被清除掉了

image.png

  • 新磁盘 sdd 为 8G 空白盘

操作步骤

1. 对新磁盘 sdd 进行分区

创建分区 sdd1,可以使用 fdiskparted,推荐使用 fdisk

# 对 /dev/sdd 进行分区,创建一个主分区占用全部空间
fdisk /dev/sdd
# 输入 n 新建分区,p 主分区,1 分区号,默认起始扇区,默认结束扇区(全盘)
# 输入 w 写入分区表并退出

也可以使用 parted 一步完成:

parted /dev/sdd mklabel gpt
parted /dev/sdd mkpart primary 0% 100%

创建后检查分区:

lsblk /dev/sdd
# 应显示 sdd1

2. 清除新分区上的签名并创建物理卷

# 清除可能残留的文件系统或 RAID 签名
wipefs -a /dev/sdd1

# 初始化为物理卷
pvcreate /dev/sdd1

3. 将新 PV 加入现有卷组

卷组名较长,建议直接复制粘贴(注意替换为实际卷组名):

vgextend trim_3acc5171_b3c1_41b8_aa1a_edff3b169b0a /dev/sdd1

4. 将数据从旧 PV /dev/md1 迁移到新 PV /dev/sdd1

# 开始在线迁移(数据会从 /dev/md1 移动到 /dev/sdd1)
pvmove /dev/md1 /dev/sdd1
  • 迁移过程不中断 /vol2 的访问,但磁盘 I/O 会较高。
  • 可在另一终端执行 pvmove -i 5 查看进度(5 秒刷新一次)。
  • 等待迁移完成(8G 数据通常几分钟内完成)。

5. 从卷组中移除旧 PV /dev/md1

vgreduce trim_3acc5171_b3c1_41b8_aa1a_edff3b169b0a /dev/md1

6. 停止并清理 RAID 设备

# 停止 md1 阵列
mdadm --stop /dev/md1

# 清除两个成员盘上的 RAID 超级块(防止系统重启后自动重建)
mdadm --zero-superblock /dev/sdb1
mdadm --zero-superblock /dev/sdc1

7. 验证结果

# 检查 RAID 状态(应无 md1)
cat /proc/mdstat

# 查看 LVM 结构
pvs
vgs
lvs

# 确认 /vol2 挂载正常,数据完整
df -h /vol2
ls /vol2

关键说明

  • 数据安全pvmove 是 LVM 的原子操作,会先复制数据再更新元数据,即使中途断 电,重启后 LVM 也能恢复到迁移前状态。但仍建议重要数据备份。
  • 分区 vs 整盘:使用分区 sdd1 而非整盘 sdd,为将来可能的其他分区(如交换分区)保留空间,且符合传统管理习惯。但注意 sdd1 的容量就是 sdd 的整盘容量(8G),若需保留未分区空间,可在分区时指定较小大小。
  • 无需卸载:整个过程中 /vol2 保持挂载,服务不中断。
  • RAID 清理:清除 RAID 超级块后,sdb1sdc1 变为普通分区,可重新利用。
收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则