0
点赞
收藏
分享

微信扫一扫

CentOS 7 创建 RAID5


RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 RAID 5可以理解为是RAID 0和RAID 1的折中方案。RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低,是运用较多的一种解决方案

RAID5 至少需要3块硬盘:

硬盘

分区

分区格式

大小

sdb

sdb1

fd

5G

sdc

sdc1

fd

5G

sdd

sdd1

fd

5G

sde

sde1

fd

5G

sdf

sdf1

fd

5G

一、创建 RAID5

1、安装

yum -y install mdadm

2、创建 RAID1

# 创建3个活动盘,一个热备盘
mdadm -C /dev/md5 -l5 -n3 -x1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

# 显示
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
Continue creating array? Y # 输入Y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.

注解: 

选项

全称

功能

C

--create

创建阵列

-l 

--level

阵列模式

-n

--reid-devices

阵列中活动磁盘的数目

-x

-spare-devices=N

表示当前阵列中热备盘有 N 块(自定义 N 数量即可)

3、配置信息

# 配置磁盘设备文件名
echo "DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1" >> /etc/mdadm.conf

# 配置软RAID信息
mdadm -Ds /dev/md5 >> /etc/mdadm.conf

4、查看阵列状态

cat /proc/mdstat

# 显示
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sde1[3](S) sdd1[4] sdc1[1] sdb1[0]
10473472 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices: <none>

5、查看阵列详细

mdadm -D /dev/md5

