将 `/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

相关推荐
pipip.1 小时前
UDP————套接字socket
linux·网络·c++·网络协议·udp
朱包林4 小时前
day45-nginx复杂跳转与https
linux·运维·服务器·网络·云计算
孙克旭_4 小时前
day045-nginx跳转功能补充与https
linux·运维·nginx·https
孞㐑¥5 小时前
Linux之Socket 编程 UDP
linux·服务器·c++·经验分享·笔记·网络协议·udp
M4K09 小时前
Linux百度网盘优化三板斧
linux
好奇的菜鸟9 小时前
如何在 Ubuntu 24.04 (Noble) 上使用阿里源
linux·运维·ubuntu
bcbobo21cn9 小时前
初步了解Linux etc/profile文件
linux·运维·服务器·shell·profile
望获linux10 小时前
【实时Linux实战系列】CPU 隔离与屏蔽技术
java·linux·运维·服务器·操作系统·开源软件·嵌入式软件
0wioiw010 小时前
C#基础(项目结构和编译运行)
linux·运维·服务器
2401_8735878211 小时前
Linux常见指令以及权限理解
linux·运维·服务器