在 Linux 下使用 RAID(三):用兩塊磁碟建立 RAID 1(映象)

Babin Lonston發表於2015-08-26

RAID 映象意味著相同資料的完整克隆(或映象),分別寫入到兩個磁碟中。建立 RAID 1 至少需要兩個磁碟,而且僅用於讀取效能或者可靠性要比資料儲存容量更重要的場合。

Create Raid1 in Linux

在 Linux 中設定 RAID 1

建立映象是為了防止因硬碟故障導致資料丟失。映象中的每個磁碟包含資料的完整副本。當一個磁碟發生故障時,相同的資料可以從其它正常磁碟中讀取。而後,可以從正在執行的計算機中直接更換髮生故障的磁碟,無需任何中斷。

RAID 1 的特點

  • 映象具有良好的效能。

  • 磁碟利用率為50%。也就是說,如果我們有兩個磁碟每個500GB,總共是1TB,但在映象中它只會顯示500GB。

  • 在映象如果一個磁碟發生故障不會有資料丟失,因為兩個磁碟中的內容相同。

  • 讀取效能會比寫入效能更好。

要求

建立 RAID 1 至少要有兩個磁碟,你也可以新增更多的磁碟,磁碟數需為2,4,6,8等偶數。要新增更多的磁碟,你的系統必須有 RAID 物理介面卡(硬體卡)。

這裡,我們使用軟體 RAID 不是硬體 RAID,如果你的系統有一個內建的物理硬體 RAID 卡,你可以從它的功能介面或使用 Ctrl + I 鍵來訪問它。

需要閱讀: 介紹 RAID 的級別和概念

在我的伺服器安裝

作業系統 :  CentOS 6.5 Final
IP 地址    :  192.168.0.226
主機名    :  rd1.tecmintlocal.com
磁碟 1 [20GB]  :  /dev/sdb
磁碟 2 [20GB]  :  /dev/sdc

本文將指導你在 Linux 平臺上使用 mdadm (用於建立和管理 RAID )一步步的建立一個軟體 RAID 1 (映象)。同樣的做法也適用於如 RedHat,CentOS,Fedora 等 Linux 發行版。

第1步:安裝所需軟體並且檢查磁碟

1、 正如我前面所說,在 Linux 中我們需要使用 mdadm 軟體來建立和管理 RAID。所以,讓我們用 yum 或 apt-get 的軟體包管理工具在 Linux 上安裝 mdadm 軟體包。

# yum install mdadm     [在 RedHat 系統]
# apt-get install mdadm     [在 Debain 系統]

2、 一旦安裝好mdadm包,我們需要使用下面的命令來檢查磁碟是否已經配置好。

# mdadm -E /dev/sd[b-c]

Check RAID on Disks

檢查 RAID 的磁碟

正如你從上面圖片看到的,沒有檢測到任何超級塊,這意味著還沒有建立RAID。

第2步:為 RAID 建立分割槽

3、 正如我提到的,我們使用最少的兩個分割槽 /dev/sdb 和 /dev/sdc 來建立 RAID 1。我們首先使用fdisk命令來建立這兩個分割槽並更改其型別為 raid。

# fdisk /dev/sdb

按照下面的說明

  • n 建立新的分割槽。
  • 然後按 P 選擇主分割槽。
  • 接下來選擇分割槽號為1。
  • 按兩次Enter鍵預設將整個容量分配給它。
  • 然後,按 P 來列印建立好的分割槽。
  • L,列出所有可用的型別。
  • t 修改分割槽型別。
  • 鍵入 fd 設定為 Linux 的 RAID 型別,然後按 Enter 確認。
  • 然後再次使用p檢視我們所做的更改。
  • 使用w儲存更改。

Create Disk Partitions

建立磁碟分割槽

在建立“/dev/sdb”分割槽後,接下來按照同樣的方法建立分割槽 /dev/sdc 。

# fdisk /dev/sdc

Create Second Partitions

建立第二個分割槽

