RAID 鏡像意味著相同數據的完整克隆(或鏡像),分別寫入到兩個磁盤中。創建 RAID 1 至少需要兩個磁盤,而且僅用於讀取性能或者可靠性要比數據存儲容量更重要的場合。
在 Linux 中設置 RAID 1
創建鏡像是為了防止因硬盤故障導致數據丟失。鏡像中的每個磁盤包含數據的完整副本。當一個磁盤發生故障時,相同的數據可以從其它正常磁盤中讀取。而後,可以從正在運行的計算機中直接更換發生故障的磁盤,無需任何中斷。
鏡像具有良好的性能。
磁盤利用率為50%。也就是說,如果我們有兩個磁盤每個500GB,總共是1TB,但在鏡像中它只會顯示500GB。
在鏡像如果一個磁盤發生故障不會有數據丟失,因為兩個磁盤中的內容相同。
讀取性能會比寫入性能更好。
創建 RAID 1 至少要有兩個磁盤,你也可以添加更多的磁盤,磁盤數需為2,4,6,8等偶數。要添加更多的磁盤,你的系統必須有 RAID 物理適配器(硬件卡)。
這裡,我們使用軟件 RAID 不是硬件 RAID,如果你的系統有一個內置的物理硬件 RAID 卡,你可以從它的功能界面或使用 Ctrl + I 鍵來訪問它。
需要閱讀: 介紹 RAID 的級別和概念 http://www.linuxidc.com/Linux/2015-08/122191.htm
操作系統:CentOS6.5Final
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、 正如我前面所說,在 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。
3、 正如我提到的,我們使用最少的兩個分區 /dev/sdb 和 /dev/sdc 來創建 RAID 1。我們首先使用fdisk
命令來創建這兩個分區並更改其類型為 raid。
# fdisk /dev/sdb
按照下面的說明
n
創建新的分區。P
選擇主分區。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 的定義,這就是我們沒有檢測到超級塊的原因。
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(重新同步中)。
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 00
自動掛載 Raid 設備
10、 運行mount -av
,檢查 fstab 中的條目是否有錯誤
# mount -av
檢查 fstab 中的錯誤
11、 接下來,使用下面的命令保存 RAID 的配置到文件“mdadm.conf”中。
# mdadm --detail --scan --verbose >> /etc/mdadm.conf
保存 Raid 的配置
上述配置文件在系統重啟時會讀取並加載 RAID 設備。
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(鏡像)是如何工作的。
如何在Linux上構建 RAID 10陣列 http://www.linuxidc.com/Linux/2014-12/110318.htm
Debian軟RAID安裝筆記 - 使用mdadm安裝RAID1 http://www.linuxidc.com/Linux/2013-06/86487.htm
常用RAID技術介紹以及示例演示(多圖) http://www.linuxidc.com/Linux/2013-03/81481.htm
Linux實現最常用的磁盤陣列-- RAID5 http://www.linuxidc.com/Linux/2013-01/77880.htm
RAID0+1和RAID5的性能測試結果 http://www.linuxidc.com/Linux/2012-07/65567.htm
Linux入門教程:磁盤陣列(RAID) http://www.linuxidc.com/Linux/2014-07/104444.htm
via: http://www.tecmint.com/create-raid1-in-linux/
作者:Babin Lonston 譯者:strugglingyouth 校對:wxy
本文由 LCTT 原創翻譯,Linux中國 榮譽推出