RAID:
Redunant ARRAYS OF Inexpensive Disks
廉價磁盤陣列 Independent
Berkeley: A case for Redundent Arrays of Inexpensive Disks RAID
提高IO能力:
磁盤并行讀寫;
提高耐用性:
磁盤冗余來實現;
級別:多塊磁盤組織在一起的工作方式有所不同:
RAID實現的方式:
外接式磁盤陣列:通過擴展卡提供適配能力
內接式RAID:主板集成RAID控制器
Software RAID:
級別:level
RAID-0: 0, 條帶卷,strip;
RAID-1: 1, 鏡像卷,mirror;
RAID-5
RAID-6
RAID-10
RAID-01
RAID-0:
讀、寫性能提升;
可用空間: N*min( s1,s2,…)
無容錯能力
最少磁盤數:2,2+
RAID-1 :
讀性能提升、寫性能略有下降:
可用空間: 1*(S1,S2…)
有冗余能力
最少磁盤數:2,2+
RAID-4:
1101, 0110, 1011
RAID-5:
讀,寫性能提升
可用空間:(N-1)*min(s1,s2,…)
有容錯能力;1塊磁盤
最少磁盤數:3,3+
RAID-6:
讀,寫性能提升
可用空間:(N-2)*min(s1,s2,…)
有容錯能力:2塊磁盤
最少磁盤數:4,4+
混合類型
RAID-10
讀、寫性能提升
可用空間:N*min(s1,s2,…)/2
最少磁盤數;4,4+
RAID-01:
RAID-50、 RAID7
JBOD: Just a Bunch of Disks
功能:將多塊磁盤的空間合并一個大的連續空間;
常用級別:RAID-0,RAID-1,RAID-5,RAID-50,JBOD
實現方式:
硬件實現方式
軟件實現方式
Centos 6上的軟件RAID的實現;
結合內核中的md(multi devices)
mdadm工具:模式化的工具
命令的語法格式:mdadm [mode] <raiddevice> [options] <component-devices>
支持的RAID 級別:LINEAR, RAID0,RAID1,RAID4, RAID5, RAID6, RAID10;
模式:
創建:-C
裝配:-A
監控:-F
管理:-f, -r, -a
<raiddevice>: /dev/md#
<component-devices>:任意塊設備
-n #:使用#個塊設備來創建此RAID:
-l #: 指明要創建的RAID的級別;
-a
-c創建模式
-n #: 使用#個設備來創建此RAID;
-l #:{指明要創建的RAID設備的設備文件;
-a{yes | no}:自動創建目錄RAID設備的設備文件:
-c CHUNK-SIZE: 指明塊大小;
-x #指明空閑盤的個數;
例如:創建一個10可用空間的RAIDS:
-D: 顯示raid的詳細信息:
madadm -D /dev/md#
管理模式
-f:標記指定磁盤為損壞;
-a:添加磁盤
-r: 移除磁盤
觀察md的狀態:
cat /proc/mdstat
停止設備:
mdadm -s /dev/ma#
watch命令:
-n # 刷新間隔,單位是秒:
watch -n# 'COMMAND'
練習1:創建一個可用空間為10的RAID0設備,要求其chunk大小為128k,文件系統為ext4,有一個空閑盤,開機可自動掛載至/backup:
練習2:創建一個可用空間為10G的RAID設備,要求其chunk大小為256k,文件系統為ext4,開機可自動掛載至/mydata目錄;
寫一個腳本,完成如下功能:
1、列出當前系統失敗到的所有磁盤設備:
2、入磁盤數量為一,則顯示器空間使用信息;
if [ $disks -eq 1 ]; then
fdisk -l /dev/[hs]da
else
fdisk -l $(fdisk -l /dev/[sh]d[a-z] |grep -o ”^Disk /dev/[sh]d[a-]" | tail -l | cut – d" -f2)
fi
原創文章,作者:shadow,如若轉載,請注明出處:http://www.www58058.com/64548