Ubuntu16.04でmdadmを使用してRAIDアレイを作成する方法

提供:Dev Guides
移動先:案内検索

序章

mdadmユーティリティは、LinuxのソフトウェアRAID機能を使用してストレージアレイを作成および管理するために使用できます。 管理者は、個々のストレージデバイスを調整し、パフォーマンスまたは冗長性の特性が優れた論理ストレージデバイスを作成する際に大きな柔軟性を備えています。

このガイドでは、Ubuntu16.04サーバーを使用してセットアップできるさまざまなRAID構成について説明します。

前提条件

このガイドの手順を完了するには、次のものが必要です。

  • Ubuntu 16.04サーバーでsudo権限を持つroot以外のユーザー:このガイドの手順は、sudoユーザーで完了します。 これらの権限でアカウントを設定する方法については、Ubuntu16.04初期サーバー設定ガイドに従ってください。
  • RAIDの用語と概念の基本的な理解:このガイドでは、いくつかのRAIDの用語に触れますが、より完全な理解は非常に役立ちます。 RAIDの詳細と、自分に適したRAIDレベルをよりよく理解するには、RAIDの概要に関する記事をお読みください。
  • サーバーで利用可能な複数のrawストレージデバイス:サーバーでさまざまなタイプのアレイを構成する方法を示します。 そのため、構成するにはいくつかのドライブが必要になります。 DigitalOceanを使用している場合は、ブロックストレージボリュームを使用してこの役割を果たすことができます。 アレイの種類に応じて、少なくとも 2〜4台のストレージデバイスが必要になります。

既存のRAIDデバイスのリセット

このガイド全体を通して、さまざまなRAIDレベルを作成する手順を紹介します。 フォローしたい場合は、各セクションの後でストレージデバイスを再利用することをお勧めします。 このセクションを参照して、新しいRAIDレベルをテストする前にコンポーネントストレージデバイスをすばやくリセットする方法を学ぶことができます。 アレイをまだ設定していない場合は、このセクションをスキップしてください。

警告

このプロセスにより、アレイとそれに書き込まれたデータが完全に破棄されます。 正しいアレイで操作していること、およびアレイを破棄する前に保持する必要のあるデータをコピーしたことを確認してください。


次のように入力して、/proc/mdstatファイルでアクティブなアレイを見つけます。

cat /proc/mdstat
OutputPersonalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid0 sdc[1] sdd[0]
      209584128 blocks super 1.2 512k chunks
            
            unused devices: <none>

ファイルシステムからアレイをアンマウントします。

sudo umount /dev/md0

次に、次のように入力して、アレイを停止して削除します。

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

次のコマンドを使用して、アレイの構築に使用されたデバイスを検索します。

ノート

/dev/sd*の名前は、再起動するたびに変更される可能性があることに注意してください。 毎回それらをチェックして、正しいデバイスで操作していることを確認してください。


lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
OutputNAME     SIZE FSTYPE            TYPE MOUNTPOINT
sda      100G                   disk 
sdb      100G                   disk 
sdc      100G linux_raid_member disk 
sdd      100G linux_raid_member disk 
vda       20G                   disk 
├─vda1    20G ext4              part /
└─vda15    1M                   part 

アレイの作成に使用されたデバイスを検出したら、スーパーブロックをゼロにして通常にリセットします。

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

配列への永続的な参照をすべて削除する必要があります。 /etc/fstabファイルを編集し、配列への参照をコメントアウトまたは削除します。

sudo nano /etc/fstab

/ etc / fstab

. . .
# /dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0

また、/etc/mdadm/mdadm.confファイルから配列定義をコメントアウトまたは削除します。

sudo nano /etc/mdadm/mdadm.conf

/etc/mdadm/mdadm.conf

. . .
# ARRAY /dev/md0 metadata=1.2 name=mdadmwrite:0 UUID=7261fb9c:976d0d97:30bc63ce:85e76e91

最後に、initramfsを再度更新します。

sudo update-initramfs -u

この時点で、ストレージデバイスを個別に、または別のアレイのコンポーネントとして再利用する準備ができているはずです。

RAID0アレイの作成

