Chinaunix首页 | 论坛 | 博客
  • 博客访问: 117704
  • 博文数量: 38
  • 博客积分: 2111
  • 博客等级: 大尉
  • 技术积分: 395
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-06 13:04
文章分类

全部博文(38)

文章存档

2012年(4)

2010年(34)

我的朋友

分类: Oracle

2012-02-16 12:31:34

raid磁盘阵列

   

    raid0  : 至少两块磁盘,提高存取速度,但不提供数据冗余,不允许坏任何一块磁盘;

    raid1  : 至少两块磁盘,基本没有提高性能,但提供数据镜像,每个磁盘数据一样,允许坏掉一块磁盘

    raid5  : 至少3块磁盘,提高性能的同时,同时提供数据冗余,只允许坏掉一个磁盘

 

    注意: 数据冗余和数据备份是两个概念

 

    创建软raid的过程:

    例子:创建raid0

 

        1、新建两个分区,并且分区的类型是fd

            .....

            partprobe

 

        2、mdadm 创建软raid

        mdadm --create /dev/md0  --level=0  --raid-devices=2 /dev/sda{9,10}

        mdadm --create /dev/md0  --level=0  --raid-devices=2 /dev/sda9 /dev/sda10

 

        查看创建过程:

            watch cat /proc/mdstat

        查看创建结果:

            tail -20 /var/log/message

            raid0: done.

        3、为了让软raid能开机自动启用,就可以写配置文件:

        echo "DEVICES /dev/sda9 /dev/sda10" > /etc/mdadm.conf

        mdadm --detail --scan >> /etc/mdadm.conf

 

        4、格式化并挂载:

            mkfs -t ext3 /dev/md0

            mount /dev/md0 /mnt

 

        第一次创建好的raid设备就已经激活     

 

 

    手工激活raid设备:

        mdadm -As /dev/md0

            如果内核不支持自动激活raid设备而且你没有写/etc/mdadm.conf

           

 

    手工停止某个raid设备:

        # umount /dev/md0

        # mdadm --stop  /dev/md0

   

 

    例子2: raid 5

 

        1、新建3个分区,并且分区的类型是fd

            .....

            partprobe

 

        2、mdadm 创建软raid

        mdadm --create /dev/md1  --level=5  --raid-devices=3 /dev/sda{11,12,13}

   

 

        查看创建过程:

            watch cat /proc/mdstat

        查看创建结果:

            tail -20 /var/log/message

            raid0: done.

        3、为了让软raid能开机自动启用,就可以写配置文件:

        shell> vim /etc/mdadm.conf

        DEVICES /dev/sda9 /dev/sda10 /dev/sda11 /dev/sda12 /dev/sda13

        shell> mdadm --detail --scan >> /etc/mdadm.conf

 

        4、格式化并挂载:

            mkfs -t ext3 /dev/md1

            mkdir /raid5

            mount /dev/md1 /raid5

   

    模你设备故障:

 

        手工干掉raid5中的一个设备(分区),模拟故障

    shell> dd if=/dev/zero of=/dev/sda11 bs=1M count=1000

        验证: 发现数据还可以访问.

        但如果实际情况下,真的是设备故障,你用这个命令可以看到故障:

    shell> cat /proc/mdstat

Personalities : [raid0] [raid6] [raid5] [raid4]

md1 : active raid5 sda13[2] sda12[1] sda11[0]

      4016000 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]  《--你会发现还是UUU

   

    所以我们用以下命令模拟故障:

    shell> mdadm /dev/md1 --fail /dev/sda11    《--把sda11模能成故障

 

    shell>  cat /proc/mdstat

Personalities : [raid0] [raid6] [raid5] [raid4]

md1 : active raid5 sda13[2] sda12[1] sda11[3](F)  <---sda11变了F状态了

      4016000 blocks level 5, 64k chunk, algorithm 2 [3/2] [_UU]  <---改变了

 

        验证: /raid5 下的数据还可以访问,就证明了raid5设备是可以坏掉一个设备的,为了防止坏掉另外的设备造成数据丢失,应该马上把新的好的,型号和容量一模一样的设备替换上去:

 

    shell> mdadm /dev/md1 --add /dev/sda14  《---把新的sda14替换

 

    shell> cat /proc/mdstat  <---查看添加过程

 

    删除raid设备:

 

    1、umount /dev/md1

mdadm /dev/md1 --fail /dev/sda12 --remove /dev/sda12

mdadm /dev/md1 --fail /dev/sda13 --remove /dev/sda13

mdadm /dev/md1 --fail /dev/sda14 --remove /dev/sda14

 

    2、停止/dev/md1设备

mdadm --stop /dev/md1

 

    3、删除配置文件对应的信息 /etc/mdadm.conf

 

    4、有些时候还是无法删除这个md1信息,开机之后还是有他的相关信息的:

mdadm --misc --zero-superblock /dev/sda12

mdadm --misc --zero-superblock /dev/sda13

mdadm --misc --zero-superblock /dev/sda14

    5、把对应的设备文件给干掉

rm -f /dev/md1

       

 

阅读(1422) | 评论(0) | 转发(0) |
0

上一篇:linux命令基础

下一篇:Oracle Rman 命令详解

给主人留下些什么吧!~~