Linux软raid创建和维护推荐

制作人:wqmsl

博客地址:http://wqmsl.blog.51cto.com

说明:RAID分为软RAID和硬件RAID

软件RAID是基于系统的软件工作 不稳定,如果系统坏了,RAID整列也就损坏,容易造成数据丢失

下面我们要讲的基于LINUX系统的软件RAID

在LINUX下管理RAID阵列的工具是mdadm工具

mdadm程序是一个独立的程序,能完成所有的软RAID管理功能

主要有7种使用模式:

Create 使用空闲的设备创建一个新的阵列,每个设备具有元数据块

Assemble 将原来属于一个阵列的每个块设备组装为阵列

Build 创建或组装不需要元数据的阵列,每个设备没有元数据块

Manage 管理已经存储阵列中的设备,比如增加热备磁盘或者设置某个磁盘失效,然后从阵列中删除这个磁盘

Misc 报告或者修改阵列中相关设备的信息,比如查询阵列或者设备的状态信息

Grow 改变阵列中每个设备被使用的容量或阵列中的设备的数目

Monitor 监控一个或多个阵列,上报指定的事件

由于这个工具太强大,不能一一为大家讲解

我们今天主要讲创建任意级别的RAID,和如何删除这个RAID

至于管理就只有您自己下来找资料研究了

往往廉价的东西,用的人都多

RAID分区的ID是 fd 请大家记住

(以上说明部分来自互联网,省的自己写了哈)

创建raid的流程就是:

第一步:创建分区

现在我们先来做几个分区来做软raid哦

查看一下创建的分区

由于分区默认的格式是83(Linux),需要我们修改一下id,依次修改5—9分区的格式

修改id后,查看一下

保存分区退出

第二步:创建RAID

分区创建完后,现在我们来做软raid,需要使用mdadm这个命令来创建raid

下面创建raid 5, 用4个分区做raid,用1个分区来做热备分区,-n和-x都可以指定多个

注:系统默认有个md0可以给我们用,如果我要多个raid的话,就需要自己创建设备了,创建raid设备块的命令 mknod /dev/md01 b 9 1

注释:

man帮助中的例子:mdadm –create /dev/md0 –level=1 –raid-devices=2 /dev/hd[ac]1

-C 代表创建

-l 代表创建的级别

-n 代表活动的分区,也就是你要给这个级别多少个分区

-x 就是热备份的分区

解释图:-x:是热备分区,raid至少需要3个分区

第三步:查看创建好RAID的状态

命令:mdadm –detail /dev/md0、mdadm -D /dev/md0

sdb5、sdb6、sdb7、sdb8是raid的成员,激活状态;sdb9 是热备分区

第四步:格式化并挂载RAID设备

创建目录并挂载raid阵列设备,在raid里面创建文件

第五步:故障模拟和恢复

模拟一个raid故障

状态如下图:sdb5已经不在raid成员内了

然后我们从raid里删除掉sdb5

再看一下状态,sdb5已经不在列表中了,原热备分区sdb9已经到raid成员中并激活

看看数据还是没有错

其他额外知识补充:

1、查看/dev/md0 设备是否存在,以及它的容量;

fdisk -l /dev/md0

df -lh /dev/md0

注:如果您想要用分区操作,用fdisk /dev/md0

2、向一个既已存在RAID 中添加或移除一个硬盘或分区,要用mdadm 工具的-f -r -a参数

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 成员发生故障的时候,要用这种办法来让新成员顶替工作(后面讲扩容了);

3、为RAID 进行扩充容量;

在这里我们要用到RAID 的Grow模式,也就是增长模式。扩充模式,极为简单,有–size参数,-n参数 –size是指大定RAID的大小,这个可以省略,具体由你所做的RAID 级别而定。 -n 代表RAID 真正成员的个数。在这个例子中,RAID5真正成员是3个,后来我们又添加了一个备用成员/dev/sdb2进去。我们所做的就是把这个备用成员“推”到真正成员的位置上。也就是说RAID 的真正成员由3个变成4个。只是这一简单的指令,就可以让RAID5容量增加起来。

我单纯的使用-a的参数并不能使容量增大,默认是添加到了热备分区上面

下面来解决这个问题

mdadm -G /dev/md0 -n4 ———— 这样就把热备的分区添加到了raid成员中了,容量也扩大了哦

4、清除一个 RAID 成员的超级块存储存的 RAID 信息;

RAID 成员在 superblock中所存储的RAID 信息是极为重要的,我们可以根据这个信息轻松恢复RAID。

mdadm –zero-superblock RAID成员;

如果你确认RAID 成员这个成员对你没任何用处,你已经把这个成员移除RAID,并且您想把这个设备另作他用。这时你可以清除其 superblock的信息。比如;

# mdadm –zero-superblock /dev/sdb12

这个示例就是清除/dev/sdd3中的超级块中所存储的RAID 信息;

在前进的路上,主动搬开别人脚下的绊脚石,有时往往也是为自己铺路。

Linux软raid创建和维护推荐

相关文章:

你感兴趣的文章:

标签云: