RAID详解


   Raid早期叫廉价冗余磁盘阵列,发展到如今也不廉价了,因此叫独立磁盘冗余阵列,他的主要目的是提升读写性能和容错能力,而RAID的主要思想是把多个相对廉价的硬盘接起来,组成一个硬盘阵列,让操做系统看起来只有一个盘,从而提高磁盘的读写性能以及容错能力.服务器

   RAID又分为软RAID和硬RAID,软RAID实际上就是利用软件模拟出RAID,因此软RAID对系统的提高不明显,由于软RAID的控制基于主机上的cpu,他的读写都要通过CPU的控制,而硬RAID基于RAID自己的控制芯片.ide

   而他们又分为RAID0,RAID1,RAID4,RAID5,RAID6,RAID1-0,RAID0-1.性能

   RAID0:优化

       至少须要两块硬盘,他的原理是把计算机本来要储存的一个文件,以必定的原理分红两部分,分别存在两块硬盘上,这样就提高了两倍的读写性能,可是其中一块磁盘坏了,数据就坏了,因此不利于存放重要的数据,建议使用如出一辙的盘
spa

   RAID1:操作系统

       至少须要两块硬盘,他的原理是把计算机本来要存储的一个文件,同时存在两块硬盘上,每一个硬盘各存一份,这样写性能就下降了一半,可是读性能就提升了一倍,他读数据的时候从两块盘一块儿读,但这不是他的主要目的,他的主要目的是容错,若是其中的一块盘损坏了,并不影响服务器工做,可是使用率只有50%
3d

   RAID4:blog

       至少须要3块盘,计算机把本来要存储的数据经过必定的计算方式分红两部分,分别存在不一样的两个磁盘中,第三个磁盘存校验码,因此读写性能都有提高,容许坏一块盘,若是损坏一块数据盘,RAID的控制芯片会根据校验码盘和剩余的一块数据盘计算出损坏的数据.磁盘利用率为(n-1)/nget

   RAID5:it

       在RAID4的基础上优化而来,至少三块盘,计算机要存储数据时经过必定的计算方式分别存在三块盘中,而三块盘中又分别存有校验码,任何一块盘损坏了,均可以经过其余剩余的两块盘计算出损坏盘中的数据,提高了读写性能,利用率为(n-1)/n

   RAID6:

       与RAID5机制相同,可是至少须要4块盘,容许一块盘损坏,利用率为(n-2)/n

2.Linux上实现软磁盘阵列

  1.建立RAID1级别的磁盘阵列

       a.使用fdisk给磁盘分区,这里分别建立两个10G大小的虚拟盘:

           dd if=/dev/zero of=/dev/sdb bs=510 count=1(这里是格式化sdb磁盘,因为笔者以前有用过这个盘,因此先格式化了)

           echo -e 'n\np\n1\n \n+10G\nn\np\n2\n \n+10G\nw' | fdisk /dev/sdb

       wKiom1MKpdmxS3y8AARw6r753Hs047.jpg

   b.格式话完成后,由于咱们是建立RAID阵列,因此磁盘的格式要选择为磁盘ID号的fd

   wKioL1MKqYfwe5KqAAS7vA5jL2c695.jpg


   c.建立磁盘阵列,这里是最简单的RAID1,没有热备盘

   mdadn -C /dev/md0 -n 2 -l 1 /dev/sdb{1,2}

   wKiom1MKq5CRSC0iAAE8NkyAMeY183.jpg

     d.建立完成后查看磁盘阵列

       mdadm -D /dev/md0

       wKiom1MKrC7yr_i8AAHvhrLHQLo527.jpg

   e.为该磁盘阵列建立文件系统

   mke2fs -t ext4 /dev/md0

   wKioL1MKrRnQWQ1BAAJ6pQPZj_w850.jpg

   f.挂载该文件系统到/mnt/md0,并查看

   mount /dev/md0 /mnt/md0

    wKioL1MKrbqwU4mVAADhMlrODqQ045.jpg    

2.磁盘阵列建立完成了,接下来咱们模拟磁盘损坏,看RAID是否有容错能力

   a.复制一些文件到/mnt/md0,并模拟/dev/sdb1磁盘损坏,看损坏一块磁盘是否影响元数据

   wKioL1MKrynhgRHMAAQVqLtCwvY684.jpg

   b.模拟磁盘/dev/sdb1损坏

   mdadm -f /dev/md0 /dev/sdb1

   wKiom1MKsD_zxh3cAAKvp7UJJbk936.jpg

c.在去看看对数据是否有影响

   cd /mnt/md0

   ls

   wKioL1MKsKmCgjdCAAQUmwYp6GY247.jpg

d.拔出损坏的磁盘,并查看信息

   mdadm -r /dev/md0 /dev/sdb1

   mdadm -D /dev/md0

   wKiom1MKsZjAK7ASAAJ2Xrk2vvY514.jpg

e.插回原磁盘,看是否会自动备份数据

   mdadm -a /dev/md0 /dev/sdb1

   mdadm -D /dev/md0

wKiom1MKsm-h2XqPAAKcQH-qafc118.jpg

注:笔者只是有限,有不对的地方或着写的很差的地方请多多指教.好吧,是我多虑了,也许都没人看...

相关文章
相关标签/搜索