回答:
これは、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のスワップと同じかそれ以上であると考える理由はありません。別々のディスクに2つのスワップがある場合、状況はさらに複雑になります。
でスワップに異なる優先順位が与えられている場合/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つは、ドライブに障害が発生した場合、コンピューターが動作し続けることです(やや遅い)。ページをディスクにスワップするプログラムを実行している場合(スワップが有効になっている場合、事実上常にそうです)、スワップパーティションを含むドライブ(それが唯一のスワップパーティションであるかどうかに関係なく)が故障し、冗長性がありません。バックアップすると、システムはすぐに正しく機能しなくなります(スワップの使用方法によっては、再起動するまで完全に使用できなくなる可能性があります)。マシンを本番サーバーとして、またはその他の重要なタスクに使用している場合、ダウンタイムが発生します。
一般的に発生する1つの有害なイベント(1つのドライブの障害)による完全なスワップ障害を許容できる場合は、なぜRAID 1を使用しているのかを自問する必要があります。あなたは良い答えを持っているかもしれません...そしてあなたはそうでないかもしれません。RAID(RAID 0を除く)はディスク障害から保護しますが、RAIDはバックアップソリューションではありません。RAID上のファイルを変更または削除したり、マルウェアがRAID上のシステムに感染したりすると、どこでも即座に変更が加えられます。RAIDを使用しても、そこから回復することはできません。
冗長性ではなくバックアップが必要で、信頼性が高く、簡単にアクセスできるバックアップがまだない場合は、ドライブの1つをRAIDから完全に取り出して、バックアップに使用する必要があります。(もちろん、オフサイトのバックアップが必要になることもあります。)
コンピュータを休止状態にすると(つまり、suspend-to-disk)、RAMの内容がswapパーティションにコピーされます。したがって、ディスク障害が発生したときにマシンが休止状態になっている場合、実際にはスワップパーティションを失うことでデータを失う可能性があります。
Ubuntu Serverのドキュメントの高度なインストールセクションでは、ソフトウェアRAID 1アレイへのインストールについて説明しています。私が見ることができることから、それらもRAID上にスワップパーティションを作成するため、ほぼ「推奨」レイアウトです。
ただし、純粋に理論的な観点から見ると、スワップパーティションにRAID 1を使用すると、「通常の」パーティションに比べてメリットが少なくなる可能性があります。スワップパーティションのデータは揮発性が高いため、多くのデータが失われる可能性は低くなります。ディスク障害の場合。ただし、スワップパーティションに突然障害が発生すると、プロセスがクラッシュしたり、システムが再起動したりすることがあります。
RAID-0または2の個別の非RAIDパーティションを使用することは、パフォーマンスの観点からより理にかなっている場合とそうでない場合があります。パフォーマンスについて懸念がある場合は、いくつかのベンチマークを行う必要があります。
さらに、システムのRAM制限が厳しく、スワップが頻繁に使用される場合にのみ、これらすべてがパフォーマンスに影響を与える可能性があります。RAMを追加し、スワップを完全に削除することは、パフォーマンスと信頼性の両方の観点から、究極の解決策になります:)