Ubuntu 18.04でmdadmを使用してRAIDアレイを作成する方法

導入

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

このガイドでは、Ubuntu 18.04 サーバーを使用して設定できるさまざまなRAID構成を実行します。

必要条件

このガイドに従うためには、以下が必要です:

  • A non-root user with sudo privileges on an Ubuntu 18.04 server. To learn how to set up an account with these privileges, follow our Ubuntu 18.04 initial server setup guide.
  • A basic understanding of RAID terminology and concepts. To learn more about RAID and what RAID level is right for you, read our introduction to RAID article.
  • Multiple raw storage devices available on your server. The examples in this tutorial demonstrate how to configure various types of arrays on the server. As such, you will need some drives to configure.
  • Depending on the array type, you will need two to four storage devices. These drives do not need to be formatted prior to following this guide.

Info

情報:仮想プライベートサーバー上のRAIDセットアップの効率の低さにより、Silicon Cloudドロップレット上でのRAIDセットアップの展開はお勧めしません。データセンターのディスクレプリケーションの効率により、ベアメタルハードウェア上のセットアップと比較してRAIDのメリットは無視できるほど小さくなります。このチュートリアルは従来のRAIDセットアップの参考資料を目指しています。

既存のRAIDデバイスのリセット(オプション)

もしまだ配列を設定していない場合は、一旦このセクションをスキップすることができます。このガイドでは、いくつかの異なるRAIDレベルを紹介します。デバイスごとに各RAIDレベルを追いながら完了したい場合は、各セクションの後に使い回すためにストレージデバイスを再利用したくなるでしょう。新しいRAIDレベルのテストを行う前に、この特定のセクションである「既存のRAIDデバイスをリセットする」を参照することで、コンポーネントのストレージデバイスをリセットすることができます。

Warning

警告:このプロセスは配列とそこへ書き込まれたデータを完全に破壊します。正しい配列上で操作しており、配列の破壊前に保持する必要のあるデータをコピーしていることを確認してください。

「/proc/mdstat」ファイルからアクティブな配列を見つけることから始めてください。

  1. cat /proc/mdstat

 

Output

