Detailed explanation of the implementation of software raid 5

零下一度
Release: 2017-06-25 10:09:52
Original
2885 people have browsed it

Implementation of software raid 5

RAID 5 is a storage solution that takes into account storage performance, data security and storage cost. RAID 5 can be understood as a compromise between RAID 0 and RAID 1. RAID 5 can provide data security for the system, but the level of protection is lower than Mirror and the disk space utilization is higher than Mirror. RAID 5 has a data reading speed similar to RAID 0, but has an additional parity check information, and the writing speed of data is slightly slower than writing to a single disk. At the same time, because multiple data correspond to one parity information, RAID 5 has a higher disk space utilization than RAID 1, and the storage cost is relatively low. It is a solution that is currently used

1 Partition

Here we use the two partitions /dev/sda8 and /dev/sda9 and the two partitions /dev/sdb and /dev/sdc a hard drive.

Note: Remember to change the partition ID to fd

2 Create raid 5

mdadm -C /dev/md5 -a yes -l 5 -n 3 -x 1 /dev/sdd1 /dev/sde1 /dev/sdf /dev/sdb2
Copy after login
[root@centos7 ~]# mdadm -C /dev/md5 -a yes -l 5 -n 3 -x 1 /dev/sda8 /dev/sda9 /dev/sdb /dev/sdc

mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
Copy after login

-C Creation mode

-n #: Use # fast devices to create secondary RAID

-l #: Specify the level of RAID to be created

-a{yes|no}: Automatically create the device file of the target RAID device

-c CHUNK_SIZE: Specify the block size

-x #: Specify the number of spare disks, The one placed at the end defaults to the spare disk

3 Create a file system

[root@centos7 ~]# mkfs.ext4 /dev/md5
Copy after login

##4 Mount

(1) Create the mount directory

[root@centos7 ~]# mkdir /mnt/raid5
Copy after login
(2) Mount

[root@centos7 ~]# mount /dev/md5 /mnt/raid5
Copy after login

5 Generate configuration file

[root@centos7 ~]# cat /etc/mdadm.conf

ARRAY /dev/md5 metadata=1.2 spares=1 name=centos7.3.loacl:5 UUID=5ec4115c:ab1e25c8:ff36d8a2:74f6fd8a
Copy after login
View the status of md

[root@centos7 ~]# cat /proc/mdstat

Personalities : [raid0] [raid6] [raid5] [raid4]
md5 : active raid5 sdb[4] sdc[3](S) sda9[1] sda8[0]
2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
Copy after login
View raid The details

[root@centos7 ~]# mdadm -D /dev/md5

