文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>安全的动态磁盘策略<跟我学系统>软件RAID技术

安全的动态磁盘策略<跟我学系统>软件RAID技术

时间:2006-05-19  来源:wumu888

 安全动态的磁盘策略 软件RAID    重点讲解;      RAID0 / RAID1 /RAID5             RAID技术产生的背景          1. 普通的ide硬盘速度不够快,性能不够稳定,不能应用于企业级的关键任务          2. 高效且稳定可靠的SCSI硬盘价格昂贵,中小型企业承受不起;          3. RAID<Redundant Array of Inexpensive/Independent Disk>,即廉价/独立磁盘冗余阵列<或简单磁盘阵列>,它的出现可以让我们把普通的ide硬盘组成快速安全的存储设备;                原理    RAID是一种把多块独立的硬盘按不同方式组合起来形成一个磁盘组,从而提供比单个硬盘更高的存储性能和提供数据冗余的技术,不同的组织方式形成不同的RAID级别<RAIDLevels>    数据冗余的功能是在用户数据一旦发生损坏后,磁盘利用冗余信息可以使损坏数据的以恢复,从而保障了用户数据的安全性.    在用户看来,组成的磁盘组就像是一个硬盘,对磁盘阵列的操作与单硬盘一模一样.       RAID常用的级别   目前有0~6共7种基本的RAID级别   最常用的RAID级别是level 0;level 1;level 5;   需要RAID控制器<一种pc适配器>来管理磁盘   Linux内核可以模拟RAID控制器,用来管理硬盘,但仅支持0,1,4,5      LINUX 下常用级别的讲解     RAID 0      RAID 0又称string.<延展技术>      RAID 0通过把连续的数据访问分散到多个磁盘上来提高存储性能,这样,数据请求就可以被多个磁盘并行的响应,每个磁盘响应属于它自己的那部份数据请求,这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性;但是安全性最低!    RAID 1     RAID 1又称为Mirror或Mirroring<境像>,它的宗旨是最大限度的保证用户数据的可用性和可修复性.RAID 1操作方式是把用户写入硬盘的数据百分百的自动复制到另一个磁盘上.    RAID 5    RAID 5不对存储数据进行备份,而是把数据对应的奇偶校验信息存储到组到RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上,当RAID5的一个磁盘数据发生损坏时,利用剩下的数据和相对应的奇偶校验信息去恢复数据.   另一个常用的用法就是RAID10<顾名思义就是整合了RAID0 和RAID1的组合形式>    LINUX中的软件RAID   1. 使用Linux内核实现的软件Raid控制器   2   需要内核的支持   3.  需要相应的应用软件<raidtools>创建管理RAID设备   4. 软件设备文件名;        /dev/mdN<1.2.3....>   5  软件RAID设备可以当分区看待,需在格式化后挂载使用        #mkfs.ext3 /dev/md0        #mount /dev/md1 /mnt       软件RAID创建过程     1. 添加硬盘         RAID设备的成员是硬盘分区,需要先对硬盘分区但不能同一个物理硬盘上     2. 安装raidtools         此软件中包含有RAID创建管理工具和默认的示范性配置文件     3. 编写配置文件/etc/raidtab          可以从raidtools中的示范配置文件里复制     4. 创建RAID设备            #mkraid /dev/mk0           演示ing.......       
[root@server root]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2              2522076   1039100   1354860  44% /
/dev/sda1               101089      9304     86566  10% /boot
none                     62828         0     62828   0% /dev/shm
   从上图可以看到,上面已经存在了一个sda的硬盘,为了做实验,我们要添加二块硬盘; 还记的刚才所说的RAID的成员是硬盘分区,而且在格式化的喔,    #fdisk /dev/sdb    .    .    .    这里以4G Scsi硬盘为例,只需要建一个分区即可;  #fdisk /dev/sdc       #和上面一样;  格式化我都不讲了;  
[root@server root]# cp /usr/share/doc/raidtools-1.00.3/raid0.conf.sample /etc/raidtab           #复制raid
[root@server root]#                #0的示范文件到/etc下
   编辑这个文件;

# Sample raid-0 configuration

raiddev                 /dev/md0      # 指定的设备名

raid-level < 级别  >  0  # it's not obvious buthis*must* be
                             # right after raiddev

persistent-superblock   0    # set this to 1 if you want autostart,  <这里说的保留块,默认>
                             # BUT SETTING TO 1 WILL DESTROY PREVIOUS
                             # CONTENTS if this is a RAID0 array created
                             # by older raidtools (0.40-0.51) or mdtools!

chunk-size              16

nr-raid-disks           2  <raid磁盘,string最少2个>
nr-spare-disks          0  <冗余磁盘,由于0级别是string,不需>

device                  /dev/hda1  <磁盘分区名>
raid-disk               0          <定义为raid磁盘编号为0>

