1. 程式人生 > >磁盤之文件系統的高級操作

磁盤之文件系統的高級操作

磁盤 RAID

前言:

現在科技的發展可謂是日新月異,計算機的存儲變化更是巨大,個人電腦從不到80G的硬盤存儲,到現在輕輕松松2TB,讀寫速度從在100M每秒徘徊,到現在的2000M每秒的讀寫。但是本著做人不能忘本,而且速度快,但是TB以上的固態硬盤簡直貴的可怕,所以我們不得不重提磁盤陣列,更何況磁盤陣列還有較為可靠的安全性呢

下面我們先說一下RAID的常用的幾種類型:

RAID-0: 磁盤性能最佳

  • 又稱為Stripe或Striping(分條),即數據分條技術。RAID 0可以把多塊硬盤連成一個容量更大的硬盤群,從而提高磁盤的性能和吞吐量,要求至少兩個磁盤。
  • 無容錯,無冗余,不適用於安全性要求高的類型
  • 讀、寫性能提升; 理論上可以成倍提升,即有多少塊磁盤組成的RAID-0就能提升多少倍。
  • 可用空間:Nx最小的磁盤容量(S1,S2,...); 損壞一塊,數據全部損壞,因為對於計算機來說,數據就是0和1,但是多一個或者少一個,可能就代表不同的意義,更何況直接少了一整塊硬盤的數據呢
  • 最少磁盤數:2塊或以上
    技術分享圖片

RAID-1:只為安全而生

  • 又稱為Mirror或Mirroring(鏡像)。RAID 1把一個磁盤的數據鏡像放在另一個磁盤上面,在不影響性能的情況下最大限度的保證系統的可靠性和可修復性。
  • 很高的數據冗余能力,安全性高
  • 讀性能提升、寫性能略有下降;
  • 可用空間:1x最小的磁盤容量(S1,S2,...) ----------犧牲硬盤空間和少量寫能力,換來安全性
    技術分享圖片

RAID-5:讀取性能不錯,跟RAID-0差不多,寫入性能很一般

  • 是RAID 0和RAID 1的折衷方案,但沒有完全使用RAID 1鏡像概念,而是使用了”奇偶校驗信息”來作為數據恢復的方式,需要至少三個或更多的磁盤。
  • 讀、寫性能提升
  • 可用空間:(N-1)x最小的磁盤容量(S1,S2,...) ; 因為有一個磁盤存的校驗碼,但是校驗碼是平均分配到每塊磁盤上的,最多只能損壞一塊硬盤。
  • 有容錯能力:允許最多1塊磁盤損壞
  • 最少磁盤數:3, 3+ 技術分享圖片

RAID-10:合體永遠都是一個好辦法

  • 又稱為鏡像陣列條帶。如RAID 0一樣,數據跨磁盤抽取,也如RAID 1一樣,每個磁盤都有一個鏡像磁盤。因此RAID 10又稱為RAID 1+0。
  • 有冗余,允許RAID1類型的組,每組壞一塊磁盤,依舊正常工作
  • 磁盤容量為:(最小的磁盤的容量x磁盤數量)/2

創建RAID時必須用到的命令:

mdadm

  • mdadm -C /dev/md0 -a yes -n 2 -l 0 /dev/sdc /dev/sdd。 創建RAID,自動回答是,有兩塊盤組成了該RAID,RAID等級是0,這兩塊盤分別是 /dev/sdc /dev/sdd。
  • mdadm -C /dev/md1 -a yes -n 2 -l 1 /dev/sde /dev/sdf
  • mdadm -C /dev/md1 -a yes -n 2 -l 1 -x 1 /dev/sd{e,f,g}     此處的 -x  1 就是指明接下來的磁盤中有一塊作為熱備盤使用
  • -C 創建raid
  • -a yes 自動創建raid設備/dev/mdX
  • -n num 陣列中磁盤的數量
  • -l num 陣列的等級 ;  磁盤等級就是說你創建的是RAID-1 還是RAID-0 或者RAID-5
  • -x num 熱備盤的數量 ; 熱備盤不能只用在RAID-0的設備中,因為RAID-0掛掉一塊盤整個數據就沒救了,所以此時頂上一塊後備盤也沒有意義了。

軟件RAID模擬硬盤損壞實驗

  • mdadm /dev/md1 -f /dev/sdf         將md1中的sdf設置為壞的設備
  • mdadm /dev/md1 -r /dev/sdf         將md1中的sdf從raid成員中刪除
  • mdadm /dev/md1 -a /dev/sdf     向md1中增加新成員sdf -------sdf會自動變成熱備盤
  • mdadm -G /dev/md1 -n 3 -a /dev/sdh   將raid1 md1的成員數量改為3,並加入新的成員
    ----------(不是加為熱備盤)

開機自動啟動 RAID 並自動掛載

vim /etc/mdadm.conf
ARRAY /dev/md0 UUID="此處是md0的uuid"
vim /etc/fstab
/dev/md0 /mnt/raid    ext4    defaults     1    2
這樣以後開機時這個raid設備就能自動掛載了

關閉軟件RAID

如果raid設備以後並不使用,而是單純的測試一下,那麽我們測試完成後需要將該raid設備關閉
不然在以後分區時可能會出現莫名其妙的錯誤。

先卸載md0 設備 : umount /dev/md0
刪除etc/fstab 裏的該raid信息。 :  可以直接刪除也可以加 # 註釋掉
停止raid設備 : mdadm -S /dev/md0
刪除/etc/mdadm.conf裏的該raid的信息 :  可以直接刪除或者是加 # 註釋掉

刪除軟件RAID:請神容易送神難,RAID同樣如此啊

先移除RAID設備中的每個磁盤

mdadm /dev/md0 --fail /dev/sdb --remove /dev/sdb
mdadm /dev/md0 --fail /dev/sdc --remove /dev/sdc
mdadm /dev/md0 --fail /dev/sdc --remove /dev/sdd
即把每個磁盤先標記為損壞磁盤,然後再移除。

停止並刪除RAID設備

mdadm - -stop /dev/md0
mdadm - -remove /dev/md0

刪除某塊硬盤的raid信息

mdadm - -zero -superblock /dev/sdb
mdadm - -zero -superblock /dev/sdc
mdadm - -zero -superblock /dev/sdd

即: 先刪除RAID中的所有設備,然後停止該RAID即可

磁盤之文件系統的高級操作