Chinaunix首页 | 论坛 | 博客
  • 博客访问: 86395
  • 博文数量: 42
  • 博客积分: 2630
  • 博客等级: 少校
  • 技术积分: 415
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-23 11:05
文章分类
文章存档

2011年(1)

2010年(41)

我的朋友

分类: LINUX

2010-09-18 14:42:17

什么是mdadm
mdadm是multiple devices admin的简称,它是Linux下的一款标准的软件 RAID 管理工具。 
创建 Raid 5 软队列
创建5个磁盘分区(hda8,hda9,hda10,hda11,hda12),并更改 ID 号为 fd ,保存退出。
不要格式化这四个分区。
应用分区 #partprobe /dev/hda
创建三个磁盘的Raid5
#mdadm –Cv  /dev/md0  -l5 –n3 /dev/hda8  /dev/hda9  /dev/hda10  -X1 /dev/hda11
      创建        Raid级别  分区数量                                热备
格式化分区
#mkfs.ext3  /dev/md0
挂载使用
 
软Raid 的维护
查看Raid运行状态
#mdadm  --detail  /dev/md0
[root@rhel1 mnt]# mdadm --detail /dev/md0
/dev/md0:
        Version : 0.90
  Creation Time : Thu Sep 16 13:02:34 2010
     Raid Level : raid5
     Array Size : 112256 (109.64 MiB 114.95 MB)
  Used Dev Size : 56128 (54.82 MiB 57.48 MB)
   Raid Devices : 3
  Total Devices : 5
Preferred Minor : 0
    Persistence : Superblock is persistent
    Update Time : Thu Sep 16 13:39:33 2010
          State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 1
  Spare Devices : 1
         Layout : left-symmetric
     Chunk Size : 64K
           UUID : 6a436bf5:c60469fc:e8b3f3e4:49f306e5
         Events : 0.20
    Number   Major   Minor   RaidDevice State
       0       3        8        0      active sync   /dev/hda8
       1       3        9        1      active sync   /dev/hda9
       2       3       11        2      active sync   /dev/hda11
       3       3       10        -      spare   /dev/hda10
       4       3       12        -      faulty spare   /dev/hda12
我们可以查看RAID的版本、创建的时间、RAID级别、阵列容量、可用空间、设备数量、超级块、更新时间、各个设备的状态、RAID算法以及块大小等信息。
我们还可以用下面的方式实时查看:
watch命令每个30秒刷新一下查看的进度:
# watch -n 30 'cat /proc/mdstat'
配置mdadm.conf(
#mdadm –-detail –-scan >/etc/mdadm.conf
 
启动停止RAID
使用--stop或-S命令选项可以停止运行的阵列(注意: 停止前必须先umount):
# umount /mnt/md0
# mdadm -S /dev/md0  (或mdadm --stop /dev/md0)
mdadm: stopped /dev/md0
重新启动可以使用(必须先配置好mdadm.conf):
# mdadm -As /dev/md0
如果未配置mdadm.conf  就要指明分区
#mdadm –A /dev/md0  /dev/hda{8,9,10,11,12}
如果具体不知道某个设备或分区属于哪个阵列
可使用如下方式来测试查找:
#mdadm –E /dev/hda12
 
添加或删除设备/分区
常用于标识failed 磁盘,增加spare磁盘,以及替换磁盘等。
标识坏磁盘--fail ,并移走—remove
#mdadm /dev/md0 –-fail /dev/hda8  --remove /dev/hda8
注意Raid 0 是不能这样做的。
 
增加一个新的陈列磁盘
#mdadm  /dev/md0 –add  /dev/hda8
 
实时监控
在monitor状态下:
nohup mdadm –monitor  --mail=root  --delay=100  /dev/md0 &
上述定义:每100秒监控一次,当陈列出现错误时,会发送邮件给root用户。
由于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等阵列模式,是无效的)
增加spare磁盘
可以通过在创建的时候指定冗余磁盘:
mdadm -Cv /dev/md0 -l1 -n2 -x1 /dev/sd{b,c,d}1
-x(--spare-devices)参数用于指定冗余磁盘的数量
另外,对于full的阵列(例如已经有2个磁盘的RAID1),则直接使用- -add参数,mdadm会自动把冗余的磁盘作为spare disk。
删除阵列
mdadm -S /dev/md0
rm /dev/md0
修改/etc/mdadm.conf、/etc/fstab等配置文件,把相关的地方去掉;
最后,用fdisk对磁盘进行重新分区即可。
     
    阅读(419) | 评论(0) | 转发(0) |
    0

    上一篇:Linux文件系统参数

    下一篇:nohup 命令

    给主人留下些什么吧!~~