# 显示
/dev/md5:
Version : 1.2
Creation Time : Sun Feb 19 15:40:26 2023
Raid Level : raid5
Array Size : 10473472 (9.99 GiB 10.72 GB)
Used Dev Size : 5236736 (4.99 GiB 5.36 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent

Update Time : Sun Feb 19 15:51:57 2023
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1

Layout : left-symmetric
Chunk Size : 512K

Consistency Policy : resync

Name : kvm110:5 (local to host kvm110)
UUID : c971f791:081aa0e7:ce94d8e9:66be1f53
Events : 19

Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
4 8 49 2 active sync /dev/sdd1

3 8 65 - spare /dev/sde1

注解: 

名称

功能

Raid Level

阵列级别

Array Size

阵列容量大小

Raid Devices

RAID 成员的个数

Total Devices

RAID 中下属成员的总计个数,因为还有冗余硬盘或分区,也就是 spare

State

包含三个状态(clean 表示正常,degraded 表示有问题,recovering 表示正在恢复或构建)

Active Devices

被激活的 RAID 成员个数

Working Devices

正常工作的 RAID 成员个数

Failed Devices

出问题的 RAID 成员

Spare Devices

备用 RAID 成员个数(会自动替换出现问题的成员)

UUID

RAID 的 UUID 值,在系统中是唯一的

 6、挂载系统

# 格式化
mkfs.xfs -f /dev/md5

# 创建挂载点
mkdir /raid5

# 挂载
mount /dev/md5 /raid5/

# 开机永久挂载
echo "/dev/md5 /raid5 xfs defaults 0 0" >> /etc/fstab

7、查看系统,成功挂载,raid5大小为10G

[root@kvm110 ~]# df -Th

文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 17G 1.6G 16G 9% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 12M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 146M 869M 15% /boot
tmpfs tmpfs 378M 0 378M 0% /run/user/0
/dev/md5 xfs 10G 33M 10G 1% /raid5

8、查看分区

[root@kvm110 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 5G 0 disk
└─sdb1 8:17 0 5G 0 part
└─md5 9:5 0 10G 0 raid5 /raid5
sdc 8:32 0 5G 0 disk
└─sdc1 8:33 0 5G 0 part
└─md5 9:5 0 10G 0 raid5 /raid5
sdd 8:48 0 5G 0 disk
└─sdd1 8:49 0 5G 0 part
└─md5 9:5 0 10G 0 raid5 /raid5
sde 8:64 0 5G 0 disk
└─sde1 8:65 0 5G 0 part
└─md5 9:5 0 10G 0 raid5 /raid5
sdf 8:64 0 5G 0 disk
└─sdf1 8:65 0 5G 0 part
sr0 11:0 1 918M 0 rom

9、我们往 raid5 写入一点数据

dd if=/dev/zero of=/raid5/test.img bs=1M count=60

10、重启系统

shutdown -r now

 二、模拟硬盘坏了

1、我们假设 sdb 硬盘坏了

mdadm /dev/md5 -f /dev/sdb1

# 显示
mdadm: set /dev/sdb1 faulty in /dev/md5

2、查看阵列,sde 热备盘自动补上

mdadm -D /dev/md5

# 显示
/dev/md5:
Version : 1.2
Creation Time : Sun Feb 19 15:40:26 2023
Raid Level : raid5
Array Size : 10473472 (9.99 GiB 10.72 GB)
Used Dev Size : 5236736 (4.99 GiB 5.36 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent

Update Time : Sun Feb 19 16:17:08 2023
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0

Layout : left-symmetric
Chunk Size : 512K

Consistency Policy : resync

Name : kvm110:5 (local to host kvm110)
UUID : c971f791:081aa0e7:ce94d8e9:66be1f53
Events : 40

Number Major Minor RaidDevice State
3 8 65 0 active sync /dev/sde1
1 8 33 1 active sync /dev/sdc1
4 8 49 2 active sync /dev/sdd1

0 8 17 - faulty /dev/sdb1

3、手动移除坏的硬盘,这里如果重启系统,也会把坏的硬盘自动移除的

mdadm /dev/md5 -r /dev/sdb1

# 显示
mdadm: hot removed /dev/sdb1 from /dev/md5


# 再次查看阵列
mdadm -D /dev/md5

# 显示
/dev/md1:

......

Number Major Minor RaidDevice State
3 8 65 0 active sync /dev/sde1
1 8 33 1 active sync /dev/sdc1
4 8 49 2 active sync /dev/sdd1

三、阵列扩容 

1、往阵列中加入2个新的硬盘

mdadm /dev/md5 -a /dev/sdb1
mdadm /dev/md5 -a /dev/sdf1

2、查看,默认加入进的都是热备盘

mdadm -D /dev/md5

# 显示
/dev/md5:

......

Number Major Minor RaidDevice State
5 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
4 8 49 2 active sync /dev/sdd1

3 8 81 - spare /dev/sdf1
6 8 65 - spare /dev/sde1

3、热备盘转为活动盘

mdadm -G /dev/md5 -n4

4、查看

mdadm -D /dev/md5

# 显示
/dev/md5:
Version : 1.2
Creation Time : Sun Feb 19 15:40:26 2023
Raid Level : raid5
Array Size : 15710208 (14.98 GiB 16.09 GB) # 之前是10G,现在是15G
Used Dev Size : 5236736 (4.99 GiB 5.36 GB)
Raid Devices : 4
Total Devices : 5
Persistence : Superblock is persistent

Update Time : Sun Feb 19 16:31:03 2023
State : clean
Active Devices : 4
Working Devices : 5
Failed Devices : 0
Spare Devices : 1

Layout : left-symmetric
Chunk Size : 512K

Consistency Policy : resync

Name : kvm110:5 (local to host kvm110)
UUID : c971f791:081aa0e7:ce94d8e9:66be1f53
Events : 90

Number Major Minor RaidDevice State
5 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
4 8 49 2 active sync /dev/sdd1
6 8 65 3 active sync /dev/sde1

3 8 81 - spare /dev/sdf1

6、扩容文件系统

xfs_growfs /dev/md5

# 查看
df -Th

文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 17G 1.6G 16G 9% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 12M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 146M 869M 15% /boot
/dev/md5 xfs 15G 94M 15G 1% /raid5
tmpfs tmpfs 378M 0 378M 0% /run/user/0

7、更新配置文件

echo "DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1" > /etc/mdadm.conf
mdadm -Ds /dev/md5 >> /etc/mdadm.conf

四、如何删除 RAID5

1、取消挂载

umount /raid5

2、停止阵列

mdadm --stop /dev/md5


# 如何启用一个阵列
mdadm --assemble /dev/md5

3、清除阵列超级块信息

mdadm --zero-superblock /dev/sd[b-e]1

4、删除永久挂载信息,不然系统就起不来了

# 注释掉
# /dev/md5 /raid5 xfs defaults 0 0"

举报

相关推荐

0 条评论