环境需求:
·利用4个分区组成RAID 5。
·每个分区约为2GB大小,需确定每个分区容量一样较佳。
·1个分区设定为spare disk,这个spare disk的大小与其他RAID所需分区一样大。
·将此RAID 5装置挂载到/mnt/raid目录下。
我们使用一个30GB的单独磁盘,该磁盘的分区代号使用5~9。
解决方案:
- 利用fdisk创建所需的磁盘设备(使用扩展分区划分逻辑分区)
以下是具体步骤:
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk(util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p):e //选择扩展分区
分区号(2-4,默认 2):4
起始 扇区(1026048-62914559,默认为 1026048)∶(按Enter键即回车)
将使用默认值1026048
|Last 扇区,+扇区 or +size{K,M,G}(1026048-62914559,默认为 62914559)∶+10G //扩展分区总共10GB
分区 4 已设置为 Extended类型,大小设为 10 GiB
命令(输入 m获取帮助):n //新建分区命令
Partition type:
p primary (1 primary,1 extended,2 free)
l logical(numbered from 5)
Select (default p): l //在扩展分区中新建逻辑分区
添加逻辑分区 5 //新建逻辑分区/dev/sdb5
起始 扇区(1028096-21997567,默认为 1028096)∶(按Enter键即回车)
将使用默认值1028096
Last 扇区,+扇区 or +size{K,M,G}(1028096-21997567,默认为 21997567)∶
+2G //逻辑分区/dev/sdb5大小为2GB
分区 5 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助)∶t //设置文件系统命令
分区号(1,4,5,默认5)∶5
Hex 代码(输入 L 列出所有代码)∶fd //设置/dev/sdb5文件系统为fd
已将分区 “Linux”的类型更改为 “Linux raid autodetect”
命令(输入 m获取帮助):n
Partition type:
p primary (1 primary,1 extended,2 free)
l logical(numbered from 5)
Select (default p): l
添加逻辑分区 6
起始 扇区(5224448-21997567,默认为 5224448)∶(按Enter键即回车)
将使用默认值5224448
Last 扇区,+扇区 or +size{K,M,G}(5224448-21997567,默认为 21997567)∶ +2G
命令(输入 m 获取帮助)∶t
分区号(1,4-6,默认6)∶6
Hex 代码(输入 L 列出所有代码)∶fd
已将分区 “inux”的类型更改为“inux raid autodetect”
命令(输入 m获取帮助):n
Partition type:
p primary (1 primary,1 extended,2 free)
l logical(numbered from 5)
Select (default p): l
添加逻辑分区 7
起始 扇区(9420800-21997567,默认为 9420800)∶(按Enter键即回车)
将使用默认值9420800
Last 扇区,+扇区 or +size{K,M,G}(9420800-21997567,默认为 21997567)∶ +2G
分区 7 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助)∶t
分区号(1,4-7,默认6)∶7
Hex 代码(输入 L 列出所有代码)∶fd
已将分区 “inux”的类型更改为“inux raid autodetect”
命令(输入 m获取帮助):n
Partition type:
p primary (1 primary,1 extended,2 free)
l logical(numbered from 5)
Select (default p): l
添加逻辑分区 8
起始 扇区(13617152-21997567,默认为 13617152)∶(按Enter键即回车)
将使用默认值13617152
Last 扇区,+扇区 or +size{K,M,G}(13617152-21997567,默认为 21997567)∶+2G
分区 8 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助)∶t
分区号(1,4-8,默认6)∶8
Hex 代码(输入 L 列出所有代码)∶fd
已将分区 “inux”的类型更改为“inux raid autodetect”
命令(输入 m获取帮助):n
Partition type:
p primary (1 primary,1 extended,2 free)
l logical(numbered from 5)
Select (default p): l
添加逻辑分区 9
起始 扇区(17813504-21997567,默认为 17813504)∶(按Enter键即回车)
将使用默认值17813504
Last 扇区,+扇区 or +size{K,M,G}(17813504-21997567,默认为 21997567)∶(按Enter键即回车)
将使用默认值21997567
分区 8 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助)∶t
分区号(1,4-9,默认9)∶9
Hex 代码(输入 L 列出所有代码)∶fd
已将分区 tinux"的类型更改为 iinux raid autodetect"
命令(输入 m获取帮助):w //把修改写入硬盘分区表,然后退出
The partition table has been altered!calling ioctl() to re- read partition table.
正在同步磁盘。
[root@localhost ~]# fdisk -l /dev/sdb
//上面的5~9号就是我们需要的partition
mdadm--create--auto=yes/dev/md0--level=5--raid-devices=4--spare-devices=l/dev/ db[5,6,7,8,9}
2.使用mdadm创建RAID(先卸载,再停止/dev/md0,因为md0用到了/dev/sdb)
[root@localhost ~]# mkdir /dev/md0 //创建/dev/md0 目录
[root@localhost ~]# umount /dev/md0
[root@localhost ~]# mdadm -S /dev/md0
[ root@localhost "]# mdadm -- create -- auto=yes /dev/md0 --level=5 --raid-devices=4 --spare-devices=1 /dev/sdb{5,6,7,8,9}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@localhost ~]# mdadm -- detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sat Oct 8 07:21:42 2022
Raid Level : raid5
Array Size:6266880(5.98 GiB 6.42 GB)
Used Dev Size:2088960(2040.00 MiB 2139.10 MB)
Raid Devices : 4 Total Devices : 5
Persistence : Superblock is persistent Update Time:Sat 0ct 8 07:21:49 2022
State : clean
Active Devices : 4 Working Devices : 5 Failed Devices : 0 Spare Devices : 1
Layout : left-symmetric Chunk Size : 512K
Consistency Policy : resync
Name : localhost. Localdomain: 0 (local to host localhost. Localdomain)
UUID:febaad45:916e701 a:c96fab30:b514f91d
Events : 18
3.查看建立的RAID5的具体情况
root@localhost ~]# mdadm --detail /dev/md0
4.格式化与挂载(使用RAID)
root@localhost ~]# mkfs -t ext4/dev/md0 //格式化/dev/md0
ke2fs 1.42.9(28-Dec-2013)
文件系统标签=
S type: Linux
快大小=4096(log=2)
分块大小=4096(log=2)
Stride=128 blocks, Stripe width=384 blocks =91680 inodes,1566720 blocks
8336 blocks(5.00%) reserved for the super user
第一个数据块=0
laximum filesystem blocks=1604321280 8 block groups
2768 blocks per group, 32768 fragments per group :160 inodes per group
uperblock backups stored on blocks:
32768,98304,163840,229376,294912,819200,884736
locating group tables∶完成正在写入inode表:完成
reating journal(32768 blocks)∶完成
lriting superblocks and filesystem accounting information∶ 完成
root@localhost ~]# mkdir /dev/md0
root@localhost ~]# mkfs -t ext4 -c /dev/md0
root@localhost ~]# mkdir /mnt/raid
root@localhost ~]# mount /dev/md0 /mnt/raid
root@localhost ~|# df
5.测试RAID的自动冗余功能
[root@localhost "]# mdadm /dev/md0 -- fail /dev/sdb6
mdadm: set /dev/sdb6 faulty in /dev/md0
[root@localhost ~]# mdadm -- detail /dev/md0