RAID 0アレイは、データをチャンクに分割し、使用可能なディスク全体にストライピングすることで機能します。 これは、各ディスクにデータの一部が含まれており、情報を取得するときに複数のディスクが参照されることを意味します。

  • 要件:最低2つのストレージデバイス
  • 主な利点:パフォーマンス
  • 注意事項:機能的なバックアップがあることを確認してください。 単一のデバイスに障害が発生すると、アレイ内のすべてのデータが破壊されます。

コンポーネントデバイスを特定する

開始するには、使用するrawディスクの識別子を見つけます。

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
OutputNAME     SIZE FSTYPE TYPE MOUNTPOINT
sda      100G        disk
sdb      100G        disk
vda       20G        disk 
├─vda1    20G ext4   part /
└─vda15    1M        part

上記のように、ファイルシステムのない2つのディスクがあり、それぞれのサイズは100Gです。 この例では、これらのデバイスには、このセッションの/dev/sdaおよび/dev/sdb識別子が与えられています。 これらは、アレイの構築に使用する生のコンポーネントになります。

アレイを作成する

これらのコンポーネントを使用してRAID0アレイを作成するには、それらをmdadm --createコマンドに渡します。 作成するデバイス名(この場合は/dev/md0)、RAIDレベル、およびデバイスの数を指定する必要があります。

sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sda /dev/sdb

/proc/mdstatファイルをチェックすることにより、RAIDが正常に作成されたことを確認できます。

cat /proc/mdstat
OutputPersonalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid0 sdb[1] sda[0]
      209584128 blocks super 1.2 512k chunks
            
            unused devices: <none>

強調表示された行でわかるように、/dev/md0デバイスは、/dev/sdaおよび/dev/sdbデバイスを使用してRAID0構成で作成されています。

ファイルシステムの作成とマウント

次に、アレイ上にファイルシステムを作成します。

sudo mkfs.ext4 -F /dev/md0

新しいファイルシステムを接続するためのマウントポイントを作成します。

sudo mkdir -p /mnt/md0

次のように入力して、ファイルシステムをマウントできます。

sudo mount /dev/md0 /mnt/md0

次のように入力して、新しいスペースが使用可能かどうかを確認します。

df -h -x devtmpfs -x tmpfs
OutputFilesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G  1.1G   18G   6% /
/dev/md0        197G   60M  187G   1% /mnt/md0

新しいファイルシステムがマウントされ、アクセス可能になります。

アレイレイアウトを保存する

起動時にアレイが自動的に再構築されるようにするには、/etc/mdadm/mdadm.confファイルを調整する必要があります。 次のように入力すると、アクティブなアレイを自動的にスキャンしてファイルを追加できます。

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

その後、initramfsまたは初期RAMファイルシステムを更新して、初期の起動プロセス中にアレイを使用できるようにすることができます。

sudo update-initramfs -u

起動時に自動マウントするために、新しいファイルシステムマウントオプションを/etc/fstabファイルに追加します。

echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

これで、RAID 0アレイが自動的に組み立てられ、ブートごとにマウントされます。

RAID1アレイの作成

RAID 1アレイタイプは、使用可能なすべてのディスク間でデータをミラーリングすることによって実装されます。 RAID 1アレイの各ディスクはデータの完全なコピーを取得し、デバイスに障害が発生した場合に冗長性を提供します。

  • 要件:最低2つのストレージデバイス
  • 主な利点:冗長性
  • 注意事項:データの2つのコピーが維持されるため、ディスク領域の半分のみが使用可能になります

コンポーネントデバイスを特定する

開始するには、使用するrawディスクの識別子を見つけます。

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
OutputNAME     SIZE FSTYPE TYPE MOUNTPOINT
sda      100G        disk
sdb      100G        disk
vda       20G        disk 
├─vda1    20G ext4   part /
└─vda15    1M        part

上記のように、ファイルシステムのない2つのディスクがあり、それぞれのサイズは100Gです。 この例では、これらのデバイスには、このセッションの/dev/sdaおよび/dev/sdb識別子が与えられています。 これらは、アレイの構築に使用する生のコンポーネントになります。

アレイを作成する

これらのコンポーネントを使用してRAID1アレイを作成するには、それらをmdadm --createコマンドに渡します。 作成するデバイス名(この場合は/dev/md0)、RAIDレベル、およびデバイスの数を指定する必要があります。

sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb

