RAID学习笔记

RAID的概念:

   磁盘阵列的英文全名是RedundanArrays of Inexpensive Disk ,即容错廉价磁盘阵列. RAID 可以通过一些技术(软件或者硬件)将多个较小的磁盘整合一个较大的磁盘设备;而这个较大的设备的磁盘功能可不止存储而已,它还具有数据保护的功能.整个RAID由于等级(LEVEL)不同,而使的整合的磁盘具有不同的功能,基本常见的等级有如下:

 

这里简单的列举他们的优缺点:

 

0:条带
  性能提升:读,写
  容错能力:无
  空间利用率:ns
1:镜像
   性能表现:写性能下降,读性能提升
   容错能力:有
   空间利用率:1/2
5:验证码
  性能表现:读写
  容错能力:有
  空间利用率:(n-1)/n
10:
  性能表现:读写提升
  容错能力:有
  空间利用率:1/2
01:
  性能表现:读写提升
  容错能力:有
  空间利用率:1/2
50:轮换校验盘
     性能表现:读写
    容错能力:有
    空间利用率:(n-2)/n
jbod:
    性能提升:无
    容错能力:无
    空间利用率:100%

常用命令:

#partprobe   partprobe 是一个可以修改kernel中分区表的工具。可以使kernel重新读取分区表

cat /proc/partitions 查看的文件分区,一般结合上条命令使用在使用fdisk分区工具先读入内核,用该命令验证


cat /proc/mdstat 查看raid信息的命令

 

下面演示RAID1的软件模拟创建与删除完整过程:

准备好几个分区:

echo 'n
p
1

+1G
n
p
2

+1G
n
p
3

+1G
t
1
fd
t
2
fd
t
3
fd
w'|fdisk /dev/sdb&>/dev/null
#partprobe
#cat /proc/partitions

[root@localhost ~]# cat /proc/partitions
major minor #blocks name

8 0 20971520 sda
8 1 512000 sda1
8 2 20458496 sda2
8 16 20971520 sdb
8 17 1060258 sdb1
8 18 1060290 sdb2
8 19 1060290 sdb3
253 0 18423808 dm-0
253 1 2031616 dm-1
9 127 2119680 md127
9 126 1059200 md126

 

创建RAID1

[root@localhost ~]# mdadm -C /dev/md0 -a yes -n 2 -l 1 /dev/sdb{1,2}


mdadm: /dev/sdb1 appears to contain an ext2fs file system
size=5253220K mtime=Wed Oct 19 15:03:29 2016
mdadm: /dev/sdb1 appears to be part of a raid array:
level=raid0 devices=2 ctime=Sat Oct 22 21:22:27 2016
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: /dev/sdb2 appears to be part of a raid array:
level=raid0 devices=2 ctime=Sat Oct 22 21:22:27 2016
Continue creating array?
Continue creating array? (y/n) y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

 

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


Personalities : [raid1] [raid0]
md0 : active raid1 sdb2[1] sdb1[0]
1059200 blocks super 1.2 [2/2] [UU]
unused devices: <none>

 

格式化:

#mke2fs -j /dev/md0

[root@localhost ~]# blkid /dev/md0
/dev/md0: UUID="7c48763f-023f-4757-98fe-f4e68bc75819" SEC_TYPE="ext2" TYPE="ext3"

挂载成功:

[root@localhost ~]# mount /dev/md0 /users
[root@localhost ~]# cd /users
[root@localhost users]# ls
lost+found

模拟有一块磁盘损坏:

首先查看RAID 详细信息

