将 `/data` 盘中的所有数据迁移到 `/home/user/data` 目录下,然后将该磁盘与另一块磁盘组建 RAID 1

在 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 权限

🧩 步骤总览

  1. [迁移 /data 中的数据到 /home/user/data](#迁移 /data 中的数据到 /home/user/data)
  2. [卸载原来的 /data 盘](#卸载原来的 /data 盘)
  3. [清空原 /data 磁盘和新磁盘](#清空原 /data 磁盘和新磁盘)
  4. [创建 RAID 1 设备](#创建 RAID 1 设备)
  5. [格式化并挂载 RAID 设备](#格式化并挂载 RAID 设备)
  6. [将数据迁移回 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

相关推荐
别动我齐刘海13 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
玖石书14 小时前
Ubuntu 24.04 UFW 全命令攻略:从入门到端口开放实战
linux·运维·ubuntu
xiaoqiMikko15 小时前
Linux 实战(七):useradd、sudoers、umask、SGID、软链 —— 三台真机实测
linux·centos
拂拉氏17 小时前
【知识讲解】 Linux之动静态库的了解
linux·运维·服务器·动静态库
Fcy64817 小时前
Linux下 五种IO模型的认识与⾮阻塞IO的实现
linux·服务器·io
Mikko717 小时前
Linux 重启后日志没了?进程被 OOM 杀了去哪看?logrotate 之后日志还往旧文件写?三台真机实测日志与性能排查
linux·运维·centos
书生执笔画浮沉17 小时前
分享一个开源小工具CAdapt
linux·c·gnu·glibc·kernel·升级·灵感
mounter62518 小时前
Linux 内核热升级(Live Update)技术详解:PCI、VFIO 与 IOMMU 子系统的演进与实战解析引言
linux·linux kernel·kernel·iommu·vfio
砚凝霜18 小时前
【软考信息安全】第十九章 Unix/Linux安全分析与防护
linux·安全·unix
creator_Li19 小时前
Linux 的 Page Cache
linux·page cache