磁盘阵列 RAID

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
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值