使用しているコンポーネントデバイスがbootフラグが有効になっているパーティションでない場合、次の警告が表示される可能性があります。 続行するには、yと入力しても安全です。

Outputmdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
mdadm: size set to 104792064K
Continue creating array? y

mdadmツールがドライブのミラーリングを開始します。 これは完了するまでに時間がかかる場合がありますが、この時間中にアレイを使用できます。 /proc/mdstatファイルを確認すると、ミラーリングの進行状況を監視できます。

cat /proc/mdstat
OutputPersonalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid1 sdb[1] sda[0]
      104792064 blocks super 1.2 [2/2] [UU]
      [====>................]  resync = 20.2% (21233216/104792064) finish=6.9min speed=199507K/sec
      
unused devices: <none>

最初に強調表示されている行でわかるように、/dev/md0デバイスは、/dev/sdaおよび/dev/sdbデバイスを使用してRAID1構成で作成されています。 2番目に強調表示されている行は、ミラーリングの進行状況を示しています。 このプロセスが完了するまで、ガイドを続けることができます。

ファイルシステムの作成とマウント

次に、アレイ上にファイルシステムを作成します。

sudo mkfs.ext4 -F /dev/md0

新しいファイルシステムを接続するためのマウントポイントを作成します。

sudo mkdir -p /mnt/md0

次のように入力して、ファイルシステムをマウントできます。

sudo mount /dev/md0 /mnt/md0

次のように入力して、新しいスペースが使用可能かどうかを確認します。

df -h -x devtmpfs -x tmpfs
OutputFilesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G  1.1G   18G   6% /
/dev/md0         99G   60M   94G   1% /mnt/md0

新しいファイルシステムがマウントされ、アクセス可能になります。

アレイレイアウトを保存する

起動時にアレイが自動的に再構築されるようにするには、/etc/mdadm/mdadm.confファイルを調整する必要があります。 次のように入力すると、アクティブなアレイを自動的にスキャンしてファイルを追加できます。

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

その後、initramfsまたは初期RAMファイルシステムを更新して、初期の起動プロセス中にアレイを使用できるようにすることができます。

sudo update-initramfs -u

起動時に自動マウントするために、新しいファイルシステムマウントオプションを/etc/fstabファイルに追加します。

echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

これで、RAID 1アレイが自動的に組み立てられ、ブートごとにマウントされます。

RAID5アレイの作成

RAID 5アレイタイプは、使用可能なデバイス間でデータをストライピングすることによって実装されます。 各ストライプの1つのコンポーネントは、計算されたパリティブロックです。 デバイスに障害が発生した場合、パリティブロックと残りのブロックを使用して、欠落しているデータを計算できます。 パリティブロックを受信するデバイスは、各デバイスがバランスの取れた量のパリティ情報を持つようにローテーションされます。

  • 要件:最低3つのストレージデバイス
  • 主な利点:より多くの使用可能な容量を備えた冗長性。
  • 注意事項:パリティ情報が配布されている間、1ディスク分の容量がパリティに使用されます。 RAID 5は、劣化状態の場合、パフォーマンスが非常に低下する可能性があります。

コンポーネントデバイスを特定する

開始するには、使用するrawディスクの識別子を見つけます。

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
OutputNAME     SIZE FSTYPE TYPE MOUNTPOINT
sda      100G        disk
sdb      100G        disk
sdc      100G        disk
vda       20G        disk 
├─vda1    20G ext4   part /
└─vda15    1M        part

上記のように、ファイルシステムのない3つのディスクがあり、それぞれのサイズは100Gです。 この例では、これらのデバイスには、このセッションの/dev/sda/dev/sdb、および/dev/sdcの識別子が与えられています。 これらは、アレイの構築に使用する生のコンポーネントになります。

アレイを作成する

これらのコンポーネントを使用してRAID5アレイを作成するには、それらをmdadm --createコマンドに渡します。 作成するデバイス名(この場合は/dev/md0)、RAIDレベル、およびデバイスの数を指定する必要があります。

sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc

mdadmツールはアレイの構成を開始します(パフォーマンス上の理由から、実際にはリカバリプロセスを使用してアレイを構築します)。 これは完了するまでに時間がかかる場合がありますが、この時間中にアレイを使用できます。 /proc/mdstatファイルを確認すると、ミラーリングの進行状況を監視できます。

