1. 程式人生 > >Centos 7 磁盤陣列配置介紹(一)

Centos 7 磁盤陣列配置介紹(一)

磁盤陣列 raid

Centos 7 磁盤陣列配置介紹
每當我們提到磁盤陣列,相信廣大管理員並不陌生,比如我們一般安裝服務器系統的時候,先前條件是配置服務器的RAID信息,配置RAID信息可以提高服務器性能及數據的安全及穩定性,當然RAID分多少等級,最為常見的是RAID0、RAID1、RAID5、RAID1+0、RAID10等,每個RAID等級都會帶來不同的效果,比如RAID0會將多個磁盤組合成一個大的磁盤空間,這樣會大大增加磁盤空間的利用率,但是缺點就是只要壞一塊磁盤就會導致所有數據丟失,再說說RAID1、RAID5等RAID等級對磁盤的數據有要求,同時磁盤空間利用率沒有RAID0那麽高,比如RAID1當配置後會將磁盤一半做為磁盤鏡像,保證數據的可用性,RAID1最少兩塊磁盤,比如500G的兩塊磁盤配置RAID1,可用空間約等於500G,會將另外500G作為磁盤鏡像,比如RAID5最少需要三塊磁盤,會將其中一塊磁盤作為鏡像,所以可以根據自己的需求來進行配置。下面我們大概介紹一下RAID等級介紹:
RAID0 是一種簡單的、無數據校驗的數據條帶化技術。實際上不是一種真正的 RAID ,因為它並不提供任何形式的冗余策略。 RAID0 將所在磁盤條帶化後組成大容量的存儲空間,將數據分散存儲在所有磁盤中,以獨立訪問方式實現多塊磁盤的並讀訪問。由於可以並發執行 I/O 操作,總線帶寬得到充分利用。再加上不需要進行數據校驗,RAID0 的性能在所有 RAID 等級中是最高的。理論上講,一個由 n 塊磁盤組成的 RAID0 ,它的讀寫性能是單個磁盤性能的 n 倍,但由於總線帶寬等多種因素的限制,實際的性能提升低於理論值。RAID0 具有低成本、高讀寫性能、 100% 的高存儲空間利用率等優點,但是它不提供數據冗余保護,一旦數據損壞,將無法恢復。 因此, RAID0 一般適用於對性能要求嚴格但對數據安全性和可靠性不高的應用,如視頻、音頻存儲、臨時數據緩存空間等。
RAID1 稱為鏡像,它將數據完全一致地分別寫到工作磁盤和鏡像 磁盤,它的磁盤空間利用率為 50% 。 RAID1 在數據寫入時,響應時間會有所影響,但是讀數據的時候沒有影響。 RAID1 提供了最佳的數據保護,一旦工作磁盤發生故障,系統自動從鏡像磁盤讀取數據,不會影響用戶工作。工作原理如圖 3 所示。
  RAID1 與 RAID0 剛好相反,是為了增強數據安全性使兩塊 磁盤數據呈現完全鏡像,從而達到安全性好、技術簡單、管理方便。 RAID1 擁有完全容錯的能力,但實現成本高。 RAID1 應用於對順序讀寫性能要求高以及對數據保護極為重視的應用,如對郵件系統的數據保護。
RAID5 應該是目前最常見的 RAID 等級,它的原理與 RAID4 相似,區別在於校驗數據分布在陣列中的所有磁盤上,而沒有采用專門的校驗磁盤。對於數據和校驗數據,它們的寫操作可以同時發生在完全不同的磁盤上。因此, RAID5 不存在 RAID4 中的並發寫操作時的校驗盤性能瓶頸問題。另外, RAID5 還具備很好的擴展性。當陣列磁盤 數量增加時,並行操作量的能力也隨之增長,可比 RAID4 支持更多的磁盤,從而擁有更高的容量以及更高的性能。
RAID5 兼顧存儲性能、數據安全和存儲成本等各方面因素,它可以理解為 RAID0 和 RAID1 的折中方案,是目前綜合性能最佳的數據保護解決方案。 RAID5 基本上可以滿足大部分的存儲應用需求,數據中心大多采用它作為應用數據的保護方案。
技術分享圖片
言歸正傳,我們今天主要介紹在Linux系統下如何配置磁盤陣列。具體見下:
我們今天在Centos7下做介紹,我們首先給系統增加4塊磁盤
技術分享圖片
然後我們通過fdisk -l查看磁盤信息
[root@oa-nginx ~]# fdisk -l

Disk /dev/sda: 64.4 GB, 64424509440 bytes, 125829120 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0000f635

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 125829119 61864960 8e Linux LVM

Disk /dev/mapper/cl-root: 38.3 GB, 38323355648 bytes, 74850304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mapper/cl-swap: 6308 MB, 6308233216 bytes, 12320768 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mapper/cl-home: 18.7 GB, 18710790144 bytes, 36544512 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/sdb: 17.2 GB, 17179869184 bytes, 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/sdc: 17.2 GB, 17179869184 bytes, 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/sdd: 17.2 GB, 17179869184 bytes, 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/sde: 17.2 GB, 17179869184 bytes, 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
磁盤準備好後,我們準備配置磁盤陣列,因為linux下配置磁盤陣列需要使用mdadm命令,所以我們需要安裝
我們首先安裝mdadm工具
yum install -y mdadm
技術分享圖片
接著我們介紹一下命令---mdadm參數
-a 檢測設備名稱
-n 指定設備數量
-l 指定RAID等級
-C 創建
-v 顯示過程
-f 模擬設備損壞
-r 移除設備
-a 增加設備
-Q 查看摘要信息
-D 查看詳細信息
-S 停止

我們使用mdadm命令創建RAID10名稱為:dev/md0:
C代表創建操作,-v顯示創建過程,-a yes檢查RAID沒名稱,-n是用到硬盤個數,-i定義RAID的級別而後面寫上要增加整列的硬盤名稱
mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
技術分享圖片
格式化RAID磁盤整理為ext4格式
mkfs.ext4 /dev/md0
技術分享圖片
創建掛載目錄
mkdir /RAID
技術分享圖片
mount /dev/md0 /RAID
技術分享圖片
df -h
技術分享圖片
設置為系統重啟也自動生效
echo "/dev/md0 /RAID ext4 default 0 0" >> /etc/fstab
技術分享圖片
查看/dev/md0設備信息
mdadm -D /dev/md0
技術分享圖片
接下來我們模擬一塊硬盤損壞
mdadm /dev/md0 -f /dev/sdb
技術分享圖片
mdadm -D /dev/md0
技術分享圖片
損壞後依然可以正常使用
因為RAID10允許一組RAID1硬盤中存在一個故障而不影響使用,所以我們任然可以使用正常點的創建或者刪除文件,現在就把新的硬盤增加進去吧,當然也可以讓硬盤sdb恢復使用,重啟後執行以下命令
mdadm /dev/md0 -a /dev/sdb
我們重啟系統後發現無法啟動
技術分享圖片
自動掛載的那個fstab文件有問題,你在這個界面直接輸入密碼,然後把你增加的刪除,重啟就OK
註釋後,保存重啟
技術分享圖片
重啟後恢復正常
技術分享圖片
我們再次執行上面的操作
mdadm /dev/md0 -a /dev/sdb
技術分享圖片
我們再次查看
mdadm -D /dev/md0
技術分享圖片

Centos 7 磁盤陣列配置介紹(一)