您的位置:首页 > 运维架构 > Linux

linux 软阵列管理--mdadm

2010-09-07 09:42 302 查看
原文链接:http://bbs.linuxtone.org/thread-6884-1-1.html

简单来说,RAID(磁盘阵列)把多个硬盘组合成为一个逻辑扇区,因此,操作系统只会把它当作一个硬盘。RAID常被用在服务器电脑上,并且常使用完全相同的硬盘作为组合。最初的RAID分成了不同的等级,每种等级都有其理论上的优缺点。更多内容参考:RAID

阵列可以有阵列卡实现的硬阵列,也可以由操作系统提供支持的软阵列。linux下的软阵列用mdadm来管理。以下是针对CentOS的基本操作:

一、建立软阵列一般分为3个步骤

1、产生组成单元

linux中软阵列的组成单元是分区,且这个分区的系统识别码必须设置成“fd linux raid autodetect”。可以用fdisk或pareted分区工具分区。

Device Boot Start End Blocks Id System
/dev/hdb1 1 195 98248+ fd Linux raid autodetect
/dev/hdb2 196 390 98280 fd Linux raid autodetect

2、建立磁盘阵列

mdadm -C /dev/md0 -l 1 -n 4 /dev/hd[bd][12]
#-C /dev/md0 创建名为md0的磁盘阵列设备
#-l 1 阵列等级是raid1,可以建立0,5等其他磁盘阵列
#-n 4 组成单元有4个分区
#/dev/hd[bd][12] 组成单元是/dev/hdb1、/dev/hdb2、/dev/hdd1、/dev/hdd2

#格式化该磁盘阵列
mkfs -t ext3 /dev/md0

#挂载并设置/etc/fstab
mount /dev/md0 /data
echo "/dev/md0 /data ext3 defaults 1 2" >> /etc/fstab

3、mdadm.conf配置

/etc/mdadm.conf是centos下mdadm的默认配置文件,系统启动时会根据此配置文件激活磁盘阵列及启动阵列监控服务。此配置文件可以参考/usr/share/doc/mdadm-2.6.9/mdadm.conf-example。配置很简单,可以根据已经建立的磁盘阵列使用以下命令建立此文件。

mdadm -Ds >> /etc/mdadm.conf
echo "MAILADDR saplingidea@gmail.com" >> /etc/mdadm.conf
#MAILADDR是管理员email,磁盘阵列出问题时会发邮件通知管理员。
cat /etc/mdadm.conf
#内容如下
ARRAY /dev/md0 level=raid1 num-devices=4 metadata=0.90 UUID=40d32084:7be6bc73:071b21a9:4d8afc12
MAILADDR saplingidea@gmail.com

二、管理磁盘阵列

1、查看磁盘阵列信息

#直接查看/proc/mdstat
cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 hdd2[3] hdd1[2] hdb2[1] hdb1[0]
98176 blocks [4/4] [UUUU]

#使用mdadm查看
mdadm -D /dev/md0

2、处理硬盘故障

对于raid1,raid5这样有容灾能力的磁盘阵列来说,硬盘的故障不用太担心。以下是处理硬盘故障一般步骤:
a.使用mdadm /dev/md0 -r /dev/hdb1 在线卸载故障硬盘的组成单元
b.物理拆除故障硬盘
c.安装正常的硬盘并分区产生新的组成单元
d.使用mdadm /dev/md0 -a /dev/hdd3 在线加入新组成单元

#-f参数可以模拟磁盘故障
mdadm /dev/md0 -f /dev/hdb1

mdadm -D /dev/md0 |tail
UUID : 40d32084:7be6bc73:071b21a9:4d8afc12
Events : 0.4

Number Major Minor RaidDevice State
0 0 0 0 removed
1 3 66 1 active sync /dev/hdb2
2 22 65 2 active sync /dev/hdd1
3 22 66 3 active sync /dev/hdd2

4 3 65 - faulty spare /dev/hdb1

#在线卸载故障硬盘的组成单元
mdadm /dev/md0 -r /dev/hdb1

#在线加入新组成单元
mdadm /dev/md0 -a /dev/hdd3

mdadm -D /dev/md0 |tail
Spare Devices : 0

UUID : 40d32084:7be6bc73:071b21a9:4d8afc12
Events : 0.26

Number Major Minor RaidDevice State
0 22 67 0 active sync /dev/hdd3
1 3 66 1 active sync /dev/hdb2
2 22 65 2 active sync /dev/hdd1
3 22 66 3 active sync /dev/hdd2

3、启用、停用磁盘阵列

#启用
mdadm -A -s [MD_DEVICE]
#停用
mdadm --stop -s [MD_DEVICE]

4、监控磁盘阵列

启动mdmonitor服务监控磁盘阵列,当磁盘阵列出现故障时会发邮件通知管理员,邮件保存在/etc/mdadm.conf里。

/etc/init.d/mdmonitor start
chkconfig mdmonitor on

#报警内容示例
This is an automatically generated mail message from mdadm
running on localhost.localdomain

A Fail event had been detected on md device /dev/md0.

It could be related to component device /dev/hdb1.

Faithfully yours, etc.

P.S. The /proc/mdstat file currently contains the following:

Personalities : [raid1]
md0 : active raid1 hdd2[3] hdd1[2] hdb2[1] hdb1[4](F)
98176 blocks [4/3] [_UUU]

unused devices:

5、删除磁盘阵列

删除磁盘阵列前必需做好备份。

umount /dev/md0
mdadm --stop -s /dev/md0
mdadm --zero-superblock /dev/hd[bd][123]
rm /etc/mdadm.conf

#删除磁盘阵列后必须修改/etc/fstab,以免开机无法挂载分区而无法启动。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: