RAID
raid 是廉价冗余磁盘阵列,可以基于块状设备存储,做数据的备份,可以做为外围设备(外部存储)独立存在。它根据原理的不同分为不同的等级。RAID的磁盘类型为fd
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

RAID 0:无差错控制带区组
必须要有两个以上的硬盘,数据不保存在一个硬盘上,而是分成数据块保存在不同的驱动器上,数据吞吐率大,不需要校验码,但是没有数据差错控制,如果一个磁盘损坏,则其他的数据都无法使用。
RAID 1:镜像结构
 也必须有两个以上的硬盘,支持容错,但由于写入数据时是同时向两个磁盘内同时写入,所以写入的速度慢,读数据速度快,磁盘利用率低,只有50%,但是支持热插拔,安全性最好。
RAID 4:带奇偶校验码的独立磁盘结构
至少需要三个盘,其中一个做专门做校验码,对数据的访问按数据块进行,一次一个盘,如果数据发生损害,不容易恢复。
DAID 5:分布式奇偶校验的独立磁盘结构
也是自少需要三个盘,数据轮流存储,这样,任何一个硬盘损坏,都可以根据其它硬盘上的校验码来重建损坏掉的数据。磁盘利用率为(n-1/n,只允许坏掉一个盘。
RAID 6: RAID6:带有两种分布存储的奇偶校验码的独立磁盘结构
设计复杂,写入速度不好,允许坏掉两个盘。只允许坏掉两个盘,磁盘利用率为(n-2/n

 

RAID 常使用的命令
mdadm  ---创建一个RAID设备
mdadm –v –C /dev/md0 –a yes –l 5 –n 3 –x 1 /dev/sda{1,2,3}
 -C 路径 –c chuck 大小 –l 级别 –v 显示详细信息 –n 设备块数 –x 热备个数 –a yes 自动为其添加新规则
mdamd –-detail cat /proc/mdstat 查看RAID设备 不跟目录显示全部
mdamd /dev/md0 –f /dev/sda1  --- -f 模拟/dev/md0下的/dev/da1 坏掉
mdamd /dev/md0 –r /dev/sda1  -- -r /dev/md0删除/dev/da1设备(注:使用中不可以删除)
mdamd /dev/md –a  /dev/sda1  ---- -a /dev/md0 添加一个设备
mdamd –S /dev/mdN  停掉某个块
mdamd –A  重新装备

 

实验验证 mdadm 命令
一. 创建RAID 1 空间为<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />1G  挂载到/raid
1.首先创建两个1G磁盘,类型为fd
# fdisk /dev/sdb

 

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        7407    59392305   8e  Linux LVM
/dev/sda3            7408        7472      522112+  82  Linux swap / Solaris
/dev/sda4            7473       15665    65810272+   5  Extended
/dev/sda5            7473        7595      987966   fd  Linux raid autodetect
/dev/sda6            7596        7718      987966   fd  Linux raid autodetect

 

# partprobe  读取分区

 

2. 开始创建
# mdadm –v –C /dev/md0 –a yes –l 1 –n 2 –x 0 /dev/sda{5,6}

 

mdadm: size set to 987840K
mdadm: array /dev/md0 started.

 

创建完毕查看
# cat /proc/mdstat

 

Personalities : [raid1]
md0 : active raid1 sda6[1] sda5[0]
      987840 blocks [2/2] [UU]

 

# mdadm –detail /dev/md0

 

/dev/md0:
        Version : 0.90
  Creation Time : Sun Feb 21 22:36:31 2010
     Raid Level : raid1
     Array Size : 987840 (964.85 MiB 1011.55 MB)
  Used Dev Size : 987840 (964.85 MiB 1011.55 MB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

 

    Update Time : Sun Feb 21 22:44:45 2010
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

 

           UUID : 83408317:ad9cd56c:58225ad5:b1cab69a
         Events : 0.2

 

    Number   Major   Minor   RaidDeviceState
       0       8        5        0      active sync   /dev/sda5
       1       8        6        1      active sync   /dev/sda6
3格式化
 mkfs.ext3 /dev/md0
4 创建RAID1 挂载目录 并挂载
# mkdir /raid
# mount /dev/md0 /raid
查看
# ls /raid   出现lost+found 表示挂载成功
# df –lh 查看/raid 大小
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vol0-root
                       37G  2.9G   32G   9% /
/dev/mapper/vol0-var  5.7G  188M  5.2G   4% /var
/dev/mapper/vol0-home
                      465M   11M  431M   3% /home
/dev/sda1              99M   21M   74M  22% /boot
tmpfs                 506M     0  506M   0% /dev/shm
/dev/hdc               92M   92M     0 100% /media/VMware Tools
/root/Desktop/bootcd.iso
                      8.9M  8.9M     0 100% /root/a
/dev/md0              950M   18M  885M   2% /raid (查看该行)

 

此时创建RAID1 大小为1G 文件系统为ext3 并挂载到/raid 完成。

 

.类似上述过程,若要创建1G (两个512M分区)RAID0 ,2GRAID5(四个512M分区)
mdadm –v –C /dev/mdN –a yes –l 0 –n 2 –x 0 /dev/sda{n1,n2}
mdadm –v –C /dev/mdN –a yes –l 0 –n 3 –x 1 /dev/sda{n1,n2,n3}