在 Linux 下使用 RAID(三):用兩塊磁碟創建 RAID 1(鏡像)
在 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]
檢查 RAID 的磁碟
正如你從上面圖片看到的,沒有檢測到任何超級塊,這意味著還沒有創建RAID。
第2步:為 RAID 創建分區
3、 正如我提到的,我們使用最少的兩個分區 /dev/sdb 和 /dev/sdc 來創建 RAID 1。我們首先使用fdisk
命令來創建這兩個分區並更改其類型為 raid。
# fdisk /dev/sdb
按照下面的說明
- 按
n
創建新的分區。 - 然後按
P
選擇主分區。 - 接下來選擇分區號為1。
- 按兩次回車鍵默認將整個容量分配給它。
- 然後,按
P
來列印創建好的分區。 - 按
L
,列出所有可用的類型。 - 按
t
修改分區類型。 - 鍵入
fd
設置為 Linux 的 RAID 類型,然後按 Enter 確認。 - 然後再次使用
p
查看我們所做的更改。 - 使用
w
保存更改。
創建磁碟分區
在創建「/dev/sdb」分區後,接下來按照同樣的方法創建分區 /dev/sdc 。
# fdisk /dev/sdc
創建第二個分區
4、 一旦這兩個分區創建成功後,使用相同的命令來檢查 sdb 和 sdc 分區並確認 RAID 分區的類型如上圖所示。
# mdadm -E /dev/sd[b-c]
驗證分區變化
檢查 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
創建RAID設備
6、 接下來使用如下命令來檢查 RAID 設備類型和 RAID 陣列
# mdadm -E /dev/sd[b-c]1
# mdadm --detail /dev/md0
檢查 RAID 設備類型
檢查 RAID 設備陣列
從上圖中,人們很容易理解,RAID 1 已經創建好了,使用了 /dev/sdb1 和 /dev/sdc1 分區,你也可以看到狀態為 resyncing(重新同步中)。
第4步:在 RAID 設備上創建文件系統
7、 給 md0 上創建 ext4 文件系統
# mkfs.ext4 /dev/md0
創建 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
掛載 RAID 設備
9、為了在系統重新啟動自動掛載 RAID 1,需要在 fstab 文件中添加條目。打開/etc/fstab
文件並添加以下行:
/dev/md0 /mnt/raid1 ext4 defaults 0 0
自動掛載 Raid 設備
10、 運行mount -av
,檢查 fstab 中的條目是否有錯誤
# mount -av
檢查 fstab 中的錯誤
11、 接下來,使用下面的命令保存 RAID 的配置到文件「mdadm.conf」中。
# mdadm --detail --scan --verbose >> /etc/mdadm.conf
保存 Raid 的配置
上述配置文件在系統重啟時會讀取並載入 RAID 設備。
第5步:在磁碟故障後檢查數據
12、我們的主要目的是,即使在任何磁碟故障或死機時必須保證數據是可用的。讓我們來看看,當任何一個磁碟不可用時會發生什麼。
# mdadm --detail /dev/md0
驗證 RAID 設備
在上面的圖片中,我們可以看到在 RAID 中有2個設備是可用的,並且 Active Devices 是2。現在讓我們看看,當一個磁碟拔出(移除 sdc 磁碟)或損壞後會發生什麼。
# ls -l /dev | grep sd
# mdadm --detail /dev/md0
測試 RAID 設備
現在,在上面的圖片中你可以看到,一個磁碟不見了。我從虛擬機上刪除了一個磁碟。此時讓我們來檢查我們寶貴的數據。
# cd /mnt/raid1/
# cat tecmint.txt
驗證 RAID 數據
你可以看到我們的數據仍然可用。由此,我們可以了解 RAID 1(鏡像)的優勢。在接下來的文章中,我們將看到如何設置一個 RAID 5 條帶化分散式奇偶校驗。希望這可以幫助你了解 RAID 1(鏡像)是如何工作的。
via: http://www.tecmint.com/create-raid1-in-linux/
作者:Babin Lonston 譯者:strugglingyouth 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive