RAID的使用

RAID

在上世界八十年代的時候RAID尚未開發出來的時候,通常公司還在使用SLED(Single Large Enpensive Disk),這種存盤優點很是大,單個的十分巨大的儲存空間,只是伴隨着它的巨大優點,還有很昂貴的代價,通常公司承受不起這樣的代價,在這樣的環境下,不少公司都在尋找一種能把幾個或多個廉價的硬盤組合成一種,甚至嘗試着提升它的讀寫速度,以及冗餘能力。終於在1987年,在美國加州Clifornia Berkeler大學的幾個教授 Patterson,Gibson和Katz發表了一篇很出名的論文A case for Redundant Arrays of Inoxpensive Disks.這個就是RADI的原型胚胎。翻譯成我們中文就是廉價冗餘磁盤陣列,簡單來講就是把多塊磁盤組合成一塊來使用。隨着後來者在這個基礎上不墩的開發不斷的完善,RAID已經成爲比較完善的技術,許多公司都用這個技術。下面就詳細總結一下這個技術。

 首先多個磁盤組合在一塊兒就能提高數據的讀寫能力,一個2G大小的文件,若是是四個磁盤的話就會分紅4份存進四個磁盤中,讀取的話也是同樣,這樣就至關於速度提高了四倍,這是至關可觀的。可是組合多少個磁盤爲好呢?這要取決於你的設備的插槽個數和你設備自己的設計使用能力。這種將多塊磁盤組合起來促合成一個陣列看成邏輯設備來使用的機制,咱們就把成爲ARID。

 那咱們把數據向多個磁盤儲存的時候一次存多少呢?1K?2K?這就又牽扯到另外一個概念--條帶。數據在經過控制芯片發向底層控制芯片並儲存在磁盤上的時候,它首先倍條帶化之後,分割儲存在各各磁盤上的,這就叫作條帶。
 
條帶(RAID0)的好處就是提高了讀寫速度,提高率幾乎就是n倍,可是也硬傷,就是沒有冗餘能力,一旦其中任何一塊磁盤損壞,所有數據都通通損壞了,固然五塊磁盤損壞的概率要是一塊的五倍了。這樣的話人們又發明了鏡像存儲。

鏡像(RAID1)簡單來講就是每一個數據都給他備份一下,這樣的弊端相信你們一會兒就看出來了,浪費了通常的空間。通常的空間都用來儲存相同的東西了,寫入東西的話還要寫入雙份,功能固然就降低了,讀功能仍是有一點提高的。固然他最大的優點就在與冗餘能力,由於他同時備份了一份文件,因此一旦數據有損壞,只要不是連帶鏡像中的文件一塊兒損壞的,就能徹底還原回來。

既然鏡像技術要浪費一半的儲存空間,那它的代價也是不低的,一些大企業爲了穩妥起見仍是用這種方法,那句話怎麼說來着,人類的進步就是在不斷妥協中前進的過程,因而人來在這種的狀況下有開發了RAID2,RAID3,RAID4,RAID5,RAID6.

相比較於RAID1來講,2,3,4,5都有他的很差之處,只不過由於廉價因此有許多小公司仍是使用他們。這裏就挑仍是稍微多見一點的RAID5來講一下。

假設咱們有四塊磁盤,RAID5就是把數據分存爲三份在前三個磁盤上,第四個磁盤存上校驗碼。這樣的話任何一塊磁盤損壞均可以來修復,它的弊端就是一旦損壞兩塊存盤,全部數據就完蛋了,而且在磁盤使用過程當中,系統會默認多使用存有校驗碼的磁盤,時間長了就要以這個磁盤的速度來斷定咱們的速度了,這是很不理想的。損壞一塊磁盤的話咱們能夠經過另外三塊磁盤找出丟失的數據,刻錄在另一塊空磁盤上,這個過程咱們叫硬盤修復過程,而這個過程當中另外三塊磁盤一旦損壞也是致命的,事實上這種事情常常發生,因此仍是很不安全的,可是又有人發明了四個磁盤輪流儲存校驗碼,這就比前面的方法稍微改善了一點。

後來有出現了RAID10以及RAID01的組合。這種速度又安全又高效,出了代價有點高之外仍是很受你們歡迎的
RAID10的話就是先鏡像再條帶,這樣每一組中都是兩個如出一轍的文件存在,同一組上損失一個文件的話就能夠靠着鏡像立馬修復他,可是不能同組的磁盤同時損壞,那樣數據就完了。
RAID01就是先條帶在鏡像了這樣的話就算是同組的磁盤所有損壞都沒事,由於還有鏡像中的數據存在,可是兩邊的磁盤各自損壞了一個就完全完了。
兩種方法性能幾乎是同等的,只是在修復上,RAID01修復數據的時候要調動其他的所有磁盤來計算出丟失的數據,而RAID10只須要把丟失的數據對應的鏡像磁盤刻錄過來就好了。整體來講這兩種方法差異不大,看用的時候須要那種。
還有最後一種叫作Jbod,這種技術是在一個磁盤上鍊接另外一個磁盤,讓他們成爲一個磁盤來儲存那些超大的數據,只是爲了擴大內存,讀寫性能沒什麼提升,也沒有冗餘能力。


下面咱們來講一下軟RAID。
咱們軟RAID必須把文件類型表示爲fd格式的,表示爲fd類型之後,咱們的模塊往上邊存數據的時候他會在這個數據以外存一些其餘的語言數據,未來哪怕你重裝了操做系統,只要把這個模塊裝進來,讓這個模塊自身去掃描這兩個設備才能把它們從新組合起來,這是須要額外的步驟,呵呵,咱們的服務器原本就很繁忙,CPU可能原本就不夠用,在拿來讓CPU去管理數據,操做系統一崩潰還可能致使數據丟失,因此說軟RAID很是不適合去使用,不到萬不得已的狀況下咱們儘可能不要去用軟RAID,因此咱們在這裏就簡單的說明,不作深刻的研究。
下來咱們就來講說使用軟件建立軟RAID。

在咱們Linux上提供軟RAID設備須要內核模塊叫md,這個模塊得能裝載進來,此外在用戶空間有個命令讓咱們去配置RAID的命令叫mdadm:支持將任何塊設備作成RAID。在咱們Linux上只有一塊盤,因此說哪怕是隻有兩個分區也能夠作成RAID,只不過這個在其實是沒有意義的,都在一塊設備上,讀寫速度不會提高,而且硬盤損壞的話全部數據都損壞。在實際上能夠在多個磁盤上作,或者使用位於不一樣磁盤上的分區

mdadm:    模式化的命令:
    建立模式
        -C
            專用選項:
                -l: 級別
                -n #: 設備個數
                -a {yes|no}: 是否自動爲其建立設備文件
                -c: CHUNK大小, 2^n,默認爲64K
                -x #: 指定空閒盤個數
    管理模式
        --add, --remove, --fail
        mdadm /dev/md# --fail /dev/sda7
    監控模式
        -F
    增加模式
        -G
    裝配模式
        -A
    查看RAID陣列的詳細信息
        mdadm -D /dev/md#
          --detail
   
    中止陣列:
        mdadm -S /dev/md#
           --stop
          
          
以上就是我對RAID以及軟RAID的瞭解,以及一些基本的使用方法。安全

相關文章
相關標籤/搜索