Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第7章 仮想化

7.1. KVM

KVM のスケーラビリティ拡張

Red Hat Enterprise Linux 6.3 内の KVM のスケーラビリティ拡張には以下が含まれます:

  • 仮想ゲストの最大サポートサイズが 64 から 160 の仮想 CPU (vCPU) に増加しています。
  • KVM ゲスト内メモリの最大サポートサイズが 512 GB から 2 TB に増加しています。BZ#748946
最新の Intel 及び AMD のプロセッサへの KVM サポート

Red Hat Enterprise Linux 6.3 内の KVM には以下のサポートが含まれます:

  • Intel Core i3、i5、i7 及び過去にコード名 Sandy Bridge を持っていた他のプロセッサ。
  • 更には、新しい AMD ファミリ 15h プロセッサ (コード名 Bulldozer)
KVM 内の新しい CPU モデル定義により、KVM ホスト及び仮想化ゲストに必要な新規プロセッサの有効化が提供されます。これにより、 KVM 仮想化は新規プロセッサに関連したパフォーマンス向上を獲得し、最新 CPU 内の新しいインストラクションを最大に活用することが確実になります。BZ#760953, BZ#767302
KVM Steal Time のサポート

Steal time (スチールタイム) とは、ハイパーバイザーが別の仮想プロセッサを担当している間に、仮想 CPU が実 CPU を待つ時間のことです。KVM の仮想化マシンは今回、ゲストに正確な CPU 運用データを提供する topvmstat のようなツールを介して可視化されるスチールタイムを算出して報告できます。

KVM のスチールタイム機能は、CPU 運用と仮想化マシンのパフォーマンスに関してゲストに正確なデータを提供します。大幅なスチールタイムは、仮想マシンのパフォーマンスが、ハイパーバイザーでゲストに割り当てられた CPU タイムによって縮小されていることを示します。ユーザーは、ホスト上でゲスト数を低減するか、又はゲストの CPU 優先度を増加することにより、CPU 闘争から出るパフォーマンス問題を軽減することができます。KVM スチールタイムの値は、ユーザーに対してアプリケーションのランタイムパフォーマンスの改善で次のステップへ進む為のデータを提供します。BZ#612320
qcow2 ディスクイメージへのアクセス改善

Red Hat Enterprise Linux 6.3 の KVM は より非同期にして、ディスク I/O の間に vCPU 停止を回避して全体のパフォーマンスを強化することにより、qcow2 ディスクイメージ (qcow2 はデフォルトの形式) へのアクセスを改善しています。BZ#783950

新しい qemu-guest-agent サブパッケージ

qemu-kvm には、qemu-guest-agent と呼ばれる新しいサブパッケージがあります。このパッケージをインスト-ルした Red Hat Enterprise Linux 6.3 ゲストを実行している時、適切に設定された Red Hat Enterprise Linux 6.3 ホストは以下のようなコマンドをゲストに送信することができます: guest-syncguest-pingguest-infoguest-shutdown、及び guest-suspend-*

ゲストエージェントと通信するためのホストの設定方法の例については、http://lists.nongnu.org/archive/html/qemu-devel/2011-07/msg00370.html を参照して下さい。
KVM ゲスト内のパフォーマンス監視

KVM は今回、パフォーマンス監視ユニット (vPMU) を仮想化して、仮想マシンがパフォーマンス監視を使用できるようにします。それに加えて、-cpu ホストフラグの使用により異なるホスト CPU バージョン間に渡ってライブ移行が可能となる Intel の architectural PMU をサポートしています。

この機能を使用すると、Red Hat 仮想化を実行のお客様は今回、KVM ゲストで継目の無いパフォーマンス監視を運用することができます。この仮想パフォーマンス監視機能により、仮想マシンのユーザーは、ホスト上とゲスト上でも機能する好みの既存プロファイリングツールを使用してゲスト内のパフォーマンス問題を識別することができるようになります。これは、ホストから KVM ゲストをプロファイルする既存の能力に追加する強化となります。
この機能は Red Hat Enterprise Linux 6.3 では、技術プレビューとなっています。BZ#645365
動的な仮想 CPU の割り当て

Red Hat Enterprise Linux 6.3 の KVM は今回、オフピークの時間帯にそのパフォーマンスへの予期しない負荷に対して動的に能力を管理して対応するために、別名 vCPU ホットプラグと呼ばれる動的な仮想 CPU の割り当てをサポートしています。

仮想 CPU ホットプラグの機能は、システム管理者にゲスト内で CPU リソースを動的に調節する能力を与えます。ゲストは、CPU リソースの調節の理由でオフラインになる必要がない為、ゲストの可用性が向上します。
この機能は Red Hat Enterprise Linux 6.3 では、技術プレビューとなっています。現時点では、vCPU ホット追加機能のみが動作します。vCPU ホットアンプラグ機能は実装されていません。BZ#562886
Virtio-SCSI の能力

