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

Linux –ディスクミラーリング(raid-1)を設定する方法は?

2台のWD1TBドライブを搭載したコンピューターがあり、その上にディスクミラーリングを構成したい。

インストール中にRAIDパーティションを作成してRAIDをセットアップしようとしましたが、うまくいきません。

私のために仕事をするためにインストールできる便利なソフトウェアはありますか?いいえの場合、どのシェルコマンドを使用できますか?

設定したら、どのように機能していることを確認すればよいですか?

承認された回答:

出来るよ。少し注意する必要がありますが、これは危険ではありません¹。入力ミスをしないように細心の注意を払い、セットアップに落とし穴が残らないようにしてください。

ライブシステムでは操作を行わないことを強くお勧めします。場合によっては可能ですが、特別な注意が必要です。 PartedやSystemRescueCDなどのliveCD/liveUSBから起動します。

仮定:Linuxが認識するものを含むブロックデバイスがあります。例:

  • 1つ以上のパーティションを含むディスク;
  • ファイルシステムを含むパーティション;
  • LVM物理ボリュームを含むパーティション。

目的:そのブロックデバイスをmdraid(LinuxソフトウェアRAID)RAID-1(ミラーリング)ボリュームのコンポーネントにします。 RAIDボリュームは、最初は劣化状態にあり、1つを除くすべてのコンポーネントが欠落しています。

まず、mdraidメタデータ(スーパーブロック)用のスペースを確保するために、ボリュームを少し縮小する必要があります。メタデータ形式はいくつかありますが、ディスクの最後にメタデータを配置する形式を使用する必要があります。 (一部の設定では、最初にスーパーブロックを配置するのに十分なスペースがある場合がありますが、それはより複雑でリスクが発生しやすいので、ここで説明します。)

スーパーブロック用のスペースを確保するために、ブロックデバイスの最後の128kBが未使用であることを確認する必要があります。

  • ブロックデバイスがパーティションを含むディスクである場合は、最後に来るパーティションを縮小します(これは最大数のパーティションではない可能性があります)。パーティションに含まれるものもすべて縮小する必要があります。
  • ブロックデバイスにファイルシステムが含まれている場合は、そのファイルシステムを縮小します。
  • ブロックデバイスにLVM物理ボリュームが含まれている場合は、pvreduceを呼び出します 物理ボリュームのサイズを縮小します。物理ボリュームの粒度は4MBであるため、これにより使用可能なサイズが減少する場合と減少しない場合があります(より正確には、1つのエクステント:4MBはめったに変更されないデフォルトのエクステントサイズです)。

Partedはファイルシステムとパーティションを処理できます。 ext4ファイルシステムを縮小する必要がある場合は、最初にそれをアンマウントする必要があります。 btrfsファイルシステムはライブで縮小できます。一部のパーティションが使用されているディスクのパーティションテーブルを変更した場合は、再起動します。

ブロックデバイスの最後の128kBが空いていることを確認したら、mdadm --createを呼び出します。 RAID-1ボリュームを作成します。これは、スーパーブロック以外のボリュームのどの部分にも触れません。最初は、ボリュームには単一のコンポーネントがあります。他のすべてのコンポーネントは失敗として設定されます。 --level=1を渡す必要があります (または同等に-n 1 )(このアプローチはRAID-1でのみ機能します)および--metadata=0.9 または--metadata=1.0 (デフォルトのスーパーブロック形式1.2は、スーパーブロックをデバイスの先頭近くに配置し、データを上書きする可能性があります)。 --raid-devicesへの引数 (-n )は、RAIDボリューム内のコンポーネント(欠落しているコンポーネントを含む)の数です。 /dev/sdz99を置き換えます ブロックデバイスの指定による(例:/dev/sda ディスク全体または/dev/sda1の場合 パーティションの場合)。

mdadm --create /dev/md0 --level=1 --raid-devices=2 --metadata=1.0 /dev/sdz99 missing

これで、アレイをアクティブにして他のコンポーネントを追加できます。

mdadm --add /dev/md0 /dev/sdy98

Grub2はLinuxRAID-1を理解し、そこから起動できます。 RAIDを理解しないGrub1などのブートローダーは、ミラーボリュームから透過的に読み取りますが、ブートローダーが読み取っているドライブに障害が発生すると、システムは起動しません。 RAIDボリュームがパーティション上にある場合は、必ず両方のドライブにGrubのブートセクターをインストールしてください。

関連: `^ M`とそれを取り除く方法は?

¹必ずバックアップをとってください。 「危険ではない」とは、「データをギャンブルする」ではなく、「おそらく必要ない」という意味です。


Linux
  1. Linuxにデバイスドライバーをインストールする方法

  2. Linuxで$Path変数を設定する方法

  3. Linux でスワップをディスク パーティションから LVM ボリュームに移動する方法

  1. Linuxでディスクをパーティション分割する方法

  2. Linuxでシステムホスト名を設定または変更する方法

  3. Linux でデバイスをマウントするには?

  1. Linuxでプリンタを設定する方法

  2. Linuxでcronジョブを設定する方法

  3. Linuxでディスク容量を確認する方法