Show Table of Contents
6.3. Red Hat Enterprise Linux を仮想化ゲストとして使用する場合の I/O スケジューリング
Red Hat Enterprise Linux ゲスト仮想マシンにおいて、I/O スケジューリングを使用することができます。この場合、ゲストを実行中のハイパーバイザーに制限はありません。考慮すべきメリットおよびデメリットを、一覧にして以下に示します。
- Red Hat Enterprise Linux ゲストでは、通常
noopスケジューラーにより大きなメリットが得られます。このnoopスケジューラーにより、ホストマシンまたはスーパーバイザーは I/O 要求を最適化することができます。noopスケジューラーでは、ゲストオペレーティングシステムからの個々の I/O 要求を 1 つの大きな要求にまとめてから、ハイパーバイザーに I/O 要求を渡すことができます。ただし、noopは最小限のゲスト CPU サイクル数により I/O スケジューリングを実施しようとします。ホスト/ハイパーバイザーは全ゲストからの要求の全体像を把握し、異なる手段を使用して I/O 処理を行います。注記
Red Hat Enterprise Linux 7.2 およびそれ以降のバージョンでは、virtio-blkは必ずnoopを使用します。これは、blk-mqが使用されるためです。 - 負荷の I/O およびストレージデバイスのマウント状況によっては、
deadline等のスケジューラーの方が有効な場合があります。最も有効なスケジューラーを把握するには、パフォーマンステストが必要です。 - iSCSI、SR-IOV、または物理デバイスのパススルーによりストレージにアクセスするゲストの場合は、
noopスケジューラーを使用するべきではありません。これらの手段では、ホストはベースとなる物理デバイスに対する I/O 要求を最適化することができません。
注記
仮想化環境では、ホストおよびゲストの両レイヤーで I/O をスケジューリングしてもメリットが得られない場合があります。複数のゲストがファイルシステム上のストレージまたはホストオペレーティングシステムの管理するブロックデバイスを使用する状況では、ホストがより効率的に I/O をスケジューリングできる場合があります。ホストは全ゲストからの要求を把握し、ストレージの物理レイアウト (ゲストの仮想ストレージとはリニアに対応していない場合があります) を理解しているからです。一方、負荷によっては、ゲスト仮想マシンで
deadline 等のスケジューラーを使用することで、メリットが得られる場合もあります。
スケジューラーのチューニングは、必ず通常の運用状態でテストする必要があります。総合的なベンチマークでは、仮想環境の共有リソースを使用するシステムのパフォーマンスを正確に比較することができないためです。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.