/dev/md5:
Version : 1.2
Creation Time : Tue Apr 25 14:38:54 2017
Raid Level : raid5
Array Size : 2095104 (2046.00 MiB 2145.39 MB)
Used Dev Size : 1047552 (1023.00 MiB 1072.69 MB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent

Update Time : Tue Apr 25 14:50:08 2017
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1

Layout : left-symmetric
Chunk Size : 512K

Name : centos7.3.loacl:5 (local to host centos7.3.loacl)
UUID : 5ec4115c:ab1e25c8:ff36d8a2:74f6fd8a
Events : 18

Number Major Minor RaidDevice State
0 8 8 0 active sync /dev/sda8
1 8 9 1 active sync /dev/sda9
4 8 16 2 active sync /dev/sdb

3 8 32 - spare /dev/sdc
Copy after login
can be seen as composite expected, three active devices, one idle (standby) device

6 Disable and Enable

umount /mnt/raid0

mdadm -S /dev/md0

mdadm -A /dev/md0
Copy after login
(1) Disable raid

[root@centos7 ~]# umount /mnt/raid5
[root@centos7 ~]# mdadm -S /dev/md5
mdadm: stopped /dev/md5
Copy after login
Check and you can see that it has been stopped successfully

[root@centos7 ~]# mdadm -D /dev/md5

mdadm: cannot open /dev/md5: No such file or directory
Copy after login
(2) Enable raid device

[root@centos7 ~]# mdadm -A /dev/md5

mdadm: /dev/md5 has been started with 3 drives and 1 spare.
Copy after login
Check again and find that it has been started successfully

[root@centos7 ~]# cat /proc/mdstat

Personalities : [raid0] [raid6] [raid5] [raid4]
md5 : active raid5 sda8[0] sdc[3](S) sdb[4] sda9[1]
2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
Copy after login

7 Simulate /dev/sdc damage

[root@centos7 ~]# mdadm /dev/md5 -f /dev/sdc

mdadm: set /dev/sdc faulty in /dev/md5
Copy after login

8 Remove /dev/sdc

[root@centos7 ~]# mdadm /dev/md5 -r /dev/sdc
mdadm: hot removed /dev/sdc from /dev/md5

[root@centos7 ~]# mdadm -D /dev/md5

/dev/md5:
[……]
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
[……]
Number Major Minor RaidDevice State
0 8 8 0 active sync /dev/sda8
1 8 9 1 active sync /dev/sda9
4 8 16 2 active sync /dev/sdb

可以看到已经移除成功。
Copy after login
Let’s look at the disk situation again

[root@centos7 ~]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 20G 0 disk
[……]
├─sda8 8:8 0 1G 0 part
│ └─md5 9:5 0 2G 0 raid5
└─sda9 8:9 0 1G 0 part
└─md5 9:5 0 2G 0 raid5
sdb 8:16 0 1G 0 disk
└─md5 9:5 0 2G 0 raid5
sdc 8:32 0 1G 0 disk
sr0 11:0 1 7.7G 0 rom
Copy after login
You can see that /dev/sdc no longer belongs to the md5 array

9Add to raid member

[root@centos7 ~]# mdadm /dev/md5 -a /dev/sdc

mdadm: added /dev/sdc
Copy after login
[root@centos7 ~]# mdadm -D /dev/md5

/dev/md5:
[……]
Raid Devices : 3
Total Devices : 4
Active Devices : 3
Working Devices : 4
[……]
Number Major Minor RaidDevice State
0 8 8 0 active sync /dev/sda8
1 8 9 1 active sync /dev/sda9
4 8 16 2 active sync /dev/sdb

3 8 32 - spare /dev/sdc
Copy after login
You can see that the addition was successful

10 Increase the number of raid members from 3 to 4

Add device /dev/sdd to the array here

[root@centos7 ~]# mdadm -G /dev/md5 -n 4 -a /dev/sdd

mdadm: added /dev/sdd
mdadm: Need to backup 3072K of critical section..
Copy after login
Check the file System integrity

[root@centos7 ~]# e2fsck -f /dev/md5

e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/md5: 11/131072 files (0.0% non-contiguous), 17964/523776 blocks
Copy after login
Synchronize the file system

[root@centos7 ~]# resize2fs /dev/md5

resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/md5 to 785664 (4k) blocks.
The filesystem on /dev/md5 is now 785664 blocks long.
Copy after login
Let’s check the /dev/md5 array again

[root@centos7 ~]# mdadm -D /dev/md5

/dev/md5:
Version : 1.2
Creation Time : Tue Apr 25 14:38:54 2017
Raid Level : raid5
Array Size : 3142656 (3.00 GiB 3.22 GB)
Used Dev Size : 1047552 (1023.00 MiB 1072.69 MB)
Raid Devices : 4
Total Devices : 5
Persistence : Superblock is persistent

Update Time : Tue Apr 25 15:13:32 2017
State : clean
Active Devices : 4
Working Devices : 5

Failed Devices : 0
Spare Devices : 1 

Layout : left-symmetric
Chunk Size : 512K

Name : centos7.3.loacl:5 (local to host centos7.3.loacl)
UUID : 5ec4115c:ab1e25c8:ff36d8a2:74f6fd8a
Events : 47

Number Major Minor RaidDevice State
0 8 8 0 active sync /dev/sda8
1 8 9 1 active sync /dev/sda9
4 8 16 2 active sync /dev/sdb
5 8 48 3 active sync /dev/sdd

3 8 32 - spare /dev/sdc
Copy after login

The above is the detailed content of Detailed explanation of the implementation of software raid 5. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template