二、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。

相关推荐
松涛和鸣18 分钟前
DAY43 HTML Basics
linux·前端·网络·网络协议·tcp/ip·html
广东大榕树信息科技有限公司35 分钟前
如何通过动力环境监控系统提升决策效率?
运维·网络·物联网·国产动环监控系统·动环监控系统
谁在夜里看海.41 分钟前
【Linux-网络】HTTP的清风与HTTPS的密语
linux·网络·http·https
HIT_Weston42 分钟前
82、【Ubuntu】【Hugo】搭建私人博客:文章目录(一)
linux·运维·ubuntu
CAU界编程小白1 小时前
Linux系统编程系列之文件fd
linux·文件
冉佳驹1 小时前
Linux ——— 文件操作与缓冲机制的核心原理
linux·重定向·用户级缓冲区·open的返回值·进程中的当前路径
牛奶咖啡131 小时前
Linux的ext4文件系统元数据故障恢复实践教程
linux·服务器·机械硬盘的结构·ext4文件系统的构成·ext4超级块故障的修复·ext4块组描述故障修复·ext4块组的构成
hhzz1 小时前
Docker 搭建 NextCloud + OnlyOffice 完整教程(Linux Centos7系统)
linux·docker·容器·onlyoffice·nextcloud
.普通人1 小时前
树莓派4Linux 可操作多个gpio口驱动编写
linux
杨云龙UP1 小时前
Windows环境下安装SQL Server 2016企业版+SP3补丁+SSMS连接操作手册_20251230
运维·服务器·数据库·sql·算法·sqlserver·哈希算法