Ubuntu 14.04 桌面和 RAID

Ubuntu 14.04 桌面和 RAID

我在华硕 Zenbook 上有 2 个 128GB SSD。

我尝试启动 Ubuntu Live CD(尝试 Ubuntu)并从以下位置创建 RAID:

在此处输入图片描述

然后尝试安装 uUbuntu,但无法在 RAID 上安装 grub。

我尝试的另一种解决方案是将 Ubuntu 安装到一个 SSD,然后从实时 CD 启动并再次从磁盘应用程序创建 RAID,然后它会 rsyncs 磁盘,但重启后新创建的 RAID 阵列消失。

有没有什么解决方案可以在我的桌面上设置 RAID0 或 RAID1?

更新

按照 Slimmons 的回答,我尝试执行以下操作后出现错误dpkg-reconfigure grub-pc

在此处输入图片描述

我第一次也未能做到这一点,因为出于某种原因(无法解析主机......)我无法安装 grub-pc 包,所以我只是在下次先这样做。

另外,当我在备用硬盘上安装 Ubuntu 时,我也创建了启动 EFI 分区,因此它会以 UUID 的形式出现在 fstab 中,我们该怎么办?

答案1

假设我正确理解了你的问题,这应该会有所帮助。它取自这里. 最初是为 Mint 编写的。

在备用驱动器上安装 ubuntu

我将假设你的两个 ssd 显示为 sda 和 sdb(调整说明以匹配你的驱动器实际标记为的内容)我还假设你的两个驱动器没有未分配的空间

首先,不要在 BIOS 中设置任何 RAID 选项。它们不是必需的。将端口设置为 AHCI。

连接所有硬盘后,启动机器并引导到您在 sdd 上安装的 Ubuntu。安装 mdadm:

$ sudo apt-get install mdadm

安装脚本会询问你有关电子邮件的信息。选择“无配置”。

接下来,设置分区:

$ gksu gparted

选择要 RAID 的两个磁盘之一。我假设是 /dev/sda。在 /dev/sda 上创建一个 msdos 分区表。您将找到说明这里

我运行时没有使用交换分区,因此不执行下一步。创建主分区(指示) 并将其大小设置为等于 RAM 的一半再加一半以防万一。确保分区标记为“linux swap”。

接下来,在同一设备上创建一个主分区(我使用整个磁盘)并将其标记为“未格式化”。我认为对 RAID0 组进行分区毫无意义,因为如果阵列发生故障,您无论如何都会丢失所有数据。

应用更改(指示

此时您有一个包含以下分区的设备:/dev/sda1(标记为交换,未格式化)/dev/sda2(未格式化)

现在,你在 /dev/sda2 上创建的最后一个大分区,将其标志更改为“raid”(指示

再次应用更改,然后退出并返回终端。接下来,将刚刚分区的 /dev/sda 中的分区表镜像到 RAID 集中的另一个磁盘 /dev/sdb:

$ sudo sh -c "sfdisk -d /dev/sda | sfdisk /dev/sdb"

此时,您有两个单独分区的设备,其分区如下:/dev/sda1(标记为交换,未格式化)/dev/sda2(未格式化)/dev/sdb1(标记为交换,未格式化)/dev/sdb2(未格式化)

现在我们创建 RAID0 集并捕获配置信息:

$ sudo mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sd[ab]2
$ sudo sh -c "mdadm -Ds >> /etc/mdadm/mdadm.conf"

接下来,创建交换并对 /dev/md0 执行操作:

$ sudo mkswap /dev/sda1
$ sudo mkswap /dev/sdb1
$ sudo mkfs.ext4 /dev/md0

现在我们安装 RAID0 组。我们将使用 /mnt,因为 Ubuntu 使用 /media,而我不想在您的文件系统上创建目录,因此:

$ sudo mount /dev/md0 /mnt

现在我们将当前安装 rsync 到 RAID 集:

$ sudo rsync -avx / /mnt/

/ 是您在本教程开始时在备用驱动器上安装并启动的 Ubuntu 的根目录。

现在我们需要获取 /dev/md0(RAID 集)以及该集中每个磁盘的 UUID:

$ sudo blkid

我们必须这样做,因为在我们安装 RAID 组之前,必须先安装组中的两个磁盘。因此,您应该有一个类似于此的列表:

/dev/sda1: UUID="fcb1b870-206c-9606-d2b6-f7ece3af251c" UUID_SUB="7983c3c6-861c-f131-fdcd-0731215a615f" LABEL="fsck-me-dead:0" TYPE="linux_raid_member"
/dev/sdb1: UUID="fcb1b870-206c-9606-d2b6-f7ece3af251c" UUID_SUB="0c4ab68d-2366-ad4f-8943-4bad2a82ca59" LABEL="fsck-me-dead:0" TYPE="linux_raid_member"
/dev/sdc1: LABEL="128GB_HDD" UUID="0002e9d5-5d5c-450e-82ca-9fdbd7b6c779" TYPE="ext4"
/dev/md0: UUID="bd9f2f44-96e6-4647-b0f4-af22718a7faa" TYPE="ext4"

如果您打开另一个终端会话并在那里执行 sudo blkid 可能会更容易,这样您就可以更轻松地看到信息。

$ gksu gedit /mnt/etc/fstab

现在有点棘手...您的 fstab 将具有 /(根)的 UUID。将该 UUID 替换为上面 blkid 命令中属于 /dev/md0 的 UUID。因此,在我的情况下,我将用以下内容替换 / 的 UUID:

bd9f2f44-96e6-4647-b0f4-af22718a7faa

不要忘记上面那行是我的 UUID,不是你的。这只是一个例子。

接下来,在 fstab 中找到 swap 的 UUID,并用 /dev/sda1 中的 UUID 替换该 UUID。使用 /dev/sdb1 中的 UUID 对其他 swap 分区执行相同操作。我无法在此提供示例,因为正如我所说,我不使用 swap。

如果您一直在关注并理解这一点,那么您会怀疑我们创建了两个具有相同 UUID 的未格式化分区。也就是说,/dev/sda1 的 UUID 与 /dev/sdb1 的 UUID 相同。

现在我们必须 chroot 到刚刚复制到 RAID 集的 Ubuntu,以便我们可以通过设置 GrUB 来启动它:

$ for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
$ sudo chroot /mnt
$ update-initramfs -u
$ dpkg-reconfigure grub-pc

进入后,命令行提示符会改变颜色。我的是红色。

将会打开一个基于文本的对话框。取消选择默认条目并选择 /dev/md0。按空格键即可完成此操作。选择 RAID 组后,按 Tab 键,然后按 Enter 键确认。

如果一切顺利,您可以退出 chroot:

$ exit
$ for i in /dev/pts /dev /proc /sys; do sudo umount /mnt$i; done

关闭机器并移除您最初安装的备用驱动器。重新启动机器,您应该会看到 GruB 宣布您的全新 RAID 组为 /dev/md0。如果您愿意,现在您可以松一口气并微笑,但是由于我是个脾气暴躁的老家伙,所以我跳过了最后一步,而是踢猫。

您将需要做一些小的日常工作。我不记得我必须做什么了。我想 nemo 抱怨了。好吧,确实有抱怨。我所做的就是通过设置正确的路径将其指向正确的方向。当错误出现时,您就会明白我的意思。只有一两个错误,而且它们很小,它们也是由于我们执行的 rsync 造成的,仅供参考。一旦您设置了正确的详细信息,它应该会像买来的一样运行。

相关内容