RAID:Redundant Arrays of Inexpensive(Independent) Disks 1988年由加利福尼亞大學伯克利分校(University of CaliforniaBerkeley) 「A Case for Redundant Arrays of Inexpensive Disks」 多個磁盤合成一個「陣列」來提供更好的性能、冗餘,或者二者都提供
RAIDide
提升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/md一、/dev/md二、/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配置示例 code
使用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測試和修復 component
模擬磁盤故障 mdadm /dev/md0 -f /dev/sda1 移除磁盤 mdadm /dev/md0 –r /dev/sda1 從軟件RAID磁盤修復磁盤故障 • 替換出故障的磁盤而後開機 • 在備用驅動器上重建分區 • mdadm /dev/md0 -a /dev/sda1 mdadm、/proc/mdstat及系統日誌信息
軟RAID管理ip
生成配置文件: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下的文件要刪除