dmraid 全名為設備對應器磁盤陣列(Device Mapper RAID),利用Linux內核提供的設備對應器(Device Mapper)機制 ,為多種磁盤陣列設備提供磁盤陣列的設備文件,讓用戶可以在 Red Hat Enterprise Linux系統中使用硬件磁盤陣列設備。
使用硬件磁盤陣列設備啟動磁盤陣列設備后,你可以把該設備文件當做一個磁盤使用,例如對該磁盤陣列設備產生分區、制作文件系統等。
每一個由 dmraid 管理的磁盤陣列設備的分區,其設備文件名稱為:
/dev/mapper/TYPE_UNIQUENAMEpNUMBER
其中的TYPE_UNIQUENAME 就是硬件磁盤陣列設備的名稱,而 NUMBER 則是分區的編號。
不過,對硬件磁盤陣列設備執行管理分區動作時,我建議你使用 parted工具,而盡可能不要使用fdisk,這是因為根據我的測試結果 ,發現通過parted 新增或卸載分區后,Red Hat Enterprise Linux會自動產生正確的分區設備文件;但使用fdisk卻無法正常地更新分區設備文件。
以下是我使用 parted 管理分區的示范。
[root@linux ~]# ls /dev/mapper/ control sil_aiadcdadagbj ?① [root@linux ~]# parted /dev/mapper/sil_aiadcdadagbj mkpart p ext3 0 1024 o② [root@linux ~]# parted /dev/mapper/sil_aiadcdadagbj print Model: Linux device-mapper(dm) Disk /dev/mapper/sil_aiadcdadagbj: 250GB Sector size(logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system 旗標 1 0.51kB 1024MB 1024MB 主分區 ?③ |
[root@linux ~]# ls /dev/mapper/ control sil_aiadcdadagbj sil_aiadcdadagbjp1 ④? [root@linux ~]# |
① 現在/dev/mapper/只有硬件磁盤陣列的設備文件。
② 我使用 parted 在sil_aiadcdadagbj設備中建立一個新的主要分區,作為ext3文件系統,其開始的位置為0 MB,結束的位置為 1024MB。
③ 完成后,利用parted查看 sil_aiadcdadagbj設備的磁盤分區數據表,此處可發現剛剛新增的磁盤分區數據。
④ 使用parted產生新的分區后,會自動產生該分區的設備文件。此處的sil_aiadcdadagbjp1就是剛剛新增的分區的設備文件。
管理硬件磁盤陣列建立完硬件磁盤陣列后,接着讓我們來研究如何管理該磁盤陣列設備。
1.讀取磁盤陣列設備
如果你想知道目前的某一個硬件磁盤陣列設備是由哪些磁盤驅動器組成的,你可以使用dmraid -r查看:
dmraid -r [DEVICE...] |
其中的DEVICE為磁盤驅動器設備的設備文件名稱,省略時代表讀取所有磁盤設備。
以下是我使用dmraid -r讀取磁盤驅動器信息的范例。
[root@linux ~]# dmraid -r /dev/sda: sil, "sil_aiadcdadagbj", mirror, ok, 488395120 sectors, data@ 0 /dev/sdb: sil, "sil_aiadcdadagbj", mirror, ok, 488395120 sectors, data@ 0 [root@linux ~]# |
上述顯示結果中,每一行代表一個磁盤設備與其硬件磁盤陣列的相關信息。以上述/dev/sda 磁盤驅動器為例。
屬於sil硬件磁盤陣列設備。
設備文件名稱為 sil_aiadcdadagbj。
操作為RAID-5等級,也就是鏡像模式(Mirror Mode)。
目前的配置為良好(ok)。
共有 488395120 扇區。
數據位移(Offset)的大小為 0。
2.查看磁盤陣列配置
另外一種查看硬件磁盤陣列設備的方法,則是利用dmraid -s:
dmraid -s [RAID...] |
[root@linux ~]# dmraid -s *** Active Set name : sil_aiadcdadagbj size : 488395120 stride : 0 type : mirror status : ok subsets: 0 devs : 2 spares : 0 [root@linux ~]# |
3.停用磁盤陣列設備
最后,如果打算停用硬件磁盤陣列的話,你可以使用dmraid 命令:
dmraid -a n [RAID...] |
其中的RAID即是要停用的磁盤陣列設備的設備文件,如果沒有指定RAID,則代表所有磁盤陣列設備。
不過,如果該硬件磁盤陣列上仍有分區的話,dmraid將會返回錯誤信息。因此,請在停用硬件磁盤陣列設備之前,先卸載該磁盤設備上所有的分區。
以下是我使用dmraid -a n停用磁盤陣列設備的示范。
[root@linux ~]# dmraid -a n RAID set "sil_aiadcdadagbj(null)1" is not active ?① [root@linux ~]# ls /dev/mapper/ control sil_aiadcdadagbj sil_aiadcdadagbjp1 ② [root@linux ~]# parted /dev/mapper/sil_aiadcdadagbj rm 1 ?③ |
[root@linux ~]# ls /dev/mapper/ control sil_aiadcdadagbj ?④ [root@linux ~]# dmraid -a n ?⑤ [root@linux ~]# ls /dev/mapper/ control ?⑥ [root@linux ~]# |
① 現在我使用dmraid停用硬件磁盤陣列,但dmraid卻返回錯誤信息,代表執行失敗。
② 這是因為我的sil_aiadcdadagbj硬件磁盤陣列設備上仍有其他分區。
③ 所以,接着使用parted刪除sil_aiadcdadagbj的第一個分區。
④ 現在sil_aiadcdadagbjp1設備文件就消失了。
⑤ 再次停用硬件磁盤陣列設備,這次就沒有產生任何錯誤信息了。
⑥ 成功地停用后,該磁盤設備的設備文件也跟着消失了。
轉自:《Red Hat Enterprise Linux5系統管理寶典》