device                  /dev/hdb1
raid-disk               1

~                               

   保存退出;创建raid设备    #mkraid /dev/md0    ##mkfs.ext3 /dev/md0   #格式化    #mount /dev/md0 /mnt   #进行挂载    #cp /etc/service /mnt  #写入    #ls /mnt                  #查看     lost+fount service     #成功  如果想开机就自动挂载只需把此信息加入/etc/fstab;
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
none                    /dev/pts                devpts  gid=5,mode=620  0 0
none                    /proc                   proc    defaults        0 0
none                    /dev/shm                tmpfs   defaults        0 0
/dev/sda3               swap                    swap    defaults        0 0
/dev/cdrom              /mnt/cdrom              udf,iso9660 noauto,owner,kudzu,
ro 0 0
/dev/fd0                /mnt/floppy             auto    noauto,owner,kudzu 0 0
/dev/md0                /mnt                    ext3    defaults        0 0
     如果想停止该设备一定要把挂载搞掉再停止      #umount /mnt      #raidstop /dev/md0               再建一个级别为1的设备;
[root@server root]# cp /usr/share/doc/raidtools-1.00.3/raid1.conf.sample /etc/raidtab     #复制1到/etc下
cp: overwrite `/etc/raidtab'? y        #是否覆盖, Y
[root@server root]#
      再来编辑它;  

# Sample raid-1 configuration
raiddev                 /dev/md1        #设备名
raid-level              1               #级别
nr-raid-disks           2               #raid的磁盘数量
nr-spare-disks          0               #提供冗余的磁盘数量
chunk-size              4

device                  /dev/hda1       #磁盘分区名
raid-disk               0               #raid编号

device                  /dev/hdb1     #磁盘分区名
raid-disk               1

     提供这样的服务器的raid磁盘数量一定为偶数个

   现在我们应该做什么呢?当然是建立raid设备啦;     #mkraid /dev/md1     #mkfs.ext3 /dev/md1     #mount /dev/md0 /opt     #lsraid -A -a /dev/md1     这样级别为1的也配置好了,停止的话和上面一们;     #umount /dev/md1          #先卸载挂载     #raidstop /dev/md1        #停止    如果想删除怎么办呢?只需把配置文件删除即可;    #rm -f /etc/raidtab      配置RAID 5级别的设备;     最少需要3块硬盘;这样还需要加一块硬盘;加一块/dev/sdd;     再去/usr/share/doc/raid3.0.0.-3/raid5.conf.sample /etc/raidtab     当然再去编辑一下喽;       只需修改一下硬盘的规格,保存退出;      #mkraid /dev/md0          #创建设备        #mkraid -R /dev/md0   #如出现错误就用这条命令     #mkfs.ext3 /dev/md0       #格式化     #mount /dev/md0 /opt      #挂载     #lsraid -A -a /dev/md0    #看设备状态怎么样;                  #这个级别的用的最多的,建好后就可把计算机重要的资料移植到这个设置上了;     #umount /dev/md0   #卸载     #raidstop     #more /proc/mdstat   #查看内存里md的状态     #用软件模拟硬盘发生损坏,应该如何处理;因为raid5做这个还需要一个硬盘,所以只能重新做一个raid 1设备;做的方法等同于上面;    开始模拟破坏硬盘;       #mount /dev/md0  /mnt       #ls /mnt        #cp /etc/hosts /mnt      #ls /mnt      hosts      #raid -A -a /dev/md0      #raidsetfaulty /dev/md0  /dev/sdd1   #模拟md0上sdd1硬盘损坏      #raid -A -a /dev/md0           #再次查看/md0设备      [dev 8, 17] /dev/sdd1   CCA62C28,7CC7004D,E6.....failed       .      #ls /mnt   #再次查看/mnt下      hosts       #咦,,不是坏了吗?还记的raid 1的宗旨吗?最大限度的保证资料安全性,百分之百的把一份数据拷贝到另外一个磁盘上;那我们现在还只剩一个sdc1没坏,风险全由它一个硬盘承担,乘此,我们可以做以下事情;    #raidhotadd /dev/md0  /dev/sdc1   #我们往该设备里增加一块硬盘    #lsraid -A -a /dev/md0        #查看一下     #里面会有所显不,这样想加添加这块硬盘替换有损坏的话就可以用    #raidremove /dev/md0 /dev/sdd1  #把这块硬块拿走哦; 如果想使用冗余磁盘的话,可以在raid 1 和raid 5中添加一块spare-disk就可以了,很简单的;   
相关阅读 更多 +
排行榜 更多 +
模拟修脚达人

模拟修脚达人

模拟经营 下载
无敌赛车王

无敌赛车王

赛车竞速 下载
多人汽车聚会

多人汽车聚会

赛车竞速 下载