KVM 仮想化のストレージスタックは、virtio-SCSI (SCSI ベースの KVM) 能力の追加によって向上しています。Virtio-SCSI は、直接 SCSI LUN に接続する能力を提供し、 virtio-blk に比較すると、特筆できるほどにスケーラビリティを向上しています。28 のデバイスしか処理できずに PCI スロットを消耗する virtio-blk に比べて、virtio-SCSI の利点は、数百のデバイスを処理する能力があることです。

Virtio-SCSI は、今回以下のような能力を持つターゲットデバイスの機能セットを継承する仕組みを持っています:
  • virtio-scsi コントローラーを介して仮想ハードドライブ又は、 CD を添付する
  • 物理 SCSI デバイスを、QEMU scsi-block デバイス経由でホストからゲストに通過させる
  • そして、virtio-blk の 28-デバイスの限界からの改善となる、ゲスト毎に数百のデバイスの使用を可能にする
この機能は Red Hat Enterprise Linux 6.3 では技術プレビューとなっています。BZ#782029
in-guest S4/S3 状態のサポート

KVM の電力管理機能は拡張されて、仮想マシン内の S4 (ディスクへサスペンド) と S3 (RAM へサスペンド) の状態へのネイティブサポートを含むようになっています。これにより、低電力状態の1つからのゲストの復元を迅速化しています。初期の実装では、ゲストにとっては外部となるディスク、又はメモリに対するゲストの保存、あるいは復元がありました。これらは遅延の原因でした。

それに加えて、ゲストは、SPICE を通じてリモートキーボードからのイベントで S3 状態から目覚めることができます。
この機能は Red Hat Enterprise Linux 6.3 では、技術プレビューであり、デフォルトで無効になっています。有効にするには、デフォルトの /usr/share/seabios/bios.bin ファイルの代わりに、 VM bios で /usr/share/seabios/bios-pm.bin を選択します。
ネイティブの (基礎設定の) in-guest S4 (ディスクへのサスペンド) と S3 (RAM へのサスペンド) 電源管理機能はゲスト内 (ホストではなく) で、ディスクへのサスペンドと RAM 機能へのサスペンドを実行する能力をサポートします。これが簡単なキーボードへの入力に反応することによりゲストを復元するのに必要な時間を短縮します。これはまた、外部のメモリ状態ファイルの維持の必要性を排除します。この機能は、Red Hat Enterprise Linux 6.3 ゲスト上で、そして S3 と S4 のサポートをできるハイパーバイザー上で稼働している Windows 上でサポートされています。BZ#809797
NIC に対する SR-IOV のサポート

Red Hat Enterprise Linux 6.3 は、ネットワークインターフェイスコントローラーに対する SR-IOV サポートを導入します。この機能により、KVM 上の NIC が KVM ゲストと共有できるようになります。SR-IOV に関する詳細情報については、仮想化ホストの設定とゲストのインスト-ルガイド (Virtualization Host Configuration and Guest Installation Guide) 内にある 『Chapter 13. SR-IOV』 の章を参照して下さい。be2net ドライバー上の SR-IOV の詳細については 2章デバイスドライバー を参照して下さい。

AMD-V 対応の KVM での TSC スケーリング

Red Hat Enterprise Linux 6.3 は、AMD 仮想化 (AMD-V) 用の KVM に対して Time Stamp Counter (TSC) スケーリングへのサポートを追加しています。この機能には、KVM ゲスト上での特定の TSC 周波数を模倣する能力があります。BZ#634293

perf-kvm に対するサポート

ホストからゲストのパフォーマンスを監視する能力を提供する perf-kvm ツールへのサポートが追加されています。詳細については、perf-kvm man ページを参照して下さい。BZ#632768

7.2. SPICE

USB 2.0 の転送サポート

Spice は、KVM USB 2.0 ホストアダプター模倣サポートを更に強化し、サーバー上で稼働している仮想マシンがクライアント側でリモート的に差し込んである USB デバイスを使用できるようにするリモート USB 転送サポートを有効にします。BZ#758104

7.3. libvirt

up と down のリンク状態を制御

libvirt は、今回ゲスト仮想ネットワークインターフェイスのリンクの状態 (up 又は down) を制御する能力を持ちます。これにより、ユーザーはインターフェイスからネットワークケーブルの差し込みと取り外しをしているかのようなテストと模擬実験を行うことができます。この機能は問題発生時にユーザーがゲストを隔離できるようにしてくれます。BZ#643373

最新の Intel と AMD プロセッサに対する追加サポート

Red Hat Enterprise Linux 6.3 では、libvirt の更新により、最新の Intel Core i3、i5、i7 とその他の Intel プロセッサ、及び AMD のファミリ 15h マイクロアーキテクチャプロセッサに対するサポートが追加されています。この更新によって、libvirt は今回、それらのプロセッサが持つ新しい機能を利用します。BZ#767364BZ#761005