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

相关推荐
石像鬼₧魂石5 小时前
内网渗透靶场实操清单(基于 Vulhub+Metasploitable 2)
linux·windows·学习·ubuntu
橘子真甜~6 小时前
C/C++ Linux网络编程15 - 网络层IP协议
linux·网络·c++·网络协议·tcp/ip·计算机网络·网络层
拾贰_C7 小时前
【Linux | Windows | Terminal Command】 Linux---grep | Windows--- findstr
linux·运维·服务器
阿华hhh8 小时前
Linux系统编程(标准io)
linux·开发语言·c++
石像鬼₧魂石8 小时前
Kali Linux 网络端口深度扫描
linux·运维·网络
alengan8 小时前
linux上面写python3日志服务器
linux·运维·服务器
Rose sait9 小时前
【环境配置】Linux配置虚拟环境pytorch
linux·人工智能·python
叶之香10 小时前
CentOS/RHEL 7、8安装exfat和ntfs文件系统
linux·运维·centos
一世琉璃白_Y10 小时前
pg配置国内数据源安装
linux·python·postgresql·centos