您好,登錄后才能下訂單哦!
Linux的RAID**磁盤陣列與陣列卡**
一、RAID概念?
RAID——**獨立磁盤冗余陣列(Redundant Array of Independent Disks),原本叫做廉價磁盤冗余陣列。RAID 的基本思想是將多個容量較小、相對廉價的磁盤進行有機組合,從而以較低的成本獲得與昂貴大容量磁盤相當的容量、性能、可靠性。隨著磁盤成本和價格的不斷降低, RAID 可以使用大部分的磁盤, “廉價” 已經毫無意義。所以RAID咨詢委員會使用“獨立”代替“廉價”。**
二、為什么需要RAID?
RAID**的種類目前來說使用的較多的是RAID0、RAID1、RAID5、RAID6。RAID的初心是為大型服務器提供高端的存儲功能和冗余的數據安全,但RAID0顯然是不符合該要求的,因為RAID0是為了極大程度地提高數據讀寫(I/O)的效率和硬盤的使用率,因此其原理是同時向多個磁盤中同時寫入信息,但是不保證數據的安全可靠性,有一塊磁盤掛了就無法導致數據丟失,適用于僅僅只需要高讀寫能力的場景,而后面的類型對于數據的安全與可靠性都有了明顯的改善與加強。**
RAID1——**鏡像復制,使用兩塊或以上的磁盤(一般是偶數塊)進行讀寫,向一塊磁盤中寫入信息,并且復制一份到另一塊磁盤中,這樣保證了數據的可靠讀寫,兩者互不影響,但是使用率只有原本資源的一半,所以是可靠性較強但資源耗費也是比較大的。**
說白了,RAID0是只在乎速度,而RAID1考慮的是安全。而RAID5則是由三塊磁盤構成,憑借算法進行奇偶差錯校驗來確保數據的可靠性的同時兼顧磁盤使用率,其允許一塊磁盤掛掉,但是在修復重建數據的時間段中不可以再有磁盤損壞,否則數據仍然會丟失。
RAID6**則是基于RAID5的基礎上進行雙重校驗以保證兩塊磁盤掛掉的情況下數據仍然不會丟失。但是其讀寫性能就比較低了尤其是磁盤損壞的時候,讀寫速度將急劇下降,而且價格方面也是較其他而言更加昂貴。**
三、軟RAID配置實驗操作流程
1. 首先將分區類型轉換為fd(前提是已經添加磁盤)
2. 管理RAID磁盤
3. 格式化文件格式
4. 掛載
下面對RAID0進行配置的實驗操作:
[root@lokott ~]# lsblk //**查看磁盤概要信息**
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 6G 0 part /boot
├─sda2 8:2 0 20G 0 part /
├─sda3 8:3 0 4G 0 part [SWAP]
├─sda4 8:4 0 1K 0 part
└─sda5 8:5 0 10G 0 part /home
sdb 8:16 0 20G 0 disk
sdc 8:32 0 20G 0 disk
sdd 8:48 0 20G 0 disk
sde 8:64 0 20G 0 disk
sr0 11:0 1 4.2G 0 rom /run/media/root/CentOS 7 x86_64
[root@lokott ~]# fdisk /dev/sdb //**設置b磁盤分區格式為fd**
歡迎使用 fdisk (util-linux 2.23.2)。
更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。
Device does not contain a recognized partition table
使用磁盤標識符 0x363a740e 創建新的 DOS 磁盤標簽。
命令(輸入 m 獲取幫助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分區號 (1-4,默認 1):
起始 扇區 (2048-41943039,默認為 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認為 41943039):
將使用默認值 41943039
分區 1 已設置為 Linux 類型,大小設為 20 GiB
命令(輸入 m 獲取幫助):t
已選擇分區 1
Hex 代碼(輸入 L 列出所有代碼):fd
已將分區“Linux”的類型更改為“Linux raid autodetect”
命令(輸入 m 獲取幫助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盤。
[root@lokott ~]# fdisk /dev/sdc
歡迎使用 fdisk (util-linux 2.23.2)。
更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。
Device does not contain a recognized partition table
使用磁盤標識符 0x1d0b68fc 創建新的 DOS 磁盤標簽。
命令(輸入 m 獲取幫助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分區號 (1-4,默認 1):
起始 扇區 (2048-41943039,默認為 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認為 41943039):
將使用默認值 41943039
分區 1 已設置為 Linux 類型,大小設為 20 GiB
命令(輸入 m 獲取幫助):t
已選擇分區 1
Hex 代碼(輸入 L 列出所有代碼):fd
已將分區“Linux”的類型更改為“Linux raid autodetect”
命令(輸入 m 獲取幫助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盤。
//**查看分區是否正確**
[root@lokott ~]# fdisk -l /dev/sd[b-c]
磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0x363a740e
設備 Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 fd Linux raid autodetect
磁盤 /dev/sdc:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0x1d0b68fc
設備 Boot Start End Blocks Id System
/dev/sdc1 2048 41943039 20970496 fd Linux raid autodetect
[root@lokott ~]# mdadm -C -v /dev/md0 -l0 -n2 /dev/sd[b-c] //mdadm**命令進行RAID磁盤管理**
mdadm: chunk size defaults to 512K //md0**是自己取的RAID0的設備名稱,-l是level,0表示的是RAID0**
mdadm: partition table exists on /dev/sdb //1 就是RAID1,5就是RAID5,-n表示需要幾塊磁盤,后面的加的
mdadm: partition table exists on /dev/sdb but will be lost or //**就是磁盤數量**
? meaningless after creating array
mdadm: partition table exists on /dev/sdc
mdadm: partition table exists on /dev/sdc but will be lost or
? meaningless after creating array
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@lokott ~]# lsblk /dev/md0 //**查看概要信息的確是RAID0**
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
md0 9:0 0 40G 0 raid0
[root@lokott ~]# mkfs -t xfs /dev/md0
meta-data=/dev/md0 isize=512 agcount=16, agsize=654720 blks
? = sectsz=512 attr=2, projid32bit=1
? = crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=10475520, imaxpct=25
? = sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=5120, version=2
? = sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@lokott ~]# mount /dev/md0 /mnt
[root@lokott ~]# df -hT
文件系統 類型 容量 已用 可用 已用% 掛載點
/dev/sda2 xfs 20G 4.4G 16G 22% /
devtmpfs devtmpfs 474M 0 474M 0% /dev
tmpfs tmpfs 489M 0 489M 0% /dev/shm
tmpfs tmpfs 489M 7.1M 482M 2% /run
tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda5 xfs 10G 37M 10G 1% /home
/dev/sda1 xfs 6.0G 158M 5.9G 3% /boot
tmpfs tmpfs 98M 4.0K 98M 1% /run/user/42
tmpfs tmpfs 98M 20K 98M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/md0 xfs 40G 33M 40G 1% /mnt
四、總結
其實軟RAID的磁盤陣列的設置還是比較簡單的,對于其他類型的RAID的配置的步驟是一樣的,當然也可是設置備份,就是在mdadm命令的最后加上-xn (n表示的是備用的磁盤的數量),然后加上設備名稱,這里主要是軟RAID的設置操作。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。