スワップスペースに使用されている小さなRAID-1アレイを備えたボックスがあります。システム内の他のすべてのパーティションにミラーを設定していたので、これをしました。
今日、私は この質問 を読んで、「RAID-1のスワップは理想的/推奨ですか?」と疑問に思いました。
RAID 1でスワップを行うことはそれほど重要ではない場合がありますが、通常は役に立ちますが、しばしば必要です。すでにRAID 1を使用している場合、スワップを意図的に別の場所に配置する理由はほとんどありません。
RAID 1のSWAPは、RAIDの外部の単一のスワップパーティションよりもパフォーマンスが高いと予想されますが、同じ優先度に設定された2つのスワップとは異なります。
RAID 1への書き込みは、すべてのデータを両方のディスクに書き込む必要があるため、単一のディスクへの書き込みよりも遅い場合があります。多くの場合、それほど遅くはありません。通常、スローダウンは無視できます。同じIDEコントローラー上に2つのディスクのRAID 1がある場合、速度は遅くなります。ただし、1つのディスクにアクセスしても他のディスクへのアクセスが遅くならない場合、RAID 1への書き込みはそれほど遅くなりません。
RAID 1からの読み取りは、1つのディスクが読み取りで占有されている場合、他のディスクからより多くのデータを読み取ることができるため、単一ディスクからの読み取りよりもほぼ常に高速です。 2つのドライブで構成されるRAID 1からの読み取りは、単一のドライブからの読み取りのほぼ2倍の速度であることがよくあります。
2つの個別のスワップパーティションをRAID 1(または他のRAID)上の単一のスワップパーティションと比較するテストを知りません。 単一のスワップパーティションがRAID 1のスワップと同等以上のパフォーマンスを発揮すると考える理由はありません。別のディスク上のスワップ:
/etc/fstab
でスワップに異なる優先度が与えられている場合、個別のページがスワップにスワップされます。同じページが一度に両方にスワップされることはありません。 2つのスワップは、無関係なスワップされたデータに同時にアクセスする場合は高速ですが、単一のページにアクセスする場合は低速になると予想されます。
スワップに/etc/fstab
で同じ優先度が与えられている場合、 データ(単一ページからでも)はストライプ化されます 。これはRAID 0に似ており、RAID 1にスワップを配置するよりもパフォーマンスが高い可能性があります。
理論的には、ハードウェアRAID 1の場合、ソフトウェアストライピングの効率は低下する可能性がありますが、スワップからの読み取りが書き込みよりも圧倒的に多い異常なアプリケーションがない限り、非RAIDソフトウェアストライプスワップがスワップパーティションよりも優れていることを期待しますRAID 1上。
(カーネルはスワップされたデータを複数のスワップパーティション間でストライプ化できるため、スワップ専用のソフトウェアRAID 0をセットアップする理由はありません。)
RAID 1のパフォーマンスの詳細については、Wikipdiaの記事の このセクション を参照してください "標準RAIDレベル" 。
gertvdijk に感謝します。ストライプスワップに関する非常に重要な情報を提供してくれました。
RAID 1でスワップが必要かどうかは、そもそもなぜRAID 1が必要なのかに依存します。スワップ内のデータは通常非常に揮発性であり、それを失う通常は資産の重大な損失を表しません。しかしながら。:
RAID(RAID 0を除く)の利点の1つは、ドライブに障害が発生した場合、コンピューターが実行し続ける(少し遅い)ことです。ディスクにページをスワップするプログラムを実行している場合(スワップが有効になっている場合は事実上常にそうです)、スワップパーティションを含むドライブ(唯一のスワップパーティションであるかどうか)に障害が発生し、冗長性がありませんバックアップ、システムはすぐに正常に動作を停止します(そして再起動するまで完全に使用できなくなる可能性がありますスワップの使用方法について)。マシンを実動サーバーとして使用する場合、またはその他の重要なタスクとして使用する場合、downtimeが発生します。
よく発生する単一の有害事象(1台のドライブの障害)からの合計スワップ障害を許容できる場合、RAID 1を使用している理由を自問する必要があります。あなたは良い答えを持っているかもしれません...そしてあなたはそうではないかもしれません。 RAID(RAID 0を除く)はディスク障害から保護しますが、RAIDはバックアップソリューションではありません。 RAID上のファイルを変更または削除した場合、またはマルウェアがRAID上のシステムに感染した場合、その変更はどこでも即座に行われます。RAIDでは、そこから回復することはできません。
必要なのがbackupではなくredundancyではなく、信頼性が高くアクセスしやすいバックアップがまだない場合、次に、ドライブの1つをRAIDから完全に取り出して、バックアップに使用する必要があります。 (もちろん、オフサイトバックアップも必要な場合があります。)
コンピューターを休止状態にすると(つまり、ディスクへのサスペンド)、 RAMの内容がスワップパーティションにコピーされます 。したがって、ディスク障害が発生したときにマシンが休止状態になっている場合、スワップパーティションを失うことで実際にデータを失う可能性があります。
高度なインストール Ubuntu Serverドキュメントのセクションでは、ソフトウェアRAID 1アレイへのインストールについて説明しています。私が見ることができるものから、彼らはRAID上にもスワップパーティションを作成するので、それはほとんど「推奨」レイアウトです。
ただし、純粋に理論的な観点から見ると、スワップパーティションにRAID 1を使用すると、「通常の」パーティションに比べてメリットが少なくなる場合があります。スワップパーティション上のデータは揮発性が高いため、ディスク障害の場合。ただし、スワップパーティションが突然失敗すると、プロセスがクラッシュしたり、システムが再起動したりする場合があります。
RAID-0または2つの独立した非RAIDパーティションを使用すると、パフォーマンスの観点からより理にかなっている場合とそうでない場合があります。パフォーマンスが懸念される場合は、ベンチマークを行う必要があります。
さらに、システムのRAM制限が厳しく、スワップが頻繁に使用されている場合にのみ、これらすべてがパフォーマンスに影響を与える可能性があります。パフォーマンスと信頼性の両方の観点から、RAMを追加してスワップを完全に削除することが究極のソリューションです。