RAID
RAID :分为 硬RAID和软RAID 。
硬RAID 需要RAID卡,这个卡有自己的CPU,这样处理很快
软RAID 通过操作系统
RAID类型 个数 利用率 优缺点
RAID0 条带集 2+ 100% 读写速度快,不容错
RAID1 镜像集 2的n次方 50% 容错,有备份,利用率低了
RAID5 带奇偶校验条带集 3+ (n-1)/n 读写快,容错,只允许坏一块
RAID6 双校验 4+ (n-2)/n 读写快,容错,允许坏两块
RAID10 是RAID0和 RAID1的组合,也就是组合了二者的优点,磁盘利用率还是50%
======================实验软raid========================================
1. 准备多块硬盘或多个分区(RAID类型为:fd)
[root@station230 ~]# partx -a /dev/sda
[root@station230 ~]# ll /dev/sda*
RAID5(3个分区) + 热备(1个分区)
==创建RAID
[root@station230 ~]# yum -y install mdadm //确保mdadm命令能用,没有就安装一下
[root@station230 ~]# mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sda{9,10,11,12}
mdadm: array /dev/md0 started.
//-C Create a new array -l5 表示作RAID5 -n表示几块盘或者分区 -x表示热备盘数量
==格式化,挂载
[root@station230 ~]# mkfs.ext3 /dev/md0
[root@station230 ~]# mkdir /mnt/raid5
[root@station230 ~]# mount /dev/md0 /mnt/raid5/
[root@station230 ~]# df -Th /mnt/raid5/
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/md0 ext3 1.9G 35M 1.8G 2% /mnt/raid5
[root@station230 ~]# cp -rf /etc/ /mnt/raid5/etc1
[root@station230 ~]# cp -rf /etc/ /mnt/raid5/etc2
[root@station230 ~]# df -Th /mnt/raid5/
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/md0 ext3 1.9G 481M 1.3G 27% /mnt/raid5
==查看
[root@station230 ~]# mdadm -D /dev/md0 //-D 查看详细信息
==模拟一块硬盘损坏,并移除
终端一
[root@station230 ~]# watch -n 0.5 'mdadm -D /dev/md0' //watch 是监控
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sda9
1 8 18 1 active sync /dev/sda10
2 8 21 2 active sync /dev/sda11
3 8 22 - spare /dev/sda12
终端二:
[root@station230 ~]# mdadm /dev/md0 -f /dev/sda10 -r /dev/sda10
//模拟坏了并移除 -f --fail -r --remove
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sda9
1 8 22 1 active sync /dev/sda12 --热备自动填补
2 8 21 2 active sync /dev/sda11
==增加硬盘(增加的默认为热备盘)
[root@station230 ~]# mdadm /dev/md0 -a /dev/sda13
mdadm: added /dev/sda13
[root@station230 ~]# mdadm /dev/md0 -a /dev/sda14
mdadm: added /dev/sda14
==拉伸
[root@station230 ~]# mdadm -G /dev/md0 -n4 // -G --grow拉伸
拉伸不主张用
==刷新文件系统
[root@station230 ~]# resize2fs /dev/md0 //同步
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/md0 is mounted on /mnt/raid5; on-line resizing required
Performing an on-line resize of /dev/md0 to 732336 (4k) blocks.
The filesystem on /dev/md0 is now 732336 blocks long.
== 设置RAID开机生效
[root@station230 ~]# mdadm -D -s // -s --scan
ARRAY /dev/md0 level=raid5 num-devices=4 metadata=0.91 spares=1 UUID=5d944920:1ecc78e7:6c4807a2:8089c238
[root@station230 ~]# mdadm -D -s >> /etc/mdadm.conf RAID配置文件
mdadm选项:
-s --scan
-S --stop
-D --detail
-C --create
-G --grow
-f --fail
-r --remove
-a --add
-n --raid-devices=3
-x --spare-devices=1
-l --level=
-A --assemble
建立第二个RAID1
[root@station230 ~]# mdadm -C /dev/md1 -l1 -n2 /dev/sda{10,15 }
mdadm: /dev/sda10 appears to be part of a raid array:
level=raid5 devices=3 ctime=Mon Nov 5 10:08:56 2012
Continue creating array? yes <==
mdadm: array /dev/md1 started.
[root@station230 ~]# mkfs.ext3 /dev/md1
[root@station230 ~]# mkdir /mnt/raid1
[root@station230 ~]# mount /dev/md1 /mnt/raid1
[root@station230 ~]# df -Th /mnt/raid1
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/md1 ext3 939M 18M 874M 2% /mnt/raid1
[root@station230 ~]# cat /proc/mdstat //也是一种查看方式
Personalities : [raid6] [raid5] [raid4] [raid1]
md1 : active raid1 sda15[1] sda10[0 ]
976448 blocks [2/2] [UU]
md0 : active raid5 sda14[3] sda13[4](S) #这里S表示热备盘 # sda11[2] sda12[1] sda9[0]
2929344 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
unused devices: <none>
[root@station230 ~]# mdadm -D -s >> /etc/mdadm.conf
[root@station230 ~]# vim /etc/mdadm.conf
ARRAY /dev/md0 level=raid5 num-devices=4 metadata=0.90 spares=1 UUID=5d944920:1ecc78e7:6c4807a2:8089c238 spare-group =ule
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=0.90 UUID=54624d46:5c1625e3:1a275ecf:99ea48c8 spare-group =ule
MAILADDR root@localhost //设置RAID错误邮件通知
// spare-group=ule 这里是指定共享同一个热备盘 ,最后的(ule)是随便起的名字,要保持和上一行那个一致
[root@station230 ~]# mdadm -S /dev/md0 // -S 停止RAID
mdadm: stopped /dev/md0
[root@station230 ~]# mdadm -A /dev/md0 启动RAID //-A是重新汇集,分配或者说启动
mdadm: /dev/md0 has been started with 4 drives and 1 spare.
删除RAID :
如果已经用RAID作成了逻辑卷,那就先用lvremove等命令将逻辑卷、卷组、物理卷都删除
0. 查看RAID
[root@localhost ~]# mdadm -D -s
ARRAY /dev/md0 level=raid5 num-devices=3 metadata=0.90 spares=1 UUID=04eb60b7:c876a6fb:10b7cb42:423b6e2b
ARRAY /dev/md1 level=raid5 num-devices=3 metadata=0.90 UUID=57802827:b0281df8:a103ef20:362177c7
[root@localhost ~]# mdadm -D /dev/md0 // 看看每个RAID的盘
Number Major Minor RaidDevice State
0 8 5 0 active sync /dev/sda5
1 8 6 1 active sync /dev/sda6
2 8 7 2 active sync /dev/sda7
3 8 8 - spare /dev/sda8
[root@localhost ~]# mdadm -D /dev/md1
Number Major Minor RaidDevice State
0 8 9 0 active sync /dev/sda9
1 8 10 1 active sync /dev/sda10
2 8 11 2 active sync /dev/sda11
1.卸载所有RAID
umount /dev/md0 //卸载掉
umount /dev/md1
2. 停止RAID
[root@localhost ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0
[root@localhost ~]# mdadm -S /dev/md1
mdadm: stopped /dev/md1
3. # mdadm --zero-superblock /dev/sda{5,6,7,8,9,10,11} //将这几个分区清空
4. # >/etc/mdadm.conf // 将这个配置文件里的东西清空,以防开机继续读到
# rm -rf /etc/mdadm.conf
创建RAID, 设置共享热备盘
[root@localhost ~]# mdadm -C /dev/md0 -l1 -n2 -x1 /dev/sda{7,8,9}
mdadm: array /dev/md0 started.
[root@localhost ~]# mdadm -C /dev/md1 -l1 -n2 /dev/sda{10,11}
mdadm: array /dev/md1 started.
[root@localhost ~]# mdadm -D -s > /etc/mdadm.conf
[root@localhost ~]# cat /etc/mdadm.conf
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=0.90 spares=1 UUID=aef667f2:0d9b525a:76f6770b:67e6ecb0 spare-group= ule
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=0.90 UUID=442660f1:fc1b15c2:d870f26f:563b82f1 spare-group= ule
MAILADDR root@localhost //这个是后加的,发邮件功能
[root@localhost ~]# service mdmonitor restart ********//启动一个监控服务,有这个,有问题时才会发邮件
启动 mdmonitor: [确定]
[root@localhost ~]# chkconfig mdmonitor on //这个开机会生效哦
[root@station5 ~]# chkconfig mdmonitor --list
mdmonitor 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[
root@localhost ~]# mdadm /dev/md1 -f /dev/sda11 -r /dev/sda11 //模拟一块坏了
mdadm: set /dev/sda11 faulty in /dev/md1
mdadm: hot removed /dev/sda11
[root@localhost ~]# mail
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/root": 7 messages 7 new
>N 6 logwatch@localhost.l Tue Nov 6 10:35 107/3314 "Logwatch for localhos"
N 7 root@localhost.local Tue Nov 6 16:27 34/1191 "Fail event on /dev/md"
[root@localhost ~]# mdadm /dev/md0 -a /dev/sda11 //增加热备
mdadm: added /dev/sda11
[root@localhost ~]# mdadm /dev/md0 -a /dev/sda12
mdadm: added /dev/sda12
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [raid1]
md1 : active raid1 sda12[0] sda9[1] sda10[2](F)
200704 blocks [2/2] [UU]
md0 : active raid1 sda11[2](S) sda8[1] sda7[0]
200704 blocks [2/2] [UU]
unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md1
Number Major Minor RaidDevice State
0 8 12 0 active sync /dev/sda12
1 8 9 1 active sync /dev/sda9
2 8 10 - faulty spare /dev/sda10
RAID :分为 硬RAID和软RAID 。
硬RAID 需要RAID卡,这个卡有自己的CPU,这样处理很快
软RAID 通过操作系统
RAID类型 个数 利用率 优缺点
RAID0 条带集 2+ 100% 读写速度快,不容错
RAID1 镜像集 2的n次方 50% 容错,有备份,利用率低了
RAID5 带奇偶校验条带集 3+ (n-1)/n 读写快,容错,只允许坏一块
RAID6 双校验 4+ (n-2)/n 读写快,容错,允许坏两块
RAID10 是RAID0和 RAID1的组合,也就是组合了二者的优点,磁盘利用率还是50%
======================实验软raid========================================
1. 准备多块硬盘或多个分区(RAID类型为:fd)
[root@station230 ~]# partx -a /dev/sda
[root@station230 ~]# ll /dev/sda*
RAID5(3个分区) + 热备(1个分区)
==创建RAID
[root@station230 ~]# yum -y install mdadm //确保mdadm命令能用,没有就安装一下
[root@station230 ~]# mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sda{9,10,11,12}
mdadm: array /dev/md0 started.
//-C Create a new array -l5 表示作RAID5 -n表示几块盘或者分区 -x表示热备盘数量
==格式化,挂载
[root@station230 ~]# mkfs.ext3 /dev/md0
[root@station230 ~]# mkdir /mnt/raid5
[root@station230 ~]# mount /dev/md0 /mnt/raid5/
[root@station230 ~]# df -Th /mnt/raid5/
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/md0 ext3 1.9G 35M 1.8G 2% /mnt/raid5
[root@station230 ~]# cp -rf /etc/ /mnt/raid5/etc1
[root@station230 ~]# cp -rf /etc/ /mnt/raid5/etc2
[root@station230 ~]# df -Th /mnt/raid5/
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/md0 ext3 1.9G 481M 1.3G 27% /mnt/raid5
==查看
[root@station230 ~]# mdadm -D /dev/md0 //-D 查看详细信息
==模拟一块硬盘损坏,并移除
终端一
[root@station230 ~]# watch -n 0.5 'mdadm -D /dev/md0' //watch 是监控
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sda9
1 8 18 1 active sync /dev/sda10
2 8 21 2 active sync /dev/sda11
3 8 22 - spare /dev/sda12
终端二:
[root@station230 ~]# mdadm /dev/md0 -f /dev/sda10 -r /dev/sda10
//模拟坏了并移除 -f --fail -r --remove
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sda9
1 8 22 1 active sync /dev/sda12 --热备自动填补
2 8 21 2 active sync /dev/sda11
==增加硬盘(增加的默认为热备盘)
[root@station230 ~]# mdadm /dev/md0 -a /dev/sda13
mdadm: added /dev/sda13
[root@station230 ~]# mdadm /dev/md0 -a /dev/sda14
mdadm: added /dev/sda14
==拉伸
[root@station230 ~]# mdadm -G /dev/md0 -n4 // -G --grow拉伸
拉伸不主张用
==刷新文件系统
[root@station230 ~]# resize2fs /dev/md0 //同步
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/md0 is mounted on /mnt/raid5; on-line resizing required
Performing an on-line resize of /dev/md0 to 732336 (4k) blocks.
The filesystem on /dev/md0 is now 732336 blocks long.
== 设置RAID开机生效
[root@station230 ~]# mdadm -D -s // -s --scan
ARRAY /dev/md0 level=raid5 num-devices=4 metadata=0.91 spares=1 UUID=5d944920:1ecc78e7:6c4807a2:8089c238
[root@station230 ~]# mdadm -D -s >> /etc/mdadm.conf RAID配置文件
mdadm选项:
-s --scan
-S --stop
-D --detail
-C --create
-G --grow
-f --fail
-r --remove
-a --add
-n --raid-devices=3
-x --spare-devices=1
-l --level=
-A --assemble
建立第二个RAID1
[root@station230 ~]# mdadm -C /dev/md1 -l1 -n2 /dev/sda{10,15 }
mdadm: /dev/sda10 appears to be part of a raid array:
level=raid5 devices=3 ctime=Mon Nov 5 10:08:56 2012
Continue creating array? yes <==
mdadm: array /dev/md1 started.
[root@station230 ~]# mkfs.ext3 /dev/md1
[root@station230 ~]# mkdir /mnt/raid1
[root@station230 ~]# mount /dev/md1 /mnt/raid1
[root@station230 ~]# df -Th /mnt/raid1
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/md1 ext3 939M 18M 874M 2% /mnt/raid1
[root@station230 ~]# cat /proc/mdstat //也是一种查看方式
Personalities : [raid6] [raid5] [raid4] [raid1]
md1 : active raid1 sda15[1] sda10[0 ]
976448 blocks [2/2] [UU]
md0 : active raid5 sda14[3] sda13[4](S) #这里S表示热备盘 # sda11[2] sda12[1] sda9[0]
2929344 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
unused devices: <none>
[root@station230 ~]# mdadm -D -s >> /etc/mdadm.conf
[root@station230 ~]# vim /etc/mdadm.conf
ARRAY /dev/md0 level=raid5 num-devices=4 metadata=0.90 spares=1 UUID=5d944920:1ecc78e7:6c4807a2:8089c238 spare-group =ule
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=0.90 UUID=54624d46:5c1625e3:1a275ecf:99ea48c8 spare-group =ule
MAILADDR root@localhost //设置RAID错误邮件通知
// spare-group=ule 这里是指定共享同一个热备盘 ,最后的(ule)是随便起的名字,要保持和上一行那个一致
[root@station230 ~]# mdadm -S /dev/md0 // -S 停止RAID
mdadm: stopped /dev/md0
[root@station230 ~]# mdadm -A /dev/md0 启动RAID //-A是重新汇集,分配或者说启动
mdadm: /dev/md0 has been started with 4 drives and 1 spare.
删除RAID :
如果已经用RAID作成了逻辑卷,那就先用lvremove等命令将逻辑卷、卷组、物理卷都删除
0. 查看RAID
[root@localhost ~]# mdadm -D -s
ARRAY /dev/md0 level=raid5 num-devices=3 metadata=0.90 spares=1 UUID=04eb60b7:c876a6fb:10b7cb42:423b6e2b
ARRAY /dev/md1 level=raid5 num-devices=3 metadata=0.90 UUID=57802827:b0281df8:a103ef20:362177c7
[root@localhost ~]# mdadm -D /dev/md0 // 看看每个RAID的盘
Number Major Minor RaidDevice State
0 8 5 0 active sync /dev/sda5
1 8 6 1 active sync /dev/sda6
2 8 7 2 active sync /dev/sda7
3 8 8 - spare /dev/sda8
[root@localhost ~]# mdadm -D /dev/md1
Number Major Minor RaidDevice State
0 8 9 0 active sync /dev/sda9
1 8 10 1 active sync /dev/sda10
2 8 11 2 active sync /dev/sda11
1.卸载所有RAID
umount /dev/md0 //卸载掉
umount /dev/md1
2. 停止RAID
[root@localhost ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0
[root@localhost ~]# mdadm -S /dev/md1
mdadm: stopped /dev/md1
3. # mdadm --zero-superblock /dev/sda{5,6,7,8,9,10,11} //将这几个分区清空
4. # >/etc/mdadm.conf // 将这个配置文件里的东西清空,以防开机继续读到
# rm -rf /etc/mdadm.conf
创建RAID, 设置共享热备盘
[root@localhost ~]# mdadm -C /dev/md0 -l1 -n2 -x1 /dev/sda{7,8,9}
mdadm: array /dev/md0 started.
[root@localhost ~]# mdadm -C /dev/md1 -l1 -n2 /dev/sda{10,11}
mdadm: array /dev/md1 started.
[root@localhost ~]# mdadm -D -s > /etc/mdadm.conf
[root@localhost ~]# cat /etc/mdadm.conf
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=0.90 spares=1 UUID=aef667f2:0d9b525a:76f6770b:67e6ecb0 spare-group= ule
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=0.90 UUID=442660f1:fc1b15c2:d870f26f:563b82f1 spare-group= ule
MAILADDR root@localhost //这个是后加的,发邮件功能
[root@localhost ~]# service mdmonitor restart ********//启动一个监控服务,有这个,有问题时才会发邮件
启动 mdmonitor: [确定]
[root@localhost ~]# chkconfig mdmonitor on //这个开机会生效哦
[root@station5 ~]# chkconfig mdmonitor --list
mdmonitor 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[
root@localhost ~]# mdadm /dev/md1 -f /dev/sda11 -r /dev/sda11 //模拟一块坏了
mdadm: set /dev/sda11 faulty in /dev/md1
mdadm: hot removed /dev/sda11
[root@localhost ~]# mail
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/root": 7 messages 7 new
>N 6 logwatch@localhost.l Tue Nov 6 10:35 107/3314 "Logwatch for localhos"
N 7 root@localhost.local Tue Nov 6 16:27 34/1191 "Fail event on /dev/md"
[root@localhost ~]# mdadm /dev/md0 -a /dev/sda11 //增加热备
mdadm: added /dev/sda11
[root@localhost ~]# mdadm /dev/md0 -a /dev/sda12
mdadm: added /dev/sda12
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [raid1]
md1 : active raid1 sda12[0] sda9[1] sda10[2](F)
200704 blocks [2/2] [UU]
md0 : active raid1 sda11[2](S) sda8[1] sda7[0]
200704 blocks [2/2] [UU]
unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md1
Number Major Minor RaidDevice State
0 8 12 0 active sync /dev/sda12
1 8 9 1 active sync /dev/sda9
2 8 10 - faulty spare /dev/sda10