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] https://en.wikipedia.org/wiki/RAID
[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] https://en.wikipedia.org/wiki/RAID
[2] https://en.wikipedia.org/wiki/Mdadm