麒麟服务器操作系统通过内核 multi-disk(MD)驱动实现独立于硬件的RAID,是一种软RAID。通过mdadm命令行工具来管理和配置RAID。
使用 mdadm –help可以看到mdadm命令分类,如下:
查看每个参数的详细用法,如查看--create的用法 : mdadm --create –help
命令参数 | 简写 | 描述 |
--create | -C | 创建一个新RAID阵列 |
--assemble | -A | 添加以前创建的RAID阵列 |
--build | -B | 创建或添加RAID不用元数据(metadata) |
--manage | - | 管理修改已经存在的RAID |
--misc | 里面存放一些查看和修改RAID的指令 | |
--grow | -G | 重置大小或重构一个活跃的RAID |
--incremental | -I | 从RAID中增加或删除设备 |
--monitor | -F | 监控一个或多个raid的重大改变 |
--help | -h | 查看帮助 |
先用fdisk –l, mount, df查看磁盘情况,决定raid的组成盘。
#fdisk –l |grep “/dev/sd”
Disk /dev/sdc: 100.0 GB, 99998498816 bytes
Disk /dev/sdd: 100.0 GB, 100000595968 bytes
Disk /dev/sdf: 100.0 GB, 99999547392 bytes
Disk /dev/sde: 100.0 GB, 99999547392 bytes
Disk /dev/sdg: 100.0GB, 99998498816 bytes
创建一个raid5如下:
# mdadm --create /dev/md5 --auto=md --chunk=64 --level=5--raid-devices=4 --spare-devices=1 /dev/sd{c,d,e,f,g}
mdadm:/dev/sdd appears to contain an ext2fs file syste m
size=48828564K mtime=Thu Jan 1 08:00:00 1970
mdadm:/dev/sde appears to be part of a raid array:
level=raid0 devices=0 ctime=Thu Jan 1 08:00:00 1970
mdadm:partition table exists on /dev/sde but will be lost or
meaningless after creating array
Continuecreating array? y
mdadm:Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started
参数说明:
/dev/md5: 新建的RAID设备,格式必须/dev/mdX, X为一个数字
--chunk: 新RAID的块大小,单位KB
--level: RAID级别,可以为 0,1,5,10等
--raid-devices 组成raid的磁盘数量
--spare-devices 热备盘数量,当一个磁盘损坏时,热备盘会自动补上
/dev/sd{c,d,e,f,g} 用作raid的磁盘,数量要等于--raid-devices和--spare-devices之和
1.利用内核/proc文件系统
# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdf[5] sdg[4](S) sde[2] sdd[1] sdc[0]
292767360 blocks super1.2 level 5, 64k chunk, algorithm 2 [4/3] [UUU_]
[=>...................] recovery = 8.1% (7972220/97589120)finish=64.0min speed=23313K/sec
unused devices: <none>
上面的recovery = 8.1%表示正在初始化RAID5的校验和。
2.使用mdadm工具,查看md5的详细信息
# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Fri Apr 17 15:55:15 2015
Raid Level : raid5
Array Size : 292767360 (279.20 GiB 299.79GB)
Used Dev Size : 97589120 (93.07 GiB 99.93 GB)
Raid Devices : 4
Total Devices : 5
… …
尽管linux软RAID支持在线扩容,由于每次扩容都需要重构每个磁盘的数据结构,耗时比较久。Raid扩容一般不常用。
查看raid组成
# mdadm –D /dev/md5
添加一个磁盘到raid组
# mdadm –-manage /dev/md5 - -add /dev/sdh
改变raid盘阵结构
# mdadm --grow /dev/md5 --raid-devices=5
#mdadm –D /dev/md5
… …
Reshape Status : 7% complete
Delta Devices : 1,(4->5)
… …
关闭并不是删除,只是暂时停掉不使用。
1.关闭raid
使用 –S或 –stop,详情 help –misc –help
# mdadm -S /dev/md5
mdadm: stopped /dev/md5
2.开启raid
# mdadm -A /dev/md5 /dev/sd{c,d,e,f,g}
mdadm: /dev/md5 has been started with 3 drives (out of 4), 1rebuilding and 1 spare.
3.将raid信息写入配置文件 /etc/mdadm/mdadm.conf
# mdadm –Ds >> /etc/mdadm/mdadm.conf
4.查看写入的信息:
# cat /etc/mdadm/mdadm.conf
ARRAY /dev/md5 metadata=1.2 spares=2 name=ljb:5 UUID=8e6c6176:a93eba96:3abd924d:4ed6d818
5.根据配置文件开启raid
# mdadm –As
mdadm: /dev/md5 has been started with 3 drives (out of 4), 1rebuilding and 1 spare.
mdadm并没有删除raid这样的命令,但我们可以通过停掉raid,直接操作底层磁盘(/dev/sdXX),覆盖raid数据即可。
关闭RAID:
# mdadm -S /dev/md5
mdadm: stopped /dev/md5
覆盖相应设备:
#mkfs.xfs /dev/sde
或者清除磁盘首部数据,磁盘首部保存着raid组的元数据。
# dd if=/dev/zeroof=/dev/sdX bs=10M count=100
本文出自 “自由自在” 博客,请务必保留此出处http://jiawenjl.blog.51cto.com/4152561/1957134
原文地址:http://jiawenjl.blog.51cto.com/4152561/1957134