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

注:筆者只是有限,有不對的地方或着寫的很差的地方請多多指教.好吧,是我多慮了,也許都沒人看...

相關文章
相關標籤/搜索