12-14
2016
龙芯3b2000四路服务器的raid搭建
简介:
raid是冗余磁盘阵列(redundant array of inexpensive disk)的简称。它是把多个磁盘组成一个阵列,当作单一磁盘使用。它将数据以分段(striping)的方式分散存储在不同的磁盘中,通过多个磁盘的同时读写,来减少数据的存取时间,并且可以利用不同的技术实现数据的冗余,即使有一个磁盘损坏,也可以从其他的磁盘中恢复所有的数据。简单地说,其好处就是:安全性高、速度快、数据容量大。
磁盘阵列根据其使用的技术不同而划分了等级,称为raid level,目前公认的标准是raid 0~raid 5。下面对raid 5进行简单的介绍。raid5特点:以数据的校验位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个磁盘上(图1)。任何一个磁盘损坏,都可以根据其他磁盘上的校验位来重建损坏的数据。并行读写数据,性能也很高。
操作系统:loongnix1.0系统;
相关软件:mdadm(搭建raid);
4、准备mdadm程序
mdadm是multiple devices admin的简称,它是linux下的一款标准的软件 raid管理工具;
通过龙芯的源直接:yum install mdadm 即可安装成功
5、制作raid
a. mdadm --create --verbose /dev/md0 --level=raid5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd
--create --verbose /dev/md0创建/dev/md0设备,
--level=raid5:raid的级别这里为raid5,
--raid-devices=3:几块硬盘做为run
b. 查看raid阵列情况
cat /proc/mdstat
创建raid过程需要很长时间,因为磁盘要进行同步化操作,查看/proc/mdstat 文件,该文件显示raid的当前状态和同步完成所需要的时间。如下:
personalities :[raid6] [raid5] [raid4]
md0 : active raid5 sdc[1] sdd[2] sdb[0]
1953524992 blocks level 5, 64k chunk, algorithm 2 [3/2] [uu_]
[>....................] recovery = 4.3% (1622601/37734912) finish=1.0min speed=15146k/sec
unused devices:
当新建或重构完成后,再次查看/proc/mdstat文件。下文表示同步成功:
personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdc[1] sdd[2] sdb[0]
1953524992 blocks level 5, 64k chunk, algorithm 2 [3/3] [uuu]
unused devices:
各部分所代表的意思如下:“[3/3]”中的第一位数表示阵列所包含的设备数,第二位数表示活动的设备数,如果有一个设备损坏,则第二位数将减1;“[uuu]”标记当前阵列可以正常使用的设备情况,现假设/dev/sdb出现故障,则该标记将变成 [_uu],这时的阵列以降级模式运行,即该阵列仍然可用,但是不再具有任何冗余;“sdd[2]”指阵列所包含的设备数为n,若方括号内的数值小于 n,则表示该设备为活动设备,若数值大于等于n,则该设备为备份设备,当一个设备出现故障的时候,相应设备的方括号后将被标以(f)。
6、格式化raid5磁盘
raid5已经启动并处于运行状态,现在要做的就是在其上创建一个文件系统。这里我们选择格式化成ext3格式#mkfs.ext3 /dev/md0
7、挂载raid5磁盘
当新的文件系统生成之后,就可以将/dev/md0挂接到指定的目录了:
a. 新建一个文件夹:#mkdir /raid5;
b. 挂载/dev/md0 到 /raid5 上:#mount /dev/md0 /raid5;
c. 可以直接使用磁盘了;
8、生成配置文件
mdadm的缺省配置文件为/etc/mdadm.conf,它主要是为了方便阵列的日常管理而设置的,非必须的。
在mdadm.conf文件中要包含两种类型的行:一种是以device开头的行,它指明在阵列中的设备列表;另一种是以array开头的行,它详细地说明了阵列的名称、模式、阵列中活动设备的数目以及设备的uuid号。格式如下:
device /dev/sdb /dev/sdc /dev/sdd
array /dev/md0 level=raid5 num-devices=3 uuid=8f128343:715a42df: baece2a8
以上的这些信息可以通过扫描系统的阵列来获取,命令为:
# mdadm -ds (或者 #mdadm --detail scan)
array /dev/md0 level=raid5 num-devices=3 uuid=6ecd420a:ff66d6de:bfe78010:bc810f04
devices=/dev/sdb,/dev/sdc,/dev/sdd
按照规定的格式编辑修改/etc/mdadm.conf文件
# vim/etc/mdadm.conf
# mdadm -as /dev/md0
该命令指启动/dev/md0阵列,其中“-a”指装载一个已存在的阵列;“-s”指查找mdadm.conf文件中的配置信息,并以此为依据启动阵列。
#mdadm -as
该命令指启动mdadm.conf文件中的所有阵列。
#mdadm -a /dev/md0 /dev/sd[b,c,d]
如果没有创建mdadm.conf文件则可以采用上面这种启动方式。
2、停止阵列
# mdadm -s /dev/md0
3、显示指定阵列的详细信息
# mdadm -d /dev/md0
更多loongnix技术信息请访问龙芯社区(http://www.loongnix.org)进行更深入的了、学习。
相关资料:
[1]
[2] https://en.wikipedia.org/wiki/mdadm
raid是冗余磁盘阵列(redundant array of inexpensive disk)的简称。它是把多个磁盘组成一个阵列,当作单一磁盘使用。它将数据以分段(striping)的方式分散存储在不同的磁盘中,通过多个磁盘的同时读写,来减少数据的存取时间,并且可以利用不同的技术实现数据的冗余,即使有一个磁盘损坏,也可以从其他的磁盘中恢复所有的数据。简单地说,其好处就是:安全性高、速度快、数据容量大。
磁盘阵列根据其使用的技术不同而划分了等级,称为raid level,目前公认的标准是raid 0~raid 5。下面对raid 5进行简单的介绍。raid5特点:以数据的校验位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个磁盘上(图1)。任何一个磁盘损坏,都可以根据其他磁盘上的校验位来重建损坏的数据。并行读写数据,性能也很高。
图一:raid5原理
磁盘利用数:n-1,且最低需要3块硬盘
1.搭建环境准备:
硬件:龙芯3b2000的四路服务器,3块相同容量的硬盘,1块系统盘;操作系统:loongnix1.0系统;
相关软件:mdadm(搭建raid);
2.具体操作
1、 安装好3块预备raid的硬盘;
2、 取得root用户权限,本文所有操作均需要root级权限;
3、格式化除系统盘之外的3块硬盘,这里我们统一选择格式化为ext3格式;4、准备mdadm程序
mdadm是multiple devices admin的简称,它是linux下的一款标准的软件 raid管理工具;
通过龙芯的源直接:yum install mdadm 即可安装成功
5、制作raid
a. mdadm --create --verbose /dev/md0 --level=raid5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd
--create --verbose /dev/md0创建/dev/md0设备,
--level=raid5:raid的级别这里为raid5,
--raid-devices=3:几块硬盘做为run
b. 查看raid阵列情况
cat /proc/mdstat
创建raid过程需要很长时间,因为磁盘要进行同步化操作,查看/proc/mdstat 文件,该文件显示raid的当前状态和同步完成所需要的时间。如下:
personalities :[raid6] [raid5] [raid4]
md0 : active raid5 sdc[1] sdd[2] sdb[0]
1953524992 blocks level 5, 64k chunk, algorithm 2 [3/2] [uu_]
[>....................] recovery = 4.3% (1622601/37734912) finish=1.0min speed=15146k/sec
unused devices:
当新建或重构完成后,再次查看/proc/mdstat文件。下文表示同步成功:
personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdc[1] sdd[2] sdb[0]
1953524992 blocks level 5, 64k chunk, algorithm 2 [3/3] [uuu]
unused devices:
各部分所代表的意思如下:“[3/3]”中的第一位数表示阵列所包含的设备数,第二位数表示活动的设备数,如果有一个设备损坏,则第二位数将减1;“[uuu]”标记当前阵列可以正常使用的设备情况,现假设/dev/sdb出现故障,则该标记将变成 [_uu],这时的阵列以降级模式运行,即该阵列仍然可用,但是不再具有任何冗余;“sdd[2]”指阵列所包含的设备数为n,若方括号内的数值小于 n,则表示该设备为活动设备,若数值大于等于n,则该设备为备份设备,当一个设备出现故障的时候,相应设备的方括号后将被标以(f)。
6、格式化raid5磁盘
raid5已经启动并处于运行状态,现在要做的就是在其上创建一个文件系统。这里我们选择格式化成ext3格式#mkfs.ext3 /dev/md0
7、挂载raid5磁盘
当新的文件系统生成之后,就可以将/dev/md0挂接到指定的目录了:
a. 新建一个文件夹:#mkdir /raid5;
b. 挂载/dev/md0 到 /raid5 上:#mount /dev/md0 /raid5;
c. 可以直接使用磁盘了;
8、生成配置文件
mdadm的缺省配置文件为/etc/mdadm.conf,它主要是为了方便阵列的日常管理而设置的,非必须的。
在mdadm.conf文件中要包含两种类型的行:一种是以device开头的行,它指明在阵列中的设备列表;另一种是以array开头的行,它详细地说明了阵列的名称、模式、阵列中活动设备的数目以及设备的uuid号。格式如下:
device /dev/sdb /dev/sdc /dev/sdd
array /dev/md0 level=raid5 num-devices=3 uuid=8f128343:715a42df: baece2a8
以上的这些信息可以通过扫描系统的阵列来获取,命令为:
# mdadm -ds (或者 #mdadm --detail scan)
array /dev/md0 level=raid5 num-devices=3 uuid=6ecd420a:ff66d6de:bfe78010:bc810f04
devices=/dev/sdb,/dev/sdc,/dev/sdd
按照规定的格式编辑修改/etc/mdadm.conf文件
# vim/etc/mdadm.conf
3.常用raid维护命令
1、启动阵列# mdadm -as /dev/md0
该命令指启动/dev/md0阵列,其中“-a”指装载一个已存在的阵列;“-s”指查找mdadm.conf文件中的配置信息,并以此为依据启动阵列。
#mdadm -as
该命令指启动mdadm.conf文件中的所有阵列。
#mdadm -a /dev/md0 /dev/sd[b,c,d]
如果没有创建mdadm.conf文件则可以采用上面这种启动方式。
2、停止阵列
# mdadm -s /dev/md0
3、显示指定阵列的详细信息
# mdadm -d /dev/md0
4.总结:
本文验证了raid在龙芯主机和服务器平台上的搭建过程,证明了龙芯平台可以提供安全高性能的存储系统。更多loongnix技术信息请访问龙芯社区(http://www.loongnix.org)进行更深入的了、学习。
相关资料:
[1]
[2] https://en.wikipedia.org/wiki/mdadm