GNU/Linux >> Linux の 問題 >  >> Linux

RedHat / CentOS :mdadm によるソフトウェア RAID の管理

基本

mdadm (複数デバイス管理者) は、RAID システムを実行するための非常に便利なツールです。これは、md ドライバーを使用して RAID デバイスを作成、管理、および監視するためのツールです。これは、raidtools の代替として、または補足として使用できます。ディスク全体 (/dev/sdb、/dev/sdc) または個々のパーティション (/dev/sdb1、/dev/sdc1) をアレイのコンポーネントとして使用できます。

mdadm を使用する利点は次のとおりです。
1. mdadm は、アレイに関する詳細情報を診断、監視、および収集できます。
2. mdadm は単一の集中型プログラムであり、分散したプログラムの集まりではないため、すべての RAID 管理コマンドに共通の構文があります。
3. mdadm は構成ファイルがなくてもほとんどすべての機能を実行でき、デフォルトでは構成ファイルを使用しません。

mdadm ソフトウェア ツールは、すべての Linux ディストリビューションで同じ構文で機能します。

mdadm のインストール

システムの更新を行ってから、最新の mdadm プログラムをシステムにインストールしてください:

# yum clean all
# yum update
# yum install mdadm -y

構成ファイル

– /etc/mdadm.conf ファイルは、どのデバイスが RAID デバイスであるか、および特定のデバイスが属するアレイを識別するために使用されます。これは、起動時に RAID デバイスを自動構築するために必要です。
– デフォルトでは、このファイルは使用できないため、手動で作成する必要があります。
– RAID デバイスの作成が完了したら、次のことができます。コマンドの出力をリダイレクトして、mdadm.conf ファイルを作成するだけです:

# mdadm --detail -scan
ARRAY /dev/md0 level=linear num-devices=2 metadata=1.2 name=localhost.localdomain:0 UUID=a50ac9f2:62646d92:725255bd:7f9d30e3
   devices=/dev/sdb,/dev/sdc

上記の出力に見られるように、2 つのデバイス /dev/sdb と /dev/sdc を持つ線形配列 md0 があります。

# mdadm --verbose --detail -scan > /etc/mdadm.conf

RAID デバイスの作成

mdadm で RAID デバイスを作成するオプションを一覧表示するには、–help オプションを使用します。 mdadm で RAID を作成する場合、いくつかのオプションがあります。いくつかの重要なものをリストします.

# mdadm --create --help
	-C | --create /dev/mdn
	-l | --level  0|1|4|5
	-n | --raid-devices device [..]
	-x | --spare-devices device [..]

リニア モード
– 2 つ以上のディスクが 1 つの物理デバイスに結合されます。
– ディスクは互いに「追加」されるため、RAID デバイスに直線的に書き込むと、最初にディスク 0 がいっぱいになり、次にディスク 1 というようにいっぱいになります。
– ディスクは同じサイズである必要はありません。
– このレベルには冗長性はありません。
– 単一の読み取り/書き込みでは、読み取りと書き込みのパフォーマンスは向上しません。 .ただし、複数のユーザーがデバイスを使用し、複数のユーザーが同時に異なるディスクを使用すると、パフォーマンスが向上します。

mdadm を実行する線形モードで 2 つのディスクを作成するには、次の 1 つのコマンド ラインを入力するだけです:

# mdadm --create --verbose /dev/md0 --level=linear --raid-devices=2 /dev/sdb /dev/sdc
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

短いバージョンのオプションを使用して、同じコマンドを実行できます:

# mdadm --Cv /dev/md0 --l linear -n2 /dev/sdb /dev/sdc

RAID 0
– 「ストライプ」モードとも呼ばれます。
– デバイスは同じサイズである必要があります。
– このレベルにも冗長性はありません。ドライブに障害が発生した場合、データを救出することはできません。
– デバイス上で読み取りと書き込みが並行して行われるため、読み取りと書き込みのパフォーマンスが向上します。

RAID 0 モードで 2 つのディスクを作成するには:

# mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sdb /dev/sdc

RAID 1
– このレベルには冗長性があります。
– RAID-1 は、0 個以上のスペア ディスクを持つ 2 つ以上のディスクで使用できます。
– このモードでは、1 つのディスク上の情報の正確なミラーを維持します。
– もちろん、ディスクは同じサイズである必要があります。
– 1 つのディスクが別のディスクよりも大きい場合、RAID デバイスは最小のディスクのサイズになります。
– 最大 N-1 個のディスクが取り外された (またはクラッシュした) 場合でも、すべてのデータはそのままです。使用可能なスペア ディスクがあり、システムがクラッシュから回復した場合、ドライブの障害が検出された後、ミラーの再構築がスペア ディスクの 1 つで直ちに開始されます。
– 書き込みパフォーマンスは、多くの場合、単一のディスクよりも劣ります

2 つのディスクと 1 つのスペア ディスクで RAID 1 をセットアップできます。

# mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc --spare-devices=/dev/sdd

RAID 4
– この RAID レベルはあまり使用されません。
– 3 つ以上のディスクで使用できます。
– 情報を完全にミラーリングする代わりに、パリティ情報を 1 つのドライブに保持し、 RAID-0 のような方法で他のディスクにデータを書き込みます。
– 1 つのディスクがパリティ情報用に予約されているため、アレイのサイズは (N-1)*S になります。ここで、S はディスクのサイズです。アレイ内の最小のドライブ。
– 1 つのドライブに障害が発生した場合、パリティ情報を使用してすべてのデータを再構築できます。 2 台のドライブに障害が発生すると、すべてのデータが失われます。

4 つのディスクと 1 つのスペア ディスクで RAID 4 をセットアップするには:

# mdadm --create --verbose /dev/md0 --level=4 --raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde  spare-devices=/dev/sdf

RAID 5
– RAID-5 は 3 つ以上のディスクで使用でき、0 個以上のスペア ディスクを使用できます。
– 結果の RAID-5 デバイス サイズは、RAID と同様に (N-1)*S になります。 -4.
– RAID-5 と -4 の大きな違いは、パリティ情報が参加ドライブ間で均等に分散され、RAID-4 のボトルネック問題が回避されることです。
–ディスクに障害が発生しても、パリティ情報のおかげですべてのデータはそのまま残ります。スペア ディスクが利用可能な場合、再構築はデバイス障害の直後に開始されます。 2 つのディスクが同時に故障すると、すべてのデータが失われます。 RAID-5 は 1 つのディスク障害に耐えることができますが、2 つ以上の障害には耐えられません。
– 読み取りは RAID-0 読み取りに似ていますが、書き込みは一般に、オーバーヘッドになるパリティを書き込む必要があるためコストが高くなります。

mdadm を使用して 3 つのディスクと 1 つのスペア ディスクで RAID 5 をセットアップするには:

# mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd --spare-devices=/dev/sde

RAID デバイスにファイルシステムを作成しています

RAID デバイスに ext4 ファイルシステムを作成してマウントするには:

# mkfs.ext4 /dev/md0
# mkdir /data01
# mount /dev/md0 /data01

/etc/fstab にエントリを作成して、再起動後も保持されるようにしてください。

# vi /etc/fstab
/dev/md0	/data01		ext4	defaults	0    0

構成の確認

/proc/mdstat RAID アレイとデバイスに関するリアルタイム情報を含む、カーネルによって維持されるファイルです。

# cat /proc/mdstat 
Personalities : [linear] 
md0 : active linear sdc[1] sdb[0]
      4194288 blocks super 1.2 0k rounding
      
unused devices: [none]

特定の配列の使用に関する詳細情報を取得するには:

# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Mon Nov  3 06:03:03 2014
     Raid Level : linear
     Array Size : 4194288 (4.00 GiB 4.29 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Mon Nov  3 06:03:03 2014
          State : clean 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

       Rounding : 0K

           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : a50ac9f2:62646d92:725255bd:7f9d30e3
         Events : 0

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc

RAID アレイの停止/開始 (組み立て) と取り外し

既存のアレイを停止してシステムから完全に削除するには:

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

停止したアレイを開始 (アセンブル) するには:

# mdadm --asemble /dev/md0
注意 :assemble コマンドは、/etc/mdadm.conf ファイルを読み取り、アレイを開始します。アレイを停止する前に構成を mdadm.conf に保存しなかった場合、このコマンドは失敗します。次のコマンドを使用して、mdadm.conf ファイルを再作成できます:
# mdadm –examine –scan> /etc/mdadm.conf

アレイ内のデバイスの管理

デバイスの追加
新しいデバイスをアレイに追加するには:

# mdadm --add /dev/md0 /dev/sdd

デバイスの削除
アレイからデバイスをフェイル (-f) してから削除 (-r) できます:

# mdadm --manage /dev/md0 -f /dev/sdd
# mdadm --manage /dev/mdadm -r /dev/sdd
ソフトウェア RAID アレイ (mdadm) で故障したミラー ディスクを交換する


Linux
  1. 障害のあるRAID6ドライブをmdadmに置き換える

  2. CentOSおよびRedHatでMySQLを使用してPure-FTPDをセットアップする方法

  3. CentOS7でiptablesを使用する

  1. 方法:CentOS 7 –PARTEDを使用して2TBを超えるパーティションを作成する

  2. 既存の稼働中の RedHat / CentOS システムを作成して RAID 1 / RAID 10 に移行

  3. ソフトウェア RAID アレイ (mdadm) で故障したミラー ディスクを交換する

  1. Gptパーティショニングを使用したMdadmRAIDの実装?

  2. Linux ソフトウェア RAID を新しいマシンに移動するにはどうすればよいですか?

  3. CentOS にソフトウェアをインストールする:バイナリまたは rpm?