如何在Ubuntu 16.04上使用‘mdadm’建立RAID 5儲存陣列
在本文中,我們將學習如何使用‘mdadm’實用程式建立RAID 5陣列配置。
‘mdadm’是一個用於在Linux上建立和管理具有RAID功能的儲存陣列的實用程式,管理員可以靈活地管理單個儲存裝置並建立高效能和冗餘的邏輯儲存。

RAID 5陣列是一種透過跨所有可用裝置條帶化資料來實現的型別。每個條帶的每個元件都由奇偶校驗塊計算。如果任何裝置發生故障,奇偶校驗塊將使用剩餘的塊來計算來自裝置的缺失資料。然後接收奇偶校驗塊的裝置將旋轉,以便每個裝置都具有關於儲存的平衡數量的奇偶校驗資訊。
- RAID 5的主要優點是冗餘性和更高的可用儲存容量。
- 在RAID 5中,奇偶校驗資訊是分散式的,一個磁碟容量將用於奇偶校驗。
前提條件
- 一臺具有sudo許可權的非root使用者的Ubuntu機器。
- 多個用於建立RAID儲存的原始儲存裝置。
- 為了完成此演示,我們需要至少3個儲存裝置。
要查詢連線到機器的儲存裝置,可以使用以下命令。
使用‘mdadm’命令建立新的RAID 5陣列。
在開始任何操作之前,我們將檢查連線到機器的現有磁碟。以下是列出可用磁碟的命令。
$ lsblk –o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT Output NAME SIZE FSTYPE TYPE MOUNTPOINT sda 20G disk sdb 20G disk sdc 20G linux_raid_member disk vda 20G disk ├─vda1 20G ext4 part / └─vda15 1M part
正如我們在上面的輸出中看到的,我們有3個沒有檔案系統的20GB磁碟,這些裝置在本機或會話中分別命名為/dev/sda、/dev/sdb和/dev/sdc。
為了建立RAID 5陣列,我們將使用mdadm – 命令來建立裝置名稱、我們想要建立的RAID級別以及連線到RAID的裝置數量。
$ sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc
mdadm工具將啟動陣列的建立,完成配置需要一些時間,我們可以使用以下命令監控進度
$ cat /proc/mdstat Output Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] md0 : active raid5 sdc[3] sdb[1] sda[0] 24792064 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_] [===>.................] recovery = 15.6% (16362536/24792064) finish=7.3min speed=200808K/sec unused devices: <none>
在上面的輸出中,我們可以看到/dev/md0裝置正在使用/dev/sda、/dev/sdb和/dev/sdc儲存裝置建立RAID 5,這也會顯示RAID裝置的進度。
建立和掛載檔案系統
在我們掛載陣列磁碟之前,我們需要在使用上述步驟建立的陣列磁碟上建立一個檔案系統。
我們將在陣列上建立一個檔案系統
$ sudo mkfs.ext4 –F /dev/md0
我們現在將建立一個掛載點並將上面步驟中建立的新RAID磁碟連線到該掛載點。
$ sudo mkdir –p /mnt/raiddisk1 $ sudo mount /dev/md0 /mnt/raiddisk1
驗證新的掛載點或RAID磁碟
$ df –h –x devtmpfs –x tmpfs Output Filesystem Size Used Avail Use% Mounted on /dev/vda1 20G 1.1G 18G 6% / /dev/md0 40G 60M 39G 1% /mnt/raiddisk1
正如我們所看到的,新的檔案系統已掛載並可訪問。
現在我們可以掃描活動陣列並使用以下命令追加檔案
$ sudo mdadm –details –scan | sudo tee –a /etc/mdadm/mdadm.conf
我們需要更新‘initramfs’檔案,以便在機器啟動引導過程時RAID陣列可用。
$ sudo update-initramfs -u
在啟動時自動掛載RAID陣列。
將以下行新增到/etc/fstab。
/dev/md0 /mnt/raiddisk1 ext4 defaults,nofail,discard 0 0
在上述設定和配置中,我們已經使用三個磁碟配置了一個RAID 5級別陣列,並在啟動時掛載了磁碟,以便每當我們重新啟動伺服器時,RAID磁碟都會載入。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP