我对 RAID 1 有疑问。安装第一个驱动器并设置 ubuntu 12 后,我可以设置软件 RAID 1 吗?我知道在服务器安装和分区期间,我可以选择 RAID 并进行设置,但我不清楚的是事后如何设置 RAID 1?有人可以提供这方面的指导吗?
另外,我可以将两个驱动器组成 RAID 1,一个是 500GB,镜像驱动器是 1TB 吗?当然,镜像驱动器会有一个 500GB 的分区,但这就是我的观点。
最后,一个驱动器可以安装在 IDE 上,另一个安装在 SATA 控制器上吗?我知道速度是个问题,但那没关系,我只想知道它是否能在不损坏数据的情况下工作,以及过程是否相同?
谢谢。
答案1
您无法快速将单个磁盘转换为镜像,因为您需要先将 mdadm 签名添加到磁盘/分区。
该过程涉及在新磁盘上创建新的 RAID 设备,并将现有分区标记为“缺失”,然后将数据复制到新的 MD 设备。您无需重新启动或使用启动 CD/USB 即可完成所有这些操作。
请参阅此处的详细指南:https://wiki.archlinux.org/index.php/Convert_a_single_drive_system_to_RAID
除了这些说明之外,如果您正在使用 LVM(您应该使用),我使用pvmove
而不是文件复制(使用 rsync)。假设您的新 md 设备称为 md0,而您的旧磁盘称为 sd0,请在创建新的 md 设备后执行以下操作(mdadm --create /dev/md0 --level=1 --raid-devices=2 missing /dev/sdb2
)
pvcreate /dev/md0
vgextend base /dev/md0
pvmove /dev/sda /dev/md0
vgreduce base /dev/sda
该块将每个 LV/文件系统从旧磁盘移动到新的 md 设备。
更新:
整个过程是,假设旧磁盘 = /dev/sd0,新磁盘 = /dev/sdb,/dev/sda1 中单个 LVM PV,vg = ubuntu:
- 更改为根:
sudo -i
- 使系统进入单用户模式:
telinit 1
- 为 sdb 创建新的部件图:(
cfdisk /dev/sdb
新的、主要的、类型:fd、可引导) - 创建缺少设备的新 md 阵列
mdadm --create /dev/md0 --level=1 --raid-devices=2 missing /dev/sdb
- 创建 LVM PV:
pvcreate /dev/md0
- 将VG扩展到新磁盘:
vgextend ubuntu /dev/md0
- 将所有 LV 移动到新磁盘:
pvmove /dev/sda /dev/md0
- 从 VG 中删除旧磁盘:
vgreduce ubuntu /dev/sda
- 从新磁盘复制分区图:
sfdisk -d /dev/sdb | sfdisk /dev/sda
- 将缺失的磁盘添加到 md0:
mdadm -a /dev/md0 /dev/sda1
- 重建 initramfs:
update-initramfs
- 重新安装 grub:
grub-install /dev/sda ; grub-install /dev/sdb
- 恢复正常用户模式:
telinit 3
答案2
安装第一个驱动器并设置 Ubuntu 12 后我可以设置软件 RAID 1 吗?
是的你可以。
考虑一下:
现在的情况: 驱动器 1:已在使用中。 驱动器 2:空。
现在使用驱动器 2 创建镜像(我知道,使用 1 个驱动器的镜像没有什么意义)
驱动器 1:已在使用中。 驱动器 2:镜像的一部分。(已降级)。
将驱动器 1 中的所有数据复制到镜像。
测试镜像。
从镜像启动。
现在的情况: 驱动器 1:装满了东西,但目前未使用。 驱动器 2:在降级的 RAID 1 上进行新安装(镜像)
现在将驱动器 1 添加到镜像中。
虽然这可能不是一件小事,但它确实是可能的。
我可以将两个驱动器组成 RAID 1,一个是 500GB,镜像驱动器是 1TB 吗?当然,镜像驱动器会有一个 500GB 的分区,但这就是我的观点。
是的,你可以。这个问题之前已经被问过好几次了。使用页面右上角的搜索框来查找答案。简短的版本是:
- 您可以使用硬件 RAID 来实现这一点。最终您将获得 500GB 的镜像
- 您可以使用 mdadm 执行此操作,最终得到 500GB 的镜像。您也可以选择使用较大驱动器的剩余部分(但不作为镜像的一部分)。
最后,一个驱动器可以在 IDE 上,另一个在 SATA 控制器上吗?
从技术上来说这不是问题。
然而镜像写入速度可能是两个驱动器的最低共同速度。