欢迎光临
我们一直在努力

Ubuntu Desktop UEFI/GPT Raid1 安装

所需要的工具

1.一个U盘 (制作启动安装盘)
2.一台安装了两块同样型号及大小硬盘的主机

安装步骤

1.制作Ubuntu启动盘(U盘或者CD)
2.安装mdadm及grub-efi软件
3.使用gparted软件进行分区
4.使用mdadm创建RAID分区
5.开始安装Ubuntu系统
6.配置新安装的系统使之能正常的使用boot启动系统及备份到另一块硬盘

安装过程

1.制作启动盘

运行命令:

sudo dd if=ubuntu-14.04-desktop-amd64.iso of=/dev/sdc1 #if:镜像文件的绝对路径;of:要写入的U盘分区

2.启动安装盘

电脑开机选择U盘启动或者CD启动。然后选择预览方式安装“Try ubuntu without installing”

3.安装mdadm及grub-efi

运行命令:

sudo apt-get install mdadm grub-efi

4.硬盘分区

由于EFI分区不能安装在RAID分区,所有要为EFI建立单独的分区。
分区大小(3T硬盘)
500MB,FAT32格式,启动分区,用于安装EFI
104GB,Ext4格式,用于RAID1安装系统
2.63TB,Ext4格式,用于RAID1数据存储

5.创建RAID分区

运行命令:

sudo mdadm -Cv /dev/md0 -l1 -n2 /dev/sd[ab]2 #md0:表示RAID盘符数字0;-l1:表示创建RAID1;-n2:表示两块硬盘.
sudo mdadm -Cv /dev/md1 -l1 -n2 /dev/sd[ab]3

6.启动安装程序开始安装

运行命令

sudo ubiquity -b #注意带上-b,否则安装失败

在选择安装到硬盘时选择“其他”
选择“/md0”及“/md1”创建分区表,然后进行分区
md0创建的分区
swap:4G;/dev/md0p1
/:100G;/dev/md0p2
md1创建分区
home:2.63T;/dev/md1p1
注意:sda1,sdb1为fat32格式

7.配置已经安装的系统

使用chroot进入安装好的系统

sudo -s
mount /dev/md0p2 /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 #进入新安装的系统

8.安装需要的软件

sudo apt-get install mdadm grub-efi-amd64 -y

安装完之后,修改/etc/mdadm/mdadm.conf ,删除索引,如下:
修改前;

ARRAY /dev/md/0 metadate=1.2 UUID=b42774f4:03ebd7fe:8341599e:b0f48bd1 name=ubuntu:0

修改后:

ARRAY /dev/md/0 UUID=b42774f4:03ebd7fe:8341599e:b0f48bd1

最后修改/etc/default/grub,如下:
修改前:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

修改后:

#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

修改启动配置:

vi /etc/grub.d/10.linux #修改 quick_boot = "0";Diskfilter writes are not supported的问题

添加延时脚本
添加一定的延时,保证RAID启动。
创建/usr/share/initramfs-tools/scripts/local-premount/sleepAwhile,写入一下代码:

#!/bin/sh
echo
echo "Wait for 30 Seconds"
sleep 10
echo "Wait for 20 Seconds"
sleep 10
echo "Wait for 10 Seconds"
sleep 10
echo "End Waiting"

使能脚本并安装到系统中:

chmod a+x /usr/share/initramfs-tools/scripts/local-premount/sleepAwhile
update-grub
update-initramfs -u

使能从第一个硬盘启动

现在需要配置UEFI启动的参数,如下:

mount /dev/sda1 /boot/efi
grub-install --boot-directory=/boot --bootloader-id=Ubuntu --target=x86_64-efi --efi-directory=/boot/efi --recheck
update-grub
umount /dev/sda1

以上操作,将启动引导装在/boot/efi/EFI/Ubuntu中。

使能从另一块硬盘启动
将/sda1的内容,克隆到/sdb1中,如下所示:

dd if=/dev/sda1 of=/dev/sdb1

最后,将/sdb1加入到启动目录中,如下:

efibootmgr -c -g -d /dev/sdb -p 1 -L "Ubuntu #2" -l '\EFI\Ubuntu\grubx64.efi'

至此,安装的系统将可以分别从/sda和/sdb硬盘上启动。

8.重启

exit //退出chroot
exit //退出sudo -s
sudo reboot //复位

测试系统启动

将卸下来一块硬盘,上电启动,观察系统启动情况。同上,测试另一块硬盘。

9. 恢复

由于(12)步骤的测试,导致Raid1存在一个硬盘处于不工作状态。当将两块硬盘都连接到电脑上的时候,系统将随机选择一块硬盘启动。此时,我们需要将两块硬盘都添加在Raid1中,确保有两个硬盘在同时工作。
首先,查询当前/dev/md0,/dev/md1的状态:

sudo mdadm -D /dev/md0 /dev/md1
sudo cat /proc/mdstat

根据检查到的信息,提示只有一个设备处于active sync状态,然后将缺失的硬盘添加到raid1的md0,md1中,如下:

sudo mdadm --manage /dev/md0 --add /dev/sdb2
sudo mdadm --manage /dev/md1 --add /dev/sdb3

然后需要很长一段时间,进行硬盘间的同步。在此期间禁止重启电脑,否则可能造成启动出现问题。
检查同步进度:

$cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sda2[0] sdb2[1]
69018 blocks [2/1] [U_]
[=>...................] recovery = 9.9% (2423168/24418688) finish=2.8min speed=134597K/sec

md1 : active raid1 sda3[0] sdb3[1]
69018 blocks [2/1] [U_]
[=>...................] recovery = 6.4% (1572096/24418688) finish=1.9min speed=168545K/sec

unused devices:

待同步完成后。
再检查下,确认已安装的Raid1已正常运行。

$sudo mdadm -D /dev/md0
$sudo mdadm -D /dev/md1
$sudo cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sda2[0] sdb2[1]
24418688 blocks [2/2] [UU]

md1 : active raid1 sda3[0] sdb3[1]
24418688 blocks [2/2] [UU]
窗外天空
关注公众号『窗外天空』

获取更多建站运营运维新知!
互联网创业、前沿技术......

赞(0) 打赏
文章名称:《Ubuntu Desktop UEFI/GPT Raid1 安装》
文章链接:https://www.nixonli.com/22317.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    可以先做lvm分区装好系统,然后再弄raid吗

    jep4年前 (2020-04-07)回复
    • 你也可以这样做,但是系统分区就不是raid了。

      nixon li3年前 (2021-07-20)回复

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