免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2271 | 回复: 0
打印 上一主题 下一主题

linux 系统怎么样创建raid磁盘阵列 配置方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-06-26 19:21 |只看该作者 |倒序浏览
linux 系统怎么样创建raid磁盘阵列 配置方法
创建RAID有两个方法 ,

第一种方法 :用mdadm 通过-C或--create 参数来创建RAID。这种方法 ,是把RAID信息写到每个RAID成员的 superblocks(超级块)中,在每个RAID成员的超级块中,都会记录RAID的级别、成员、RAID的UUID等…… 这种方法把RAID的信息记录在各个成员的 superblocks(超级块)中。这种方法对于重装系统或系统发生灾难来来说,有利于现有RAID的恢复;这种方法是最常用的;

第二种方法:用mdadm 通过-B或--build 参数来创建RAID。这种方法并不把RAID的信息写入RAID成员的 superblocks(超级块中),所以我们无法通过查看RAID成员信息来获得RAID的级别,以及RAID的成员等;这种方法对于重装系统或系统发生灾难来来说,不利于现有RAID的恢复;如果你想用第二种方法来创建RAID,可以在下面的语法中,把-C或--create 换成 -B或--build 。


语法:创建把RAID信息写入RAID每个成员的superblocks(超级块)中;
mdadm -C -v /dev/mdX -lY -nZ RAID成员

mdadm --create --verbose /dev/mdX --level=Y --RAID-devices=Z RAID成员

注:

-C 是--create 的缩写,表示创建的意思;这种方法是创建把RAID信息写入每个RAID成员superblocks(超级块)的方法。这是最常用的方法。
-v 和--verbose, 显示创建过程中详细的事件;

如果把-C或--create 换成-B或--build,就是创建RAID的另一种方法,不把RAID信息写入RAID成员的superblocks(超级块)中,如果您试用,请自己尝试;

RAID设备: /dev/mdX,RAID设备在Linux中,大多是/dev/md0,/dev/md1…… 第一个设备从/dev/md0开始。 比如你已经有RAID0设备是/dev/md0,你再想做一个RAID5,那就是/dev/md1,以此类推;

RAID级别 : 用-lY或--level=Y表示,Y是RAID的级别。RAID的级别有RAID0就用0表示,RAID1就用1表示,RAID5就用RAID5表示,RAID10就用10表示。RAID的级别是根据自己的使用方向和现有磁盘和分区个数来定位。如果你就想高速读写、大容量,对数据安全性要求不高,那就用RAID0,如果对数据要求较高,可以用RAID1或RAID5,再者就是RAID10。比如-l0或--level=0表示RAID0,-l5或--level=5表示RAID5, -l1或--level=1表示RAID1,-l10或--level=10表示RAID10;

-nZ或--RAID-devices=Z 表示RAID成员的个数,比如我们把三个硬盘分分区做成一个RAID,那就是3个设备。就要写成这样 -n3或 --RAID-devices=3;值得注意的是RAID0和RAID1至少需要两个设置,RAID5至少需要三个设备,RAID10至少四个设备;

RAID成员:也就是RAID的组成设备,要一个一个的列出来,每个设备后要用空格来隔开;比如我们把/dev/sdb、/dev/sdc、/dev/sdd三个硬盘做成RAID0,在RAID设备这块,我们要写成 /dev/sdb /dev/sdc /dev/sdd ; 软件RAID的成员还可以是分区,比如 /dev/sdb1、/dev/sdc1 ……

举例一:我们要做一个RAID0,成员是 /dev/sdb、/dev/sdc 两个硬盘设备。 我们要运行如下命令;

mdadm -C --verbose /dev/md0 -l0 -n2 /dev/sdb /dev/sdc

mdadm -C --verbose /dev/md0 --level=0 --RAID-devices=2 /dev/sdb /dev/sdc

如果我们想把/dev/sdb1 、/dev/sdc1和/dev/sdd1三个分区做成RAID0呢?

mdadm -C -v /dev/md0 -l0 -n3 /dev/sd[bcd]1

mdadm -C --verbose /dev/md0 --level=0 --RAID-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

举例二:我们要做一个RAID5 ,成员是/dev/sdb、/dev/sdc、/dev/sdd 三个设备,我们要运行如下命令;

mdadm -C -v /dev/md0 -l5 -n3 /dev/sd[bcd]

mdadm -C --verbose /dev/md0 --level=5 --RAID-devices=3 /dev/sdb /dev/sdc /dev/sdd

如果我们想把/dev/sdb1 、/dev/sdc1和/dev/sdd1三个分区做成RAID5呢?

