title: Ubuntu组建阵列
date: 2022/12/26
tags: Linux
背景
迫于准备组建一台家庭服务器,且服务器上需搭建阵列存放重要资料
所以先在 VMware 中组建 Raid 1 练练手。
VMware 环境
创建虚拟机,安装
Ubuntu 22.04.1 LTS
系统关机
-
给虚拟机添加硬盘
进入虚拟机
-
查看磁盘是否已添加,可以看到两个 5G 的 sdb/sdc
root@abc:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 1.8G 0 part /boot └─sda3 8:3 0 18.2G 0 part └─ubuntu--vg-ubuntu--lv 253:0 0 10G 0 lvm / sdb 8:16 0 5G 0 disk └─sdb1 8:17 0 5G 0 part sdc 8:32 0 5G 0 disk └─sdc1 8:33 0 5G 0 part sr0 11:0 1 1.4G 0 rom
root@abc:~# fdisk -l Disk /dev/sdc: 5 GiB, 5368709120 bytes, 10485760 sectors Disk model: VMware Virtual S Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x7ed5d1e4 Device Boot Start End Sectors Size Id Type /dev/sdc1 2048 10485759 10483712 5G 83 Linux Disk /dev/sdb: 5 GiB, 5368709120 bytes, 10485760 sectors Disk model: VMware Virtual S Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x4f29486a Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 10485759 10483712 5G 83 Linux
-
格式化磁盘
root@abc:~# fdisk /dev/sdb n(新建分区) p(主分区) 回车默认 w(保存) root@abc:~# fdisk /dev/sdc n(新建分区) p(主分区) 回车默认 w(保存)
-
创建阵列
mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
命令解释:
-
--create
:创建阵列 -
--verbose
:输入详细信息 -
/dev/md0
:创建后的阵列的设备名 -
level
:要创建的 RAID 的级别,这里使用模式 1 -
raid-devices
:指定 RAID 副本的磁盘数。在这里指定了 2 ,意思是平时有两个磁盘在工作。- 如果以后添加了第三块硬盘,那么第三块硬盘将作为备用磁盘。当工作中的两块磁盘有一块坏了,第三块将立刻启动,并将完好的一块的内容复制到新的盘中。
mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90 mdadm: size set to 5236736 Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.
-
-
查看阵列是否创建成功
由于上面命令创建后的阵列设备名为:
/dev/md0
,所以直接使用fdisk -l
命令查看即可。root@abc:~# fdisk -l Disk /dev/md0: 4.99 GiB, 5362417664 bytes, 10473472 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 byte
-
创建文件系统并挂载
-
创建文件系统
root@abc:~# mkfs.ext4 -F /dev/md0 mke2fs 1.46.5 (30-Dec-2021) Creating filesystem with 1309184 4k blocks and 327680 inodes Filesystem UUID: ced9057b-01c8-4f66-939b-c8aa22ebd4ea Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done
-
挂载存储到 /data 目录
mount /dev/md0 /data
-
查看是否挂载成功
root@abc:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/md0 4.9G 24K 4.6G 1% /data
-
保存阵列布局
完成以上步骤后,将阵列保存下来,在下次启动的时候自动加载,
因此需要将阵列信息保存到 /etc/mdadm/mdadm.conf
文件中。可以通过以下命令来自动扫描活动阵列并追加文件:
mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
更新初始RAM文件系统(initramfs)
update-initramfs -u
保存挂载信息,修改 /etc/fstab
文件
/dev/md0 /data ext4 defaults 0 0
参考文档:
https://www.jianshu.com/p/3e6d5da2db81