在 Ubuntu 24.04 中,将 /data
盘中的所有数据迁移到 /home/user/data
目录下,然后将该磁盘与另一块磁盘组建 RAID 1,并重新挂载到 /data
,可以按照以下详细步骤操作:
⚠️ 前提假设
- 你当前的数据盘挂载在
/data
,对应磁盘为/dev/sdX1
(如/dev/sdb1
) - 你有一块新的空磁盘
/dev/sdY
(如/dev/sdc
)用于组建 RAID 1 - 新挂载目标是
/data
- 用户目录是
/home/user/data
- 你拥有 root 权限
🧩 步骤总览
- [迁移
/data
中的数据到/home/user/data
](#迁移 /data 中的数据到 /home/user/data) - [卸载原来的
/data
盘](#卸载原来的 /data 盘) - [清空原
/data
磁盘和新磁盘](#清空原 /data 磁盘和新磁盘) - [创建 RAID 1 设备](#创建 RAID 1 设备)
- [格式化并挂载 RAID 设备](#格式化并挂载 RAID 设备)
- [将数据迁移回 RAID,更新
/etc/fstab
](#将数据迁移回 RAID,更新 /etc/fstab)
✅ 步骤 1:迁移 /data
内容到 /home/user/data
bash
sudo mkdir -p /home/user/data
sudo rsync -aHAXv /data/ /home/user/data/
确保迁移完整:
bash
diff -r /data /home/user/data
✅ 步骤 2:卸载原 /data
分区
bash
sudo umount /data
你可以先查看挂载信息确认设备名:
bash
df -h | grep /data
lsblk
✅ 步骤 3:清空两个磁盘中的旧信息(危险操作!)
假设你要使用 /dev/sdb
和 /dev/sdc
组成 RAID 1:
bash
# 清除 RAID 或分区表信息
sudo mdadm --zero-superblock /dev/sdb
sudo mdadm --zero-superblock /dev/sdc
# 可选:彻底清除分区信息
sudo wipefs -a /dev/sdb
sudo wipefs -a /dev/sdc
✅ 步骤 4:使用 mdadm
创建 RAID 1
bash
sudo apt update
sudo apt install -y mdadm
然后创建 RAID 1:
bash
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb
查看创建情况:
bash
cat /proc/mdstat
保存 RAID 配置:
bash
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
sudo update-initramfs -u
✅ 步骤 5:格式化并挂载 RAID 设备
bash
# 格式化为 ext4 文件系统
sudo mkfs.ext4 /dev/md0
# 创建挂载点
sudo mkdir /data
# 挂载
sudo mount /dev/md0 /data
查看是否挂载成功:
bash
df -h | grep /data
✅ 步骤 6:将数据迁移回 /data 并设置自动挂载
将数据从 /home/user/data
移回 /data
bash
sudo rsync -aHAXv /home/user/data/ /data/
获取 UUID 并写入 /etc/fstab
以便自动挂载
bash
sudo blkid /dev/md0
输出类似:
/dev/md0: UUID="xxxxx-xxxx-xxxx" TYPE="ext4"
编辑 /etc/fstab
:
bash
sudo nano /etc/fstab
添加:
fstab
UUID=xxxxx-xxxx-xxxx /data ext4 defaults,nofail,discard 0 0
保存并测试挂载:
bash
sudo mount -a
🧪 检查 RAID 状态
bash
cat /proc/mdstat
sudo mdadm --detail /dev/md0
🧹 可选:删除中间数据
bash
sudo rm -rf /home/user/data