首页 Ubuntu创建RAID1
文章
取消

Ubuntu创建RAID1

格式化硬盘

准备两块相同大小的硬盘,用 parted 创建分区表

1
2
3
4
5
6
7
8
9
10
11
12
13
# 查看所有硬盘
sudo fdisk -l

# 用 parted 打开
sudo parted /dev/sda

# 进入后 用 help 命令查看使用方法
# 使用 GPT 分区表
mklabel gpt
# 使用TB为操作单位
unit TB
# 分区 为主分区且从0开始,大小为16TB
mkpart primary 0 16

创建RAID阵列

使用 mdadm 工具创建 RAID 阵列

1
sudo mdadm --create  --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
  • --create: 创建阵列
  • --verbose: 输入详细信息
  • /dev/md0: 创建后的阵列的设备名
  • --level: 要创建的 RAID 的级别,这里使用模式 1
  • --raid-devices: 指定 RAID 副本的磁盘数,在这里指定了 2 ,意思是平时有两个磁盘在工作。如果以后添加了第三块硬盘,那么第三块硬盘将作为备用磁盘。当工作中的两块磁盘有一块坏了,第三块将立刻启动,并将完好的一块的内容复制到新的盘中。

查看创建进度

1
2
3
4
5
6
7
8
9
$ cat /proc/mdstat
Personalities : [raid1] 
md0 : active raid1 sdb1[1] sda1[0]
      15625745408 blocks super 1.2 [2/2] [UU]
      [>....................]  resync =  0.1% (30076096/15625745408) finish=1319.9min speed=196928K/sec
      bitmap: 117/117 pages [468KB], 65536KB chunk

unused devices: <none>

创建完成

1
2
3
4
5
6
7
$ cat /proc/mdstat
Personalities : [raid1] 
md0 : active raid1 sdb1[1] sda1[0]
      15625745408 blocks super 1.2 [2/2] [UU]
      bitmap: 1/117 pages [4KB], 65536KB chunk

unused devices: <none>

挂载磁盘

创建文件系统

1
sudo mkfs.ext4 -F /dev/md0

挂载

1
mount /dev/md0 /home/byls/exos/

保存阵列

完成以上步骤后,将阵列保存下来,在下次启动的时候自动加载,因此需要将阵列信息保存到 /etc/mdadm/mdadm.conf 文件中。可以通过以下命令来自动扫描活动阵列并追加文件:

1
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

更新初始RAM文件系统(initramfs)

1
sudo update-initramfs -u

可能出现提示

1
2
3
4
5
$ sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.15.0-52-generic
I: The initramfs will attempt to resume from /dev/nvme0n1p6
I: (UUID=3f658187-46c6-4e0b-9fc7-1e35d38d9b74)
I: Set the RESUME variable to override this.

解决方式:可能是SWAP分区的UUID被修改后而没有加入RESUME file

1
2
3
4
5
6
7
8
# 首先使用如下命令打印/swap分区的UUID号,比对一下确认和上面的系统打印输出一致,锁定为该问题
blkid | awk -F\" '/swap/ {print $2}'

# 然后使用如下命令写入/swap分区的UUID号
printf "RESUME=UUID=$(blkid | awk -F\" '/swap/ {print $2}')\n" | sudo tee /etc/initramfs-tools/conf.d/resume

# 最后更新内核文件
sudo update-initramfs -u

保存挂截信息,修改 /etc/fstab 文件,在文件最后加入以下内容:

1
/dev/md0    /home/byls/exos/   ext4    defaults    0    0

参考

  • https://www.jianshu.com/p/3e6d5da2db81
本文由作者按照 CC BY 4.0 进行授权