raid磁盘阵列详解-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 51214
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 221
  • 用 户 组: 普通用户
  • 注册时间: 2013-03-25 12:31
文章分类
文章存档

2014年(1)

2013年(6)

我的朋友
相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: linux

2013-07-28 17:10:03

磁盘阵列(redundant arrays of inexpensive disks,raid),有“价格便宜具有冗余能力的磁盘阵列”之意。原理是利用数组方式来
作磁盘组,配合数据分散排列的设计,提升数据的安全性。磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个
别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。磁盘阵列还能
利用同位检查(parity check)的观念,在数组中任一颗硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。

raid 0(条带 (strping))
是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。
raid 0没有提供冗余或错误修复能力,但实现成本是最低的。
特点:速度快,没有容错能力


raid1:镜像(mirroring)
id 1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,
在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的
硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。虽然这
样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%,以四块80gb容量的硬盘来讲,可利用的磁盘空间仅为160gb。另外,出现
硬盘故障的raid系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。更换新盘后原有数据会需要
很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。因此,raid 1多用在保存关键性的重要数据的场合。
raid 1示意图

raid5:条带 分布校验
3块以上,利用率为(n-1)/n,有容错功能,最多可以坏一块磁盘


raid6:条带 分布校验 分布校验
5块以上,利用率为(n-2)/n,有容错功能,最多可以坏二块磁盘

raid10:镜像 条带
利用率为50%


raid配置总结:



mdadm命令:
  mdadm - manage md(mutiple disk) devices aka linux software raid
  currently, linux supports linear md devices,  raid0  (striping),  raid1
       (mirroring),  raid4,  raid5, raid6, raid10, multipath, faulty, and con-
       tainer.
-c:新建raid设备
-l:设定raid级别
-n:磁盘数目:设定raid成员设备数目
-x(spare device):磁盘数目,设定备用磁盘数目
-s:扫描配置文件/etc/madam.conf
-d:查看raid设备信息
-s:停用raid
-a:激活raid


[root@lvm ~]# cat /proc/mdstat   查看raid的配置信息
personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sde[5] sdf[4](s) sdd[2] sdc[1] sdb[0]
      3144192 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [uuuu]
      
unused devices:


[root@lvm ~]# mdadm -ds 查看设备信息
array /dev/md5 metadata=1.2 spares=1 name=lvm:5 uuid=e433a3d5:94c67839:5e66cae5:e4976d17


创建raid5
mdadm  -c /dev/md5  -l5 -n4 -x1  /dev/sd[bcdef]

查看raid的详细信息
mdadm -d /dev/md5

创建配置文件
mdadm -ds >>/etc/mdadm.conf

停止 raid
mdadm  -s /dev/md5

查看raid信息
cat /proc/mdstat

格式化挂载raid磁盘阵列
mkfs.ext4 /dev/md5

自动挂载raid阵列
修改/etc/fstab
注:/boot分区用于存放引导文件,不用应用raid机制

raid5模拟故障
让失效的/dev/sdb1替换为/dev/sdg1
mdadm  /dev/md5 -a /dev/sdg1 -r /dev/sdb1

配置共享的热备份磁盘
多个raid共享备份磁盘节约空间
修改 mdadm.conf文件添加 spare-group\sparedisks
--monitor开启监控raid

多种元数据格式
-es 查看成员设备上的元数据信息
--zero -superblock 清空成员设备上的元数据信息
[root@localhost ~]# mdadm -e /dev/sdb 查看磁盘上的元数据

千万不要在没有关闭raid的情况下删除分区
正确关闭raid的步骤
1.umount卸载raid文件系统
2.mdadm -s停用raid
3.清空/etc/mdadm.conf文件
4.清除/etc/fstab中raid的挂载记录
5.清除每块磁盘上的元数据
6.删除/dev/下所对应的raid设备


[root@lvm ~]# cat /proc/mdstat   查看raid的配置信息
personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sde[5] sdf[4](s) sdd[2] sdc[1] sdb[0]
      3144192 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [uuuu]
     
unused devices:

[root@lvm ~]# mdadm -ds
array /dev/md5 metadata=1.2 spares=1 name=lvm:5 uuid=e433a3d5:94c67839:5e66cae5:e4976d17

==========================================================================
练习:
1.新建raid5卷,使用4块磁盘作raid5,1块磁盘作热备
[root@localhost desktop]# mdadm -c /dev/md5 -l5 -n4 -x1 /dev/sd[bcdef]
mdadm: defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.

[root@localhost desktop]# cat /proc/mdstat  查看raid的配置信息
personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sde[5] sdf[4](s) sdd[2] sdc[1] sdb[0] 可知sdf[4]做了热备盘
      3144192 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [uuuu]

[root@localhost desktop]# mdadm -d /dev/md5  查看/dev/md5的设备信息
/dev/md5:
        version : 1.2
  creation time : sun jul 21 01:19:25 2013
     raid level : raid5
     array size : 3144192 (3.00 gib 3.22 gb)
  used dev size : 1048064 (1023.67 mib 1073.22 mb)
   raid devices : 4
  total devices : 5
    persistence : superblock is persistent

    update time : sun jul 21 01:19:33 2013
          state : clean
 active devices : 4
working devices : 5
 failed devices : 0
  spare devices : 1

         layout : left-symmetric
     chunk size : 512k

           name : lvm:5  (local to host lvm)
           uuid : e433a3d5:94c67839:5e66cae5:e4976d17
         events : 18

