如何使用桌面安装程序安装带有 RAID 1 的 Ubuntu 14.04?

Sun*_*day 19 ubiquity raid mdadm system-installation 14.04

许多人声称不可能使用桌面 CD 将 Ubuntu 安装到 RAID 1 上。这是真的吗?如果没有,怎么办?

Sun*_*day 27

编辑:本指南不考虑 UEFI 引导。如果需要 UEFI 引导,可能需要额外或不同的步骤。本指南假设传统启动!

确实,ubiquity安装程序不知道mdadm软件 raid 设备。此外,live-cd 确实缺少mdadmraid 管理工具。然而,手工做一些工作,在 RAID1 上安装 Ubuntu 是很有可能的。

在下文中,我将假设两个相同的硬盘 ( /dev/sd[ab]) 将完全用于我们的新安装。为了简化恢复如果一个驱动器出现故障时,会出现只有一个mdadm-volume/dev/md0将然后被分割/swap和数据存储装置,例如/home

启动 live-cd 并(如有必要)配置网络访问权限后,打开终端并假设 root 访问权限 sudo -s

apt-get install mdadm
Run Code Online (Sandbox Code Playgroud)

现在我们创建一个单独的主分区,每个 /dev/sda 和 /dev/sdb 从扇区 2048 到磁盘末尾,例如使用sudo fdisk. 我也喜欢已经将分区类型设置fd为 linux raid 自动检测。中的击键序列fdisk(如果磁盘一开始是空的,则意味着没有分区)是n <return> p <return> 1 <return> 2048 <return> <return> t <return> fd <return> w <return>.

现在我们创建mdadm卷:

mdadm --create /dev/md0 --bitmap=internal --level=1 -n 2 /dev/sd[ab]1
Run Code Online (Sandbox Code Playgroud)

我注意到,ubiquity安装程序也无法在其中创建分区/dev/md0,因此我也手动完成了此操作 - 再次使用fdisk. 因此,/dev/md0创建以下分区:

  • /dev/md0p1 对于您的根文件系统,大小当然取决于您要安装多少软件。
  • /dev/md0p2 对于交换,大小当然也取决于您使用机器的用途以及它有多少内存
  • /dev/md0p3 对于 /home,剩下的所有空间

之后我们就可以开始安装了。确保使用该-b选项从终端启动安装程序,因为无论如何安装引导加载程序都会失败:

ubiquity -b
Run Code Online (Sandbox Code Playgroud)

确保手动分区并“使用”您刚刚创建的 3 个分区并勾选format复选框//home这样将创建一个文件系统。

安装后系统还不能启动,所以不要马上重启机器。我们需要chroot进入已安装的系统并修复一些东西:

sudo -s
mount /dev/md0p1 /mnt
mount -o bind /dev /mnt/dev
mount -o bind /dev/pts /mnt/dev/pts
mount -o bind /sys /mnt/sys
mount -o bind /proc /mnt/proc
cat /etc/resolv.conf >> /mnt/etc/resolv.conf
chroot /mnt
apt-get install mdadm
nano /etc/grub.d/10_linux  # change quick_boot to 0
grub-install /dev/sda
grub-install /dev/sdb
update-grub
exit
Run Code Online (Sandbox Code Playgroud)

现在新安装的系统已准备好启动。玩得开心!

  • 它会得到开箱即用的支持吗?是否有任何理由不提供此功能。在完美的世界中,应该有 RAID 安装选项。 (4认同)
  • 我的 Grub 安装失败:`grub-install:警告:这个 GPT 分区标签不包含 BIOS 引导分区;嵌入将是不可能的。grub-install: 错误: 嵌入是不可能的,但这是 RAID 和 LVM 安装所必需的。` 似乎缺少引导分区?也许在 sda 和 sdb 上创建 bios 引导分区会有所帮助,例如 http://serverfault.com/questions/386041/ubuntu-server-gpt-partition-table-mdadm-grub-boot-fail? (2认同)