通过RHEL 5实现软RAID及LVM

  作者:Amteam.org
2008/12/22 11:36:00
本文关键字: 存储 管理

【51CTO独家特稿】RAID是Redundant Array of Inexpensive Disk的缩写,意为廉价冗余磁盘阵列,是磁盘阵列在技术上实现的理论标准,其目的在于减少错误、提高存储系统的性能与可靠度。常用的等级有0、1、5级等。

◆RAID 0

RAID 0将数据分条,存储到多个磁盘中,不带任何冗余信息。数据被分割成块,继续分布到磁盘中。这一级别也被认为是纯粹的数据分条。创建RAID 0 需要一个或多个磁盘。也就是说,单独的一个磁盘可以被认为是一个RAID 0 阵列。不幸的是,数据分条降低了数据的可用性,如果一个磁盘发生错误,整个阵列将会瘫痪。

优点:易于实现 、无容量损失-所有的存储空间都可用

缺点:无容错能力、一个磁盘出错导致损失所有阵列内的数据

◆RAID 1

RAID 1适合性能要求较高又需要容错功能的阵列。另外, RAID 1是在只有少于2个磁盘的环境下支持容错功能的唯一选择。

RAID 1至少要有两个(只能两个)硬盘才能组成,因此也称为镜像(Mirroring)方式。所谓镜像就是每两个硬盘的内容一模一样,但是对操作系统而言只呈现一个硬盘,以便于管理。由此可见,RAID 1对数据进行了完全的备份,其可靠性是最高的。当然,其数据的写入时间可能会稍长一点,但因为两个镜象硬盘可以同时读取数据,故读数据与RAID 0一样。磁盘阵列的总容量为其中N/2块硬盘的容量在RAID 级别中,RAID 1通过数据镜像提供了最高的信息可用性。另外,如果阵列支持数据和镜像的同时读取,读取信息的性能将会提高。

优点:读取性能较单磁盘高

缺点:需要2倍的存储空间

◆RAID 5

RAID 5 是在多用户,对数据写入的性能要求不高的环境下的最好选择。然而,它要求至少3个磁盘来执行。

RAID 5是将数据分条,奇偶校验产生冗余。但是,它不采用一个固定的硬盘来存储奇偶校验值,所有数据和校验值都分布在所有硬盘上。

优点:最高的信息处理读取率、经济实用-只需要一个额外的磁盘
缺点:单独信息块的传送和单磁盘时相同、需要特定的硬件


下面将以讲述在RHEL 5中创建RAID 1为例子。
将分区标识为RAID分区,在创建软RAID这步是必须的,如果没执行在系统重启后,RAID设备可能会无法工作。
 
建立RAID设备及定义RAID盘
 
1:创建一个RAID设备,在RHEL 5中RAID设备必须从md0开始依次增加。
2:同意创建设备,如不加此参数时必须先使用mknod /dev/md1 b 9 0命令来创建一个RAID设备,不过推荐使用-a yes参数一次性创建。
3:RAID级别,此处定义的是RAID 1。
4:使用几个分区实现RAID。
5:热备分区的个数。当定义一些具有容错功能的RAID级别(RAID1、RAID5)时,可多定义一块或热备分区,这样当RAID阵列中有1块硬盘损坏时,这个热备分区会自动补上去开始工作。
6:加入RAID的分区。
查看RAID定义情况
 
1:查看指定RAID设备
2:活动的二个RAID 1分区
3:热备盘
格式化RAID设备
 
让RAID设备在每次重启都生效
 
该方法会将系统中所有的RAID设备的定义导入/etc/mdadm.conf中,而该文件是记录系统所有RAID设备,以便下次启动时生效。
挂载RAID设备
可临时使用mount命令挂载,也可定义在/etc/fstab中。
 
测试容错,用以下命令模拟阵列中一块硬盘损坏。模拟阵列中一块硬盘损坏的方法在实际工作中并没有多大意义,只是用于测试。
 
查看热备盘是否自动开始工作
 
1:在该阵列刚建立时,/dev/sda7、/dev/sda8是活动状态,/dev/sda9是热备分区,在上步骤中模拟将/dev/sda7损坏,这时/dev/sda7状态已是失败,而热备盘/dev/sda9自动开始工作。
移除损坏的/dev/sda7
 