[root@localhost desktop]# mdadm -ds >> /etc/mdadm.conf 创建配置文件

[root@localhost desktop]# mdadm -s  /dev/md5 停止raid
mdadm: stopped /dev/md5
[root@localhost desktop]# mdadm -a  /dev/md5  激活raid
mdadm: /dev/md5 has been started with 4 drives and 1 spare.
[root@localhost desktop]# mkfs.ext4 /dev/md5

2.格式化raid5设备
[root@localhost desktop]# mkfs.ext4 /dev/md5  格式化md5

3.挂载使用
[root@localhost desktop]# mkdir /file
[root@localhost desktop]# mount /dev/md5 /file

4.自动挂载功能,修改/etc/fstab文件,添加
在/etc/fstab写入
/devsda5                /file                   ext4    defaults       0 0

[root@localhost desktop]# mdadm -d /dev/md5  格式化及挂载后, 再次查看md5设备信息
/dev/md5:
    number   major   minor   raiddevice state
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       2       8       48        2      active sync   /dev/sdd
       5       8       64        3      active sync   /dev/sde

       4       8       80        -      spare

5.让其中的一块失效,然后看raid5是否能够继续使用
[root@localhost desktop]# mdadm /dev/md5  -f /dev/sdd(先失效一块)
[root@localhost desktop]# mdadm /dev/md5  -f /dev/sde (后失效一块)
使用cat /proc/mdstat命令查看修复过程(需赶快查看,才能看到效果)
      

6.删除有问题的磁盘,添加一个好的磁盘作热备,要求磁盘>容量一致
mdadm  /dev/md5 -r /dev/sde[de]  -a /dev/sd【gh】

[root@localhost ~]# cat /proc/mdstat 查看raid的构建过程
personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sde[5] sdf[4](s) sdd[2] sdc[1] sdb[0]
      3144192 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [uuu_]
      [=============>.......]  recovery = 68.5% (719232/1048064) finish=0.0min speed=143846k/sec
[root@localhost file]# mdadm -d  /dev/md5
/dev/md5:
        version : 1.2
  creation time : sun jul 21 01:19:25 2013
     raid level : raid5
     array size : 3144192 (3.00 gib 3.22 gb)
  used dev size : 1048064 (1023.67 mib 1073.22 mb)
   raid devices : 4
  total devices : 5
    persistence : superblock is persistent

    update time : sun jul 21 01:44:49 2013
          state : clean
 active devices : 4
working devices : 5
 failed devices : 0
  spare devices : 1

         layout : left-symmetric
     chunk size : 512k

           name : lvm:5  (local to host lvm)
           uuid : e433a3d5:94c67839:5e66cae5:e4976d17
         events : 68

    number   major   minor   raiddevice state
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       4       8       80        2      active sync   /dev/sdf
       6       8      112        3      active sync   /dev/sdh

       5       8       96        -      spare   /dev/sdg

[root@localhost file]# mdadm /dev/md5 -f /dev/sdh  再次破坏/dev/sdh
[root@localhost file]# mdadm -d  /dev/md5
 active devices : 4
working devices : 4
 failed devices : 1


    number   major   minor   raiddevice state
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       4       8       80        2      active sync   /dev/sdf
       5       8       96        3      active sync   /dev/sdg

       6       8      112        -      faulty spare   /dev/sdh

[root@localhost file]# mdadm /dev/md5 -f /dev/sdh
[root@localhost file]# mdadm -d /dev/md5
/dev/md5:
         state : clean, degraded, recovering
 active devices : 3
working devices : 4
 failed devices : 1
  spare devices : 1
 number   major   minor   raiddevice state
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       4       8       80        2      active sync   /dev/sdf
       5       8       96        3      spare rebuilding   /dev/sdg

       6       8      112        -      faulty spare   /dev/sdh
【root@localhost file]# mdadm /dev/md5 -f /dev/sdf 破坏/sdf盘
 active devices : 2
working devices : 2
 failed devices : 3

    number   major   minor   raiddevice state
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       2       0        0        2      removed
       3       0        0        3      removed

       4       8       80        -      faulty spare   /dev/sdf
       5       8       96        -      faulty spare   /dev/sdg
[root@localhost /]# mount -a 卸载再挂载
mount: wrong fs type, bad option, bad superblock on /dev/md5,


[root@localhost /]# mdadm -s /dev/md5
mdadm: stopped /dev/md5
[root@localhost /]# mdadm -a  /dev/md5
mdadm: /dev/md5 assembled from 2 drives - not enough to start the array.

[root@localhost /]# mdadm -es /dev/sdb   查看成员设备上的元数据信息
array /dev/md/5 metadata=1.2 uuid=e433a3d5:94c67839:5e66cae5:e4976d17 name=lvm:5
[root@localhost /]# mdadm -e /dev/sdb
     raid level : raid5
   device role : active device 0
   array state : aa.. ('a' == active, '.' == missing)
=========
删除/dev/md5
1.卸载挂载点
[root@localhost /]# umount /dev/sda5
2.[root@localhost /]#mdadm -s停用raid
3.清空 /etc/mdadm.conf文件
4彻底清除/etc/fstab文件的挂载记录
5.清除每块磁盘的元数据
[root@localhost /]# mdadm --zero-superblock /dev/sd[bcdefg]
6.删除/dev/下所对应的raid设备


阅读(3678) | 评论(0) | 转发(5) |
0

上一篇:文件和目录管理

下一篇:ssh命令详解

给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图