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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: linux suse 10.3 安装网卡驱动下一篇: RHEL6 软件仓库
关于linux 中的软raid的所有评论