11.17 使用mdadm命令來配置RAID

      網友投稿 1123 2022-05-28

      圖形界面確實方便,不過 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:創建一個沒有超級塊的陣列;

      11.17 使用mdadm命令來配置RAID

      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:

      格式化與掛載 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 …省略部分輸出… /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 已經變成了備份分區

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:從零開始實施推薦系統的落地部署——05.ECS服務器的快照和回滾
      下一篇:linux安裝教程
      相關文章
      国产亚洲精品成人a v小说| 亚洲精华国产精华精华液| 亚洲精品国产精品乱码不卞| 亚洲乱码国产乱码精华| 亚洲一级特黄特黄的大片| 亚洲va在线va天堂成人| 亚洲一区在线观看视频| 亚洲一区二区三区国产精品无码| 亚洲宅男天堂a在线| 亚洲人成激情在线播放| 亚洲av无码电影网| 国产亚洲玖玖玖在线观看| 亚洲日韩乱码中文字幕| 亚洲成a∨人片在无码2023 | 久久亚洲精品无码| 亚洲成人动漫在线| 亚洲乱亚洲乱淫久久| 久久精品国产亚洲av日韩| 亚洲国产成人手机在线电影bd| 亚洲成人福利在线| 亚洲人精品亚洲人成在线| 国产成人亚洲综合网站不卡| 亚洲熟妇AV一区二区三区浪潮 | 国产 亚洲 中文在线 字幕| 亚洲av永久无码一区二区三区| 亚洲AV永久无码精品一福利 | 在线观看国产一区亚洲bd| 亚洲国产精品一区二区三区久久 | 国产亚洲成人在线播放va| 亚洲欧洲成人精品香蕉网| 亚洲女初尝黑人巨高清| 亚洲国产成人久久综合碰碰动漫3d | 久久精品亚洲综合专区| 亚洲欧洲日产国产综合网| 亚洲日韩国产精品无码av| 亚洲精品123区在线观看| 亚洲爆乳少妇无码激情| 伊在人亚洲香蕉精品区麻豆| 中文字幕亚洲无线码a| 亚洲av无码国产精品夜色午夜| 亚洲天堂一区在线|