cat /proc/mdstat
OutputPersonalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid5 sdc[3] sdb[1] sda[0]
      209584128 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
      [===>.................]  recovery = 15.6% (16362536/104792064) finish=7.3min speed=200808K/sec
      
unused devices: <none>

最初に強調表示されている行でわかるように、/dev/md0デバイスは、/dev/sda/dev/sdb、および/dev/sdcデバイスを使用してRAID5構成で作成されています。 2番目に強調表示されている行は、ビルドの進行状況を示しています。 このプロセスが完了するまで、ガイドを続けることができます。

ファイルシステムの作成とマウント

次に、アレイ上にファイルシステムを作成します。

sudo mkfs.ext4 -F /dev/md0

新しいファイルシステムを接続するためのマウントポイントを作成します。

sudo mkdir -p /mnt/md0

次のように入力して、ファイルシステムをマウントできます。

sudo mount /dev/md0 /mnt/md0

次のように入力して、新しいスペースが使用可能かどうかを確認します。

df -h -x devtmpfs -x tmpfs
OutputFilesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G  1.1G   18G   6% /
/dev/md0        197G   60M  187G   1% /mnt/md0

新しいファイルシステムがマウントされ、アクセス可能になります。

アレイレイアウトを保存する

起動時にアレイが自動的に再構築されるようにするには、/etc/mdadm/mdadm.confファイルを調整する必要があります。

構成を調整する前に、アレイの組み立てが完了していることを再度確認してください。 mdadmがRAID5アレイを構築する方法のため、アレイがまだ構築中の場合、アレイ内のスペアの数が不正確に報告されます。

cat /proc/mdstat
OutputPersonalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid5 sdc[3] sdb[1] sda[0]
      209584128 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
      
unused devices: <none>

上記の出力は、再構築が完了したことを示しています。 これで、アクティブなアレイを自動的にスキャンし、次のように入力してファイルを追加できます。

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

その後、initramfsまたは初期RAMファイルシステムを更新して、初期の起動プロセス中にアレイを使用できるようにすることができます。

sudo update-initramfs -u

起動時に自動マウントするために、新しいファイルシステムマウントオプションを/etc/fstabファイルに追加します。

echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

これで、RAID 5アレイが自動的に組み立てられ、ブートごとにマウントされます。

RAID6アレイの作成

RAID 6アレイタイプは、使用可能なデバイス間でデータをストライピングすることによって実装されます。 各ストライプの2つのコンポーネントは、計算されたパリティブロックです。 1つまたは2つのデバイスに障害が発生した場合、パリティブロックと残りのブロックを使用して、欠落しているデータを計算できます。 パリティブロックを受信するデバイスは、各デバイスがバランスの取れた量のパリティ情報を持つようにローテーションされます。 これはRAID5アレイに似ていますが、2台のドライブに障害が発生する可能性があります。

  • 要件:最低4つのストレージデバイス
  • 主な利点:より多くの使用可能な容量を備えた2倍の冗長性。
  • 注意事項:パリティ情報が配信されている間、2ディスク分の容量がパリティに使用されます。 RAID 6は、劣化状態の場合、パフォーマンスが非常に低下する可能性があります。

コンポーネントデバイスを特定する

開始するには、使用するrawディスクの識別子を見つけます。

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
OutputNAME     SIZE FSTYPE TYPE MOUNTPOINT
sda      100G        disk
sdb      100G        disk
sdc      100G        disk
sdd      100G        disk
vda       20G        disk 
├─vda1    20G ext4   part /
└─vda15    1M        part

上記のように、ファイルシステムのない4つのディスクがあり、それぞれのサイズは100Gです。 この例では、これらのデバイスには、このセッションの/dev/sda/dev/sdb/dev/sdc、および/dev/sddの識別子が与えられています。 これらは、アレイの構築に使用する生のコンポーネントになります。

アレイを作成する

これらのコンポーネントを使用してRAID6アレイを作成するには、それらをmdadm --createコマンドに渡します。 作成するデバイス名(この場合は/dev/md0)、RAIDレベル、およびデバイスの数を指定する必要があります。

sudo mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