[root@localhost users]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Oct 27 22:25:23 2016
Raid Level : raid1
Array Size : 1059200 (1034.55 MiB 1084.62 MB)
Used Dev Size : 1059200 (1034.55 MiB 1084.62 MB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent

Update Time : Thu Oct 27 22:30:21 2016
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

Name : localhost:0 (local to host localhost)
UUID : 733d9830:5686636c:cf2a22e6:2de98483
Events : 17

Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 18 1 active sync /dev/sdb2

 

使用-f模拟损坏

[root@localhost users]# mdadm /dev/md0 -f /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md0
[root@localhost users]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Oct 27 22:25:23 2016
Raid Level : raid1
Array Size : 1059200 (1034.55 MiB 1084.62 MB)
Used Dev Size : 1059200 (1034.55 MiB 1084.62 MB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent

Update Time : Thu Oct 27 22:34:43 2016
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 1
Spare Devices : 0

Name : localhost:0 (local to host localhost)
UUID : 733d9830:5686636c:cf2a22e6:2de98483
Events : 18

Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 18 1 active sync /dev/sdb2

0 8 17 - faulty spare /dev/sdb1

 

移除

[root@localhost users]# mdadm /dev/md0 -r /dev/sdb1
mdadm: hot removed /dev/sdb1 from /dev/md0

增加一块新盘恢复

[root@localhost users]# mdadm /dev/md0 -a /dev/sdb3

[root@localhost users]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Oct 27 22:25:23 2016
Raid Level : raid1
Array Size : 1059200 (1034.55 MiB 1084.62 MB)
Used Dev Size : 1059200 (1034.55 MiB 1084.62 MB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent

Update Time : Thu Oct 27 22:37:54 2016
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

Name : localhost:0 (local to host localhost)
UUID : 733d9830:5686636c:cf2a22e6:2de98483
Events : 40

Number Major Minor RaidDevice State
2 8 19 0 active sync /dev/sdb3
1 8 18 1 active sync /dev/sdb2

 停止阵列

[root@localhost ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0

重新装配

[root@localhost ~]# mdadm -A /dev/md0 /dev/sdb2 /dev/sdb3
mdadm: /dev/md0 has been started with 2 drives.
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Oct 27 22:25:23 2016
Raid Level : raid1
Array Size : 1059200 (1034.55 MiB 1084.62 MB)
Used Dev Size : 1059200 (1034.55 MiB 1084.62 MB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent

Update Time : Fri Oct 28 04:14:05 2016
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

Name : localhost:0 (local to host localhost)
UUID : 733d9830:5686636c:cf2a22e6:2de98483
Events : 40

Number Major Minor RaidDevice State
2 8 19 0 active sync /dev/sdb3
1 8 18 1 active sync /dev/sdb2

 

把RAID 信息保存至配置文件以便以后装配

[root@localhost ~]# mdadm -D --scan > /etc/mdadm.conf
[root@localhost ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0
[root@localhost ~]# mdadm -A /dev/md0
mdadm: /dev/md0 has been started with 2 drives

自动挂载到/users目录

echo "/dev/md0 /users ext3 defaults 0 0" >> /etc/fstab

取消删除RAID:

删除配置文件/etc/fstab /etc/mdadm.conf中的最后一行

[root@localhost ~]# umount /dev/md0
[root@localhost ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0

演示空闲挂载

[root@localhost ~]# mdadm -C md1 -a yes -l 1 -n 2 -x 1 /dev/sdb1 /dev/sdb2 /dev/sdb3

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1] [raid0]
unused devices: <none>

[root@localhost ~]# mdadm -D /dev/md/md1
/dev/md/md1:
Version : 1.2
Creation Time : Fri Oct 28 04:33:15 2016
Raid Level : raid1
Array Size : 1059200 (1034.55 MiB 1084.62 MB)
Used Dev Size : 1059200 (1034.55 MiB 1084.62 MB)
Raid Devices : 2
Total Devices : 3
Persistence : Superblock is persistent

Update Time : Fri Oct 28 04:33:25 2016
State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1

Name : localhost:md1 (local to host localhost)
UUID : 86892be1:ad09376d:20f1329e:7c667317
Events : 17

Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 18 1 active sync /dev/sdb2

2 8 19 - spare /dev/sdb3

 

posted @ 2016-10-28 13:51  季宁  阅读(832)  评论(0编辑  收藏  举报