在Linux下使用RAID(三):用兩塊磁盤創(chuàng)建RAID 1
RAID 鏡像意味著相同數(shù)據(jù)的完整克?。ɑ蜱R像),分別寫入到兩個磁盤中。創(chuàng)建 RAID 1 至少需要兩個磁盤,而且僅用于讀取性能或者可靠性要比數(shù)據(jù)存儲容量更重要的場合。
在 Linux 中設(shè)置 RAID 1
創(chuàng)建鏡像是為了防止因硬盤故障導(dǎo)致數(shù)據(jù)丟失。鏡像中的每個磁盤包含數(shù)據(jù)的完整副本。當(dāng)一個磁盤發(fā)生故障時,相同的數(shù)據(jù)可以從其它正常磁盤中讀取。而后,可以從正在運行的計算機中直接更換發(fā)生故障的磁盤,無需任何中斷。
RAID 1 的特點
-
鏡像具有良好的性能。
-
磁盤利用率為50%。也就是說,如果我們有兩個磁盤每個500GB,總共是1TB,但在鏡像中它只會顯示500GB。
-
在鏡像如果一個磁盤發(fā)生故障不會有數(shù)據(jù)丟失,因為兩個磁盤中的內(nèi)容相同。
-
讀取性能會比寫入性能更好。
要求
創(chuàng)建 RAID 1 至少要有兩個磁盤,你也可以添加更多的磁盤,磁盤數(shù)需為2,4,6,8等偶數(shù)。要添加更多的磁盤,你的系統(tǒng)必須有 RAID 物理適配器(硬件卡)。
這里,我們使用軟件 RAID 不是硬件 RAID,如果你的系統(tǒng)有一個內(nèi)置的物理硬件 RAID 卡,你可以從它的功能界面或使用 Ctrl + I 鍵來訪問它。
需要閱讀:介紹 RAID 的級別和概念
在我的服務(wù)器安裝
操作系統(tǒng) : CentOS 6.5 Final
IP 地址 : 192.168.0.226
主機名 : rd1.tecmintlocal.com
磁盤 1 [20GB] : /dev/sdb
磁盤 2 [20GB] : /dev/sdc
本文將指導(dǎo)你在 Linux 平臺上使用 mdadm (用于創(chuàng)建和管理 RAID )一步步的建立一個軟件 RAID 1 (鏡像)。同樣的做法也適用于如 RedHat,CentOS,F(xiàn)edora 等 Linux 發(fā)行版。
第1步:安裝所需軟件并且檢查磁盤
1、正如我前面所說,在 Linux 中我們需要使用 mdadm 軟件來創(chuàng)建和管理 RAID。所以,讓我們用 yum 或 apt-get 的軟件包管理工具在 Linux 上安裝 mdadm 軟件包。
# yum install mdadm [在 RedHat 系統(tǒng)]
# apt-get install mdadm [在 Debain 系統(tǒng)]
2、一旦安裝好mdadm
包,我們需要使用下面的命令來檢查磁盤是否已經(jīng)配置好。
# mdadm -E /dev/sd[b-c]
檢查 RAID 的磁盤
正如你從上面圖片看到的,沒有檢測到任何超級塊,這意味著還沒有創(chuàng)建RAID。
第2步:為 RAID 創(chuàng)建分區(qū)
3、正如我提到的,我們使用最少的兩個分區(qū) /dev/sdb 和 /dev/sdc 來創(chuàng)建 RAID 1。我們首先使用fdisk
命令來創(chuàng)建這兩個分區(qū)并更改其類型為 raid。
# fdisk /dev/sdb
按照下面的說明
- 按
n
創(chuàng)建新的分區(qū)。 - 然后按
P
選擇主分區(qū)。 - 接下來選擇分區(qū)號為1。
- 按兩次回車鍵默認(rèn)將整個容量分配給它。
- 然后,按
P
來打印創(chuàng)建好的分區(qū)。 - 按
L
,列出所有可用的類型。 - 按
t
修改分區(qū)類型。 - 鍵入
fd
設(shè)置為 Linux 的 RAID 類型,然后按 Enter 確認(rèn)。 - 然后再次使用
p
查看我們所做的更改。 - 使用
w
保存更改。
創(chuàng)建磁盤分區(qū)
#p#
在創(chuàng)建“/dev/sdb”分區(qū)后,接下來按照同樣的方法創(chuàng)建分區(qū) /dev/sdc 。
# fdisk /dev/sdc
創(chuàng)建第二個分區(qū)
4、一旦這兩個分區(qū)創(chuàng)建成功后,使用相同的命令來檢查 sdb 和 sdc 分區(qū)并確認(rèn) RAID 分區(qū)的類型如上圖所示。
# mdadm -E /dev/sd[b-c]
驗證分區(qū)變化
檢查 RAID 類型
注意:正如你在上圖所看到的,在 sdb1 和 sdc1 中沒有任何對 RAID 的定義,這就是我們沒有檢測到超級塊的原因。
第3步:創(chuàng)建 RAID 1 設(shè)備
5、接下來使用以下命令來創(chuàng)建一個名為 /dev/md0 的“RAID 1”設(shè)備并驗證它
# mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sd[b-c]1
# cat /proc/mdstat
創(chuàng)建RAID設(shè)備
6、接下來使用如下命令來檢查 RAID 設(shè)備類型和 RAID 陣列
# mdadm -E /dev/sd[b-c]1
# mdadm --detail /dev/md0
檢查 RAID 設(shè)備類型
檢查 RAID 設(shè)備陣列
從上圖中,人們很容易理解,RAID 1 已經(jīng)創(chuàng)建好了,使用了 /dev/sdb1 和 /dev/sdc1 分區(qū),你也可以看到狀態(tài)為 resyncing(重新同步中)。
#p#
第4步:在 RAID 設(shè)備上創(chuàng)建文件系統(tǒng)
7、給 md0 上創(chuàng)建 ext4 文件系統(tǒng)
# mkfs.ext4 /dev/md0
創(chuàng)建 RAID 設(shè)備文件系統(tǒng)
8、接下來,掛載新創(chuàng)建的文件系統(tǒng)到“/mnt/raid1”,并創(chuàng)建一些文件,驗證在掛載點的數(shù)據(jù)
# mkdir /mnt/raid1
# mount /dev/md0 /mnt/raid1/
# touch /mnt/raid1/tecmint.txt
# echo "tecmint raid setups" > /mnt/raid1/tecmint.txt
掛載 RAID 設(shè)備
9、為了在系統(tǒng)重新啟動自動掛載 RAID 1,需要在 fstab 文件中添加條目。打開/etc/fstab
文件并添加以下行:
/dev/md0 /mnt/raid1 ext4 defaults 0 0
自動掛載 Raid 設(shè)備
10、運行mount -av
,檢查 fstab 中的條目是否有錯誤
# mount -av
檢查 fstab 中的錯誤
11、接下來,使用下面的命令保存 RAID 的配置到文件“mdadm.conf”中。
# mdadm --detail --scan --verbose >> /etc/mdadm.conf
保存 Raid 的配置
上述配置文件在系統(tǒng)重啟時會讀取并加載 RAID 設(shè)備。
第5步:在磁盤故障后檢查數(shù)據(jù)
12、我們的主要目的是,即使在任何磁盤故障或死機時必須保證數(shù)據(jù)是可用的。讓我們來看看,當(dāng)任何一個磁盤不可用時會發(fā)生什么。
# mdadm --detail /dev/md0
驗證 RAID 設(shè)備
在上面的圖片中,我們可以看到在 RAID 中有2個設(shè)備是可用的,并且 Active Devices 是2?,F(xiàn)在讓我們看看,當(dāng)一個磁盤拔出(移除 sdc 磁盤)或損壞后會發(fā)生什么。
# ls -l /dev | grep sd
# mdadm --detail /dev/md0
測試 RAID 設(shè)備
現(xiàn)在,在上面的圖片中你可以看到,一個磁盤不見了。我從虛擬機上刪除了一個磁盤。此時讓我們來檢查我們寶貴的數(shù)據(jù)。
# cd /mnt/raid1/
# cat tecmint.txt
驗證 RAID 數(shù)據(jù)
你可以看到我們的數(shù)據(jù)仍然可用。由此,我們可以了解 RAID 1(鏡像)的優(yōu)勢。在接下來的文章中,我們將看到如何設(shè)置一個 RAID 5 條帶化分布式奇偶校驗。希望這可以幫助你了解 RAID 1(鏡像)是如何工作的。