mdadmツールはアレイの構成を開始します(パフォーマンス上の理由から、実際にはリカバリプロセスを使用してアレイを構築します)。 これは完了するまでに時間がかかる場合がありますが、この時間中にアレイを使用できます。 /proc/mdstatファイルを確認すると、ミラーリングの進行状況を監視できます。

cat /proc/mdstat
OutputPersonalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] 
md0 : active raid6 sdd[3] sdc[2] sdb[1] sda[0]
      209584128 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]
      [>....................]  resync =  0.6% (668572/104792064) finish=10.3min speed=167143K/sec
      
unused devices: <none>

最初に強調表示されている行でわかるように、/dev/md0デバイスは、/dev/sda/dev/sdb/dev/sdcを使用してRAID6構成で作成されています。 X158X]デバイス。 2番目に強調表示されている行は、ビルドの進行状況を示しています。 このプロセスが完了するまで、ガイドを続けることができます。

ファイルシステムの作成とマウント

次に、アレイ上にファイルシステムを作成します。

sudo mkfs.ext4 -F /dev/md0

新しいファイルシステムを接続するためのマウントポイントを作成します。

sudo mkdir -p /mnt/md0

次のように入力して、ファイルシステムをマウントできます。

sudo mount /dev/md0 /mnt/md0

次のように入力して、新しいスペースが使用可能かどうかを確認します。

df -h -x devtmpfs -x tmpfs
OutputFilesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G  1.1G   18G   6% /
/dev/md0        197G   60M  187G   1% /mnt/md0

新しいファイルシステムがマウントされ、アクセス可能になります。

アレイレイアウトを保存する

起動時にアレイが自動的に再構築されるようにするには、/etc/mdadm/mdadm.confファイルを調整する必要があります。 アクティブなアレイを自動的にスキャンし、次のように入力してファイルを追加できます。

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

その後、initramfsまたは初期RAMファイルシステムを更新して、初期の起動プロセス中にアレイを使用できるようにすることができます。

sudo update-initramfs -u

起動時に自動マウントするために、新しいファイルシステムマウントオプションを/etc/fstabファイルに追加します。

echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

これで、RAID 6アレイが自動的に組み立てられ、ブートごとにマウントされます。

複雑なRAID10アレイの作成

RAID 10アレイタイプは、従来、RAID1アレイのセットで構成されるストライプRAID0アレイを作成することによって実装されていました。 このネストされたアレイタイプは、大量のディスクスペースを犠牲にして、冗長性と高性能の両方を提供します。 mdadmユーティリティには独自のRAID10タイプがあり、柔軟性が向上した同じタイプの利点を提供します。 配列をネストすることによって作成されるわけではありませんが、同じ特性と保証の多くがあります。 ここでは、mdadmRAID10を使用します。

  • 要件:最低3つのストレージデバイス
  • 主な利点:パフォーマンスと冗長性
  • 注意事項:アレイの容量削減量は、保持することを選択したデータコピーの数によって定義されます。 mdadmスタイルのRAID10で保存されるコピーの数は構成可能です。

デフォルトでは、各データブロックの2つのコピーが、いわゆる「ニア」レイアウトで保存されます。 各データブロックの保存方法を決定する可能なレイアウトは次のとおりです。

  • near :デフォルトの配置。 各チャンクのコピーは、ストライピング時に連続して書き込まれます。つまり、データブロックのコピーは、複数のディスクの同じ部分に書き込まれます。
  • far :最初と後続のコピーは、アレイ内のストレージデバイスのさまざまな部分に書き込まれます。 たとえば、最初のチャンクはディスクの先頭近くに書き込まれ、2番目のチャンクは別のディスクの途中に書き込まれる場合があります。 これにより、書き込みパフォーマンスを犠牲にして、従来の回転ディスクの読み取りパフォーマンスをいくらか向上させることができます。
  • offset :各ストライプがコピーされ、1つのドライブによってオフセットされます。 これは、コピーが互いにオフセットされているが、ディスク上で互いに接近していることを意味します。 これにより、一部のワークロードでの過度のシークを最小限に抑えることができます。

これらのレイアウトの詳細については、このmanページの「RAID10」セクションを確認してください。

man 4 md

このmanページはオンラインここでも見つけることができます。

コンポーネントデバイスを特定する