Personalities : [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>

その後、ファイルシステムからアレイをアンマウントしてください。

  1. sudo umount /dev/md0

 

今、止めて配列を削除してください。

  1. sudo mdadm –stop /dev/md0

 

以下のコマンドを使用して、配列を構築するために使用されたデバイスを見つけてください。

Warning

注意:/dev/sd* の名前は再起動するたびに変更される可能性がありますので、適切なデバイスで操作しているか確認するために、常にこれらを確認してください。
  1. lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

 

Output

NAME SIZE FSTYPE TYPE MOUNTPOINT sda 100G linux_raid_member disk sdb 100G linux_raid_member disk sdc 100G disk sdd 100G disk vda 25G disk ├─vda1 24.9G ext4 part / ├─vda14 4M part └─vda15 106M vfat part /boot/efi vdb 466K iso9660 disk

デバイスの使用方法を発見した後、RAIDセットアップのメタデータを保持しているスーパーブロックをゼロ化します。これによって、RAIDメタデータが削除され、通常の状態にリセットされます。

  1. sudo mdadm –zero-superblock /dev/sda
  2. sudo mdadm –zero-superblock /dev/sdb

 

以下のパラフレーズを日本語で1つのオプションで提供します:
配列への一貫した参照も削除することが推奨されます。/etc/fstab ファイルを編集し、配列への参照をコメントアウトまたは削除してください。行の先頭にハッシュタグ記号#を挿入することで、コメントアウトすることができます。nanoまたはお好みのテキストエディタを使用してください。

  1. sudo nano /etc/fstab

 

以下の文を日本語で表現しなさい。オプションは1つだけ必要です:
/etc/fstab/etc/fstab

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

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

  1. sudo nano /etc/mdadm/mdadm.conf

 

/etc/mdadm/mdadm.confの日本語での自然な言い方を一つだけ提示します。

「/etc/mdadm/mdadm.conf」

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

最後に、イニシャルラムディスクを再度更新して、初期ブートプロセスが利用できない配列をオンラインにしようとしないようにします。

  1. sudo update-initramfs -u

 

ここからは、ストレージデバイスを個別に再利用するか、別の配列の一部として使用する準備をしておく必要があります。

RAID 0アレイを作成する

RAID 0アレイは、データをチャンクに分割し、利用可能なディスクにストライピングすることで動作します。これにより、各ディスクにはデータの一部が含まれ、情報を取得する際に複数のディスクが参照されます。

  • Requirements: Minimum of 2 storage devices.
  • Primary benefit: Performance in terms of read/write and capacity.
  • Things to keep in mind: Make sure that you have functional backups. A single device failure will destroy all data in the array.

コンポーネントデバイスの特定

はじめに、使用する生ディスクの識別子を見つけてください。

  1. lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

 

Output

NAME SIZE FSTYPE TYPE MOUNTPOINT sda 100G disk sdb 100G disk vda 25G disk ├─vda1 24.9G ext4 part / ├─vda14 4M part └─vda15 106M vfat part /boot/efi vdb 466K iso9660 disk

この例では、ファイルシステムがない100Gのディスクが2つあります。これらのデバイスは、このセッションのために/dev/sdaおよび/dev/sdbの識別子が割り当てられ、アレイを構築するための生のコンポーネントとして使用されます。

配列を作成する。

これらのコンポーネントを使用してRAID 0アレイを作成するには、mdadm –createコマンドにそれらを渡します。作成するデバイス名、RAIDレベル、およびデバイスの数を指定する必要があります。このコマンドの例では、デバイス名を/dev/md0とし、アレイを構築する2つのディスクを含めることになります。

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

 

「/proc/mdstat」ファイルを確認して、RAIDが正常に作成されたことを確認してください。

  1. cat /proc/mdstat

 

Output

Personalities : [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/sdaと/dev/sdbデバイスを使用してRAID 0構成で/dev/md0デバイスが作成されたことです。

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

次に、配列上にファイルシステムを作成してください。

  1. sudo mkfs.ext4 -F /dev/md0

 

それから、新しいファイルシステムを取り付けるためのマウントポイントを作成してください。

  1. sudo mkdir -p /mnt/md0

 

以下のコマンドでファイルシステムをマウントできます。

  1. sudo mount /dev/md0 /mnt/md0

 

その後、新しいスペースが利用可能かどうかを確認してください。

  1. df -h -x devtmpfs -x tmpfs

 

Output

Filesystem Size Used Avail Use% Mounted on /dev/vda1 25G 1.4G 23G 6% / /dev/vda15 105M 3.4M 102M 4% /boot/efi /dev/md0 196G 61M 186G 1% /mnt/md0

新しいファイルシステムは現在マウントされ、アクセス可能です。

配列のレイアウトを保存する。

ブート時に配列が自動的に再構築されるようにするには、/etc/mdadm/mdadm.confファイルを調整する必要があります。以下のコマンドを使用してアクティブな配列を自動的にスキャンし、ファイルに追加することができます。

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

 

その後、initramfs、または初期RAMファイルシステムを更新することで、アレイは初期ブートプロセス中に利用可能になります。

  1. sudo update-initramfs -u

 

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

  1. echo ‘/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0’ | sudo tee -a /etc/fstab

 

あなたのRAID 0アレイは、起動時に自動的に組み立てられてマウントされます。

あなたは今、RAIDのセットアップが終了しました。別のRAIDを試したい場合は、新しいRAIDアレイタイプを作成するために、このチュートリアルの冒頭にあるリセット手順に従ってください。

RAID 1 アレイを作成します。

RAID 1アレイタイプは、利用可能なすべてのディスクにデータをミラーリングすることによって実装されます。RAID 1アレイ内の各ディスクにはデータの完全なコピーがあり、デバイスの故障時に冗長性を提供します。

  • Requirements: Minimum of 2 storage devices.
  • Primary benefit: Redundancy between two storage devices.
  • Things to keep in mind: Since two copies of the data are maintained, only half of the disk space will be usable.

コンポーネントデバイスの特定

最初に、使用する磁気ディスクの識別子を見つけてください。

  1. lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

 

Output

NAME SIZE FSTYPE TYPE MOUNTPOINT sda 100G disk sdb 100G disk vda 25G disk ├─vda1 24.9G ext4 part / ├─vda14 4M part └─vda15 106M vfat part /boot/efi vdb 466K iso9660 disk

この例では、ファイルシステムのない2つのディスクがあります。それぞれのサイズは100Gです。このセッションではこれらのデバイスには/dev/sdaと/dev/sdbの識別子が与えられ、これらは配列を構築するために使用される生のコンポーネントとなります。

配列を作成する

これらのコンポーネントを使用してRAID 1アレイを作成するには、mdadm –createコマンドに渡します。作成するデバイス名、RAIDレベル、およびデバイスの数を指定する必要があります。このコマンド例では、デバイス名を/dev/md0とし、アレイを構築するディスクを含めます。

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

 

もし使用しているコンポーネントデバイスがブートフラグが有効化されていないパーティションではない場合、おそらく以下の警告メッセージが表示されるでしょう。y と応答して続行しても安全です。

Output

mdadm: 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ファイルを確認することで、ミラーリングの進捗状況を監視できます。

  1. cat /proc/mdstat

 

Output

Personalities : [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 デバイスを使用して RAID 1 の構成で作成されました。2番目の強調された行はミラーリングの進行状況を示しています。このプロセスが完了するまで、次のステップに進むことができます。

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

次に、アレイ上にファイルシステムを作成してください。

  1. sudo mkfs.ext4 -F /dev/md0

 

その後、新しいファイルシステムをマウントするためのマウントポイントを作成してください。

  1. sudo mkdir -p /mnt/md0

 

以下のコマンドを実行することで、ファイルシステムをマウントすることができます。

  1. sudo mount /dev/md0 /mnt/md0

 

新しいスペースが利用可能かどうかを確認してください。

  1. df -h -x devtmpfs -x tmpfs

 

Output

Filesystem Size Used Avail Use% Mounted on /dev/vda1 25G 1.4G 23G 6% / /dev/vda15 105M 3.4M 102M 4% /boot/efi /dev/md0 99G 60M 94G 1% /mnt/md0

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

配列のレイアウトを保存する。

ブート時に配列が自動的に再結成されるようにするには、/etc/mdadm/mdadm.conf ファイルを調整する必要があります。アクティブな配列を自動的にスキャンし、次のようにファイルに追記することができます。

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

 

その後、初期RAMファイルシステム(initramfs)を更新して、アレイが早期の起動プロセス中に利用可能になるようにします。

  1. sudo update-initramfs -u

 

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

  1. echo ‘/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0’ | sudo tee -a /etc/fstab

 

あなたのRAID 1アレイは今後、各起動時に自動的に組み立てられ、マウントされます。

あなたはRAIDの設定を完了しました。別のRAIDを試したい場合は、新しいRAIDアレイタイプを作成するために、このチュートリアルの最初にある初期化手順に従ってください。

RAID 5アレイの作成

RAID 5アレイタイプは、利用可能なデバイスにデータをストライピングすることによって実装されます。各ストライプの1つの要素は計算されたパリティブロックです。デバイスの1つが故障した場合、パリティブロックと残りのブロックを使用して欠落しているデータを計算することができます。パリティブロックを受け取るデバイスは回転させられ、各デバイスがバランスの取れた量のパリティ情報を持つようになります。

  • Requirements: Minimum of 3 storage devices.
  • Primary benefit: Redundancy with more usable capacity.
  • Things to keep in mind: While the parity information is distributed, one disk’s worth of capacity will be used for parity. RAID 5 can suffer from very poor performance when in a degraded state.

コンポーネントデバイスの識別

最初に使用する生ディスクの識別子を見つけてください。

  1. lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

 

Output

NAME SIZE FSTYPE TYPE MOUNTPOINT sda 100G disk sdb 100G disk sdc 100G disk vda 25G disk ├─vda1 24.9G ext4 part / ├─vda14 4M part └─vda15 106M vfat part /boot/efi vdb 466K iso9660 disk

あなたは、ファイルシステムのない100Gのディスクを3つ持っています。このセッションでは、これらのデバイスは/dev/sda、/dev/sdb、/dev/sdcの識別子が与えられ、配列を構築するための生のコンポーネントとして使用されます。

配列を作成する

これらのコンポーネントを使用してRAID 5アレイを作成するには、mdadm –createコマンドに渡します。作成するデバイス名、RAIDレベル、およびデバイスの数を指定する必要があります。このコマンドの例では、デバイス名を/dev/md0とし、アレイを構築するディスクを含めます。

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

 

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

  1. cat /proc/mdstat

 

Output

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid5 sdc[3] sdb[1] sda[0] 209582080 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_] [>………………..] recovery = 0.9% (957244/104791040) finish=18.0min speed=95724K/sec unused devices: <none>

最初にハイライトされた行では、/dev/sda、/dev/sdb、および/dev/sdcのデバイスを使用して、RAID 5構成で/dev/md0デバイスが作成されました。二番目にハイライトされた行はビルドの進捗状況を示しています。

Warning

警告:mdadmがRAID 5アレイを構築する方法のため、アレイがまだ構築中の場合、アレイ内のスペアの数が正確に報告されません。そのため、/etc/mdadm/mdadm.confファイルを更新する前に、アレイが組み立てを完了するまで待つ必要があります。アレイがまだ構築中の状態で構成ファイルを更新すると、システムはアレイの状態に関する正確な情報を持たず、ブート時に正しい名前で自動的にアセンブルすることができません。

このプロセスが完了するまで、ガイドを続けることができます。

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

次に、アレイ上にファイルシステムを作成してください。

  1. sudo mkfs.ext4 -F /dev/md0

 

新しいファイルシステムをマウントポイントに接続するように作成してください。

  1. sudo mkdir -p /mnt/md0

 

次の方法でファイルシステムをマウントできます。

  1. sudo mount /dev/md0 /mnt/md0

 

新しいスペースが利用可能かどうかを確認してください。

  1. df -h -x devtmpfs -x tmpfs

 

Output

Filesystem Size Used Avail Use% Mounted on /dev/vda1 25G 1.4G 23G 6% / /dev/vda15 105M 3.4M 102M 4% /boot/efi /dev/md0 197G 60M 187G 1% /mnt/md0

新しいファイルシステムはマウントされ、アクセス可能です。

配列のレイアウトを保存する

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

Warning

警告:以前にも述べた通り、構成を調整する前に、再度確認してアレイが組み立てが完了していることを確認してください。アレイが組み立てられる前に以下の手順を完了すると、再起動時に正しくアレイが組み立てられない可能性があります。

「/proc/mdstat」ファイルをチェックすることで、ミラーリングの進行状況を監視することができます。

  1. cat /proc/mdstat

 

Output

Personalities : [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>

この出力からは、再構築が完了したことがわかります。これで、アクティブな配列を自動的にスキャンし、ファイルを追加することができます。

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

 

その後、初期RAMファイルシステムであるinitramfsを更新し、アレイが早期のブートプロセス中に利用可能になります。

  1. sudo update-initramfs -u

 

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

  1. echo ‘/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0’ | sudo tee -a /etc/fstab

 

あなたのRAID 5アレイは、起動時に自動的に組み立てられ、マウントされます。

現在、RAIDの設定が完了しました。別のRAIDを試したい場合は、新しいRAIDアレイタイプの作成に進む前に、このチュートリアルの最初のリセット手順に従ってください。

RAID 6アレイの作成

RAID 6は、利用可能なデバイス全体にデータをストライピングして実装されています。各ストライプの2つのコンポーネントはパリティブロックとして計算されます。もし1つまたは2つのデバイスが故障した場合、パリティブロックと残りのブロックを使用して欠落しているデータを計算することができます。パリティブロックを受信するデバイスは、各デバイスがバランスの取れたパリティ情報を持つように回転します。これはRAID 5と似ていますが、2つのドライブの故障に対応することができます。

  • Requirements: Minimum of 4 storage devices.
  • Primary benefit: Double redundancy with more usable capacity.
  • Things to keep in mind: While the parity information is distributed, two disks worth of capacity will be used for parity. RAID 6 can suffer from very poor performance when in a degraded state.

コンポーネントデバイスの識別

はじめに、使用する生ディスクの識別子を見つけてください。

  1. lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

 

Output

NAME SIZE FSTYPE TYPE MOUNTPOINT sda 100G disk sdb 100G disk sdc 100G disk sdd 100G disk vda 25G disk ├─vda1 24.9G ext4 part / ├─vda14 4M part └─vda15 106M vfat part /boot/efi vdb 466K iso9660 disk

この例では、ファイルシステムのない4つの100Gのディスクがあります。これらのデバイスはこのセッションで/dev/sda、/dev/sdb、/dev/sdc、/dev/sddの識別子を与えられ、配列を構築するための生のコンポーネントとして使用されます。

配列を作成する

これらのコンポーネントを使用してRAID 6アレイを作成するには、mdadm –createコマンドにそれらを渡す必要があります。作成するデバイス名、RAIDレベル、およびデバイスの数を指定する必要があります。以下のコマンドの例では、デバイス名を/dev/md0とし、アレイを構築するディスクを含めます。

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

 

mdadmツールは、アレイを設定するために開始されます。パフォーマンスのために回復プロセスを使用して、アレイを構築します。これには時間がかかる場合がありますが、この間はアレイを使用することができます。ミラーリングの進行状況は、/proc/mdstatファイルをチェックすることでモニターすることができます。

  1. cat /proc/mdstat

 

Output

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [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/sda、/dev/sdb、/dev/sdc、および/dev/sddのデバイスを使用してRAID 6構成で/dev/md0デバイスが作成されました。2番目のハイライトされた行にはビルドの進捗状況が表示されています。このプロセスが完了するまで、ガイドを続けることができます。

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

次に、配列上にファイルシステムを作成してください。

  1. sudo mkfs.ext4 -F /dev/md0

 

新しいファイルシステムを取り付けるためのマウントポイントを作成してください。

  1. sudo mkdir -p /mnt/md0

 

以下の方法でファイルシステムをマウントできます。 (Filesystem can be mounted with the following method.)

  1. sudo mount /dev/md0 /mnt/md0

 

新しいスペースが利用可能かどうかを確認してください。 (Atarashii supēsu ga riyō kanō ka dō ka o kakunin shite kudasai.)

  1. df -h -x devtmpfs -x tmpfs

 

Output

Filesystem Size Used Avail Use% Mounted on /dev/vda1 25G 1.4G 23G 6% / /dev/vda15 105M 3.4M 102M 4% /boot/efi /dev/md0 197G 60M 187G 1% /mnt/md0

新しいファイルシステムがマウントされてアクセス可能です。

配列レイアウトの保存

起動時に配列が自動的に再構築されるようにするには、/etc/mdadm/mdadm.conf ファイルを調整する必要があります。アクティブな配列を自動的にスキャンし、ファイルに追加するには、以下のコマンドを入力してください。

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

 

その後、初期RAMファイルシステムであるinitramfsを更新することで、配列は初期のブートプロセス中に利用できるようになります。

  1. sudo update-initramfs -u

 

ブート時に自動マウントするために、新しいファイルシステムのマウントオプションを/etc/fstabファイルに追加してください。

  1. echo ‘/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0’ | sudo tee -a /etc/fstab

 

あなたのRAID 6アレイは、今後は自動的に組み立てられ、ブート時にマウントされます。

現在、RAIDの設定が完了しました。別のRAIDを試したい場合は、新しいRAIDアレイタイプを作成するための最初の手順に従ってリセットを行ってください。

複雑なRAID 10アレイを作成する

RAID 10の配列タイプは、従来はRAID 1のセットからなるストライピングRAID 0配列を作成することで実装されます。このネストされた配列タイプは冗長性と高いパフォーマンスを提供しますが、多くのディスクスペースを必要とします。mdadmユーティリティには独自のRAID 10タイプがあり、柔軟性を高めながら同様の利点を提供します。これは配列をネストすることなく作成されますが、多くの特性と保証があります。ここではmdadm RAID 10を使用します。

  • Requirements: Minimum of 3 storage devices.
  • Primary benefit: Performance and redundancy.
  • Things to keep in mind: The amount of capacity reduction for the array is defined by the number of data copies you choose to keep. The number of copies that are stored with mdadm style RAID 10 is configurable.

デフォルトでは、2つのデータブロックのコピーが近接レイアウトという形で保存されます。各データブロックの保存方法を決定する可能な配置は以下の通りです。

  • near: The default arrangement. Copies of each chunk are written consecutively when striping, meaning that the copies of the data blocks will be written around the same part of multiple disks.
  • far: The first and subsequent copies are written to different parts of the storage devices in the array. For instance, the first chunk might be written near the beginning of a disk, while the second chunk would be written halfway down on a different disk. This can give some read performance gains for traditional spinning disks at the expense of write performance.
  • offset: Each stripe is copied, and offset by one drive. This means that the copies are offset from one another, but still close together on the disk. This helps minimize excessive seeking during some workloads.

このマニュアルのRAID10セクションをチェックすることで、これらのレイアウトについて詳しく知ることができます。

  1. man 4 md

 

このマニュアルページはオンラインでも見つけることができます。

コンポーネントデバイスの特定

最初に、使用する生ディスクの識別子を見つけてください。

  1. lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

 

Output

NAME SIZE FSTYPE TYPE MOUNTPOINT sda 100G disk sdb 100G disk sdc 100G disk sdd 100G disk vda 25G disk ├─vda1 24.9G ext4 part / ├─vda14 4M part └─vda15 106M vfat part /boot/efi vdb 466K iso9660 disk

この例では、ファイルシステムのない100Gのディスクが4つあります。これらのデバイスは、このセッションで/dev/sda、/dev/sdb、/dev/sdc、/dev/sddの識別子が与えられ、アレイを構築するための生のコンポーネントとして使用されます。

配列を作成する

これらのコンポーネントを使用してRAID 10アレイを作成するには、mdadm –createコマンドにそれらを渡してください。作成するデバイス名、RAIDレベル、およびデバイスの数を指定する必要があります。次のコマンド例では、デバイス名を/dev/md0とし、アレイを構築するディスクを含めます。

レイアウトやコピーの数を指定せず、近接レイアウトを使用して2つのコピーを設定することができます。

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

 

異なるレイアウトを使用したり、コピーの数を変更したい場合は、–layout= オプションを使用する必要があります。このオプションには、レイアウトとコピーの識別子を指定します。レイアウトには、近い場合は n、遠い場合は f、オフセットの場合は o を使用します。コピーする個数は後ろに追加されます。

例えば、オフセットレイアウトで3つのコピーを持つ配列を作成する場合、以下のコマンドが含まれます。

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

 

mdadmツールは、配列の構成を開始します。パフォーマンスのために、回復プロセスを使用して配列を構築します。この完了には時間がかかる場合がありますが、この時間中にも配列は使用できます。ミラーリングの進捗状況は、/proc/mdstatファイルをチェックすることで監視できます。

  1. cat /proc/mdstat

 

Output

Personalities : [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/sda、/dev/sdb、/dev/sdc、/dev/sdd のデバイスを使用して、RAID 10 構成で /dev/md0 デバイスが作成されました。二つ目のハイライトされた領域では、この例で使用されたレイアウトが表示されています(ネア配置で二つのコピー)。三つ目のハイライトされた領域では、ビルドの進行状況が表示されています。このプロセスが完了するまでガイドを続けることができます。

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

次に、アレイ上にファイルシステムを作成してください。 (Tsugi ni, arei-jō ni fairushisutemu o sakusei shite kudasai.)

  1. sudo mkfs.ext4 -F /dev/md0

 

新しいファイルシステムをマウントポイントに接続するために、マウントポイントを作成してください。

  1. sudo mkdir -p /mnt/md0

 

以下の方法でファイルシステムをマウントすることができます。

  1. sudo mount /dev/md0 /mnt/md0

 

新しいスペースが利用可能かどうかを確認してください。

  1. df -h -x devtmpfs -x tmpfs

 

Output

Filesystem Size Used Avail Use% Mounted on /dev/vda1 25G 1.4G 23G 6% / /dev/vda15 105M 3.4M 102M 4% /boot/efi /dev/md0 197G 60M 187G 1% /mnt/md0

新しいファイルシステムはマウントされ、アクセスできます。

配列のレイアウトを保存する。

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

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

 

その後、イニシャルRAMファイルシステム(initramfs)を更新して、アレイが早期ブートプロセス中に利用可能になるようにします。

  1. sudo update-initramfs -u

 

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

  1. echo ‘/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0’ | sudo tee -a /etc/fstab

 

あなたのRAID 10アレイは、今後自動的に組み立ててブートごとにマウントされます。

結論

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

環境に必要な配列の種類を決め、デバイスを作成したら、mdadmを使って日常の管理方法を学ぶことができます。Ubuntuでmdadmを使用してRAID配列を管理する方法についての当社のガイドが初めての一歩をサポートします。

コメントを残す 0

Your email address will not be published. Required fields are marked *