1:将/dev/sda7从/dev/md0阵列中移除
2:在阵列中已没有/dev/sda7
添加一个新的分区作为热备分区
 
1:将/dev/sda10加入/dev/md0阵列中
2:/dev/sda10自动成为/dev/md0热备分区
在RHEL 5中创建RAID 0及RAID 5的方法与创建RAID 1的方法基本一致。当然由于RAID 0自身没有容错功能,添加热备分区是没有意义,所在不需要使用-x参数。
此外,在RHEL 5中实现软RAID时还提供了RAID6 ,即带有两种分布存储的奇偶校验码的独立磁盘结构,它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合,使用了二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,写入速度也不好,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了不必要的负载,很少人用。

RHEL 5中使用软RAID可实现容错或加快数据读写速度的功能,但无法在不丢失分区数据的前题下增大分区。想解决这个问题我们就需要使用LVM了。
LVM是Logical Volume Manager的缩写。配置LVM首先要将普通分区转换为物理卷,再通过物理卷创建逻辑卷组,最后在逻辑卷组中创建逻辑卷。
 
在实现时即可使用普通分区,也可以在软RAID的基础上创建。下面将讲述在普通分区及RAID 5分区创建一个LVM。
在普通分区上实现LVM
使用fdisk将物理硬盘支持LVM,在普通分区上实现LVM时这步是必须的。
 
将物理硬盘转换为物理卷,在转换后可通过“pvdisplay”命令查看物理卷情况。
 
将物理卷加入到一个新的逻辑卷组中(vg0),逻辑卷组的名称可根据需要命名。在创建逻辑卷组后,可通过“vgdisplay 逻辑卷组名”命令查看逻辑卷组情况。
 
 
1:VG为逻辑卷组的大小,PE为逻辑卷组最小存储单位,VG Size=PE Size*Total PE。由于一个我没想明白的原因在不同的情况中创建逻辑卷组时,PE的大小是不一样,比如在安装RHEL 5过程中创建时PE默认为32MB,而在安装好系统后创建时PE默认为4MB。当然可以在使用“vgcreate”创建逻辑卷组时通过-s参数指定PE大小。
在逻辑卷组中建立逻辑卷。
 
1:-L指定大小,-n指定该逻辑卷的名称
通过增加一个新的分区到该逻辑卷组,以实现在不丢失数据的情况增加逻辑卷的功能。
 
1:将/dev/sda14转换为物理卷
2:将物理卷/dev/sda14加入到现有的逻辑卷组vg0中
3:查看逻辑卷组vg0空间已增大
增加逻辑卷/dev/vg0/lvm1的空间100M,未格式化的逻辑卷无法扩展。
 
1、2:要通过这二步才空间真正加到逻辑郑lvm1上。
3:/dev/vg0/lvm1的空间已增大100M
挂载逻辑卷,可临时使用mount命令挂载,也可定义在/etc/fstab中。
 
在RAID 5分区上实现LVM
将/dev/sda{7,8,9,10}、/dev/sda{11,12,13,14}配置为二个RAID 5,然后用这二个RAID 5建立LVM。
 
建立二个RAID 5阵列
mdadm -C /dev/md0 -a yes -n 3 -x 1 -l 5 /dev/sda{7,8,9,10}
mdadm -C /dev/md1 -a yes -n 3 -x 1 -l 5 /dev/sda{11,12,13,14}

让RAID阵列永久有效
 
将/dev/md0及/dev/md1转换为物理卷
 
新建一个逻辑卷组,并将/dev/md0、/dev/md1加入
 
在逻辑卷组vg1建立逻辑分区,并格式化
 
挂载逻辑卷,可临时使用mount命令挂载,也可定义在/etc/fstab中。
 

责编:
vsharing微信扫一扫实时了解行业动态
portalart微信扫一扫分享本文给好友

著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
最新专题
流动存储 为大数据而生

伴随信息技术的突飞猛进,更大量级的非结构化数据与结构化数据构成的大数据成为企业级存储所面临的最大挑战:一方..

磁盘阵列及虚拟化存储

利用数组方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性。虚拟化存储,对存储硬件资源进行抽象化表现。

    畅享
    首页
    返回
    顶部
    ×
      信息化规划
      IT总包
      供应商选型
      IT监理
      开发维护外包
      评估维权
    客服电话
    400-698-9918