快速业务通道

linux 中的软raid

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-29
Linux中的raid(Redundant Array of Independent Disks)独立冗余磁盘阵列 在现代的一个以数据为中心的信息时代,如何妥善有效的保护好数据,是存储系统的核心问题,而再次,raid技术的出现,为人们解决了很大的问题. raid可以分为软raid和硬raid,一般中高档的服务器多使用硬件raid控制器,但是硬件raid控制器价格昂贵,考虑到成本,在一些中小型企业还是使用软件braid. 在Linux系统中了,目前使用MD(multiple device ) 虚拟块设备的方式来实现raid,多个底层的虚拟块设备虚拟出一个行的块设备,利用条带化技术,将数据块均匀的分布在多个磁盘上,来提高虚拟设备的读写性能,利用不同的数据冗余的算法,来保护数据不会一个磁盘的损坏而照成数据的丢失. MD支持linear、multipath、raid0、raid1、raid4、raid5、raid6、raid10等不同的冗余级别和组成方式. 现在用户空间使用mdadm命令能创建及管理raid. 在管理raid之前,可以使用cat /proc/mdstat看内核是否加载了MD驱动或使用cat /proc/devices查看是否有md块设备,也可使用lsmod看MD是否是以模块形式加载到系统中. 如图: 我的系统上已经有了raid,会显示三个,分别是md10、md1、md0 使用lsmod 命令也可以看到具体信息 如果Linux系统即没有将MD编译到内核中,也没有自动加载MD模块,则没有/proc/mdstat文件,这个时候需要执行命令modprobe md 加载驱动模块,如果MD驱动是模块形式加载,需要在系统运行的时候有用户层脚本控制raid整列启动的运行,如在系统fedoracore系统中在/etc/rc.d/rc.sysinit文件中有启动软raid阵列的指令,若mdadm.conf存在,则调用madam检查配置文件里的选项,然后启动raid阵列 下面是/etc/rc.d/rc.sysinit文件中启动软raid阵列的指令 我们可以使用uname -r来查看内核的版本,使用mdadm --version命令查看mdadm的版本,如图所示: mdadm程序是一个独立的程序,能够完成所有的软raid的管理功能,主要有一下七种 接下来就是磁盘分区,在前面的博客里面已经讲到,这里就不做详细的介绍了,主要使用fdisk /dev/sd 或/dev/hd命令来创建新的分区. 创建新是阵列,使用mdadm --created或mdadm -C ,使用--level 或-l指定等级,--chunk(-c)表示每个条带单元的大小,默认是64KB,条带大小的配置对不同负载下的阵列读写性能有很大的影响,--raid-devices或(-n)来指定队列中活跃的设备的个数,而是用--spare-devices(-x)表示队列中热备盘的个数,一旦队列中的某个磁盘失效,MD内核程序自动用将热备磁盘加入到队列中,然后重构丢失磁盘上的数据到热备磁盘上. 如创建一个raid0 的设备: mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sd[i-k] 创建一个raid1的设备: mdadm -C /dev/md1 -a yes -l 1 -n 2 -x 1 /dev/sd[i-k] 创建一个raid5设备 mdadm -C /dev/md5 -a yes -l 5 -n 3 -x 1 /dev/sd[i-l] 创建一个raid10 的设备: mdadm -C /dev/md5 -a yes -l 10 -n 6 /dev/sd[b-g] -x 1 /dev/sdh 创建一个raid1 0的设备: mdadm -C /dev/md0 -a yes -l 1 -n 2 /dev/sdb /dev/sdc mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sdd /dev/sde mdadm -C /dev/md2 -a yes -l 1 -n 2 /dev/sdf /dev/sdg mdadm -C /dev/md3 -a yes -l 0 -n 3 /dev/md0 /dev/md1 /dev/md2 创建一个raid0 1的设备: mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb /dev/sdc mdadm -C /dev/md1 -a yes -l 0 -n 2 /dev/sdd /dev/sde mdadm -C /dev/md2 -a yes -l 0 -n 2 /dev/sdf /dev/sdg mdadm -C /dev/md3 -a yes -l 1 -n 2 /dev/md0 /dev/md1 -x 1 /dev/md2 当raid 1、4、5、6、10创建成功后,需要计算每个条带的校验和信息并写入到相应的磁盘上,可以使用cat /proc/mdstat来查看当前重构的速度和预期的完成时间. 如果一个块设备已经正被其他的MD设备或文件系统使用,则不能使用创建新的MD设备. Build模式可以用来创建没有元数据的raid0/1设备,不能创建raid4、5、6、10、等带有冗余级别的MD设备 如果想停止正在运行的阵列,可以使用--stop来停止,但是前提是要先卸载已经挂载的. 配置文件/etc/mdadm.conf文件是用来方便追踪软raid的配置,尤其是可以监视和事件上报选项,尅已使用mdadm -A --scan 来扫描,使用mdadm -D --scan>>/etc/mdadm.conf,使用mdadm -S /dev/mdN来停止raid设备 查询阵列的状态: cat /proc/mdstat来查看所有运行的raid阵列的状态 未完,待续......................

本文出自 “IT梦-齐-分享” 博客,请务必保留此出处http://roqi410.blog.51cto.com/2186161/628212

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号