この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章は、次の項で構成されています。
仮想化により、同一の物理マシン上で隣り合いながら分離して実行する複数の仮想マシン(VM)を作成できます。
各仮想マシンは、仮想ハードウェア(メモリ、CPU、NIC)の独自のセットを持ち、その上でオペレーティング システムと十分に設定されたアプリケーションがロードされます。オペレーティング システムは、実際の物理ハードウェア コンポーネントに関係なく、一貫性があり正常なハードウェア一式を認識します。
仮想マシンでは、物理サーバ間でのプロビジョニングや移動を迅速に行うために、ハードウェアとソフトウェアの両方が単一のファイルにカプセル化されます。仮想マシンは 1 つの物理サーバから別のサーバへ数秒で移動することができ、メンテナンスのためのダウンタイムを必要とせず、途切れることのない作業負荷を集約します。
仮想ハードウェアは、多数のサーバ(それぞれのサーバは独立した仮想マシン内で実行する)を単一の物理サーバ上で実行できるようにします。バーチャライゼーションの利点は、コンピューティング リソースをより適切に使用でき、サーバ密度を高め、サーバの移行をスムーズに行えることです。
仮想サーバの実装は、1 つの物理サーバのゲストとして実行される 1 つまたは複数の VM で構成されます。ゲスト VM は、ハイパーバイザまたは仮想マシン マネージャ(VMM)と呼ばれるソフトウェア レイヤによってホストされ管理されます。通常、ハイパーバイザは各 VM で仮想ネットワーク インターフェイスを示し、VM から他のローカル VM または外部ネットワークに繋がる別のインターフェイスへのトラフィックのレイヤ 2 スイッチングを実行します。
Cisco 仮想インターフェイス カード(VIC)アダプタと連携して、Cisco Virtual Machine ファブリック エクステンダ(VM-FEX)はファブリック インターコネクトの外部ハードウェア ベース スイッチング用のハイパーバイザによって、VM トラフィックのソフトウェア ベースのスイッチングをバイパスします。この方法により、サーバの CPU 負荷を軽減し、高速スイッチングを行い、ローカルおよびリモート トラフィックに豊富なネットワーク管理機能セットを適用することができます。
VM-FEX は IEEE 802.1Qbh ポート エクステンダ アーキテクチャを VM に拡張するために、各 VM インターフェイスに仮想 Peripheral Component Interconnect Express(PCIe)デバイスとスイッチ上の仮想ポートを提供します。このソリューションにより、VM インターフェイス上で、正確なレート制限と QoS(Quality of Service)保証が可能になります。
Cisco VIC アダプタは、ベア メタルの導入と VM ベースの導入の両方に対応するように設計された、統合型ネットワーク アダプタ(CNA)です。VIC アダプタは、最大 128 個の仮想ネットワーク インターフェイス カード(vNIC)を含む、静的または動的な仮想化インターフェイスをサポートします。
VIC アダプタに使用される vNICs には、静的と動的の 2 つのタイプがあります。静的な vNIC は、OS またはハイパーバイザから認識されるデバイスです。動的な vNIC は、VM をファブリック インターコネクトの vEth ポートに接続するための VM-FEX に使用されます。
VIC アダプタは、VM-FEXをサポートし、仮想マシン インターフェイスとの間の、トラフィックのハードウェアベースのスイッチング機能を提供します。
単一のルート I/O 仮想化(SR-IOV)により、さまざまなゲスト オペレーティング システムを実行している複数の VM が、ホスト サーバ内の単一の PCIe ネットワーク アダプタを共有できるようになります。SR-IOV では、VM がネットワーク アダプタとの間で直接データを移動でき、ハイパーバイザをバイパスすることで、ネットワークのスループットが増加しサーバの CPU 負荷が低下します。最近の x86 サーバ プロセッサには、SR-IOV に必要なダイレクト メモリの転送やその他の操作を容易にする Intel VT x テクノロジーなど、チップセットの拡張機能が搭載されています。
SR-IOV 仕様では、次の 2 つのデバイス タイプが定義されています。
物理的な機能(PF):基本的にスタティック vNIC である PF は、SR-IOV 機能を含む完全な PCIe デバイスです。PF は、通常の PCIe デバイスとして検出、管理、設定されます。単一 PF は、一連の仮想関数(VF)の管理および設定を提供できます。
仮想機能(VF):ダイナミック vNIC と同様に、VF はデータ移動に必要な最低限のリソースを提供する、完全または軽量の仮想 PCIe デバイスです。VF は直接的には管理されず、PF を介して配信および管理されます。1 つ以上の VF を 1 つの VM に割り当てることができます。
SR-IOV は、PCI 標準の開発および管理が公認されている業界組織である Peripheral Component Interconnect Special Interest Group(PCI-SIG)によって定義および管理されています。SR-IOV の詳細については、次の URL を参照してください。
SR-IOV をサポートするハイパーバイザには、KVM Linux と Microsoft Hyper-V が含まれています。
次のシスコ仮想インターフェイス カードは VM-FEX を使用する SR-IOV をサポートしています。
Cisco UCS M81KR 仮想インターフェイス カード
Cisco UCS P81E 仮想インターフェイス カード
Cisco UCS 仮想インターフェイス カード 1280
Cisco UCS 仮想インターフェイス カード 1240
Cisco UCS 仮想インターフェイス カード 1225
Cisco UCS 仮想インターフェイス カード 1225T
Cisco UCS 仮想インターフェイス カード 1227
Cisco UCS 仮想インターフェイス カード 1227T
Cisco UCS 仮想インターフェイス カード 1340
Cisco UCS 仮想インターフェイス カード 1380
Cisco UCS 仮想インターフェイス カード 1385
カーネル ベースの仮想マシン(KVM)は、x86 ハードウェア プラットフォームの Linux 向け仮想化パッケージです。KVM は x86 ハードウェア仮想化拡張機能(たとえば Intel VT-x)を使用して、VM をホストするハイパーバイザを、ユーザ空間プロセスとして実装します。Cisco UCS サーバは、KVM ベースの Red Hat Enterprise Virtualization(RHEV)を、サーバ仮想化システムのハイパーバイザとしてサポートしています。
KVM 用の VM-FEX を使用すると、RHEV ハイパーバイザは VM トラフィックのスイッチングを行いません。インストールされている VIC アダプタを使用して、ハイパーバイザはインターフェイス バーチャライザとして機能し、次の機能を実行します。
VM から VIC へのトラフィックについては、vNIC によって生成される各パケットに VIC が明示的にタグ付けできるように、インターフェイス バーチャライザが発信元の vNIC を識別します。
VIC から受信したトラフィックの場合、インターフェイス バーチャライザは指定された vNIC にパケットを送信します。
すべてのスイッチングは外部ファブリック インターコネクトによって実行されます。外部ファブリック インターコネクトは、物理ポート間のみでスイッチングを行うのではなく、VM 上の vNIC に対応する仮想インターフェイス(VIF)間でもスイッチングを行います。
KVM の詳細については、次の URL を参照してください。http://www.linux-kvm.org。
Cisco UCS クラスタは、複数のホストにわたって配布できるハイパーバイザをグループ化したものです。KVM システムでは、クラスタは VMware ESX システムの分散仮想スイッチ(DVS)にほぼ対応します。
現在の Cisco UCS KVM 実装では、クラスタはポート プロファイルの範囲を定義し、移行ドメインの境界です。複数の KVM ホストがクラスタに関連付けられている場合は、KVM ホストからクラスタ内の残りの部分に VM を移行できます。
(注) |
VM-FEX for KVM の現在の Cisco UCS の実装では、1 つのクラスタ、つまりデフォルト クラスタのみが使用されます。追加のクラスタを作成できますが、KVM ホスト上の VM に対してデフォルト クラスタのみを指定できます。 |
ポート プロファイルには、Cisco UCS 仮想インターフェイスを設定するために使用する設定とプロパティが含まれています。ポート プロファイルは、Cisco UCS Manager で作成および管理されます。
クラスタによってポート プロファイルが作成され、割り当てられ、アクティブに使用された後に、Cisco UCS Manager でポート プロファイルのネットワーキング プロパティが変更されると、変更がすぐにそれらのクラスタに適用され、ホストのリブートは必要ありません。
ポート プロファイル クライアントは、ポート プロファイルが適用されるクラスタです。
(注) |
KVM 用 VM-FEX の現在の Cisco UCS の実装では、デフォルト クラスタが使用できる唯一のポート プロファイル クライアントです。 |
ハイパーバイザは、VM とネットワーク間の接続により、さまざまなゲスト オペレーティング システムを実行する複数の VM をサポートします。KVM のハイパーバイザは、Red Hat Enterprise Linux(RHEL)がインストールされたホスト サーバです。VM-FEX の最も早いサポート対象リリースは RHEL 6.1 ですが、一部の機能(SR-IOV など)にはそれより後のバージョンが必要です。
ハイパーバイザには、Cisco VIC アダプタがインストールされている必要があります。
Red Hat Enterprise Linux を使用した仮想化の詳細については、次の URL にある 『Red Hat Enterprise Virtualization for Servers Installation Guide』 を参照してください。http://www.redhat.com。
Libvirt は、KVM、Xen、VMware ESX などのさまざまな仮想化テクノロジーを管理できるオープン ソース ツールキットです。libvirtd という名前のサービスとしてハイパーバイザで稼働する Libvirt は、コマンドライン インターフェイス(virsh)を提供し、グラフィカル ユーザ インターフェイスのパッケージ(virt-manager)のツールキットを提供します。
libvirt によって作成および管理される各仮想マシンは、ドメイン XML ファイルの形で表現されます。
libvirt 仮想化 API の詳細については、次の URL を参照してください。http://www.libvirt.org。
virsh CLI の詳細については、次の URL を参照してください。
MacVTap は、VM の NIC をホスト サーバ上の物理 NIC に直接接続できるようにするための Linux ドライバです。
MacVTap ドライバの詳細については、次の URL を参照してください。http://virt.kernelnewbies.org/MacVTap。
VirtIO のパラ仮想化されたネットワーク ドライバ(virtio-net)は、VM のゲスト オペレーティング システムで動作し、VM に仮想化認識でエミュレートされたネットワーク インターフェイスを提供します。
VirtIO ドライバの詳細については、次の URL を参照してください。http://wiki.libvirt.org/page/Virtio。
ドライバのトポロジ(モード)を使用して、VM の vNIC とホストの VIC アダプタ間の VM-FEX 接続を設定できます。これらの各トポロジで、VM トラフィックは VIC アダプタとの間でのみ送受信されます。同じホスト上のある VM から別の VM へのトラフィックは、まず外部ファブリック インターコネクトによるスイッチングのためにホストから出て行く必要があります。
(注) |
すべてのトポロジで、クイック エミュレータ(QEMU)PCI 層の設定により、ホストが VM に割り当てることができる PCI デバイス数が制限される場合があります。 |
MacVTap Linux ドライバは、ハイパーバイザ(VMM)にインストールされ、各 VM の VirtIO インターフェイスを VIC アダプタの物理 PCIe ポートに接続します。MacVTap ドライバのモードは「プライベート」であり、これは外部スイッチングを使用してすべての VM トラフィックをホスト アダプタとの間で直接送受信することを指定します。
サポートされる VM の数は、VIC アダプタ ポートの数に制限されます。
ライブ移行がサポートされています。
(注) |
Cisco UCS Release 2.1 以降では、MacVTap の直接(プライベート)トポロジはサポートされなくなりました。 |
MacVTap の Linux ドライバは、ハイパーバイザにインストールされ、各 VM の VirtIO インターフェイスを SR IOV 対応 VIC アダプタの VF に接続します。MacVTap ドライバ モードは「パススルー」であり、すべての VM トラフィックは VF との間で送受信されます。VF にポート プロファイルを適用する場合、libvirt は VF と関連する PF を決定し、PF を通過する VF を設定します。このトポロジは、MacVTap パススルー(エミュレーション モード)とも呼ばれています。
VM の最大サポート数は、VIC アダプタにおける VF の数によって決まります。PF に割り当てることができる VF の数は、ホストの Netlink プロトコルの実装によってさらに制限される可能性があります(通常は PF あたり 22 ~ 32 VF、OS バージョンごとに異なる)。
ライブ移行がサポートされています。
MacVTap ドライバと VirtIO ドライバは使用されません。代わりに、VIC アダプタのイーサネット ドライバ(enic)が VM カーネルにインストールされ、VF に直接接続します。libvirt を使用して、関連する PF を介して VF を設定できます。libvirt のマニュアルで、このトポロジは hostdev モードと呼ばれます。このトポロジは、PCI パススルーとも呼ばれています。
サポートされる VM の数は、VIC アダプタで提供されている VF の数で決まります。
ライブ移行はサポートされません。