文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>4 RAID

4 RAID

时间:2007-01-09  来源:yixiaoyun

安全的动态磁盘策略

1 软件raid技术

raid0/raid1/raid5

2 LVM逻辑卷管理技术

PV/VG/LV

3整合RAID和LVM的磁盘存储策略

 

RAID技术产生的背景

。普通的IDE硬盘速度不够快,性能不够稳定,不能应用于企业级的关键任务

。高效并且稳定可靠的SCSI硬盘价格昂贵,中小企业承受不起

。RAID(Redundant Array of Inexpensive/Independent Disks),即廉价/独立磁盘冗余阵列(或者简称磁盘阵列),它的出现,可以让我们把普通的IDE硬盘组成快速安全可靠的存储设备。

 

 

RAID原理

。RAID是一种把多块独立的硬盘按不同方式组合起来形成一个磁盘组,从而提供比单个硬盘更高的存储性能和提供数据冗余技术。不同的组织方式成为RAID级别(RAID Levels)。

。数据冗余的功能是在用户数据一旦发生损坏后,利用冗余信息可以使损坏数据得以恢复,从而保障了用户数据的安全性

。在用户看来,组成的磁盘组就像是一个硬盘,对磁盘阵列的操作与单个硬盘以模一样。

 

RAID级别

。目前共有0-6 共7个基本的RAID级别

。常用RAID级别是 ,RAID0,RAID1,RAID5

。需要RAID控制器(一种pc适配器)来管理硬盘

。LINUX内核可以模拟raid控制器,用来管理硬盘,但只支持级别0,1,4,5

 

raid0  striping ,条带备份

数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性。但是不具备冗余功能

raid1  mirror或者mirroring

最大限度的保证用户数据的可用性和可修复性。但是浪费硬盘空间

raid5

不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应得奇偶校验信息去恢复被损坏的数据。

至少需要3块硬盘

raid0+1

raid0 和1 的组合形式,也成为raid10

磁盘利用率比较低,但是冗余度最高。

 

Linux中的软件raid

。使用linux内核实现的软件raid控制器

。需要内核支持

。需要相应得应用软件(raidtools)创建管理raid设备

。软件raid设备文件名

       /dev/mdN  (N=0,1,2。。。)

。软件raid设备可以当分区看待,需要格式化后挂载

#mkfs.ext3 /dev/md1

#mount /dev/md1 /opt

 

 

 

软件raid创建过程

。添加硬盘

       raid设备的成员是硬盘分区,需要先对每个硬盘分区,raid中分区不能同一个物理硬盘上

。安装raidtoools

       raidtools中包含有raid创建管理工具和默认的示范性配置文件

。编写配置文件 /etc/raidtab

       可以从raidtools中的示范配置文件里复制

。创建raid设备

       例:#mkraid /dev/md0

 

rpm –q raidtools

rpm –ql raidtools

raidtools 的示范配置文件在/usr/share/doc/raidtools-1.00.3/raid0.conf.sample

                                                 raid1.conf.sample

                                                 raid4.conf.sample

raid5.conf.sample                                          

                                                                                raidtab.sample

 

man 5 raidtab   有简单的示范

直接该示范文件会比较方便

cp /usr/share/doc/raidtools-1.00.3/raid0.conf.sample /etc/raidtab

 

vi /etc/raidtab

其中

nr-raid-disks   磁盘数量

nr-spare-disks  冗余磁盘的数量,这里是raid0所以冗余的数量是0

 

device  /dev/hda1

raid-disk      0   给磁盘编号,不能重复。

 

退出 后

#mkraid /dev/md0

#mkfs.ext3 /dev/md0

#mount /dev/md0 /opt

再cp文件测试,是否成功。

编辑fstab可以启动自动挂载

 

停止使用raid

#raidstop /dev/md0

停止使用raid前,要首先把挂载的raid磁盘卸载掉

 

raid1的raidtab 用sample就可以

 

察看磁盘是不是有问题,或者损坏可以用命令

lsraid –A –a /dev/md1   

 

如果服务器开机,etc里有raidtab文件,系统会自动作raid,不再使用raid时可以把raidtab文件删除。

 

在建好raid后可以从

more /proc/mdstat

察看raid的状态

 

 

恢复破坏的数据

cp /usr/share/doc/raidtools-1.00.3/raid0.conf.sample /etc/raidtab

 

模拟raid阵列实效的情况用

raidsetfaulty –help

raidsetfaulty /dev/md0 /dev/sdb1

用  lsraid –A –a /dev/md0   就可以看出状态变failed

 

手动

raidhotadd /dev/md0 /dev/sdd1  向raid里添加一个磁盘

此时用 lsraid –A –a /dev/md0

里面新添加的硬盘的状态是  spare

可以察看   /proc/mdstat     的信息,可以看到磁盘的修复过程

 

raidhotremove /dev/md0 /dev/sdb1    移除出问题的硬盘。

在lsraid –A –a /dev/md0  可以看出 被移除的磁盘的状态是missing

 

也可以自动的,即添加冗余的磁盘

先修改 raidtab 里的 nr-spare-disks   的值为冗余磁盘的数量加一块冗余就是1

                  device         /dev/sdd1

                  spare-disk   0

重新构建raid   mkraid –R /dev/md0

                mkfs.ext3 /dev/md0

raid1,5可以放冗余磁盘,0就没有必要了。

可以用 raidsetfaulty   来测试

man 5 raidtab 

 

可以同时使用raid0和raid1  可以先把两块硬盘作raid0,然后再把两个raid0 和成raid1 。这样的速度比较快。

raidtab可以这样配置。

raiddev     /dev/md0

raid-level    0

nr-raid-disks   2

nr-spare-disks        0

chunk-size             4

 

device                   /dev/sda1

raid-disk                0

 

device                   /dev/sdb1

raid-disk               1

 

raiddev                  /dev/md1

raid-level              0

nr-raid-disks          2

nr-spare-disks        0

chunk-size             4

 

device                   /dev/sdc1

raid-disk                0

 

device                   /dev/sdd1

raid-disk                1

 

raiddev                  /dev/md2

raid-level               1

nr-raid-disks          2

nr-spare-disks        0

chunk-size             4

 

device                   /dev/md0

raid-disk                0

 

device                   /dev/md1

raid-disk                1

 

 

如果以前有raid ,要先把raid去掉挂载,raidstop然后重新建立。

上面的情况 md0,和md1是md2的成员,此时不能格式化md0,和md1,可以直接格式化md2就可以了。

相关阅读 更多 +
排行榜 更多 +
rento大富翁手游

rento大富翁手游

休闲益智 下载
冲撞赛车3无限金币版

冲撞赛车3无限金币版

赛车竞速 下载
电动火车模拟器内置菜单

电动火车模拟器内置菜单

赛车竞速 下载