1. 程式人生 > >軟體磁碟陣列(software raid)

軟體磁碟陣列(software raid)

一、基本概念
1.磁碟陣列RAID,即容錯廉價磁碟陣列,RAID可以通過一些技術將多個較小的磁碟整合成一個較大的磁碟裝置,並把資料切割成多個區段後分別存放在各個不同的物理硬碟裝置上,然後利用分散讀寫技術來提升磁碟陣列整體的效能,同時把多個重要資料的副本同步到不同的物理硬碟裝置上
2.RAID0
stripe,不含校驗與冗餘的條帶儲存,無備份
多塊磁碟組合為RAID 0後,每塊磁碟都將會被分割為小區快(chunk),而資料會被分割成塊的大小,然後依序交錯的存放到不同的磁碟中,當資料要寫入RAID,資料會被等量放置在各個磁碟上面。
舉例來說,有兩塊磁碟組成,當有100M的資料要寫入時,每個磁碟會被分配到50M


讀寫效能有提升,冗餘能力無,空間利用率100%,至少需要2塊磁碟
3.RAID1
mirror,不含校驗的映象儲存 ,完整備份
多塊磁碟組合為RAID 1後,資料將被同時複製到每塊磁碟
讀效能有提升,寫效能下降,冗餘能力有,空間利用率50%,至少需要2塊磁碟
舉例說明,有一個100M的檔案,僅有兩塊磁碟組成,這兩塊磁碟將會被同步寫入100M的檔案,整體RAID的容量幾乎少了50%
4.RAID5
資料塊級別的分散式校驗條帶儲存 ,效能與資料備份的均衡考慮
多塊磁碟組合為RAID 5後,資料將以塊為單位同步式分別儲存在不同的磁碟上,在資料寫入過程中,在每塊磁碟還迴圈加入一個同位檢驗資料(parity),這個資料會記錄其他磁碟的備份資料
,用於有磁碟損壞時的救援,不過預設僅能支援一塊磁碟的損毀情況
讀寫效能有提升,冗餘能力有,空間利用率(n-1)/n,至少需要3塊磁碟

RAID01
條帶+映象儲存
讓兩塊硬碟組成RAID 0,然後這兩組再整合成為一組RAID 1
讀寫效能有提升,冗餘能力有,空間利用率50%,至少需要4塊盤
RAID10
映象+條帶儲存
讓兩塊硬碟組成RAID 1,然後這兩組再整合成為一組RAID 0
如果有100M的資料要寫入,由於raid1,兩組raid0都會寫入100M,但由於raid0,每塊磁碟僅會寫入50M,不論哪一組raid0的磁碟損毀,只要另外一組還在,可通過raid1機制回覆資料
3.重要的 RAID 概念
校驗方式用在 RAID 重建中從校驗所儲存的資訊中重新生成丟失的內容。 RAID 5,RAID 6 基於校驗。
條帶化

是將切片資料隨機儲存到多個磁碟。它不會在單個磁碟中儲存完整的資料。如果我們使用2個磁碟,則每個磁碟儲存我們的一半資料。
映象被用於 RAID 1 和 RAID 10。映象會自動備份資料。在 RAID 1 中,它會儲存相同的內容到其他盤上。
熱備份只是我們的伺服器上的一個備用驅動器,它可以自動更換髮生故障的驅動器。在我們的陣列中,如果任何一個驅動器損壞,熱備份驅動器會自動用於重建 RAID。
是 RAID 控制器每次讀寫資料時的最小單位,最小 4KB。通過定義塊大小,我們可以增加 I/O 效能。
二、常用引數
在這裡插入圖片描述
以RAID5為底層,在此基礎上建立邏輯卷,模擬搞壞硬碟後資料有無影響
1)關機,新增3塊硬碟大小為5G
在這裡插入圖片描述
2)開啟虛擬機器,mdadm建立
mdadm -Cv /dev/md0 -a yes -n 3 -l 5 /dev/sdb /dev/sdc /dev/sdd
在這裡插入圖片描述
mkfs.ext4 /dev/md0 以ext4格式化/dev/md0
在這裡插入圖片描述
mkdir /raid 建立raid目錄
在這裡插入圖片描述
mount /dev/md0 /raid 掛載/dev/md0 到raid
在這裡插入圖片描述
mdadm-D /dev/md0 檢視/dev/md0 詳細資訊
在這裡插入圖片描述
echo “/dev/md0 /raid ext4 defaults 0 0” >> /etc/fstab寫進自動掛載
在這裡插入圖片描述
mount -a
在這裡插入圖片描述
pvcreate /dev/md0 如果出現這個問題,先解除安裝掛載點umount /raid可成功
在這裡插入圖片描述
pvcreate /dev/md0 建立物理捲成功
在這裡插入圖片描述
vgcreate storage /dev/md0 建立卷組名為storage
在這裡插入圖片描述
lvcreate -n vo -L 150M storage 建立150M 的邏輯卷
在這裡插入圖片描述
mkfs.ext4 /dev/storage/vo 格式化
在這裡插入圖片描述
mkdir /lvm建立掛載目錄
在這裡插入圖片描述
mount/dev/storage /vo lvm掛載
在這裡插入圖片描述
此時,進入到lvm下建立檔案並寫入資料
cd /lvm
touch ss
dd if=/dev/zero of=/lvm/ss bs=100M count=1
在這裡插入圖片描述
mdadm -D /dev/md0 檢視詳細資訊,三塊盤已經正常工作
在這裡插入圖片描述
損壞 /dev/sdc 盤
在這裡插入圖片描述
檢視時發現/dev/sdc 損壞不能正常使用
在這裡插入圖片描述
查詢裡面的資料發現還在,未被損壞
在這裡插入圖片描述
移除/dev/sdc盤,
在這裡插入圖片描述
檢視已經移除成功
在這裡插入圖片描述
查詢裡面的資料發現還在,未被損壞
在這裡插入圖片描述
然後新增上/dev/sdc 在圖中紅色圈出來的部分可以看到新增完成情況
在這裡插入圖片描述
新增成功
在這裡插入圖片描述
總結:以RAID5為基礎,建立邏輯卷測試如果損壞一塊硬碟時 資料不會變化,而不能損壞超過一塊,RAID5 僅支援損壞一塊,否則系統可能崩潰。