溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux/Centos7RAID磁盤陣列與陣列卡

發(fā)布時(shí)間:2020-07-18 18:33:28 來源:網(wǎng)絡(luò) 閱讀:399 作者:wx5d8a17c45cb5b 欄目:系統(tǒng)運(yùn)維

Linux/Centos7RAID磁盤陣列與陣列卡

一、RAID概念?

RAID——獨(dú)立磁盤冗余陣列(Redundant Array of Independent Disks),原本叫做廉價(jià)磁盤冗余陣列。RAID 的基本思想是將多個(gè)容量較小、相對(duì)廉價(jià)的磁盤進(jìn)行有機(jī)組合,從而以較低的成本獲得與昂貴大容量磁盤相當(dāng)?shù)娜萘?、性能、可靠性。隨著磁盤成本和價(jià)格的不斷降低, RAID 可以使用大部分的磁盤, “廉價(jià)” 已經(jīng)毫無意義。所以RAID咨詢委員會(huì)使用“獨(dú)立”代替“廉價(jià)”。

二、為什么需要RAID?

RAID的種類目前來說使用的較多的是RAID0、RAID1、RAID5、RAID6。RAID的初心是為大型服務(wù)器提供高端的存儲(chǔ)功能和冗余的數(shù)據(jù)安全,但RAID0顯然是不符合該要求的,因?yàn)镽AID0是為了極大程度地提高數(shù)據(jù)讀寫(I/O)的效率和硬盤的使用率,因此其原理是同時(shí)向多個(gè)磁盤中同時(shí)寫入信息,但是不保證數(shù)據(jù)的安全可靠性,有一塊磁盤掛了就無法導(dǎo)致數(shù)據(jù)丟失,適用于僅僅只需要高讀寫能力的場(chǎng)景,而后面的類型對(duì)于數(shù)據(jù)的安全與可靠性都有了明顯的改善與加強(qiáng)。

RAID1——鏡像復(fù)制,使用兩塊或以上的磁盤(一般是偶數(shù)塊)進(jìn)行讀寫,向一塊磁盤中寫入信息,并且復(fù)制一份到另一塊磁盤中,這樣保證了數(shù)據(jù)的可靠讀寫,兩者互不影響,但是使用率只有原本資源的一半,所以是可靠性較強(qiáng)但資源耗費(fèi)也是比較大的。

說白了,RAID0是只在乎速度,而RAID1考慮的是安全。而RAID5則是由三塊磁盤構(gòu)成,憑借算法進(jìn)行奇偶差錯(cuò)校驗(yàn)來確保數(shù)據(jù)的可靠性的同時(shí)兼顧磁盤使用率,其允許一塊磁盤掛掉,但是在修復(fù)重建數(shù)據(jù)的時(shí)間段中不可以再有磁盤損壞,否則數(shù)據(jù)仍然會(huì)丟失。

RAID6則是基于RAID5的基礎(chǔ)上進(jìn)行雙重校驗(yàn)以保證兩塊磁盤掛掉的情況下數(shù)據(jù)仍然不會(huì)丟失。但是其讀寫性能就比較低了尤其是磁盤損壞的時(shí)候,讀寫速度將急劇下降,而且價(jià)格方面也是較其他而言更加昂貴。

三、軟RAID配置實(shí)驗(yàn)操作流程

  1. 首先將分區(qū)類型轉(zhuǎn)換為fd(前提是已經(jīng)添加磁盤)
  2. 管理RAID磁盤
  3. 格式化文件格式
  4. 掛載

下面對(duì)RAID0進(jìn)行配置的實(shí)驗(yàn)操作:

[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           //設(shè)置b磁盤分區(qū)格式為fd
歡迎使用 fdisk (util-linux 2.23.2)。

更改將停留在內(nèi)存中,直到您決定將更改寫入磁盤。
使用寫入命令前請(qǐng)三思。

Device does not contain a recognized partition table
使用磁盤標(biāo)識(shí)符 0x363a740e 創(chuàng)建新的 DOS 磁盤標(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.
正在同步磁盤。

[root@lokott ~]# fdisk /dev/sdc 
歡迎使用 fdisk (util-linux 2.23.2)。

更改將停留在內(nèi)存中,直到您決定將更改寫入磁盤。
使用寫入命令前請(qǐng)三思。

Device does not contain a recognized partition table
使用磁盤標(biāo)識(shí)符 0x1d0b68fc 創(chuàng)建新的 DOS 磁盤標(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.
正在同步磁盤。
//查看分區(qū)是否正確
[root@lokott ~]# fdisk -l /dev/sd[b-c]

磁盤 /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é)
磁盤標(biāo)簽類型:dos
磁盤標(biāo)識(shí)符:0x363a740e

   設(shè)備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41943039    20970496   fd  Linux raid autodetect

磁盤 /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é)
磁盤標(biāo)簽類型:dos
磁盤標(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磁盤管理
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表示需要幾塊磁盤,后面的加的
mdadm: partition table exists on /dev/sdb but will be lost or //就是磁盤數(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

四、總結(jié)

其實(shí)軟RAID的磁盤陣列的設(shè)置還是比較簡單的,對(duì)于其他類型的RAID的配置的步驟是一樣的,當(dāng)然也可是設(shè)置備份,就是在mdadm命令的最后加上-xn (n表示的是備用的磁盤的數(shù)量),然后加上設(shè)備名稱,這里主要是軟RAID的設(shè)置操作。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI