软raid的管理

来源:互联网 发布:selina烧伤事件 知乎 编辑:程序博客网 时间:2024/05/21 02:21

前边写到了关于利用mdadm创建raid,今天讲讲他基本的一些管理

1 启动raid  

RAID 的启动有两种方法,一种是指定 RAID 设备和 RAID 成员的办法来启动 RAID,另一种办法是 通过加载 RAID 默认的配置文件来启动。

第一种方法:不通过读取 mdadm.conf 来启动 RAID;适用情况是你没有配置 /etc/mdadm.conf 文件;
语法:
# mdadm -A RAID 设备 RAID 成员
注:-A 同 --assemble,意思是激活一个已经存在的 RAID;
RAID 设备,就是/dev/md0 或/dev/md1 …… 根据你所创建的 RAID 设备为准;
RAID 成员,就是你要启动的 RAID,其下属设备有哪些,要一个一个的列出来,中间以空格分开; 举例:比如我要启动一个 RAID,设备是/dev/md0,其下有成员是 /dev/sdb 和/dev/sdc;所以我要用下 面的办法;
# mdadm -A /dev/md0 /dev/sdb /dev/sdc
注: 这种情况,是没有配置 RAID 的配置文件/etc/mdadm.conf 时,所使用的启动方法;如果您已经配 置好了/etc/mdadm.conf 文件,就可以用 mdadm -As 来启动;
第二种方法:利用配置好的/etc/mdadm.conf 来启动 RAID;
# mdadm -A RAID 设备 或
# mdadm -As
注: 这种启动方法的前提是要配置 /etc/mdadm.conf 文件,要把您系统中所有的 RAID,都写入这个文 件,然后就可以简单的用这个命令来启动了;
举例:

# mdadm -A /dev/md0 

# mdadm -As
注: 比如我配置好/etc/mdadm.conf 后,启动 RAID 设备/dev/md0,就用上面的办法。
RAID 管理工具一些常用参数说明;
mdadm 参数 [RAID 设备] [RAID 成员]
-A 或 --assemble 激活一个 RAID;
-S 和 --stop 停止正在运行的设备;
-s 或 --scan 扫描 RAID 设备;
-D 或 --detail 查看 RAID 的详细信息;
--examine 查看 RAID 成员的详细信息; 注:其中[ ]中的选项是可选的。
举例:
# mdadm -As [root@zk ~]# mdadm -Ss

# mdadm -Ds
[# mdadm --examine /dev/sdb 或   # mdadm -E /dev/sdb
注:上面的例子,都是在配置好/etc/mdadm.conf 的情况下,运行的,如果您没配置好 mdadm.conf 文件,请指定 RAID 设备及其成员;其中,--As 是搜索/etc/mdadm.conf ,然后根据 mdadm.conf 配置好
的 RAID 信息来启动 RAID。 -Ss 是搜索正在运行的 RAID,然后停止。-Ds 搜索 RAID

3  查看 RAID 信 息

mdadm  --examine /dev/sdb 是查看其中一块硬盘的 RAID 信息,这个很有用。比如你忘记了 RAID 的成员和 UUID,想恢复现有的 RAID,就要用这个来查看,然后重新让 RAID 启动起来。比如系统有一个 RAID,但在/etc/mdadm.conf 中没有相应的记录 RAID 信息。我不知道这个 RAID 是哪 个类型的,是 RAID0,还是 RAID1,还是 RAID5?到底机器中有几个 RAID?如果您是一个新接手的管 理员,应该想知道这些信息。那就一个一个硬盘,一个一个的分区查看过去。从中找出系统中所有的 RAID。然后一个一个的恢复。这时就要用到 --examine 这个参数了

获得 UUID 后,也可以这样激活阵列:
# mdadm -Av /dev/md0 --uuid=8ba81579:e20fb0e8:e040da0e:f0b3fec8 /dev/sd*

4 raid 配置文件

RAID 并不是一定要配置文件,但有配置文件,会方便管理,比如 RAID 最精简的方法执行、状态查 看也需要 RAID 的配置文件。如果没有配置文件,还要指定 RAID 成员。
RAID 的配置文件是 mdadm.conf 位于/etc 目录,如果你没有这个文件,可以自己创建一个;当我们
做好 RAID 后,首先要配置这个文件;把你所有的 RAID 配置信息都写入这个文件。 我们可以自己手工 编写

# mdadm -Ds >> /etc/mdadm.conf
其实也就是把/dev/md0 这个 RAID 设备的成员指定出来,每个设备之间要用“空格”隔开。或者写成device /dev/sd[bc]类似的写法也行

5 添加移除设备

我们要向一个已存在的 RAID 中,添加或移除一个硬盘或分区,我们要用到 mdadm 工具的 -f 和-r以及-a 参数;但注意对某些阵列例如raid0是不能有添加移除指令的
mdadm /dev/mdX -f RAID 成员 

mdadm /dev/mdX -r RAID 成员

 mdadm /dev/mdX -a RAID 成员
注:-f 同 --fail 表示把一个设备列为有问题的设备,以便用-r 或--remove 参数移除;
-r 同 --remove 表示把 RAID 中的一个成员移出 RAID;
-a 同 --add 表示向一个 RAID 中添加一个成员;
--re-add 重新把最近移除的 RAID 成员重新添加到 RAID 中; 值得一提的是,这些参数的运用,必须是在 RAID 正常运行的情况下进行。其中 RAID 设备是/dev/mdX,X 是一个≥0 的整数,RAID 成员是一个硬盘或分区。添加设备并不会把 RAID 的容量扩大, 仅仅是为了添加备用成员,比如在 RAID1、RAID5 和 RAID10 中特别有用。当一个 RAID 成员发生故障 的时候,要用这种办法来让新成员顶替工作;
举例:
# mdadm /dev/md0  -f  /dev/sdb3
# mdadm  /dev/md0  -r  /dev/sdb3
# mdadm  /dev/md0   -a  /dev/sdb5
6 RAID 正式成员个数达不到 RAID 启动要求时,如何启动 RAID
可能存在这样一种状况,当 RAID 的一个正式成员挂掉后,这时 RAID 按以前说的常规办法是不能启 动的。这时我们要强制启动,要用到--run 参数;比如当做 RAID5 时,我们用到了三个硬盘或分区,当 其中有一个挂掉,按 RAID5 的特点来说,数据一样是安全完整的,但 RAID5 启动按常规办法是必须要 达到做 RAID 时所指定的正式成员个数,这时按常规启动办法是不行的,我们要用到--run 参数;
我们举个例子。比如 RAID5 正式成员有 3 个/dev/sdb1,/dev/sdb2,/dev/sdb3,我们只用/dev/sdb1
和/dev/sdb2 来启动 RAID5;
# mdadm -A --run /dev/md0 /dev/sdb1 /dev/sdb2

7 删除阵列
# mdadm /dev/md0 --fail /dev/sdb --remove /dev/sdb
# mdadm /dev/md0 --fail /dev/sdc --remove /dev/sdc
# mdadm -S /dev/md0 或 # mdadm -Ss
# rm /dev/md0
# mdadm --zero-superblock /dev/sdb
# mdadm --zero-superblock /dev/sdc 修改/etc/mdadm.conf、/etc/fstab 等配置文件,把相关的地方去掉; 最后,用 fdisk 对磁盘进行重新分区即可。