1.虚拟机上添加5块新磁盘
2.fdisk /dev/sdb,添加三个1G的分区,类型设为fd(linux raid autodetect)
3.dd if=/dev/sdb of=/dev/sdx bs=1024 count=1(将sdb的分区表复制到其它磁盘上去)
fdisk /dev/sdx然后按w保存(不然/dev/sdxx这些分区的设备文件不存在)
4.创建一个raid0
mdadm -C /dev/md0 -l0 -n2 /dev/sdb1 /dev/sdc1
禁用md0
mdadm -S /dev/md0
启用md0
mdadm -A /dev/md0 /dev/sdb1 /dev/sdc1
5.创建raid1
mdadm -C /dev/md1 -l1 -n2 /dev/sdb2 /dev/sdc2
cat /proc/mdstat
Personalities : [raid0] [raid1]
md1 : active raid1 sdc2[1] sdb2[0]
987904 blocks [2/2] [UU]
md0 : active raid0 sdb1[0] sdc1[1]
1975680 blocks 64k chunks
unused devices: <none>
格式化挂载,在挂载了/dev/md1的情况下执行换盘操作
mdadm /dev/md0 -f /dev/sdb2 (设置sdb2失效)
mdadm /dev/md0 -r /dev/sdb2 (移除sdb2)
mdadm /dev/md0 -a /dev/sdb3 (添加sdb3)
cat /proc/mdstat
6.创建raid5
mdadm -C /dev/md5 -l5 -n3 /dev/sdd1 /dev/sde1 /dev/sdf1 -x1 /dev/sdc3
mdadm /dev/md5 -f /dev/sdd1
mdadm /dev/md5 -r /dev/sdd1
cat /proc/mdstat (sdc3自动加入到raid5)
mdadm /dev/md5 -a /dev/sdd1 (sdd1成为热备盘)
7.保存所有配置
echo DEVICE /dev/sd*[1-9] > /dev/mdadm.conf
mdadm -D -s >> /dev/mdadm.conf
mdadm 使用参考(转)
mdadm是linux下用于管理软件 raid 的工具
以下内容来自 manpage 页:
基本语法 : mdadm [mode] [options]
[mode] 有7种:
Assemble:将以前定义的某个阵列加入当前在用阵列。
Build:Build a legacy array ,每个device 没有 superblocks
Create:创建一个新的阵列,每个device 具有 superblocks
Manage: 管理阵列,比如 add 或 remove
Misc:允许单独对阵列中的某个 device 做操作,比如抹去superblocks 或 终止在用的阵列。
Follow or Monitor:监控 raid 1,4,5,6 和 multipath 的状态
Grow:改变raid 容量或 阵列中的 device 数目
可用的 [options]:
-A, --assemble:加入一个以前定义的阵列
-B, --build:Build a legacy array without superblocks.
-C, --create:创建一个新的阵列
-Q, --query:查看一个device,判断它为一个 md device 或是 一个 md 阵列的一部分
-D, --detail:打印一个或多个 md device 的详细信息
-E, --examine:打印 device 上的 md superblock 的内容
-F, --follow, --monitor:选择 Monitor 模式
-G, --grow:改变在用阵列的大小或形态
-h, --help:帮助信息,用在以上选项后,则显示该选项信息
--help-options
-V, --version
-v, --verbose:显示细节
-b, --brief:较少的细节。用于 --detail 和 --examine 选项
-f, --force
-c, --config= :指定配置文件,缺省为 /etc/mdadm/mdadm.conf
-s, --scan:扫描配置文件或 /proc/mdstat以搜寻丢失的信息。配置文件/etc/mdadm/mdadm.conf
create 或 build 使用的选项:
-c, --chunk=:Specify chunk size of kibibytes. 缺省为 64.
--rounding=: Specify rounding factor for linear array (==chunk size)
-l, --level=:设定 raid level.
--create可用:linear, raid0, 0, stripe, raid1,1, mirror, raid4, 4, raid5, 5, raid6, 6, multipath, mp.
--build可用:linear, raid0, 0, stripe.
-p, --parity=:设定 raid5 的奇偶校验规则:eft-asymmetric, left-symmetric, right-asymmetric, right-symmetric, la, ra, ls, rs.缺省为left-symmetric
--layout=:类似于--parity
-n, --raid-devices=:指定阵列中可用 device 数目,这个数目只能由 --grow 修改
-x, --spare-devices=:指定初始阵列的富余device 数目
-z, --size=:组建RAID1/4/5/6后从每个device获取的空间总数
--assume-clean:目前仅用于 --build 选项
-R, --run:阵列中的某一部分出现在其他阵列或文件系统中时,mdadm会确认该阵列。此选项将不作确认。
-f, --force:通常mdadm不允许只用一个device 创建阵列,而且创建raid5时会使用一个device作为missing drive。此选项正相反。
-a, --auto{=no,yes,md,mdp,part,p}{NN}: