在 Linux 中建立 RAID 5(帶分散式奇偶校驗的條帶化)
RAID(廉價磁碟冗餘陣列)是一種將多個磁碟組合成單個邏輯單元的技術,以提高效能、冗餘或兩者兼而有之。RAID 5 是一種 RAID 型別,它使用帶分散式奇偶校驗的條帶化來提供效能和冗餘。在本教程中,我們將向您展示如何在 Linux 中建立 RAID 5 陣列。
在開始之前,讓我們首先了解帶分散式奇偶校驗的概念。
什麼是帶分散式奇偶校驗的條帶化?
在帶分散式奇偶校驗的條帶化中,資料被分成塊並分佈到多個磁碟上。奇偶校驗資訊也分佈在磁碟上。如果其中一個磁碟發生故障,奇偶校驗用於重建資料。
例如,如果我們有三個磁碟(Disk1、Disk2 和 Disk3),並且我們想要建立一個 RAID 5 陣列,則資料將跨所有三個磁碟進行條帶化。每個條帶的奇偶校驗資訊儲存在不同的磁碟上。第一個條帶的奇偶校驗資訊儲存在 Disk2 上,第二個條帶的奇偶校驗資訊儲存在 Disk3 上,第三個條帶的奇偶校驗資訊儲存在 Disk1 上。
這樣,如果其中一個磁碟發生故障,RAID 控制器可以使用奇偶校驗資訊重建資料並恢復丟失的資訊。
現在我們已經瞭解了帶分散式奇偶校驗的概念,讓我們繼續在 Linux 中建立 RAID 5 陣列。
在 Linux 中建立 RAID 5 陣列
按照以下步驟在 Linux 中建立 RAID 5 陣列。
步驟 1:安裝 mdadm
第一步是安裝 mdadm 包,這是我們將用於建立 RAID 陣列的工具。要安裝 mdadm,請執行以下命令:
sudo apt-get install mdadm
步驟 2:在磁碟上建立分割槽
接下來,我們需要在將用於 RAID 陣列的磁碟上建立分割槽。在本例中,我們將使用三個磁碟(/dev/sdb、/dev/sdc 和 /dev/sdd)用於 RAID 陣列。
我們將在每個磁碟上建立一個跨越整個磁碟的單個分割槽。要建立分割槽,請對每個磁碟執行以下命令:
sudo fdisk /dev/sdX
將“X”替換為相應的磁碟識別符號(b、c 或 d)。然後,在 fdisk 中輸入以下命令
Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): Using default response p. Partition number (1-4, default 1):First sector (2048-83886079, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-83886079, default 83886079):
按“p”以驗證分割槽是否已建立。對所有三個磁碟重複此過程。
步驟 3:建立 RAID 5 陣列
現在,我們可以使用 mdadm 工具建立 RAID 5 陣列。執行以下命令:
sudo mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
此命令建立了一個名為 /dev/md0 的 RAID 5 陣列,級別為 5,幷包含三個裝置(/dev/sdb1、/dev/sdc1 和 /dev/sdd1)。
步驟 4:格式化 RAID 5 陣列
建立 RAID 5 陣列後,我們需要使用檔案系統對其進行格式化。在本例中,我們將使用 ext4 檔案系統。
要格式化 RAID 5 陣列,我們將使用 mkfs.ext4 命令:
sudo mkfs.ext4 /dev/md0
將 /dev/md0 替換為您 RAID 5 陣列的名稱。
步驟 5:掛載 RAID 5 陣列
格式化 RAID 5 陣列後,我們需要將其掛載到目錄中。我們將在“/mnt”目錄中建立一個名為“raid5”的目錄,並將 RAID 5 陣列掛載到其中:
sudo mkdir /mnt/raid5 sudo mount /dev/md0 /mnt/raid5
要自動在啟動時掛載 RAID 5 陣列,我們需要在“/etc/fstab”檔案中新增一個條目:
sudo nano /etc/fstab
在檔案末尾新增以下行:
/dev/md0 /mnt/raid5 ext4 defaults 0 0
儲存並關閉檔案。
步驟 6:測試 RAID 5 陣列
要測試 RAID 5 陣列,我們可以在 RAID 5 陣列上建立一個檔案並驗證它是否可訪問:
sudo touch /mnt/raid5/testfile ls /mnt/raid5
如果列出了檔案“testfile”,則 RAID 5 陣列工作正常。恭喜!您已成功在 Linux 中建立了 RAID 5 陣列。
注意:要向 RAID 5 陣列新增更多磁碟,請使用以下命令:
sudo mdadm --add /dev/md0 /dev/sdx
將 /dev/sdx 替換為您要新增的磁碟的裝置名稱。
在下一節中,我們將討論如何監控 RAID 5 陣列的狀態。
監控 RAID 5 陣列
監控 RAID 5 陣列的狀態以確保其正常執行非常重要。可以使用以下命令來監控陣列:
要顯示 RAID 5 陣列的狀態,請使用以下命令:
sudo mdadm --detail /dev/md0
這將顯示有關陣列的詳細資訊,包括其狀態、活動磁碟數和故障磁碟數(如果有)。
要即時監控陣列的狀態,請使用以下命令:
watch -n 1 cat /proc/mdstat
這將顯示陣列狀態的即時檢視,包括已同步的陣列百分比和發生的任何錯誤。
要接收陣列狀態更改時的電子郵件通知,我們可以使用 mdadm 工具設定電子郵件通知。為此,我們首先需要安裝 mailutils 包:
sudo apt-get install mailutils
安裝包後,我們可以透過編輯 mdadm.conf 檔案來設定電子郵件通知:
sudo nano /etc/mdadm/mdadm.conf
在檔案末尾新增以下行:
MAILADDR your_email_address NOTIFYFLAG all
將“your_email_address”替換為您實際的電子郵件地址。
儲存並關閉檔案。
現在,每當陣列狀態發生變化時,都會向指定的電子郵件地址傳送電子郵件通知。
透過監控 RAID 5 陣列的狀態,我們可以確保其正常執行並在必要時採取糾正措施。
結論
RAID 5 是一種流行的資料儲存解決方案,因為它在效能和冗餘之間取得了平衡。在本教程中,我們介紹了使用 Linux 中的 mdadm 建立 RAID 5 陣列的步驟。我們首先安裝 mdadm,為驅動器建立分割槽,並使用分散式奇偶校驗建立 RAID 5 陣列。然後,我們使用 ext4 檔案系統格式化陣列,並將其掛載為永久儲存位置。
定期監控 RAID 5 陣列的執行狀況以檢測任何問題並防止資料丟失非常重要。我們介紹瞭如何使用 mdadm 檢查陣列的狀態以及如何更換故障驅動器。
實施 RAID 5 陣列可以成為可靠且經濟高效的資料儲存解決方案。它提供了效能、冗餘和容量的平衡,可以使個人和商業用例受益。