预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共36页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Linux中软件RAID的使用一.简介在Linux系统中目前以MD(MultipleDevices)虚拟块设备的方式实现软件RAID,利用多个底层的块设备虚拟出一个新的虚拟块设备,并且利用条带化(stripping)技术将数据块均匀分布到多个磁盘上来提高虚拟设备的读写性能,利用不同的数据冗余算法来保护用户数据不会因为某个块设备的故障而完全丢失,而且还能在设备被替换后将丢失的数据恢复到新的设备上。关于不同冗余级别的定义和数据块以及校验块的分布示意图可以参考存储专业委员会给出的参考资料“CommonRAIDDiskDataFormatSpecification”。目前MD支持linear,multipath,raid0(stripping),raid1(mirror),raid4,raid5,raid6,raid10等不同的冗余级别和组成方式,当然也能支持多个RAID阵列的层叠组成raid1+0,raid5+1等类型的阵列。在参考资料“SoftwareRAIDHOWTO”中介绍了早期软件RAID阵列功能特点和使用方式,但是因为软件RAID程序的功能不断增加,因此很有必要写份新的使用介绍。本文主要先讲解用户层mdadm如何管理软件RAID以及使用中经常遇到的问题和解决方法。在流行的Linux的发布版中,如FedoraCore,Gentoo,Ubuntu,Debian,SuseLinux系统中一般已经将MD驱动模块直接编译到内核中或编译为可动态加载的驱动模块。我们可以在机器启动后通过cat/proc/mdstat看内核是否已经加载MD驱动或者cat/proc/devices是否有md块设备,并且可以使用lsmod看MD是否是以模块形式加载到系统中。[root@fc5mdadm-2.6.3]#cat/proc/mdstatPersonalities:unuseddevices:<none>[root@fc5mdadm-2.6.3]#cat/proc/devices|grepmd1ramdisk9md253mdp[root@fc5mdadm-2.6.3]#lsmod|grepmdmd_mod733640如果Linux系统既没有将MD编译到内核也没有自动加载MD模块,则没有/proc/mdstat文件,那么需要执行命令modprobemd加载驱动模块。[root@fc5mdadm-2.6.3]#cat/proc/mdstatcat:/proc/mdstat:Nosuchfileordirectory[root@fc5mdadm-2.6.3]#modprobemd[root@fc5mdadm-2.6.3]#lsmod|grepmdmd_mod733640如果系统中没有MD驱动模块则需要自己从Linux内核源代码网站下载源代码包,并且重新编译内核,并且需要在内核的配置文件选择。[*]Multipledevicesdriversupport(RAIDandLVM)<*>RAIDsupport<M>Linear(append)mode<M>RAID-0(striping)mode<M>RAID-1(mirroring)mode<M>RAID-10(mirroredstriping)mode(EXPERIMENTAL)<M>RAID-4/RAID-5/RAID-6mode[*]Supportaddingdrivestoaraid-5array<M>MultipathI/Osupport<M>FaultytestmoduleforMD在Linux系统中用户层以前使用raidtool工具集来管理MD设备,目前广泛使用mdadm软件来管理MD设备,而且该软件都会集成在Linux的发布版中。如果系统中没有安装可以到RAID驱动程序和mdadm软件的维护者NeilBrown的个人网站来下载源码包进行编译安装,或者下载RPM包直接安装。mdadm的最新版本是2.6.3。可以使用mdadm--version查看当前系统使用的版本。本文使用的是mdadm-2.6.3,Linux内核版本是Linux-2.6.22.1。下面的测试命令是在虚拟机环境中测试运行的。[root@fc5mdadm-2.6.3]#uname-r2.6.22.1[root@fc5mdadm-2.6.3]#./mdadm--versionmdadm-v2.6.3-20thAugust2007二.mdadm管理软RAID阵列mdadm程序是一个独立的程序,能完成所有的软RAID管理功能,主要有7种使用模式:模式名字主要功能Create使用空闲的设备创建一个新的阵列,每个设备具有元数据块Assemble将原来属于一个阵列的每个块设备组装为阵列Build创建或组装不需要元数据的阵列,每个设备没有元数据块M