傳統磁盤的劣勢:
影響計算機性能的組件一般包括:cpu,主板總線IO,內存IO,磁盤IO,網卡IO。
現代處理器的性能已經很高了,但是計算機整體IO性能較弱,嚴重影響了計算機的性能。
現代計算機總線,內存速度可以達到5G每秒,甚至更高,但是磁盤的IO性能總體來說是較低的。
磁盤類型 | 速度 |
SATA | <150M/s |
SCSI | <200M/s |
SAS | 200M/s每秒左右 |
SSD | 500M/s每秒左右 |
但是硬盤絕大多數是計算機的性能瓶頸。
RAID簡述:
1、現代磁盤性能的缺陷:IO性能極弱,穩定性差;
2、RAID(Redundant Arrays of Independent Disks,RAID),廉價磁盤冗餘陣列的技術是通過多磁 盤 , 並行運行來提高計算機存儲IO性能。
3、RAID分爲很多種類,稱之爲RAID級別,現代RAID共有7類,常用的有以下4類。
RAID 0:讀寫性能
RAID 1:讀寫性能、冗餘性
RAID 5:讀寫性能、冗餘性(1塊硬盤)
RAID 6:讀寫性能、冗餘性(2塊硬盤)
RAID 0
RAID 0最少使用兩塊磁盤,在讀寫時,將數據分開讀寫到多磁盤的方式來提高讀寫性能。
空間利用率:所有磁盤空間之和;
性 能:所有磁盤速度之和;
冗餘 能力:無
RAID 1
RAID 1最少使用2塊磁盤,在讀寫時,將數據複製到多塊磁盤,在讀數據的時候,已提供冗餘性。同時從多塊硬盤中讀取數據,以提高讀性能。
空間利用率:所有磁盤空間最小那塊;
性 能:讀性能爲磁盤速度之和,寫性能有所減弱;
冗餘 能力:只要一塊磁盤正常,數據就正常;
RAID 5
RAID 5最少使用3塊磁盤,raid5與Raid0相似,讀寫數據的時候會將數據分佈式的讀寫在所有硬盤上,但是在寫數據的時候會對數據進行奇偶校驗運算,將奇偶校驗信息同時保存在硬盤上,校驗信息可以進行數據恢復時使用。
空間利用率:1-1/n;
性 能:讀性能接近RAID0,寫性能較RAID0弱一些;
冗餘 能力:可以接受1塊磁盤損壞;
RAID 6
RAID 6最少使用4塊磁盤,raid6與Raid5相似,讀寫數據的時候會將數據分佈式的讀寫在所有硬盤上,並保存奇偶校驗信息,但是會比RAID5多保存一份校驗信息,所以冗餘性較RAID5有所提升。
空間利用率:1-2/n;
性 能:讀性能接近RAID5,寫性能較RAID5弱一些;
冗餘 能力:可以接受2塊磁盤損壞;
RAID實現
1、RAID機制通過使用多硬盤並行運行的方式來提高硬盤的IO性能。
2、RAID分爲多種,稱之爲RAID level ,RAID共有7級:RAID0-RAID6.
3、RAID常用級別:RAID0,RAID1,RAID5,RAID6;
RAID級別 | 速度 | 冗餘性 | 磁盤利用率 |
RAID0 | 讀寫性能有所提升 | 0 | 所有磁盤之和 |
RAID1 | 讀性能提升 | N | 一個磁盤大小 |
RAID5 | 讀寫性能有所提升 | 1 | 1-1/n |
RAID6 | 讀寫性能有所提升 | 2 | 1-2/n |
RAID的實現分爲:硬件RAID、軟件RAID。
MDADM(多磁盤管理)
1、每種操作系統都有軟件RAID的實現
2、在Linux中軟件RAID通過mdadm這個程序實現
3、Mdadm支持的的RAID級別有RAID0,RAID1,RAID5,RAID6;
4、Mdadm可以基於多塊硬盤、分區或邏輯卷創建軟件RAID
5、創建好的軟件RAID對應的/dev/mdn,n爲第幾個RAID,如創建第一個RAID爲/dev/md0,第二個 爲/dev/md1
6、RAID的信息保存在/proc/mdstat文件中,或者通過mdadm命名查看。
創建軟件RAID
關於mdadm命令創建軟件RAID的幾個參數:
-c: | 創建一個新的RAID |
-a: | 自動創建對應的設備 |
-l: | 指定要創建的RAID級別 |
-n: | 指定硬盤的數量 |
創建軟RAID示例及基本步驟:
1、創建RAID 0
Mdadm –C /dev/md0 –a yes –l 0 –n 2 /dev/sdb /dev/sdc
2、創建RAID 1
Mdadm –C /dev/md0 –a yes –l 1 –n 2 /dev/sdb /dev/sdc
3、創建RAID 5
Mdadm –C /dev/md0 –a yes –l 5 –n 3 /dev/sdb /dev/sdc /dev/sdd
4、創建RAID 6
Mdadm –C /dev/md0 –a yes –l 6 –n 4 /dev/sdb /dev/sdc /dev/sdd /dev/sde
5、我們也可以使用-x 參數指定一個備份磁盤,備份磁盤一般不使用,當出現故障磁盤時,指定的備
份磁盤可以自動上線工作:
Mdadm –C /dev/md0 –a yes –l 5 –n 3 –x /dev/sdb /dev/sdc /dev/sdd /dev/sde
6、創建好RAID之後,我們需要創建一個配置文件:
Mdadm –D –scan >/etc/mdadm.conf
7、創建文件系統之後掛載使用
Mkfs.ext4 /dev/md0 Mount /dev/md0 /mnt
查看RAID信息:
1、我們可以使用mdadm命令查看相關信息
Mdadm –D /dev/md0
2、/proc中的文件也包含RAID相關信息:
Cat /etc/mdstat
控制RAID:
1、可以通過以下命令關閉一個RAID,關閉前先卸載:
Mdadm –s /dev/md0
2、通過以下命令可以啓用指定的RAID:
Mdadm –R /dev/md0
3、清除RAID 信息
Mdadm –zero-superblock /dev/md0
模擬故障:
1、實驗環境下,我們可以通過以下命令模擬一個磁盤的故障
Mdadm /dev/md0 -f /dev/sdb
2、之後,我們可以將故障磁盤移除
Mdadm /dev/md0 -r /dev/sdb
3、換上新硬盤後,我們可以將新硬盤添加到RAID中:
Mdadm /dev/md0 –a /dev/sdb