您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關RAID磁盤陣列的應用是怎么樣的,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
RAID一般翻譯為磁盤陣列,全稱是 Redundant Arrays of Inexpensive Disk,最初的構(gòu)想是源于加州大學伯克利分校的一個研究小組的項目,他們希望通過大量廉價的硬盤來組建價格便宜,可用性高的磁盤陣列。但是RAID發(fā)展到今天,已經(jīng)背離了當初價格便宜的初衷。但是RAID也帶來了另外的好處,如何合理選擇RAID的級別,可以構(gòu)建出具有更高可用性,更好地容錯的磁盤。
RAID主要分為軟件RAID和硬件RAID,軟件RAID主要是通過操作系統(tǒng)來實現(xiàn),這樣會增加CPU的負擔,所以在實際場景中極少使用。硬件RAID使用獨立的硬件設備和控制芯片,整體性能優(yōu)于軟件RAID。RAID有不同的規(guī)范,但是總體上可以分為兩種:標準RAID和混合RAID。雖然現(xiàn)在的RAID有很多不同的規(guī)范,但是很多規(guī)范只是一種過渡性的實驗產(chǎn)品,在實際的生產(chǎn)環(huán)境中幾乎不使用。
1、標準RAID
1.1 RAID 0
RAID 0也稱為條帶(strping),它將兩個以上的硬盤串聯(lián)起來,成為一個大容量的磁盤。在存儲數(shù)據(jù)時,數(shù)據(jù)分散存儲在這些磁盤中。因為數(shù)據(jù)讀寫都可以并行的進行,所以在所有的級別中,RIID的速度是最快的。但是RAID既沒有冗余功能,也不提供容錯能力。如果有一個物理磁盤損壞,所有的數(shù)據(jù)都會丟失。所以,RAID只是在一些對數(shù)據(jù)安全性要求不高,但是速度要求較高的場景下使用,比如視頻,圖像等工作站。
1.2 RAID 1
RAID 1稱為鏡像技術,需要兩塊以上的硬盤互作鏡像。也就是說,主盤上的數(shù)據(jù)和鏡像盤上的數(shù)據(jù)完全一樣。因此,在多線程的操作系統(tǒng)會大大提高數(shù)據(jù)的讀取速度。RAID 1 的可靠性非常高,只要有一塊硬盤正常就可以保證數(shù)據(jù)的完整性。但是RAID的缺點是浪費了大量的存儲空間。
RAID2-RAID4屬于實驗性的產(chǎn)品實際生產(chǎn)環(huán)境很少使用。
1.3 RAID 5
RAID 5引入了數(shù)據(jù)校驗的功能,并且校驗的數(shù)據(jù)是分散的存儲在各塊硬盤上。RAID 5 實際上是速度與可靠性的一種折衷方案,在實際場景中應用較多。與RAID相比,存儲成本比較便宜。RAID 5至少需要3塊磁盤來實現(xiàn)。
1.4 RAID 6
與RAID 5相比RAID6增加了第二個獨立的信息校驗塊。兩個獨立的奇偶系統(tǒng)使用不同的算法,數(shù)據(jù)的可靠性非常高,即使兩塊磁盤同時失效也不會影響數(shù)據(jù)的使用。RAID 6至少需要4塊以上的磁盤。
2、混合RAID
2.1 JBOD
嚴格來講JBOD(Just a Bunch Of Disks)并不屬于RAID的等級,JBOD并沒有嚴格的規(guī)范,主要是用于實現(xiàn)將各個獨立的硬盤空間在邏輯上組合成一個大的硬盤。如果硬盤損毀,則存在上面的數(shù)據(jù)將無法救回。若第一塊硬盤損壞,將丟失所有的數(shù)據(jù),危險程度與RAID 0相比有過之無不及。但是JBOD也有它的應用場景,例如Hadoop就鼓勵使用JBOD,因為Hadoop由自己的一套容災方案。
2.2 RAID 01
RAID 01是RAID 0與RAID 1的一種組合。主要實現(xiàn)方案是先將數(shù)據(jù)分成兩組,然后再對數(shù)據(jù)進行鏡像映射。即先實現(xiàn)RAID 0,再實現(xiàn)RAID 1。
2.3 RAID 10
RAID 10與RAID 01恰好相反,是先進行數(shù)據(jù)鏡像,然后才對數(shù)據(jù)進行分組。
2.4 RAID 50
RAID 5與RAID 0的結(jié)合,先作RAID 5,在作RAID 0,也就是對多組RAID 5構(gòu)成條帶化的訪問。RAID 50以RAID 5為基礎,而RAID 5至少需要3塊硬盤,要以多組RAID 5構(gòu)成RAID 50,因此RAID至少需要6塊硬盤。RAID 50在底層任意一組或多組RAID 5中出現(xiàn)一塊硬盤損壞時,仍然可以維持運作,不過任意一組同時出現(xiàn)兩塊硬盤損壞時,整組RAID 50就會失效。
通過Linux 實現(xiàn)軟RAID:
在Linux實現(xiàn)RAID主要是通過mdadm來實現(xiàn)。
mdadm屬于模式化的命令,主要模式有:
創(chuàng)建模式
管理模式
監(jiān)控模式
增長模式
裝配模式
mdadm的基本格式為:
# mdadm [mode] [options]
裝配模式RAID的選項有:
-l:指定RAID的級別;
-n:指定設備數(shù),即磁盤的個數(shù);
-a:自動為其創(chuàng)建設備文件;
-c,--chunk 指定分割數(shù)據(jù)塊的大小
1.實現(xiàn)RAID 0:
準備工作:
兩個1G大小的磁盤分區(qū)。
[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
為其創(chuàng)建文件系統(tǒng):
[root@local ~]# mke2fs -j /dev/md0
掛載文件系統(tǒng):
[root@local mnt]# mount /dev/md0 /mnt/raid
查看掛載文件系統(tǒng)的信息:
[root@local mnt]# df -h
文件系統(tǒng) 容量 已用 可用 已用% 掛載點
/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是正常顯現(xiàn),因為RAID本身也有一些元數(shù)據(jù)需要保存。
2.實現(xiàn)RAID 1:
準備工作:
兩塊1G大小的磁盤分區(qū)。
[root@local ~]# mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sdb{5,6}
查看狀態(tài)信息
[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:
創(chuàng)建文件系統(tǒng)
[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
更換新盤(和壞掉的盤的分區(qū)應保持一致)
[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).
掃描磁盤陣列的信息,以后可以實現(xiàn)自動裝配:
[root@local ~]# mdadm -D --scan > /etc/mdadm.conf
3.實現(xiàn)RAID 5:
準備工作:3塊512M大小的磁盤
[root@local ~]# mdadm -C /dev/md5 -l5 -n3 /dev/sdb{8,9,10}
看完上述內(nèi)容,你們對RAID磁盤陣列的應用是怎么樣的有進一步的了解嗎?如果還想了解更多知識或者相關內(nèi)容,請關注億速云行業(yè)資訊頻道,感謝大家的支持。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。