mdadm -C -v /dev/md0 -l5 -n3 /dev/sd[bcd]1

mdadm -C --verbose /dev/md0 --level=5 --RAID-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

创建完成后,RAID也就立即启动了。我们会发现有类似如下一行的提示信息:

mdadm: array /dev/md0 started.

我们要可以通过下面的命令来查看RAID的信息;

mdadm -Ds /dev/md0
mdadm -D /dev/md0


2.2 RAID管理工具;

RAID的管理包括创建、启动、状态查看等一系列工具;我们只说常用的使用方法;


2.21 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;所以我要用下面的办法;

[root@linuxsir:~] 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,都写入这个文件,然后就可以简单的用这个命令来启动了;

-A 同 --assemble ,意思是激活一个已经存在的RAID;
RAID设备 ,就是/dev/md0 或/dev/md1 …… 根据你所创建的RAID设备为准;


举例:

[root@linuxsir:~] mdadm -A /dev/md0
[root@linuxsir:~] mdadm -As

注: 比如我配置好/etc/mdadm.conf 后,启动RAID设备/dev/md0,就用上面的办法。具体mdadm.conf的写法,请参见 RAID的配置文件一节;


2.22 RAID管理工具一些常用参数说明;

mdadm 参数 [RAID设备] [RAID成员]

-A 或 --assemble 激活一个RAID;
-S 和--stop 停止正在运行的设备;
-s 或 --scan 扫描RAID设备;
-D 或 --detail 查看RAID的详细信息;
--examine 查看RAID成员的详细信息;

注:其中[]中的选项是可选的。

举例: 电脑知识网

[root@linuxsir:~]# mdadm -As
[root@linuxsir:~]# mdadm -Ss
[root@linuxsir:~]# mdadm -Ds
[root@linuxsir:~]# mdadm --examine /dev/sdb

注:上面的些标例, 都是在配置好/etc/mdadm.conf 的情况下,运行的,如果您没配置好mdadm.conf文件,请指定RAID设备及其成员;其中,--As 是搜索/etc/mdadm.conf ,然后根据 mdadm.conf 配置好的RAID信息来启动RAID。 -Ss 是搜索正在运行的RAID,然后停止。-Ds 搜索RAID,查看RAID信息; --examine /dev/sdb 是查看其中一块硬盘的RAID信息,这个很有用。比如你忘记了RAID的成员和UUID,想恢复现有的RAID,就要用这个来查看,然后重新让RAID启动起来。
http://www.125pc.com
比如系统有一个RAID,但在/etc/mdadm.conf 中没有相应的记录RAID信息。我不知道这个RAID是哪个类型的,是RAID0,还是RAID1,还是RAID5??到底机器中有几个RAID?如果您是一个新接手的管理员,应该想知道这些信息。那就一个一个硬盘,一个一个的分区查看过去。从中找出系统中所有的RAID。然后一个一个的恢复。这时就要用到 --examine这个参数了;

[root@linuxsir:~]# fdisk -l

[root@linuxsir:~]# # mdadm --examine /dev/sdb
/dev/sdb:
Magic : a92b4efc
Version : 00.90.00
UUID : 35e1a3e6:ed59c368:e5bc9166:5004fe52
Creation Time : Wed Aug 1 07:11:43 2007
RAID Level : RAID0
Used Dev Size : 0
RAID Devices : 2
Total Devices : 2
Preferred Minor : 0

Update Time : Thu Aug 2 07:43:30 2007
State : active
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Checksum : 8f8a235e - correct
Events : 0.29

Chunk Size : 64K

Number Major Minor RAIDDevice State
this 0 8 16 0 active sync /dev/sdb

0 0 8 16 0 active sync /dev/sdb
1 1 8 32 1 active sync /dev/sdc

注:

首先:我们用fdisk -l 查看一下机器中所有硬盘和分区,如果不能完全列出,请指定具体硬盘。
其次:我们查看一下某个硬盘或分区上是否有RAID信息,比如我查看的是/dev/sdb ,结果显示出,/dev/sdb是RAID0设备的一个成员,/dev/sdb和/dev/sdc 共同组成的RAID0;

得到这些信息有何用呢?我们就可以激活RAID,或重写/etc/mdadm.conf ,让RAID重新运行起来。在此过程中, 千万不要用-C或--create 参数来重新创建RAID,否则你以前存在的RAID就被破坏,里面的数据当然也会一无所有!!!切记。在一个有数据的RAID中,不能随便用-C 参数。如果用了-C或--create 就是创建一个新的RAID设备!



您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP