RAID詳細


一、概要 RAIDは、初期の意味は安価なディスク冗長アレイ(Redundant Arrays of Inexpensive Disk)であり、後期には少しも安くないことを発見し、それを独立したディスク冗長アレイ(Redundant Arrays of Independent Disk)に変更した. 機械ハードディスクでも固体ハードディスクでも、そのできるI/Oの回数は限られており、単一のハードディスクでは業務のI/O需要をはるかに満たすことができないため、RAIDがあり、RAIDを使用することは主にディスクのI/O能力とディスクの信頼性を高めるために用いられる. ハードディスクに対する組織方式によって多様な「レベル」に分け、RAID-0からRAID-10まで、各レベルの組織方式によって効果が異なり、高ければ高いほど良いわけではない.よく見られるRAIDはRAID-0、RAID-5、RAID 10、JBOD(Just a Bunch of Disk)がある. 二、各種RAIDの区別作用 RAID 0:ストリップボリューム(strip)とも呼ばれ、RAIDコントローラはそのアルゴリズムに基づいてデータをブロック(chunk)に分割して複数のディスクに並列に書き込み、読み書き速度は著しく向上したが、データを複数のハードディスクに分割して記憶し、その中の1つの故障、結果はRAID全体の故障であり、RAIDは読み書き性能を向上させ、信頼性を低下させた.また、RAID 0の読み書き速度は、複数のハードディスクの読み書き速度の和ではなく、コントローラの分割速度にも依存します. RAID 1:ミラーボリューム(mirrori)にもなっており、RAIDコントローラはそのアルゴリズムに従ってデータをブロック(chunk)に分割し、1部をミラーして1つのディスクに単独で書き込む方式でデータの安全性を高め、1部のデータを多く書き込むことでより多くのリソースを消費し、読み取り性能を向上させる(異なるハードディスクからデータを読む). RAID 4:この組織方式はRAID 1とRAID 0の中和版であり、このRAIDは最低3枚のハードディスクを必要とし、そのうち2枚はRAID-0としてデータを読み取り、3枚目はデータを格納する冗長計算コード(異或演算)であり、RIAD 4の読み書き性能と信頼性はいずれも強化され、欠点は3枚目のハードディスク圧力が最大で故障を引き起こす可能性がある. RAID 5:RAID 5はRAID 4のアップグレード版で、違いはRAID 5の検査コードが各ハードディスクに循環して保存されていることである.このように検査コードの故障によるRAIDの故障の確率を軽減し、検査コードの保存の開始位置によって、そのアルゴリズムも異なる.一般的には左対斉である. RAID 10:これはRAID 0とRAID 1の組み合わせ体で、先にハードディスクをRAID 1にグループ化してから、グループの中でRAID 0を作る. RAID 01:RAID 0とRAID 1の組み合わせ体でもあります.まずハードディスクをRAID 0にグループ化してから、グループの中でRAID 1を作ります. 実際の環境で最も一般的なのはRAID 5とRAID 10です.
三、RAIDの実現方式 ここではソフトRAIDを紹介し,カーネルに付属するmdモジュールで実現する. mdadmこれはmdモジュールの管理ツールで、このコマンドでソフトRAIDを作成、削除、管理することができます.
  RAID:
        mdadm  -C   /dev/md#  -n #  -l #  [-a yes|no] [-x #]  Device 
                        -C md#          RAID    
                        -a  yes|no      RAID    
                        -n          
                        -x          ,      ,       。
                        -l    level,  RAID   。
                        -c     (chunk)  。 
                        Device  RAID         。
  RAID:
                        mdadm  /dev/md0  -f  /dev/sd#  --remove /dev/sd#    //         
                        mdadm -S /dev/md#       //  RAID  
                        mdadm --remove /dev/sd# //      
                        mdadm --misc --zero-superblock  /dev/sd#    //      super block