zoukankan      html  css  js  c++  java
  • 磁盘阵列

    目前,Linux能够较好地支持RAID0、RAID1、RAID4、RAID5这四种磁盘阵列模式。在4种模式中,RAID4和RAID5运行方式较为接近。
      1.创建RAID1磁盘阵列  RAID1磁盘阵列的基本工作方式是通过数据镜像实现数据冗余,在两对分离的磁盘上产生互为备份的数据,也就是说每一块磁盘所存储的数据是完全相同的。所以,要创建RAID1磁盘阵列,至少需要2块硬盘,每一块硬盘最好大小一致。这是因为每一个硬盘存储相同的数据,因此有一个硬盘比其他的容量大时,磁盘阵列也无法使用多出来的硬盘空间。本例采用2个硬盘的分区(hda1和hdb1)来创建RAID1类型磁盘阵列。
      基本步骤如下:
      1)编辑磁盘阵列的配置文件/etc/raidtab如下:
      raiddev /dev/md0
      raid-level 1
      nr-raid-disks 2
      nr-spare-disks 0
      chunk-size 4
      persistent-superblock 1
      device /dev/hda1
      raid-disk 0
      device /dev/sdb1
      raid-disk 1
      上述文件中每项的含义如下所示:
      raiddev:指定磁盘阵列的设备名称;
      raid-level:指定采用的RAID模式,例中为RAID1;
      nr-raid-disks:指定磁盘阵列的硬盘个数,例中RAID为2个硬盘组成;
      nr-spare-disks:指定磁盘阵列备用磁盘数目,例中为0;
      chunk-size:指定数据写入磁盘阵列时,每个写入区块的大小,其单位为KB,且大小必须为2的幂次方。一般说来,此设置值的大小会影响磁盘阵列的读写效率,不过理想的设置值,则随着计算机的使用情况而异,所以并无绝对的结果;
      persistent-superblock:配置是否要写入磁盘的超级块(superblock),配置成“1”表示写入,配置“0”不写入;
      device /dev/hda1:根据实际情况,指定第一个硬盘分区的名称,此处第一个硬盘分区为hda1;
      raid-disk 0:配置上述的分区是此磁盘阵列所使用的第一个硬盘,编号从0开始;
      device /dev/hdb1:同上,按实际情况,指定第二块硬盘分区的名称;
      raid-disk 1:配置上述的分区是此磁盘阵列所使用的第一个硬盘,编号为1。
      2)格式化并加载磁盘阵列,命令如下所示:
      //建立磁盘
      #mkraid /dev/md0
      //使用ext3文件系统格式化
      #mke3fs /dev/md0
      //将md0磁盘阵列加载到目录/mnt/md0下
      #mount -t ext3 /dev/md0 mnt/md0
      3)启动磁盘阵列  #raidstart /dev/md0
      4)使用过程中查看磁盘阵列的使用状态
      #more /proc/mdstat
      5)停止和卸载磁盘阵列
      //首先停止磁盘阵列
      #raidstop /dev/md0
      //然后卸下装载的磁盘阵列
      #umount /dev/md0
      6)删除磁盘阵列:首先使用第5)步停止磁盘阵列,然后删除/etc/raidtab文档即可。
      2.创建RAID5磁盘阵列
      上面介绍了RAID0的创建方式,下面介绍如何创建RAID5磁盘阵列。有了上面的基础后,对于RAID5的创建也就不那么困难了。简单地说,RAID5是在RAID0和RAI1中取得折衷,既具备容错能力,也不会浪费太多硬盘空间,并有助于提高磁盘的I/O性能。由于RAID5需要存储同位校验码,因此要创建此模式的磁盘阵列,至少需要3块或以上的硬盘。因此,本例以hda、hdb、hdc三块磁盘的分区(hda1、hdb1和hdc1)来组成RAID5磁盘。当然,也可以指定三块磁盘的其他分区,这个可以根据实际磁盘分区的使用情况选定,并不是固定的。
      基本操作步骤如下:
      1)编辑磁盘阵列的配置文件/etc/raidtab如下:
      raiddev /dev/md0
      raid-level 5
      nr-raid-disks 3
      nr-spare-disks 0
      chunk-size 32
      persistent-superblock 1
      parity-algorithm left-symmetric
      device /dev/hda1
      raid-disk 0
      device /dev/hdb1
      raid-disk 1
      device /dev/hdc1
      raid-disk 2
      同理,上述文件中每项的含义如下所示:
      raiddev:指定磁盘阵列名称;
      raid-level:指定使用的RAID5磁盘阵列;
      nr-raid-disks:此磁盘阵列由3个硬盘所组成;
      nr-spare-disks :指定/此磁盘阵列的备用硬盘数目;
      chunk-size:当数据要写入磁盘阵列时,每个写入的大小(单位为KB,且必须为2的幂次方)。此设置值的大小,会影响磁盘阵列的读写效率,不过理想的设置值,则按每台计算机的使用情况而异,并无绝对的结果;
      persistent-superblock:设置是否要写入磁盘的superblock:设成1表示写入,否则设成0。若将此参数设成1,则当磁盘阵列中有硬盘损坏时,系统仍可继续启动;若有备用硬盘,也会同时启用备用硬盘;
      parity-algorithm:指定要用哪一种算法计算同位校验吗,可使用的算法有left-symmetric、left-asymmetric、right-symmetric及right-asymmetric等4种。一般采用left-symmetric能有最好的存取效率;
      device /dev/hda1:指定所有使用的第1个硬盘分区名称;
      raid-disk 0:设置上述的分区是此磁盘阵列所使用的第1个硬盘(编号由0开始);
      device /dev/hdb1:指定所要使用的第2个硬盘分区名称;
      raid-disk 1:设置上述的分区是此磁盘阵列所使用的第2个硬盘;
      device /dev/hdc1 :指定所要使用的第3个硬盘分区名称;
      raid-disk 2:设置上述的分区是此磁盘阵列所使用的第3个硬盘。
      2)格式化并加载磁盘阵列,命令如下所示:
      //建立磁盘
      #mkraid /dev/md0
      //使用ext3文件系统格式化
      #mke3fs /dev/md0
      //将md0磁盘阵列加载到目录/mnt/md0下
      #mount -t ext3 /dev/md0 mnt/md0
      3)启动磁盘阵列  #raidstart /dev/md0
      4)使用过程中查看磁盘阵列的使用状态
      #more /proc/mdstat
      5)停止和卸载磁盘阵列
      //首先停止磁盘阵列  #raidstop /dev/md0
      //然后卸下装载的磁盘阵列
      #umount /dev/md0
      6)删除磁盘阵列:首先使用第5)步停止磁盘阵列,然后删除/etc/raidtab文档即可。
    

      

  • 相关阅读:
    avalon ms-repeat avalon1
    抓取各个浏览器引擎关键字,,百度学术关键字
    JS中Float类型加减乘除 修复
    js jquery 权限单选 bug修改以及正确代码 购物车数量加减
    图片加载错误默认显示图片
    文本框中焦点竖杆长度控制
    Go语言中 Print,Println 和 Printf 的区别(八)
    typescript中新增的基本数据类型
    尝试自己搭一个简单的typescript运行环境
    Go语言流程控制中的break,continue和goto(七)
  • 原文地址:https://www.cnblogs.com/yuchunju/p/2530971.html
Copyright © 2011-2022 走看看