4、 一旦這兩個分割槽建立成功後,使用相同的命令來檢查 sdb 和 sdc 分割槽並確認 RAID 分割槽的型別如上圖所示。

# mdadm -E /dev/sd[b-c]

Verify Partitions Changes

驗證分割槽變化

Check RAID Type

檢查 RAID 型別

注意: 正如你在上圖所看到的,在 sdb1 和 sdc1 中沒有任何對 RAID 的定義,這就是我們沒有檢測到超級塊的原因。

第3步:建立 RAID 1 裝置

5、 接下來使用以下命令來建立一個名為 /dev/md0 的“RAID 1”裝置並驗證它

# mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sd[b-c]1
# cat /proc/mdstat

Create RAID Device

建立RAID裝置

6、 接下來使用如下命令來檢查 RAID 裝置型別和 RAID 陣列

# mdadm -E /dev/sd[b-c]1
# mdadm --detail /dev/md0

Check RAID Device type

檢查 RAID 裝置型別

Check RAID Device Array

檢查 RAID 裝置陣列

從上圖中,人們很容易理解,RAID 1 已經建立好了,使用了 /dev/sdb1 和 /dev/sdc1 分割槽,你也可以看到狀態為 resyncing(重新同步中)。

第4步:在 RAID 裝置上建立檔案系統

7、 給 md0 上建立 ext4 檔案系統

# mkfs.ext4 /dev/md0

Create RAID Device Filesystem

建立 RAID 裝置檔案系統

8、 接下來,掛載新建立的檔案系統到“/mnt/raid1”,並建立一些檔案,驗證在掛載點的資料

# mkdir /mnt/raid1
# mount /dev/md0 /mnt/raid1/
# touch /mnt/raid1/tecmint.txt
# echo "tecmint raid setups" > /mnt/raid1/tecmint.txt

Mount Raid Device

掛載 RAID 裝置

9、為了在系統重新啟動自動掛載 RAID 1,需要在 fstab 檔案中新增條目。開啟/etc/fstab檔案並新增以下行:

/dev/md0                /mnt/raid1              ext4    defaults        0 0

Raid Automount Device

自動掛載 Raid 裝置

10、 執行mount -av,檢查 fstab 中的條目是否有錯誤

# mount -av

Check Errors in fstab

檢查 fstab 中的錯誤

11、 接下來,使用下面的命令儲存 RAID 的配置到檔案“mdadm.conf”中。

# mdadm --detail --scan --verbose >> /etc/mdadm.conf

Save Raid Configuration

儲存 Raid 的配置

上述配置檔案在系統重啟時會讀取並載入 RAID 裝置。

第5步:在磁碟故障後檢查資料

12、我們的主要目的是,即使在任何磁碟故障或當機時必須保證資料是可用的。讓我們來看看,當任何一個磁碟不可用時會發生什麼。

# mdadm --detail /dev/md0

Raid Device Verify

驗證 RAID 裝置

在上面的圖片中,我們可以看到在 RAID 中有2個裝置是可用的,並且 Active Devices 是2。現在讓我們看看,當一個磁碟拔出(移除 sdc 磁碟)或損壞後會發生什麼。

# ls -l /dev | grep sd
# mdadm --detail /dev/md0

Test RAID Devices

測試 RAID 裝置

現在,在上面的圖片中你可以看到,一個磁碟不見了。我從虛擬機器上刪除了一個磁碟。此時讓我們來檢查我們寶貴的資料。

# cd /mnt/raid1/
# cat tecmint.txt

Verify RAID Data

驗證 RAID 資料

你可以看到我們的資料仍然可用。由此,我們可以瞭解 RAID 1(映象)的優勢。在接下來的文章中,我們將看到如何設定一個 RAID 5 條帶化分散式奇偶校驗。希望這可以幫助你瞭解 RAID 1(映象)是如何工作的。


via: http://www.tecmint.com/create-raid1-in-linux/

作者:Babin Lonston 譯者:strugglingyouth 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

相關文章