@HUST张友东 work@taobao zyd_com@126.com
分类: LINUX
2009-12-29 12:12:29
mdadm,lvm工具提供强大的动态磁盘管理功能,两者都需要内核md的支持,故使用前需查看内核是否支持md,如果不支持需重新编译内核(最开始用的时候创建RAID设备出错,于是检查内核配置,发现没有multi-device的支持)。本文以创建RAID5为例,讲解mdadm的基本使用方法。
device drivers ---->multi-device suppo(RAID and LVM)
mdadm基本语法:
mdadm [mode]
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可以以分区为单位创建RAID
我在虚拟机上新建了一块硬盘/dev/hdb
并创建三个分区/dev/hdb1, /dev/hdb2, /dev/hdb3
创建RAID5:
# mdadm -Cv /dev/md0 -l5 -n3 /dev/hdb1 /dev/hdb2 /dev/hdb3
使用mdadm –D /dev/md0查看RAID信息,也可通过查看/proc/mdstat来查看相关信息,其中阵列大小,RAID级别,热备盘,布局,chunk大小都可以通过命令指定。
格式化RAID设备,将其格式为ext2格式
挂载RAID设备(如需开机自动挂载,需添加到/etc/fstab中)
mount -t ext2 /dev/md0 /mnt/ext2
测试:cp /home/ydzhang/linux-2.6.19.tar.gz /mnt/ext2
数据被分散到/dev/hdb1, /dev/hdb2, /dev/hdb3中,布局方式为left-symmetric。