web-dev-qa-db-ja.com

ソフトウェアRAID1を使用する場合、スワップパーティションはどこに配置する必要がありますか?パフォーマンス? LVM?

たとえばRAID1のインストールを検索すると、管理者はスワップパーティションをRAID1の下に配置する傾向があるようです。

私にとっては、2つのディスクがあり、それぞれがRAID1とシステムパーティションで使用するための大きなパーティションと、スワップ用の小さなパーティションをRAIDアレイの外側に持つ方が直感的です。

  1. システムの実行中にディスクと実質的にスワップスペースの半分を失った場合の最悪のシナリオは何ですか?

  2. RAIDの外部に2つの別々のスワップボリュームがある場合と比較して、スワップボリュームをミラーリングしているときにパフォーマンスが向上または低下することを期待する必要がありますか?

  3. スワップをミラーリングする必要がある場合、スワップに独自のRAID1アレイを与える方が理にかなっていますか、それとも1つの大きなRAID1アレイをLVMでパーティション化する方が理にかなっていますか?

(注/4。mdXがLVMなしでパーティション化できるかどうかはわかりませんが、debianインストーラーはそれができないと私に信じさせます)

6
andyortlieb
  1. RAID1を使用している場合、スワップの半分を失うことはなく、2つのミラーのうちの1つだけが失われます。ここでの最悪のケースは、他の方法で得た可能性のあるパフォーマンス上の利点が失われることです。個々のドライブに2つの個別のスワップ領域がある場合、カーネルはRAID0(同じ優先度が設定されている場合)またはJBOD(優先度が異なる場合は、いっぱいになるまで最優先領域を使用し、次に次の領域を使用する)と同様の方法で両方を使用します。ドライブの1つが故障した場合、スワップ領域へのアクセスが必要になるとすぐにシステムがフォールオーバーする可能性があります。これが、スワップスペースが通常RAID1ボリューム上に存在する理由です。これは単に安全であり、通常のパフォーマンスよりも重要です。

  2. RAID0と同様に2つの別々のスワップ領域が使用されるため、ドライブがその時点で受けている他の負荷にもよりますが、一般的にパフォーマンスの向上が見込まれます。最新のカーネルでは、RAID1ドライバーは各ブロックの読み取りに最適なドライブを推測できるため、読み取りパフォーマンスが少し向上する可能性がありますが、スワップへの書き込みでは、両方のミラーを更新する必要があるため、明らかになりません。最近のほとんどのセットアップでは、スワップのパフォーマンスは安全性ほど重要ではありません-RAMは最近比較的安価なので、マザーボードが取ることができるRAMの制限にぶつからない限りとにかくスワップスペースができるだけ使用されないように、十分なRAMを持つことを目指す必要があります。

  3. 同じペアのディスクを使用している場合は、ほとんど違いはありません。別のアレイでスワップを使用する一般的な理由は、メインアレイにRAID5/6を使用する場合(これはあなたの場合には当てはまりません)、RAID5/6の書き込みパフォーマンスの問題に見舞われるスワップ領域を回避してページアウトする場合です。おそらく、スワップ領域がディスクの最もビジーな部分に近いことを確認することでパフォーマンスを調整できます(したがって、最もビジーなアクティブデータベースファイルに使用される250Gb論理ボリュームを備えた1Tbアレイがある場合は、スワップボリュームを隣に配置しますそれ)スワッピング中の頭の動きを減らすために-しかし、実際には、そのような微調整は、頻繁にスワッピングしているときまでに十分に費やされていません。%または2の利点は、OKとそうでないことの違いを生むのに十分ではありません。

  4. canカーネルに関する限り、ソフトウェアRAIDボリュームをパーティション分割すると思いますが、それはインストーラーがそのような配置を理解しているという意味ではありません。 LVMを使用しない例では、ドライブがパーティションに分割され、パーティション化された1つの大きなRAIDボリュームではなく、パーティションごとに個別のRAIDアレイがあることを常に確認しました。 LVM方式は、他の配置よりも柔軟性が高く、(私の経験では)信頼性が劣らないため、回避する特別な理由がない限り、LVM方式をお勧めします。

16
David Spillett

RAID10を使用する場合、LinuxでのRAID0高速アクセス(読み取り専用ですが)とRAID1のセキュリティの利点を得ることができます。 Linux MDドライバーは、2台以上の任意の数のドライブにRAID10ボリュームを作成できます。速度を向上させるには、配列のレイアウトを「far」(-p f2)、このように、読み取りパフォーマンスはRAID0に似ていますが、書き込みパフォーマンスはRAID1よりわずかに遅いだけです。

1
Hubert Kario