RAID學習筆記

RAID的概念:app

   磁盤陣列的英文全名是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%

經常使用命令:ui

#partprobe   partprobe 是一個能夠修改kernel中分區表的工具。能夠使kernel從新讀取分區表this

cat /proc/partitions 查看的文件分區,通常結合上條命令使用在使用fdisk分區工具先讀入內核,用該命令驗證spa


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

 

下面演示RAID1的軟件模擬建立與刪除完整過程:code

準備好幾個分區:blog

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 namerem

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

相關文章
相關標籤/搜索