SDB:DMRAID
本文档描述了如何在使用 DMRAID 软件 RAID 阵列后重用磁盘。
情况
您有一个带有系统板或扩展卡的“简单”RAID 控制器的系统。您希望单独使用这些磁盘,或在不同的系统中使用它们。
如果您只是移除磁盘并将其连接到不同的控制器,DMRAID 子系统将读取与旧 RAID 阵列关联的元数据,并且 RAID 阵列将自动重新组装。如果您仍然拥有 RAID 控制器硬件,可以使用它来释放磁盘。如果您没有 RAID 控制器硬件,或者只是不想重新启动以使用磁盘,那么本文档就是为您准备的。
openSUSE Bug #653081 描述了此问题的一个实例。
流程
本文档描述了多种解决方案
使用 YaST2
[有经验使用 YaST 执行此操作的人员,请补充说明。]
在命令行中
清理旧 RAID 磁盘的最简单方法是使用dmraid命令。此命令是直接与 dmraid 设备交互的方式。它可以创建、激活和销毁使用简单 RAID 控制器硬件特定格式的软件 RAID 阵列。如果您只想释放磁盘,请跳至“停用”步骤并从那里开始。
要列出 dmraid 将声明为自己的格式,请使用dmraid -l命令
~ # dmraid -l asr : Adaptec HostRAID ASR (0,1,10) ddf1 : SNIA DDF1 (0,1,4,5,linear) hpt37x : Highpoint HPT37X (S,0,1,10,01) hpt45x : Highpoint HPT45X (S,0,1,10) isw : Intel Software RAID (0,1,5,01) jmicron : JMicron ATARAID (S,0,1) lsi : LSI Logic MegaRAID (0,1,10) nvidia : NVidia RAID (S,0,1,10,5) pdc : Promise FastTrack (S,0,1,10) sil : Silicon Image(tm) Medley(tm) (0,1,10) via : VIA Software RAID (S,0,1,10) dos : DOS partitions on SW RAIDs
使用dmraid -r命令,可以列出当前被 dmraid 的 RAID 阵列声明的设备。例如,这是一对配置为 Intel 控制器 RAID1 阵列的 60 GB 磁盘。
~ # dmraid -r /dev/sdc: isw, "isw_dbhjdbifda", GROUP, ok, 125045422 sectors, data@ 0 /dev/sdb: isw, "isw_dbhjdbifda", GROUP, ok, 976773166 sectors, data@ 0
要创建测试 RAID 集,您可以使用dmraid -C命令。
~ # dmraid -f isw -C test --type 1 --disks /dev/sdb,/dev/sdc
Create a RAID set with ISW metadata format
RAID name: test
RAID type: RAID1
RAID size: 59G (125035870 blocks)
DISKS: /dev/sdb, /dev/sdc,
About to create a RAID set with the above settings. Continue ? [y/n] :y
每个 DMRAID 阵列都有一个唯一的 前缀,之后是您的 RAID 集名称。要找出前缀,请使用dmraid -s命令。
~ # dmraid -s *** Group superset isw_dbhjdbjhca --> Subset name : isw_dbhjdbjhca_test size : 125035776 stride : 128 type : mirror status : ok subsets: 0 devs : 2 spares : 0
现在阵列已创建,它仅存在于磁盘元数据中。如果您现在重新启动,该阵列将在系统返回时激活。要手动激活它,请使用dmraid -a y命令和 RAID 集名称。
~ # dmraid -a y isw_dbhjdbjhca_test RAID set "isw_dbhjdbjhca_test" was activated device "isw_dbhjdbjhca_test" is now registered with dmeventd for monitoring
要停用阵列,请使用dmraid -a n命令。
~ # dmraid -a n isw_dbhjdbjhca_test ERROR: device "isw_dbhjdbjhca_test" is not currently being monitored
要清除元数据并从 dmraid 释放设备,请使用dmraid -x命令和您想要释放的设备列表。
~ # dmraid -x isw_dbhjdbjhca_test About to delete RAID set isw_dbhjdbjhca_test WARNING: The metadata stored on the raidset(s) will not be accessible after deletion Do you want to continue ? [y/n] :y