開始するには、使用するrawディスクの識別子を見つけます。

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
OutputNAME     SIZE FSTYPE TYPE MOUNTPOINT
sda      100G        disk
sdb      100G        disk
sdc      100G        disk
sdd      100G        disk
vda       20G        disk 
├─vda1    20G ext4   part /
└─vda15    1M        part

上記のように、ファイルシステムのない4つのディスクがあり、それぞれのサイズは100Gです。 この例では、これらのデバイスには、このセッションの/dev/sda/dev/sdb/dev/sdc、および/dev/sddの識別子が与えられています。 これらは、アレイの構築に使用する生のコンポーネントになります。

アレイを作成する

これらのコンポーネントを使用してRAID10アレイを作成するには、それらをmdadm --createコマンドに渡します。 作成するデバイス名(この場合は/dev/md0)、RAIDレベル、およびデバイスの数を指定する必要があります。

レイアウトとコピー数を指定せずに、ニアレイアウトを使用して2つのコピーを設定できます。

sudo mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

別のレイアウトを使用する場合、またはコピー数を変更する場合は、--layout=オプションを使用する必要があります。このオプションは、レイアウトとコピー識別子を取得します。 レイアウトは、近距離の場合は n 、遠距離の場合は f 、オフセットの場合はoです。 保存する部数は後から追加されます。

たとえば、オフセットレイアウトに3つのコピーがある配列を作成するには、コマンドは次のようになります。

sudo mdadm --create --verbose /dev/md0 --level=10 --layout=o3 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

mdadmツールはアレイの構成を開始します(パフォーマンス上の理由から、実際にはリカバリプロセスを使用してアレイを構築します)。 これは完了するまでに時間がかかる場合がありますが、この時間中にアレイを使用できます。 /proc/mdstatファイルを確認すると、ミラーリングの進行状況を監視できます。

cat /proc/mdstat
OutputPersonalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] 
md0 : active raid10 sdd[3] sdc[2] sdb[1] sda[0]
      209584128 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
      [===>.................]  resync = 18.1% (37959424/209584128) finish=13.8min speed=206120K/sec
      
unused devices: <none>

最初に強調表示されている行でわかるように、/dev/md0デバイスは、/dev/sda/dev/sdb/dev/sdcを使用してRAID10構成で作成されています。 X159X]デバイス。 2番目に強調表示されている領域は、この例で使用されたレイアウトを示しています(ニア構成では2つのコピー)。 3番目に強調表示されている領域は、ビルドの進行状況を示しています。 このプロセスが完了するまで、ガイドを続けることができます。

ファイルシステムの作成とマウント

次に、アレイ上にファイルシステムを作成します。

sudo mkfs.ext4 -F /dev/md0

新しいファイルシステムを接続するためのマウントポイントを作成します。

sudo mkdir -p /mnt/md0

次のように入力して、ファイルシステムをマウントできます。

sudo mount /dev/md0 /mnt/md0

次のように入力して、新しいスペースが使用可能かどうかを確認します。

df -h -x devtmpfs -x tmpfs
OutputFilesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G  1.1G   18G   6% /
/dev/md0        197G   60M  187G   1% /mnt/md0

新しいファイルシステムがマウントされ、アクセス可能になります。

アレイレイアウトを保存する

起動時にアレイが自動的に再構築されるようにするには、/etc/mdadm/mdadm.confファイルを調整する必要があります。 アクティブなアレイを自動的にスキャンし、次のように入力してファイルを追加できます。

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

その後、initramfsまたは初期RAMファイルシステムを更新して、初期の起動プロセス中にアレイを使用できるようにすることができます。

sudo update-initramfs -u

起動時に自動マウントするために、新しいファイルシステムマウントオプションを/etc/fstabファイルに追加します。

echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

これで、RAID 10アレイが自動的に組み立てられ、ブートごとにマウントされます。

結論

このガイドでは、LinuxのmdadmソフトウェアRAIDユーティリティを使用してさまざまなタイプのアレイを作成する方法を示しました。 RAIDアレイは、複数のディスクを個別に使用するよりも、魅力的な冗長性とパフォーマンスの向上を提供します。

環境に必要なアレイのタイプを決定し、デバイスを作成したら、mdadmを使用して日常の管理を実行する方法を学習する必要があります。 Ubuntu 16.04 でmdadmを使用してRAIDアレイを管理する方法に関するガイドは、開始するのに役立ちます。