RAID——獨(dú)立磁盤(pán)冗余陣列(Redundant Array of Independent Disks),原本叫做廉價(jià)磁盤(pán)冗余陣列。RAID 的基本思想是將多個(gè)容量較小、相對(duì)廉價(jià)的磁盤(pán)進(jìn)行有機(jī)組合,從而以較低的成本獲得與昂貴大容量磁盤(pán)相當(dāng)?shù)娜萘俊⑿阅?、可靠性。隨著磁盤(pán)成本和價(jià)格的不斷降低, RAID 可以使用大部分的磁盤(pán), “廉價(jià)” 已經(jīng)毫無(wú)意義。所以RAID咨詢委員會(huì)使用“獨(dú)立”代替“廉價(jià)”。
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到常德網(wǎng)站設(shè)計(jì)與常德網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋常德地區(qū)。
RAID的種類目前來(lái)說(shuō)使用的較多的是RAID0、RAID1、RAID5、RAID6。RAID的初心是為大型服務(wù)器提供高端的存儲(chǔ)功能和冗余的數(shù)據(jù)安全,但RAID0顯然是不符合該要求的,因?yàn)镽AID0是為了極大程度地提高數(shù)據(jù)讀寫(xiě)(I/O)的效率和硬盤(pán)的使用率,因此其原理是同時(shí)向多個(gè)磁盤(pán)中同時(shí)寫(xiě)入信息,但是不保證數(shù)據(jù)的安全可靠性,有一塊磁盤(pán)掛了就無(wú)法導(dǎo)致數(shù)據(jù)丟失,適用于僅僅只需要高讀寫(xiě)能力的場(chǎng)景,而后面的類型對(duì)于數(shù)據(jù)的安全與可靠性都有了明顯的改善與加強(qiáng)。
RAID1——鏡像復(fù)制,使用兩塊或以上的磁盤(pán)(一般是偶數(shù)塊)進(jìn)行讀寫(xiě),向一塊磁盤(pán)中寫(xiě)入信息,并且復(fù)制一份到另一塊磁盤(pán)中,這樣保證了數(shù)據(jù)的可靠讀寫(xiě),兩者互不影響,但是使用率只有原本資源的一半,所以是可靠性較強(qiáng)但資源耗費(fèi)也是比較大的。
說(shuō)白了,RAID0是只在乎速度,而RAID1考慮的是安全。而RAID5則是由三塊磁盤(pán)構(gòu)成,憑借算法進(jìn)行奇偶差錯(cuò)校驗(yàn)來(lái)確保數(shù)據(jù)的可靠性的同時(shí)兼顧磁盤(pán)使用率,其允許一塊磁盤(pán)掛掉,但是在修復(fù)重建數(shù)據(jù)的時(shí)間段中不可以再有磁盤(pán)損壞,否則數(shù)據(jù)仍然會(huì)丟失。
RAID6則是基于RAID5的基礎(chǔ)上進(jìn)行雙重校驗(yàn)以保證兩塊磁盤(pán)掛掉的情況下數(shù)據(jù)仍然不會(huì)丟失。但是其讀寫(xiě)性能就比較低了尤其是磁盤(pán)損壞的時(shí)候,讀寫(xiě)速度將急劇下降,而且價(jià)格方面也是較其他而言更加昂貴。
下面對(duì)RAID0進(jìn)行配置的實(shí)驗(yàn)操作:
[root@lokott ~]# lsblk //查看磁盤(pán)概要信息
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 //設(shè)置b磁盤(pán)分區(qū)格式為fd
歡迎使用 fdisk (util-linux 2.23.2)。
更改將停留在內(nèi)存中,直到您決定將更改寫(xiě)入磁盤(pán)。
使用寫(xiě)入命令前請(qǐng)三思。
Device does not contain a recognized partition table
使用磁盤(pán)標(biāo)識(shí)符 0x363a740e 創(chuàng)建新的 DOS 磁盤(pán)標(biāo)簽。
命令(輸入 m 獲取幫助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分區(qū)號(hào) (1-4,默認(rèn) 1):
起始 扇區(qū) (2048-41943039,默認(rèn)為 2048):
將使用默認(rèn)值 2048
Last 扇區(qū), +扇區(qū) or +size{K,M,G} (2048-41943039,默認(rèn)為 41943039):
將使用默認(rèn)值 41943039
分區(qū) 1 已設(shè)置為 Linux 類型,大小設(shè)為 20 GiB
命令(輸入 m 獲取幫助):t
已選擇分區(qū) 1
Hex 代碼(輸入 L 列出所有代碼):fd
已將分區(qū)“Linux”的類型更改為“Linux raid autodetect”
命令(輸入 m 獲取幫助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盤(pán)。
[root@lokott ~]# fdisk /dev/sdc
歡迎使用 fdisk (util-linux 2.23.2)。
更改將停留在內(nèi)存中,直到您決定將更改寫(xiě)入磁盤(pán)。
使用寫(xiě)入命令前請(qǐng)三思。
Device does not contain a recognized partition table
使用磁盤(pán)標(biāo)識(shí)符 0x1d0b68fc 創(chuàng)建新的 DOS 磁盤(pán)標(biāo)簽。
命令(輸入 m 獲取幫助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分區(qū)號(hào) (1-4,默認(rèn) 1):
起始 扇區(qū) (2048-41943039,默認(rèn)為 2048):
將使用默認(rèn)值 2048
Last 扇區(qū), +扇區(qū) or +size{K,M,G} (2048-41943039,默認(rèn)為 41943039):
將使用默認(rèn)值 41943039
分區(qū) 1 已設(shè)置為 Linux 類型,大小設(shè)為 20 GiB
命令(輸入 m 獲取幫助):t
已選擇分區(qū) 1
Hex 代碼(輸入 L 列出所有代碼):fd
已將分區(qū)“Linux”的類型更改為“Linux raid autodetect”
命令(輸入 m 獲取幫助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盤(pán)。
//查看分區(qū)是否正確
[root@lokott ~]# fdisk -l /dev/sd[b-c]
磁盤(pán) /dev/sdb:21.5 GB, 21474836480 字節(jié),41943040 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤(pán)標(biāo)簽類型:dos
磁盤(pán)標(biāo)識(shí)符:0x363a740e
設(shè)備 Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 fd Linux raid autodetect
磁盤(pán) /dev/sdc:21.5 GB, 21474836480 字節(jié),41943040 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤(pán)標(biāo)簽類型:dos
磁盤(pán)標(biāo)識(shí)符:0x1d0b68fc
設(shè)備 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命令進(jìn)行RAID磁盤(pán)管理
mdadm: chunk size defaults to 512K //md0是自己取的RAID0的設(shè)備名稱,-l是level,0表示的是RAID0
mdadm: partition table exists on /dev/sdb //1 就是RAID1,5就是RAID5,-n表示需要幾塊磁盤(pán),后面的加的
mdadm: partition table exists on /dev/sdb but will be lost or //就是磁盤(pán)數(shù)量
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
文件系統(tǒng) 類型 容量 已用 可用 已用% 掛載點(diǎn)
/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
其實(shí)軟RAID的磁盤(pán)陣列的設(shè)置還是比較簡(jiǎn)單的,對(duì)于其他類型的RAID的配置的步驟是一樣的,當(dāng)然也可是設(shè)置備份,就是在mdadm命令的最后加上-xn (n表示的是備用的磁盤(pán)的數(shù)量),然后加上設(shè)備名稱,這里主要是軟RAID的設(shè)置操作。