国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

使用mdadm命令來配置RAID

2024-08-27 23:56:42
字體:
來源:轉載
供稿:網友

圖形界面確實方便,不過 RAID 和 LVM 一樣,主要的應用還是在命令行當中,因為如果硬盤出現了數據損壞,總不能重新安裝吧!

本節,我們學習在命令行界面中如何分配和使用 RAID,這次我們仍然使用相同大小的分區配置最為常見的 RAID 5。

建立分區

建立三個 2GB 大小的分區,構建 RAID 5。不過我們多建立了一個 2GB 大小的分區,這個分區用作備份分區。

備份分區的作用是什么呢? RAID 最大的好處就是具有數據冗余功能,當有一塊硬盤或分區損壞時,數據不會丟失,只要插入新的硬盤或分區,依賴其他分區就會主動重建損壞的硬盤或分區中的數據。不過這仍然需要關閉服務器,手工插拔硬盤。

如果在組成 RAID 的時候就加入了備份硬盤或備份分區,那么當硬盤或分區損壞時,RAID 會自動用備份硬盤或備份分區代替損壞的硬盤或分區,然后立即重建數據,而不需要人為手工參與。這樣就避免了服務器停機和人為手工參與,非常方便,唯一的問題就是需要多余的硬盤或分區作為備份設備。

也就是說,我們在這個實驗中需要 4 個 2GB 大小的分區,其中 3 個組成 RAID 5,1 個作為備份分區。建立分區的過程這里不再詳細解釋,建立完分區之后,可以使用 fdisk -l 命令査看。命令如下:

[root@localhost ~]#fdisk -l
...省略部分輸出...
Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xba384969
Device Boot Start End Blocks ld System
/dev/sdb1 1 2610 20964793+ 5 Extended
/dev/sdb5 1 262 2104452 83 linux
/dev/sdb6 263 524 2104483+ 83 Linux
/dev/sdb7 525 786 2104483+ 83 Linux
/dev/sdb8 787 1048 2104483+ 83 Linux

我們建立了 /dev/sdb5、/dev/sdb6、/dev/sdb7 和 /dev/sdb8 共 4 個 2GB 大小的分區。

mdadm命令建立 RAID 5

建立 RAID 使用 mdadm 命令,命令格式如下:

[root@localhost ~]# mdadm [模式] [RAID設備文件名] [選項]

模式:

  • Assemble:加入一個已經存在的陣列;

  • Build:創建一個沒有超級塊的陣列;

  • Create:創建一個陣列,每個設備都具有超級塊;

  • Manage:管理陣列,如添加設備和刪除損壞設備;

  • Misc:允許單獨對陣列中的設備進行操作,如停止陣列;

  • Follow or Monitor:監控RAID狀態; Grow:改變RAID的容量或陣列中的數目;


選項:

  • -s,-scan:掃描配置文件或/proc/mdstat文件,發現丟失的信息;

  • -D,-detail:查看磁盤陣列詳細信息;

  • -C,-create:建立新的磁盤陣列,也就是調用 Create模式;

  • -a,-auto=yes:采用標準格式建立磁陣列

  • -n,-raicklevices=數字:使用幾塊硬盤或分區組成RAID

  • -l,-level=級別:創建RAID的級別,可以是0,1,5

  • -x,-spare-devices=數字:使用幾塊硬盤或分區組成備份設備

  • -a,-add 設備文件名:在已經存在的RAID中加入設備

  • -r,-remove 設備文件名名:在已經存在的RAID中移除設備

  • -f,-fail設備文件名:把某個組成RAID的設備設置為錯誤狀態

  • -S,-stop:停止RAID設備

  • -A,-assemble:按照配置文件加載RAID


我們準備創建的是 RAID 5,所以使用以下命令創建:

[root@localhost ~]# mdadm -create -auto=yes /dev/md0-level=5 /
-raid-devices=3 -spare-devices=1 /dev/sdb5/dev/sdb6 /dev/sdb7 /dev/sdb8

其中,/dev/md0 是第一個 RAID 設備的設備文件名,如果還有 RAID 設備,則可以使用 /dev/md[0~9] 來代表。我們建立了一個 RAID 5,使用了三個分區,并建立了一個備份分區。先查看一下新建立的 /dev/md0,命令如下:

[root@localhost ~]# mdadm --detail /dev/md0
/dev/md0:
#設備文件名
Version : 1.2
Creation Time : Tue Apr 23 23:13:48 2013
#創建時間
Raid Level : raid5
#RAID 級別
Array Size : 4206592 (4.01 GiB 4.31 GB) +RAID #總容量
Used Dev Size : 2103296 (2.01 GiB 2.15 GB)
#每個分區的容量
Raid Devices : 3
#組成 RAID 的設備數
Total Devices : 4
#總設備數
Persistence : Superblock is persistent
Update Time : Tue Apr 23 23:14:52 2013 State : clean
Active Devices : 3
#激活的設備數
Working Devices : 4
#可用的設備數
Failed Devices : 0
#錯誤的設備數
Spare Devices : 1
#備份設備數
Layout : left-symmetric
Chunk Size : 512K
Name : localhost.localdomain:0 (local to host localhost.localdomain) UOID : 15026b78:126a4930:89d8cf54:5bcb7e95 Events : 18
Number Major Minor RaidDevice State
0 8 21 0 active sync /dev/sdb5
1 8 22 1 active sync /dev/sdb6
4 8 23 2 active sync /dev/sdb7
#三個激活的分區
3 8 24 - spare /dev/sdb8
#備份分區


再查看一下 /proc/mdstat 文件,這個文件中也保存了 RAID 的相關信息。命令如下:

[root@localhost ~]# cat /proc/mdstat
Personalities:[raid6] [raid5] [raid4]
md0:active raid5 sdb9[4](S) sdb5[0] sdb8[3] sdb6[1]
#RAID名 級別 組成RAID的分區,[數字]是此分區在RAID中的順序
#(S)代表備份分區
4206592 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
#總block數 等級是5 區塊大小 陣列算法 [組成設備數/正常設備數]
unused devices: <none>

格式化與掛載RAID

RAID 5 已經創建,但是要想正常使用,也需要格式化和掛載。格式化命令如下:

[root@localhost ~]# mkfs -t ext4 /dev/md0

掛載命令如下:

[root@localhost ~]# mkdir /raid
#建立掛載點
[root@localhost ~]# mount /dev/md0 /raid/
#掛載/dev/md0
[root@localhost ~]# mount
&hellip;省略部分輸出&hellip;
/dev/md0 on /raid type ext4(rw)
#查看一下,已經正常掛載

生成mdadm配置文件

在 CentOS 6.x 中,mdadm 配置文件并不存在,需要手工建立。我們使用以下命令建立 /etc/mdadm.conf 配置文件:

