Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3100894
  • 博文数量: 94
  • 博客积分: 2599
  • 博客等级: 少校
  • 技术积分: 990
  • 用 户 组: 普通用户
  • 注册时间: 2006-08-30 23:23
文章分类

全部博文(94)

文章存档

2012年(1)

2011年(7)

2010年(24)

2009年(61)

2008年(1)

我的朋友

分类: LINUX

2009-11-06 16:47:14

mdadm使用详解及RAID 5简单分析
下载、安装mdadm

到mdadm的官方网站(~neilb/source/mdadm/)下载最新的压缩包。目前最新的版本是mdadm-2.6.2(LATEST.tgz or mdadm-2.6.2.tgz)。 推荐下载tgz格式的压缩包自行编译然后安装mdadm和它的文档、手册和示例文件。

# wget ~neilb/source/mdadm/LATEST.tgz
# tar zxf LATEST.tgz
# cd mdadm-2.6.2/
# make install

也可以使用基于RPM的发布包,你可以从这里下载,不过最新的RPM为2.6-1版本

# rpm -ihv mdadm-1.4.0-1.i386.rpm
mdadm用法

基本语法:
mdadm [mode] [options]

目前支持:
LINEAR, RAID0(striping), RAID1(mirroring), RAID4, RAID5, RAID6, RAID10, MULTIPATH和FAULTY

模式(7种):

    * Assemble:加入一个以前定义的阵列
    * Build:创建一个没有超级块的阵列
    * Create:创建一个新的阵列,每个设备具有超级块
    * Manage: 管理阵列(如添加和删除)
    * Misc:允许单独对阵列中的某个设备进行操作(如停止阵列)
    * Follow or Monitor:监控RAID的状态
    * Grow:改变RAID的容量或阵列中的设备数目

选项:

-A, --assemble:加入一个以前定义的阵列
-B, --build:创建一个没有超级块的阵列(Build a legacy array without superblocks.)
-C, --create:创建一个新的阵列
-F, --follow, --monitor:选择监控(Monitor)模式
-G, --grow:改变激活阵列的大小或形态
-I, --incremental:添加一个单独的设备到合适的阵列,并可能启动阵列
--auto-detect:请求内核启动任何自动检测到的阵列
-h, --help:帮助信息,用在以上选项后,则显示该选项信息
--help-options:显示更详细的帮助
-V, --version:打印mdadm的版本信息
-v, --verbose:显示细节
-b, --brief:较少的细节。用于 --detail 和 --examine 选项
-Q, --query:查看一个device,判断它为一个 md device 或是 一个 md 阵列的一部分
-D, --detail:打印一个或多个 md device 的详细信息
-E, --examine:打印 device 上的 md superblock 的内容
-c, --config= :指定配置文件,缺省为 /etc/mdadm.conf
-s, --scan:扫描配置文件或 /proc/mdstat以搜寻丢失的信息。配置文件/etc/mdadm.conf
使用mdadm创建RAID5

Create (mdadm --create)模式用来创建一个新的阵列。 在这里我们首先使用mdadm --create --help查看一下帮助:

# mdadm --create --help
Usage:  mdadm --create device -chunk=X --level=Y --raid-devices=Z devices

使用mdadm创建在/dev/md0上创建一个由sdb、sdc、sdd3块盘组成(另外1块盘sde为热备)的RAID5

# mdadm --create --verbose /dev/md0 --level=raid5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd --spare-devices=1 /dev/sde

mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 64K
mdadm: size set to 8388544K
mdadm: array /dev/md0 started.

每个mdadm的选项都有一个缩写的形式,例如,上面我们创建RAID 5的命令可以使用下列的缩写形式:

# mdadm -Cv /dev/md0 -l5 -n3 /dev/sdb /dev/sdc /dev/sdd -x1 /dev/sde

查看RAID状态,每十秒查看一次

# watch -n 10 'cat /proc/mdstat'

接下来为阵列创建文件系统

# mkfs.ext3 /dev/md0

向RAID中写入一个test测试文件

# mount /dev/md0 /mnt/md0
# cd /mnt/md0
# echo "test OK" > test
#ls -lh

 

可使用mdadm --detail /dev/md0(或mdadm -D /dev/md0)命令以及cat /proc/mdstat命令可以查看RAID设备的状态。
通过mdadm -D命令,我们可以查看RAID的版本、创建的时间、RAID级别、阵列容量、可用空间、设备数量、超级块、更新时间、各个设备的状态、RAID算法以及块大小等信息。

让RAID开机启动.配置RIAD配置文件吧.默认名字为mdadm.conf,这个文件默认是不存在的,要自己建立.该配置文件存在的主要作用是系统启动的时候能够自动加载软RAID,同时也方便日后管理.

# mdadm --detail --scan > /etc/mdadm.conf
# vi /etc/mdadm.conf
增加 devices /dev/sda1,/dev/sdb1,/dev/sdc1,/dev/sdd1
如:
devices /dev/sda1,/dev/sdb1,/dev/sdc1,/dev/sdd1
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=4801efe7:0257e77f:67282d6d:4588d3cb
ARRAY /dev/md5 level=raid1 num-devices=2 UUID=ddb86da7:ea6a9395:bd9aae23:c400f737
ARRAY /dev/md3 level=raid1 num-devices=2 UUID=407e1358:5727208d:64295c8b:b2384de0
ARRAY /dev/md2 level=raid1 num-devices=2 UUID=510e79ad:ee809885:c5f1c386:18c89128
ARRAY /dev/md4 level=raid1 num-devices=2 UUID=37db2994:72c1e4f5:4bb10c60:29842db9
启动停止RAID

使用--stop或-S命令选项可以停止运行的阵列(注意: 停止前必须先umount)

# umount /mnt/md0
# mdadm -S /dev/md0

# mdadm --stop /dev/md0

启用

# mdadm -As /dev/md0
添加、移除设备

从/dev/md0中移除/dev/sdb设备

# mdadm /dev/md0 -r /dev/sdb

向/dev/md0中添加一个设备

# mdadm /dev/md0 --add /dev/sdf
监控RAID

mdadm的监控模式提供一些实用的功能,可以使用下列命令来监控/dev/md0,delay参数意味着检测的时间间隔,这样紧急事件和严重的错误会及时发送给系统管理员:

# mdadm --monitor --mail=eric4ever@localhost --delay=300 /dev/md0

当使用监控模式时,mdadm不会退出,可以使用下列命令:

# nohup mdadm --monitor --mail=eric4ever@localhost --delay=300 /dev/md0 &
阅读(1948) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~