RAID詳細介紹
阿新 • • 發佈:2018-08-18
驅動器 觀察 容錯性 語法 bio 什麽 結合 ant 容錯能力 什麽是RAID
RAID:Redundant Arrays of Inexpensive(Independent) Disks 1988年由加利福尼亞大學伯克利分校(University of CaliforniaBerkeley) “A Case for Redundant Arrays of Inexpensive Disks” 多個磁盤合成一個“陣列”來提供更好的性能、冗余,或者兩者都提供
RAID
提高IO能力 磁盤並行讀寫 提高耐用性 磁盤沈余來實現 級別:多塊磁盤組織在一起的工作方式有所不同 RAID實現的方式 外接式磁盤陣列:通過擴展卡提供適配能力 內接式RAID:主板集成RAID控制器 安裝OS前在BIOS裏配置 軟件RAID:通過OS實現
RAID級別
RAID-0:條帶卷,strip
RAID-1: 鏡像卷,mirror
RAID-2
RAID-5
RAID-6
RAID-10
RAID-01
RAID級別詳解
RAID-0: 讀寫性能提升 可用空間:N*min(s1,s2) 無容錯能力 最少磁盤:2,2+ RAID-1: 讀性能提升,寫性能略有下降 可用空間:1*min(s1,s2) 有冗余能力 最少磁盤數:2,2n RAID-5: 讀,寫性能提升 可用空間:(N-1)*min(s1,s2) 有容錯能力:允許最多一塊磁盤 最少磁盤數:3,3+ RAID-6: 讀,寫性能提升 可用空間:(N-2)*min(S1,S2,...) 有容錯能力:允許最多2塊磁盤損壞 最少磁盤數:4,4+ RAID-10: 讀,寫性能提升 可用空間:N*min(S1,S2,...)/2 有容錯能力:每組鏡像最多只能壞一塊 最少磁盤數:4,4+ RAID-01: 多塊磁盤先實現RAID0,在組合成RAID1 JBOD: Just a Bunch Of Disks 功能:將多塊磁盤的空間合並一個大的連續空間使用 RAID7: 可以理解為一個獨立存儲計算機,自身帶有操作系統和管理工具,,可以獨自運行,理論上性能最高的RAID模式 常用級別: RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD
軟RAID
mdadm:為軟RAID提供管理界面
為空余磁盤添加冗余
結合內核中的md
RAID設備可命名為/dev/md0、/dev/md1、/dev/md2、/dev/md3等
軟件RAID的實現
mdadm:模式化的工具 命令的語法格式:mdadm [mode] <raiddevice> [options] <componentdevices> 支持的RAID級別:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10 模式: 創建:-C 裝配:-A 監控:-F 管理:-f, -r, -a <raiddevice>: /dev/md# <component-devices>: 任意塊設備
軟件RAID的實現
-C:創建模式
-n #: 使用#個塊設備來創建此RAID
-l #:指明要創建的RAID的級別
-a {yes|no}:自動創建目標RAID設備的設備文件 -a yes[意思是初始化RAID設備]
-c CHUNK_SIZE: 指明塊大小,單位k
-x #: 指明空閑盤的個數
-D:顯示raid的詳解信息
mdadm -D /dev/md
管理模式:
-f: 標記指定磁盤為損壞
-a: 添加磁盤
-r: 移除磁盤
觀察md的狀態:cat /proc/mdstat
例:實現RAID0【性能高,但是沒有容錯性,損壞一個硬盤就不能使用】
第一步:用四個硬盤,分別拿出相應的空間大小,分區時註意格式 t :dd if=/dev/sda of=/dev/sdb bs=1 count=512
第二步:mdadm -C /dev/md0 -a yes -l0 -n 4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
第三步:在一個是否生成用命令mdadm -D /dev/md0
第四步:先把UUID存起來 mdadm -Ds /dev/md0 > /etc/mdadm.conf
第五步:創建文件系統 mkfs.ext4 /dev/md0 blkid就可以查看了
第六步:創建一個掛載點就可以掛載了 mkdir /mnt/raid [永久掛載/etc/fstab]
例:實現RAID5【五個硬盤一個空閑,四個真正使用,】
第一步: mdadm -C /dev/md5 -a yes -l5 -n4 -x1 /dev/sd{b,c,d,e}1 /dev/sd...
第二步:先把UUID存起來 mdadm -Ds /dev/md5 > /etc/mdadm.conf
第三步:創建文件系統 mkfs.ext4 /dev/md5 blkid就可以查看了
第四步:創建文件系統 mkfs.ext4 /dev/md5 blkid就可以查看了
第五步:創建一個掛載點就可以掛載了 mkdir /mnt/raid [永久掛載/etc/fstab]
模擬磁盤故障
mdadm /dev/md5 -f /dev/sde1[模擬sde1硬盤損壞] [mdadm -D /dev/md5 查看情況]
移除磁盤
mdadm /dev/md5 –r /dev/sde1【移除sde1】mdadm /dev/md5 –a /dev/sde1【添加回來sde1】
損壞後加硬盤:mdadm /dev/md5 -a /dev/sde[添加一塊/dev/sde硬盤] 【如果是硬盤直接加就行,如果是分區需要格式化還要t加......】
如果空間不夠想擴展空間 【mdadm -G /dev/md5 -n 5 -a /dev/sda3 [-G是添加,-n5代表以前是四個現在加到5個 -a 是把那個加到裏面]】
【df查看的是文件系統所以看不到添加後的內存】【xfs_growfs /mnt/raid5[xfs文件系統後面跟的是掛載點]】
【resize2fs /dev/md5 etx4文件系統後面跟的是設備名】
軟RAID配置示例
使用mdadm創建並定義RAID設備
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
用文件系統對每個RAID設備進行格式化
mke2fs -j /dev/md0
測試RAID設備
使用mdadm檢查RAID設備的狀況
mdadm --detail|D /dev/md0
增加新的成員
mdadm –G /dev/md0 –n4 -a /dev/sdf1
軟RAID測試和修復
模擬磁盤故障
mdadm /dev/md0 -f /dev/sda1
移除磁盤
mdadm /dev/md0 –r /dev/sda1
從軟件RAID磁盤修復磁盤故障
? 替換出故障的磁盤然後開機
? 在備用驅動器上重建分區
? mdadm /dev/md0 -a /dev/sda1
mdadm、/proc/mdstat及系統日誌信息
軟RAID管理
生成配置文件:mdadm –D –s >> /etc/mdadm.conf
停止設備:mdadm –S /dev/md0
激活設備:mdadm –A –s /dev/md0 激活
強制啟動:mdadm –R /dev/md0
刪除raid信息:mdadm --zero-superblock /dev/sdb1
例: 刪除RAID0
首先先取消掛載 umount /mnt/raid0
然後在刪除 rm -rf /etc/mdadm.conf[這裏是創建時手工添加的]
然後停止設備 mdadm –S /dev/md0 【mdadm –A –s /dev/md0 就激活不了了,因為刪除了/etc/mdadm.conf 這個文件】
然後是清除超級塊mdadm --zero-superblock /dev/sdb1【或mdadm --zero-superblock /dev/sd{c,e,d}1 一下清空】
然後blkid就看不到文件系統了 ,lsblk看一下還可以看到分區
在徹底的就是用dd 清空了:dd if=/dev/zero of=dev/sdb1,dd if=/dev/zero of=dev/sdc1,dd if=/dev/zero of=dev/sde1,dd if=/dev/zero of=dev/sdd1
可以用二進制確認一下 :hexdump -c /dev/sde1
註意:寫入/etc下的文件要刪除
RAID詳細介紹