[root@localhost ~]# echo Device /dev/sdb[5-8] >>/etc/mdadm.conf
#建立/etc/mdadm.conf配置立件,并把組成RAID的分區的設備文件名寫入
#注意:如果有多個RAID,則要把所有組成RAID的設備都放入配置文件中;否則RAID設備重啟后會丟失
#比如組成RAID 10,就既要把分區的設備文件名放入此文件中,也翻組成RAID 0的RAID 1設備文件名放入
[root@localhost ~]# mdadm -Ds >>/etc/mdadm.conf
#查詢和掃描RAID信息,并追加進/etc/mdadm.conf文件
[root@localhost ~]# cat /etc/mdadm.conf
Device /dev/sdb5 /dev/sdb6 /dev/sdb7 /dev/sdb8
ARRAY /dev/md0 metadata: 1.2 spares=1 name=l(xalhost.localdomain:0 UUID=dd821fe5:8597b126:460a3afd:857c7989
#查看文件內容

設置開機后自動掛載

自動掛載也要修改 /etc/fstab 配置文件,命令如下:

[root@localhost ~]# vi /etc/fstab
/dev/mdO /raid
ext4 defaults 12
#加入此行

如果要重新啟動,則一定要在這一步完成之后再進行,否則會報錯。

啟動或停止RAID

RAID 設備生效后,不用手工啟動或停止。但是,如果需要卸載 RAID 設備,就必須手工停止 RAID。這里我們學習一下啟動和停止 RAID 的方法。先看看停止命令:

[root@localhost ~]# mdadm -S /dev/md0
#停止/dev/md0設備

當然,如果要刪除 RAID,則要非常小心,要把所有和 RAID 相關的內容全部刪除,才能保證系統不報錯。需要進行的步驟如下:

[root@localhost ~]# umount /dev/md0
#卸載RAID
[root@localhost ~】# vi /etc/fstab
/dev/md0 /raid ext4 defaults 12
#刪除此行
[root@localhost ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0
#停止RAID
[root@localhost ~]# vi /etc/mdadm.conf
ARRAY /dev/md0 metadata: 1.2 spares=1 name=localhost.localdomain:0 UUID=dd821fe5:8597b126:460a3afd:857c7989
#刪除或者注釋此行

如果僅僅是停止,而不是刪除,就沒有這么麻煩了,只需先下載,再停止即可。那停止完成之后,怎么再啟動呢?啟動 RAID 的命令如下:

[root@localhost ~]# mdadm -As /dev/md0
mdadm: /dev/md0 has been started with 3 drives and 1 spare.
#啟動/dev/md0
[root@localhost ~]# mount /dev/md0 /raid/
#啟動RAID后,記得掛載

模擬分區出現故障

我們的 RAID 雖然配置完成了,但是它真的生效了嗎?我們模擬磁盤報錯,看看備份分區是否會自動代替錯誤分區。mdadm 命令有一個選項 -f,這個選項的作用就是把一塊硬盤或分區變成錯誤狀態,用來模擬 RAID 報錯。命令如下:

[root@localhost ~]# mdadm /dev/mdO -f /dev/sdb7 mdadm: set /dev/sdb7 faulty in /dev/mdO、
#模擬/dev/sdb7分區報錯
[root@1ocalhost ~】# mdadm -D /dev/mdO /dev/mdO:
...省略部分輸出...
Active Devices : 2
Working Devices : 3
Failed Devices : 1
#1個設備報錯了
Spare Devices : 1
...省略部分輸出...
Number Major Minor RaidDevice State
0 8 21 0 active sync /dev/sdb5
1 8 22 1 active sync /dev/sdb6
3 8 24 2 spare rebuilding /dev/sdb8
#/dev/sdb8分區正在準備修復
4 8 23 - faulty spare /dev/sdb7
#/dev/sdb7已經報錯了

要想看到上面的效果,査看時要快一點,否則修復就可能完成了。因為有備份分區的存在,所以分區損壞了,是不用管理員手工的。如果修復完成,再查看,就會出現下面的情況:

[root@localhost ~]# mdadm /dev/mdO
Number Major Minor RaidDevice State
0 8 21 0 active sync /dev/sdb5
1 8 22 1 active sync /dev/sdb6
3 8 24 2 active sync /dev/sdb8
4 8 23 - faulty spare /dev/sdb7

備份分區/dev/sdb8已經被激活,但是 /dev/sdb7分區失效。

移除錯誤分區

既然分區已經報錯了,我們就把 /dev/sdb7 分區從 RAID 中刪除。如果這是硬盤,就可以進行更換硬盤的處理了。

移除命令如下:

[root@localhost ~]# mdadm /dev/md0
-remove/dev/sdb7
mdadm: hot removed /dev/sdb7 from /dev/mdO

添加新的備份分區

既然分區已經報錯,那么我們還需要加入一個新的備份分區,以備下次硬盤或分區出現問題。既然要加入新的備份分區,當然還需要再劃分出一個 2GB 大小的分區出來,命令如下:

[root@localhost ~]#fdisk -l
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 *512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes 1512 bytes
Disk identifier: 0x151a68a9
Device Boot Start End Blocks Id System
/dev/sdb1 1 2610 20964793+ 5 Extended
/dev/sdb5 1 262 2104452 83 Linux
/dev/sdb6 263 524 2104483+ 83 Linux
/dev/sdb7 525 786 2104483+ 83 Linux
/dev/sdb8 787 1048 2104483+ 83 Linux
/dev/sdb9 1049 1310 2104483+ 83 Linux

我們新建了 /dev/sdb9 分區,然后把它加入 /dev/md0 作為備份分區,命令如下:

[root@localhost ~]# mdadm /dev/md0 -add /dev/sdb9
mdadm: added /dev/sdb9
#把/dev/sdb9加入/dev/md0
[root@localhost ~]# mdadm -D /dev/md0
...省略部分輸出...
Number Major Minor RaidDevice State
0 8 21 0 active sync /dev/sdb5
1 8 22 1 active sync /dev/sdb6
3 8 24 2 active sync /dev/sdb8
4 8 25 - spare /dev/sdb9
#查看一下,/dev/sdb9已經變成了備份分區

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 弋阳县| 临颍县| 阜南县| 丰原市| 贵德县| 离岛区| 娄烦县| 伊吾县| 凤阳县| 通榆县| 余干县| 铁岭市| 临朐县| 会同县| 仁寿县| 巫溪县| 宁河县| 南投市| 临高县| 五台县| 东源县| 通州市| 桃园县| 和田县| 峨边| 呼伦贝尔市| 平顶山市| 隆德县| 昌黎县| 瑞安市| 惠安县| 虞城县| 定结县| 温宿县| 四会市| 徐州市| 九龙坡区| 九台市| 宝鸡市| 平邑县| 石棉县|