<span id='emoel'></span>

  1. <acronym id='emoel'><em id='emoel'></em><td id='emoel'><div id='emoel'></div></td></acronym><address id='emoel'><big id='emoel'><big id='emoel'></big><legend id='emoel'></legend></big></address>

        <i id='emoel'></i>

          <ins id='emoel'></ins>
        1. <tr id='emoel'><strong id='emoel'></strong><small id='emoel'></small><button id='emoel'></button><li id='emoel'><noscript id='emoel'><big id='emoel'></big><dt id='emoel'></dt></noscript></li></tr><ol id='emoel'><table id='emoel'><blockquote id='emoel'><tbody id='emoel'></tbody></blockquote></table></ol><u id='emoel'></u><kbd id='emoel'><kbd id='emoel'></kbd></kbd>
          <fieldset id='emoel'></fieldset><i id='emoel'><div id='emoel'><ins id='emoel'></ins></div></i><dl id='emoel'></dl>

          <code id='emoel'><strong id='emoel'></strong></code>

          在Linux下用软件实现RAID功能的实现方法

          • 时间:
          • 浏览:5
          • 来源:124软件资讯网
            mdadm使用的也是md驱动  ,由于其拥有多种模式  ,而且单一工具  ,不依赖所有设置文件  ,是替换raidtools的好工具  。现在险些所有刊行版本使用的都是该工具  。
            一、安装和编译
            源码下载:
            http://www.cse.unsw.edu.au/~neilb/source/mdadm/
            编译:
            tar xzvf ./mdadm-1.6.0.tgz
            cd mdadm-1.6.0
            make install
            rpm安装:
            rpm -ivh mdadm-1.6.0-3.rpm
            ※源码最新版本是2.5  ,由于我使用的1.6.0的rpm包  ,以是照旧以该版本为例  。
            二、模式
            mdadm有6种模式  ,前两种模式:Create、Assemble用于设置和激活阵列;Manage模式用于操作在运动阵列中的装备;Follow或Monitor模式允许治理员对运动阵列设置事务提醒和行动;Build模式用于对旧阵列使用旧版本的md驱动;更有Grow模式能扩展阵列;剩下的是Misc模式  ,他包罗对多种内部的使命和没有指定特殊模式的一些操作  。
            系统平台: 红帽 AS4 for x86
            三、部署
            1、准备磁盘
            只能使用Sofware RAID花样的磁盘才气组成阵列  ,以是 ,首先我们要把做好磁盘花样 。正如上面提到的  ,除了系统盘sda外  ,我们需要对sdb、sdc、sdd举行操作
            a)对sdb举行分区
            fdisk /dev/sdb
            n ,划分区:

            p ,划分区:

            w  ,写入退出:

            2、建立阵列
            mdadm能支持LINEAR、RAID0 (striping)、 RAID1(mirroring)、 RAID4、RAID5、RAID6和MULTIPATH的阵列模式  。
            建立下令花样如下:
            mdadm [mode] [options]
            例如:建立一个RAID 0装备:
            mdadm --create --verbose /dev/md0 --level=0 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
            --level表现建立的阵列模式  ,--raid-devices表现参和阵列的磁盘数目 。
            也能这样表达 ,意思是相同的:
            mdadm -Cv /dev/md0 -l0 -n3 /dev/sd[bcd]1
            还能增添-c128参数  ,指定chunk size为128K(默认64K)
            3、设置文件
            mdadm不接纳/etc/mdadm.conf作为主要设置文件  ,他能完全不依赖该文件而不会影响阵列的正常事情 。
            该设置文件的主要作用是利便跟踪软RAID的设置  。对该设置文件举行设置是有利益的 ,但不是必须的  。推荐对该文件举行设置  。
            通常能这样来建设:

            echo DEVICE /dev/sd[bcd]1 > /etc/mdadm.conf
            mdadm -Ds >> /etc/mdadm.conf
            mdadm --detail --scan >> /etc/mdadm.conf

            4、花样化阵列
            后续  ,只要你把/dev/md0作为一个自力的装备来举行操作即可:

            mkfs.ext3 /dev/md0
            mkdir /mnt/test
            mount /dev/md0 /mnt/test
            5、若要开机自动挂载  ,请加入/etc/fstab中:
            /dev/md0 /mnt/tes auto defaults 0 0
            四、监视和治理
            mdadm能很是利便的对阵列举行监视和治理的操作  ,也包罗了制止和启动阵列等常用维护  。
            1、检察
            cat /proc/mdstat
            能检察所有使用md驱动的阵列的状态:
            mdadm --detail /dev/md0
            检察指定阵列的周详信息(-D):

            2、制止
            mdadm -S /dev/md0
            制止指定阵列  ,并释放磁盘(--stop):
            ※注重:制止后  ,原组成阵列的磁盘将处于空闲状态  ,一旦吾操作这些磁盘  ,将不能再重启激活原阵列  。
            3、启动
            mdadm -A /dev/md0 /dev/sd[bcd]1
            启动指定的阵列  ,也可明白为讲一个新阵列装配到系统中(--assemble):
            若你已在上面设置了/etc/mdadm.conf文件  ,也可用-s查找:
            mdadm -As /dev/md0

            4、测试
            若是你没有设置/etc/mdadm.conf文件  ,而且又忘了某磁盘属于谁人阵列 ,则你能使用检测:(--examine)
            mdadm -E /dev/sdb1
            获得UUID后  ,也能这样激活阵列:
            mdadm -Av /dev/md0 --uuid=8ba81579:e20fb0e8:e040da0e:f0b3fec8 /dev/sd*
            能看到  ,只要磁盘没有损坏  ,这样装配是很是利便的:
            5、添加及删除磁盘
            mdadm能在Manage模式下  ,对运行中的阵列举行添加及删除磁盘  。常用于标识failed磁盘  ,增添spare(冗余)磁盘  ,及替换磁盘等  。
            例如:原来状态是:
            则能使用--fail指定坏磁盘  ,并--remove走:
            mdadm /dev/md0 --fail /dev/sdc1 --remove /dev/sdc1

            ※需要注重的是  ,对于某些阵列模式 ,如RAID0等  ,是不能用--fail和--remove的  。
            增添一个新的阵列用磁盘
            mdadm /dev/md0 --add /dev/sdc1
            ※需要注重的是  ,对于某些阵列模式 ,如RAID0等  ,是不能用--add的  。

            6、监视
            在Follow或Monitor状态下  ,能使用mdadm对阵列举行监视  ,例如当阵列泛起问题的时间  ,发送邮件给治理员;或当磁盘泛起问题的时间举行自动的磁盘替换  。
            nohup mdadm --monitor --mail=sysadmin --delay=300 /dev/md0 &
            上述界说:没300秒监视一次 ,当阵列泛起错误  ,会发送邮件给sysadmin用户 。由于monitor启动后是不会自动退出的  ,以是需要加上nohup和&  ,使之连续在后台运行  。
            在Follow模式下  ,是允许共享冗余磁盘的 。
            例如 ,我们有两个阵列:/dev/md0、/dev/md1 ,而/dev/md0内里有一个spare磁盘  。当我们在/etc/mdadm.conf中界说类似:
            DEVICE /dev/sd*
            ARRAY /dev/md0 level=raid1 num-devices=3 spare-group=database
            UUID=410a299e:4cdd535e:169d3df4:48b7144a
            ARRAY /dev/md1 level=raid1 num-device=2 spare-group=database
            UUID=59b6e564:739d4d28:ae0aa308:71147fe7
            也就是界说一个spare-group组  。并运行上面的monitor模式下令  。这样  ,当组成/dev/md1的其中一个磁盘泛起问题的时间 ,mdadm会自动从/dev/md0上移走spare磁盘 ,并加入/dev/md1中  ,而不必人工干预  。(请注重  ,能实现这样事情的  ,只有在该阵列支持冗余的情形下才气实现  ,如raid1、raid5等  。而对于raid0等阵列模式  ,是无效的)
            五、其他
            1、增添spare磁盘
            能通过在建立的时间指定冗余磁盘:
            mdadm -Cv /dev/md0 -l1 -n2 -x1 /dev/sd[bcd]1
            -x(--spare-devices)参数用于指定冗余磁盘的数目 ,效果:
            另外  ,对于full的阵列(例如已有2个磁盘的RAID1) ,则直接使用-add参数  ,mdadm会自动把冗余的磁盘作为spare disk  。

            2、删除阵列
            mdadm -S /dev/md0

            rm /dev/md0
            修改/etc/mdadm.conf、/etc/fstab等设置文件  ,把相关的地方去掉;
            最后  ,用fdisk对磁盘举行重新分区即可  。
            3、重修阵列
            我们也能在没有fdisk的情形下把使用过  ,但现在没有属于所有阵列的磁盘划分到新阵列中: