Chinaunix首页 | 论坛 | 博客
  • 博客访问: 418583
  • 博文数量: 72
  • 博客积分: 2541
  • 博客等级: 少校
  • 技术积分: 756
  • 用 户 组: 普通用户
  • 注册时间: 2006-09-20 16:08
文章分类

全部博文(72)

文章存档

2013年(13)

2009年(1)

2008年(7)

2007年(45)

2006年(6)

我的朋友

分类: LINUX

2007-09-28 10:03:56

什么是RAID,RAID的级别和特点 ;

什么是RAID呢?全称是 “A Case for Redundant Arrays of Inexpensive Disks (RAID)”,在1987年,由加州大学伯克利大学发表的论文而来,其实就是这个标题的缩写就是RAID;中译为“磁盘阵列”;

RAID就是把几个物理磁盘组合在一起成为一个大的虚拟物理磁盘,主要目的和用途主要有:把若干小容量物理磁盘组成一个大容量虚拟存储设备(以前的物理磁盘的容量都比较小);提高物理存储效率(读、写),或提供冗余以提高数据存储的安全性。

根据应用方向的不同,RAID也分不不同级别 ,有LINEAR、RAID0、RAID1、RAID5、RAID10、RAID4、RAID6、MULTIPATH。常用的有RAID0、RAID1、RAID5、RAID10(其实就是0+1)、LINEAR


什么是硬件RAID和软RAID;

RAID 还分为硬件RAID 和软件RAID,硬件RAID是通过RAID 卡来实现的,而软件RAID是通过软件来实现的;在企业级应用领域,大部份都是硬件RAID。而软件RAID由于性价比高,大多被中小型企业所采用;

硬件RAID是通过RAID卡把若干同等容量大小的硬盘,根据使用方向的不同,聚合起来成为一个大的虚拟RAID设备(或RAID0,或RAID1,或者RAID5,或RAID10……),如果每个硬盘容量不一致,以最小容量的硬盘为基础;它的成员是整个硬盘;

软RAID是软把若干同等容量大小的硬盘或分区,根据使用方向的不同,聚合起来成为一个大的虚拟RAID设备(或RAID0,或RAID1,或者RAID5,或RAID10……),如果每个硬盘或分区容量不一致,以最小容量的硬盘或分区为基础。软RAID的成员是整个硬盘或分区;

RAID 总的来说还是应用在生产型项目领域中,一般在商用办公或个人娱乐应用并未被大规模采用。应有领域大多要求性价比级的低端服务器或PC-SERVER;


RAID 的级别及特点;

RAID 有几种级别,LINEAR,RAID0 (striping), RAID1 (mirroring), RAID4, RAID5, RAID6, RAID10, MULTIPATH, and FAULTY.其中我们常用有RAID0、RAID1、RAID5、RAID10。

关于RAID各个级别的具体描述以及各个RAID级别的特点就不在多说,下面以一个创建RAID5的过程来熟悉一下软RAID的实现方法。

试验环境:虚拟机上的CentOS4.4,创建4块虚拟硬盘。

[root@nfstest ~]# fdisk -l

Disk /dev/hda: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1         505     4056381   83  Linux
/dev/hda2             506         521      128520   82  Linux swap

...

Disk /dev/sda: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sda doesn't contain a valid partition table

Disk /dev/sdb: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/sdc: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdc doesn't contain a valid partition table

Disk /dev/sdd: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdd doesn't contain a valid partition table

上面所看到的/dev/sda /dev/sdb /dev/sdc /dev/sdd就是我为创建RAID5所新虚拟添加的硬盘。下面我们就用这四块虚拟硬盘创建一个RAID5.

1 创建把RAID信息写入RAID每个成员的superblocks(超级块)中

   mdadm -C -v /dev/md0 -l5 -n4 /dev/sd[abcd]

或者

  mdadm -C -v /dev/md0 -l5 -n4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

创建完了以后,RAID也就立即启动了,看到如下信息表示我们已经成功创建:

  mdadm: array /dev/md0 started

通过fdisk命令可以查看我们创建的RAID设备

[root@nfstest ~]# fdisk -l

Disk /dev/hda: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1         505     4056381   83  Linux
/dev/hda2             506         521      128520   82  Linux swap

...

Disk /dev/md0: 3221 MB, 3221028864 bytes
2 heads, 4 sectors/track, 786384 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md0 doesn't contain a valid partition table

上面的/dev/md0也就是我们刚才新建的设备。

2 RAID的管理

RAID的启动可以有两种方法,一种是没有配置mdadm.conf文件的启动,一种是配置了mdadm.conf文件的启动。

方法一、没有配置mdadm.conf文件的启动语法

    mdadm -A RAID设备 RAID成员

例如:

    mdadm -A /dev/md0 /dev/sd[abcd]

方法二、配置好了mdadm.conf文件的启动语法

    mdadm -A RAID设备

    mdadm -As

例如:

    mdadm -A /dev/md0 

    mdadm -As

3 配置启动文件

    RAID启动文件位于/etc目录下面,如果要是存在,在做本试验之前请保存好,以免破坏原有的RAID信息。如果不存在,可以手工建立(必须保证RAID已经运行):

    mdadm -Ds >> /etc/mdadm.conf

查看/etc/mdadm.conf文件的信息:

[root@nfstest ~]# more /etc/mdadm.conf
ARRAY /dev/md0 level=raid5 num-devices=4 UUID=161d604a:9ca2b3f3:e70c155e:8952dde6
   devices=/dev/sda,/dev/sdb,/dev/sdc,/dev/sdd

把上面的信息同我们创建的RAID信息是否一致:

[root@nfstest ~]# mdadm -Ds /dev/md0
/dev/md0:
        Version : 00.90.01
  Creation Time : Thu Sep 27 10:30:19 2007
     Raid Level : raid5
     Array Size : 3145536 (2.100 GiB 3.22 GB)
    Device Size : 1048512 (1023.94 MiB 1073.68 MB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Thu Sep 27 10:33:05 2007
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       1       8       16        1      active sync   /dev/sdb
       2       8       32        2      active sync   /dev/sdc
       3       8       48        3      active sync   /dev/sdd
           UUID : 161d604a:9ca2b3f3:e70c155e:8952dde6
         Events : 0.2

创建好RAID以后,我们就可以把RAID当成普通的硬盘或分区来使用了。

 

 

 

 

 

 

 

阅读(3071) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~