源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-04-20 22:24 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:在Linux下用软件实现RAID功能的实现方法
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 [b]※源码最新版本是2.5,由于我使用的1.6.0的rpm包,所以还是以该版本为例。[/b] 二、模式 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) [b]3、设置文件[/b] mdadm不采用/etc/mdadm.conf作为主要设置文件,他能完全不依赖该文件而不会影响阵列的正常工作。 该设置文件的主要作用是方便跟踪软RAID的设置。对该设置文件进行设置是有好处的,但不是必须的。[b]推荐对该文件进行设置。[/b] 通常能这样来建立: [b]echo DEVICE /dev/sd[bcd]1 > /etc/mdadm.conf[/b] [b]mdadm -Ds >> /etc/mdadm.conf mdadm --detail --scan >> /etc/mdadm.conf[/b] [b]4、格式化阵列 [/b]后续,只要你把/dev/md0作为一个独立的设备来进行操作即可: mkfs.ext3 /dev/md0 mkdir /mnt/test mount /dev/md0 /mnt/test [b]5、若要开机自动挂载,请加入/etc/fstab中:[/b] /dev/md0 /mnt/tes auto defaults 0 0 [b]四、监视和管理 [/b]mdadm能非常方便的对阵列进行监视和管理的操作,也包括了停止和启动阵列等常用维护。 [b]1、查看[/b] 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中,而不必人工干预[b]。(请注意,能实现这样工作的,只有在该阵列支持冗余的情况下才能实现,如raid1、raid5等。而对于raid0等阵列模式,是无效的)[/b] 五、其他 [b]1、增加spare磁盘[/b] 能通过在创建的时候指定冗余磁盘: 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对磁盘进行重新分区即可。 [b]3、重建阵列[/b] 我们也能在没有fdisk的情况下把使用过,但目前没有属于所有阵列的磁盘划分到新阵列中:
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部