二、ubuntu单盘改软raid1

将单盘系统转换为软 RAID 1 是一个复杂的过程,尤其是在已经有数据的生产环境中进行时。这个过程涉及备份现有数据、创建 RAID 阵列、迁移数据以及更新引导加载程序(如 GRUB)。以下是详细的步骤指南:

前提条件

  • 备份数据:这是最重要的一步。任何磁盘操作都有可能导致数据丢失,因此请确保你有最新的、可靠的备份。
  • 额外硬盘:你需要一块与当前系统盘相同或更大容量的新硬盘来创建 RAID 1。

步骤一:安装 mdadm

确保你已经安装了 mdadm 包:

复制代码
sudo apt-get update
sudo apt-get install mdadm

步骤二:添加新硬盘并检查磁盘

使用 lsblkfdisk -l 命令确认新硬盘的设备名称(例如 /dev/sdb):

复制代码
lsblk
# 或者
sudo fdisk -l

步骤三:分区新硬盘

使用 fdiskparted 工具在新硬盘上创建与现有系统盘相同的分区布局。这里以 fdisk 为例:

复制代码
sudo fdisk /dev/sdb

复制现有的分区表到新硬盘(如果两块硬盘大小相同,可以使用 sfdisk 复制分区表):

复制代码
sudo sfdisk -d /dev/sda | sudo sfdisk /dev/sdb

步骤四:创建 RAID 1 阵列

假设你要将 /dev/sda1/dev/sdb1 添加到 RAID 1 中,并且想创建名为 /dev/md0 的 RAID 设备。对于其他分区(如 /dev/sda2/dev/sdb2),也重复同样的步骤。

复制代码
sudo mdadm --create --verbose /dev/md0 --level=mirror --raid-devices=2 /dev/sda1 missing

注意:我们暂时只添加了一个磁盘(/dev/sda1),并且使用 missing 来表示第二个磁盘暂时为空。

步骤五:格式化 RAID 设备

创建好 RAID 设备后,格式化它。这里我们以 ext4 文件系统为例:

复制代码
sudo mkfs.ext4 /dev/md0

步骤六:挂载 RAID 设备并复制数据

创建一个临时挂载点并将 RAID 设备挂载上去,然后使用 rsynccp 复制现有数据:

复制代码
sudo mkdir -p /mnt/raid1
sudo mount /dev/md0 /mnt/raid1
sudo rsync -avxHAX / /mnt/raid1/

步骤七:更新 /etc/fstab

编辑 /etc/fstab 文件,使用 RAID 设备的新 UUID 替换旧的根分区 UUID。首先获取新的 UUID:

复制代码
sudo blkid /dev/md0

然后编辑 /etc/fstab 文件,更新根分区的条目(请根据实际情况替换 UUID 和挂载点):

复制代码
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 defaults 0 1

步骤八:更新引导加载程序(GRUB)

重新安装 GRUB 到 RAID 阵列上的所有磁盘:

复制代码
sudo grub-install --target=i386-pc --boot-directory=/mnt/raid1/boot /dev/sda
sudo grub-install --target=i386-pc --boot-directory=/mnt/raid1/boot /dev/sdb
sudo chroot /mnt/raid1
grub-mkconfig -o /boot/grub/grub.cfg
exit

步骤九:添加第二块磁盘到 RAID

现在你可以安全地关闭系统,物理插入新硬盘(如果你还没有这样做),然后重启系统并添加第二块磁盘到 RAID:

复制代码
sudo mdadm --manage /dev/md0 --add /dev/sdb1

你可以通过以下命令监控同步进度:

复制代码
watch -n 1 cat /proc/mdstat

步骤十:保存 RAID 配置

最后,保存当前的 RAID 配置到 /etc/mdadm/mdadm.conf,以便系统启动时自动识别和组装 RAID 阵列:

复制代码
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
sudo update-initramfs -u

注意事项

  • 谨慎操作:误操作可能会导致数据丢失,请务必小心处理磁盘和分区。
  • 测试配置:在生产环境中应用这些更改前,在测试环境中验证配置。
  • 保持一致性:确保所有的操作都正确无误,特别是分区和文件系统的设置。

通过上述步骤,你应该能够在 Ubuntu 上成功将单盘系统转换为软 RAID 1。

相关推荐
林姜泽樾5 小时前
Linux入门第十二章,创建用户、用户组、主组附加组等相关知识详解
linux·运维·服务器·centos
xiaokangzhe5 小时前
Linux系统安全
linux·运维·系统安全
feng一样的男子5 小时前
NFS 扩展属性 (xattr) 提示操作不支持解决方案
linux·go
xiaokangzhe5 小时前
Nginx核心功能
运维·nginx
松果1775 小时前
以本地时钟为源的时间服务器
运维·chrony·时间服务器
Highcharts.js6 小时前
Highcharts React v4.2.1 正式发布:更自然的React开发体验,更清晰的数据处理
linux·运维·javascript·ubuntu·react.js·数据可视化·highcharts
ayaya_mana6 小时前
快速安装Nginx-UI:让Nginx管理可视化的高效方案
运维·nginx·ui
c++之路7 小时前
Linux网络协议与编程基础:TCP/IP协议族全解析
linux·网络协议·tcp/ip
Charlie__ZS7 小时前
Ubuntu 22.04新建用户,并赋予管理权限
linux·os·ubuntn
Johnstons8 小时前
读懂 TCP 标志位:网络运维中的“信号灯”
运维·网络·tcp/ip