您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關RAID磁盤陣列的應用是怎么樣的,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
RAID一般翻譯為磁盤陣列,全稱是 Redundant Arrays of Inexpensive Disk,最初的構想是源于加州大學伯克利分校的一個研究小組的項目,他們希望通過大量廉價的硬盤來組建價格便宜,可用性高的磁盤陣列。但是RAID發展到今天,已經背離了當初價格便宜的初衷。但是RAID也帶來了另外的好處,如何合理選擇RAID的級別,可以構建出具有更高可用性,更好地容錯的磁盤。
RAID主要分為軟件RAID和硬件RAID,軟件RAID主要是通過操作系統來實現,這樣會增加CPU的負擔,所以在實際場景中極少使用。硬件RAID使用獨立的硬件設備和控制芯片,整體性能優于軟件RAID。RAID有不同的規范,但是總體上可以分為兩種:標準RAID和混合RAID。雖然現在的RAID有很多不同的規范,但是很多規范只是一種過渡性的實驗產品,在實際的生產環境中幾乎不使用。
1、標準RAID
1.1 RAID 0
RAID 0也稱為條帶(strping),它將兩個以上的硬盤串聯起來,成為一個大容量的磁盤。在存儲數據時,數據分散存儲在這些磁盤中。因為數據讀寫都可以并行的進行,所以在所有的級別中,RIID的速度是最快的。但是RAID既沒有冗余功能,也不提供容錯能力。如果有一個物理磁盤損壞,所有的數據都會丟失。所以,RAID只是在一些對數據安全性要求不高,但是速度要求較高的場景下使用,比如視頻,圖像等工作站。
1.2 RAID 1
RAID 1稱為鏡像技術,需要兩塊以上的硬盤互作鏡像。也就是說,主盤上的數據和鏡像盤上的數據完全一樣。因此,在多線程的操作系統會大大提高數據的讀取速度。RAID 1 的可靠性非常高,只要有一塊硬盤正常就可以保證數據的完整性。但是RAID的缺點是浪費了大量的存儲空間。
RAID2-RAID4屬于實驗性的產品實際生產環境很少使用。
1.3 RAID 5
RAID 5引入了數據校驗的功能,并且校驗的數據是分散的存儲在各塊硬盤上。RAID 5 實際上是速度與可靠性的一種折衷方案,在實際場景中應用較多。與RAID相比,存儲成本比較便宜。RAID 5至少需要3塊磁盤來實現。
1.4 RAID 6
與RAID 5相比RAID6增加了第二個獨立的信息校驗塊。兩個獨立的奇偶系統使用不同的算法,數據的可靠性非常高,即使兩塊磁盤同時失效也不會影響數據的使用。RAID 6至少需要4塊以上的磁盤。
2、混合RAID
2.1 JBOD
嚴格來講JBOD(Just a Bunch Of Disks)并不屬于RAID的等級,JBOD并沒有嚴格的規范,主要是用于實現將各個獨立的硬盤空間在邏輯上組合成一個大的硬盤。如果硬盤損毀,則存在上面的數據將無法救回。若第一塊硬盤損壞,將丟失所有的數據,危險程度與RAID 0相比有過之無不及。但是JBOD也有它的應用場景,例如Hadoop就鼓勵使用JBOD,因為Hadoop由自己的一套容災方案。
2.2 RAID 01
RAID 01是RAID 0與RAID 1的一種組合。主要實現方案是先將數據分成兩組,然后再對數據進行鏡像映射。即先實現RAID 0,再實現RAID 1。
2.3 RAID 10
RAID 10與RAID 01恰好相反,是先進行數據鏡像,然后才對數據進行分組。
2.4 RAID 50
RAID 5與RAID 0的結合,先作RAID 5,在作RAID 0,也就是對多組RAID 5構成條帶化的訪問。RAID 50以RAID 5為基礎,而RAID 5至少需要3塊硬盤,要以多組RAID 5構成RAID 50,因此RAID至少需要6塊硬盤。RAID 50在底層任意一組或多組RAID 5中出現一塊硬盤損壞時,仍然可以維持運作,不過任意一組同時出現兩塊硬盤損壞時,整組RAID 50就會失效。
通過Linux 實現軟RAID:
在Linux實現RAID主要是通過mdadm來實現。
mdadm屬于模式化的命令,主要模式有:
創建模式
管理模式
監控模式
增長模式
裝配模式
mdadm的基本格式為:
# mdadm [mode] [options]
裝配模式RAID的選項有:
-l:指定RAID的級別;
-n:指定設備數,即磁盤的個數;
-a:自動為其創建設備文件;
-c,--chunk 指定分割數據塊的大小
1.實現RAID 0:
準備工作:
兩個1G大小的磁盤分區。
[root@local ~]# mdadm -C /dev/md0 -a
yes -l 0 -n 2 /dev/sdb{1,2}
mdadm: /dev/sdb1 appears to contain an ext2fs file system
size=104388K mtime=Thu Jan 1 08:00:00 1970
Continue creating array? (y/n) y
為其創建文件系統:
[root@local ~]# mke2fs -j /dev/md0
掛載文件系統:
[root@local mnt]# mount /dev/md0 /mnt/raid
查看掛載文件系統的信息:
[root@local mnt]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/VolGroup00-LogVol00 18G 3.3G 14G 20% /
/dev/sda1 99M 13M
82M 13% /boot
tmpfs 252M
0 252M 0% /dev/shm
/dev/sr0 3.3G 3.3G 0 100% /mnt/cdrom
.host:/ 56G 44G 12G 79% /mnt/hgfs
/dev/md0 1.9G 35M
1.8G 2% /mnt/raid
這里顯示文件并沒有2G是正常顯現,因為RAID本身也有一些元數據需要保存。
2.實現RAID 1:
準備工作:
兩塊1G大小的磁盤分區。
[root@local ~]# mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sdb{5,6}
查看狀態信息
[root@local ~]# cat /proc/mdstat
Personalities : [raid0] [raid1]
md1 : active raid1 sdb6[1] sdb5[0]
987840 blocks [2/2] [UU]
md0 : active raid0 sdb2[1] sdb1[0]
1975744 blocks 64k chunks
unused devices:
創建文件系統
[root@local ~]# mke2fs -j /dev/md1
查看指定RAID設備的詳細信息
[root@local ~]# mdadm -D /dev/md1
/dev/md1:
Version : 0.90
Creation Time : Tue Mar 3 17:26:24 2015
Raid Level : raid1
Array Size : 987840 (964.85 MiB 1011.55 MB)
Used Dev Size : 987840 (964.85 MiB 1011.55 MB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 1
Persistence : Superblock is persistent
Update Time : Tue Mar 3 17:30:22 2015
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
UUID : f6a3844f:282828af:45d573d8:5f0aa269
Events : 0.4
Number Major Minor RaidDevice State
0 8 21
0 active sync /dev/sdb5
1 8 22
1 active sync /dev/sdb6
模擬一塊硬盤損壞(管理模式)
[root@local ~]# mdadm /dev/md1 --fail /dev/sdb5
mdadm: set /dev/sdb5 faulty in /dev/md1
移除損壞的硬盤:(-r = --remove)
[root@local ~]# mdadm /dev/md1 -r /dev/sdb5
mdadm: hot removed /dev/sdb5
更換新盤(和壞掉的盤的分區應保持一致)
[root@local ~]# mdadm /dev/md1 -a /dev/sdb7
mdadm: added /dev/sdb7
停止磁盤陣列
[root@local ~]# mdadm -S /dev/md1
mdadm: stopped /dev/md1
重新裝配磁盤陣列
[root@local ~]# mdadm -A --run /dev/md1 /dev/sdb5 /dev/sdb6
mdadm: /dev/md1 has been started with 1 drive (out of 2).
掃描磁盤陣列的信息,以后可以實現自動裝配:
[root@local ~]# mdadm -D --scan > /etc/mdadm.conf
3.實現RAID 5:
準備工作:3塊512M大小的磁盤
[root@local ~]# mdadm -C /dev/md5 -l5 -n3 /dev/sdb{8,9,10}
看完上述內容,你們對RAID磁盤陣列的應用是怎么樣的有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。