すべてのエンタープライズ仮想化システムの中で、XCPは唯一無料で無料です。 XCPの歴史はXenServerにまで及びました。XenServerはオープンソースハイパーバイザーに基づいていましたが、非常に有料のソフトウェアでした。 Cirixは、XenServerコードを無料ライセンスで公開し、その後、XenServerはスムーズにXen Cloudプラットフォームに変わり始めました。
この一連の記事では、仮想マシンと仮想化インフラストラクチャが同じ組織で管理されている場合に単一の管理センターでXCPを使用する方法について説明します(エンタープライズサーバー仮想化の一般的なシナリオ)。 これらの記事では、例とコマンドラインキーはほとんどありません(cirix Webサイトの管理ガイドは公開されています)。代わりに、オブジェクトの概念、用語、および関係について説明します。
ユーザーの観点から見ると、通常のxen(ほとんどのオペレーティングシステムの一部)とXCPの主な違いは、製品を起動する前のインストールプロセスと改善点の数です。 XCPは、ハイパーバイザーに対応し、クラウド内のホストを提供するように適合された既製のdom0用OS(CentOS)を備えたISO形式で提供されます。 Xenは通常、ハイパーバイザー+ utilsの形式で提供されます。つまり、他の人が自分で作成するすべてのものです。 マイクロソフト製品に対処する必要がある人のためのもう1つのボーナスは、Windows用の署名済みドライバーです(xenaでいくつかのトリックを使用してインストールできますが、XCPにネイティブです)。
XCPは比較的独特なプラットフォームです。 たとえば、hyper-vのように閉じられているという意味では「閉じられていません」が、OSでなくプラットフォームによって構成の多くの側面が制御される既製のOSの形で提供されます。 たとえば、ネットワーク:任意のインターフェースifconfigにIPアドレスを掛けることができますが、結果は悲しいでしょう-プラットフォームのツールを使用してネットワークとインターフェースを管理する必要があります。
XCPは、xen、xapi、open vswitch、xe cli、stunnel、sqeezedのいくつかのコンポーネントで構成され、システムのさまざまな側面を提供します。
システム要件について最初に:
1)Windows仮想化(つまり、HVMドメイン)について話している場合、VT / Pacificaをサポートするプロセッサが前提条件です。
2)クラウドが複数のサーバーで計画されている場合、ネットワークストレージ(iscsiまたはNFS)の使用は必須です。
3)ホスト(複数ある場合)は正確に同じでなければなりません-同じプロセッサのステッピング、マザーボードなど
4)ホストは同じチャネルセグメントにある必要があります(つまり、ルーターではなくスイッチを介して接続されている)。
さて、実際には、ポイントに。
XCPの用語
(目次)
ホストは、仮想化を扱うサーバーです。
プール-移行を許可する同一のホストの組み合わせ。
SR-ストレージリポジトリ-仮想マシンが保存される場所(ローカルネジまたはNFS / iSCSIストレージ)。 正確には、SRはストレージ情報です。 各ホストには、ホストをSRに接続する独自のPBD(物理ブロックデバイス)があります。 各ホストのSRにPBDが存在することが、マシン移行の可能性の条件です。
VDI-仮想ディスクイメージは、復号化を必要としないと思います。 LVM上のファイルまたは論理ボリュームのいずれかです
VMは仮想マシンです。
VBD-仮想ブロックデバイス-XCP固有の設計、VDIと仮想マシン内のブロックデバイス間の論理接続。
ネットワーク-ネットワーク(より正確には、ネットワークレコード)。 同様に、SRホストはPIF(物理インターフェイス)を使用してネットワークに接続します。
VIF-仮想インターフェース-ネットワークと仮想マシンを接続する論理構造。 VBDとは異なり、より「リアル」であり、仮想マシンがオンになった瞬間にネットワークインターフェイスのリストに表示されます。
vlan-vilanはvilanです。 vilanが使用される場合、それらはネットワークとpifの間のレベルを表します(1つのpifでは複数のvilanが存在する可能性があり、viranはネットワークの一部です)。
プール
プールは、ホストを結合する抽象化です。 プールには、ホスト、プール、ネットワーク、SR、仮想マシンなど、すべての構成のすべての(ほぼすべての)側面を記述する構成(状態)があります。 マスターは1つのプールのみですが、各ホストは状態の完全なレプリカを保持します。 ウィザードは約15秒に1回、変更をすべての保留中のものに送信します(これらはホスト、および場合によってはXenAPIを使用する外部オブザーバーです)。 さらに、特定のコンポーネントの変更は「リアルタイムで」通知されます。 ウィザードは外出先で再割り当てできます(実際には、通常の作業を妨げることなく、仮想マシンに影響を与えることもありません)。 ウィザードがクラッシュした場合、ホストを外出先で新しいマスターに再構成できます。 プール内のホストの受け入れ/除外には再起動が必要であり、さらに、その上にあるすべての仮想マシンは失われます(マシンが複数のホストを持つプールにあり、外部SRに格納されている場合、マシンが格納されている場合、プールの他のホストで起動可能なままになります)ローカルでは、それらは破棄されます)。 サービスのニーズに応じて、プール内のホストをプールから削除せずにオン/オフにすることができます(実際、これは単に新しいマシンの起動を禁止するだけです)。
ホストが1つだけの場合は、「独自のプール」です。 ホストが外部プールに参加すると、ホストはそのプールについて「忘れ」て、外部プールを受け入れます。 プール内のホストは常に1つのプールに属し、他のプールについては何も知りません(つまり、プールは一意の識別子を持っていますが、常に1つですが、これは単なる形式です)。
仮想マシン
仮想マシンには、ハードウェア支援仮想化(HVM)と準仮想化(PV)の2種類があります。 準仮想化された仮想マシンは、HVMよりも常に優先されます。PVは、仮想化を「支援」し、ハイパーバイザーによる特権命令をインターセプトするのではなく、ハイパーコールを直接使用する特別なカーネルを使用するためです(HVMで発生します)。 WindowsがHVMモードでのみ動作するのは、MicrosoftがPVモードでの効率的な操作に適応できるライセンスの下でカーネルコードを公開していないためです。
XCPの仮想マシンは、通常のxenaのドメインよりもはるかに複雑です。 仮想マシンは、オフになっていても「存在」します。 仮想マシンには、マシンの起動と操作に使用される多くの属性があります(実際、この構成は「仮想マシン」です)。
VBD(仮想ブロックデバイス)とVIF(仮想ネットワークアダプター)の概念は、仮想マシンに関連付けられています。 ドライブとネットワークアダプターの両方が多数存在する可能性があります(厳密にはテストしていませんが、8個あることは間違いなくあり、その数によっては数百個でもデバイスを作成できます)。
仮想マシンの重要な機能には、メモリクォータ、プロセッサ、許可されているコアの数(現在の構成では1〜16)があります。
重要な機能:XCPを使用すると、外出先で仮想マシンのメモリ量を変更できますが、どのような種類のオーバーセルも使用できません(つまり、仮想マシンにメモリがあることを宣言します)。 仮想マシンに割り当てることができるメモリの最大量は、ホストの仮想メモリからオーバーヘッド(約512MB)を引いたものに等しくなります。 外出先でマシン間でメモリを移動できますが、合計数を超えることはできません。 各マシンは、独自のスワップを持ち、必要なだけ使用できます。
プロセッサは外出先でも接続および切断できます(これは詐欺です。実際、特定のプロセッサは使用が許可または禁止されています)。 すべてのプログラムがこのようになっているわけではありません(たとえば、プロセッサが外出中に突っ込んだ場合、トップがダウンします)。 仮想マシンクォータ(コンピューター時間の割合)および\またはプロセッサへの競合アクセスの優先順位を指定できます。
特にシン構成の場合、いくつかのコア(プロセッサ)を仮想マシンに割り当てて排他的に使用できます(vcpuのピン留め)。
ネットワーク
ネットワークは、仮想化の最も複雑な領域です。 XCPは、オープンvswitchおよびオープンフローテクノロジーを使用して仮想ネットワークを実装します。 この技術の説明は、一連の記事の範囲をはるかに超えています。この技術を使用すると、スイッチを個別のアプリケーションとして管理する「ロジック」を作成できるとしか言えません。 ネットワークは、物理アダプターに接続することも、純粋に仮想にすることもできます。 残念ながら、純粋な仮想ネットワークは適切に移行されません(異なるホストにある仮想マシン間の通信には、ホストを接続するスイッチに接続されたネットワークを使用する必要があります)。 作成された仮想ネットワークアダプターは、仮想ネットワークに接続されます。 通常(ユニキャスト)モードと無差別モード(すべてのネットワークトラフィックをリッスン)の両方で機能します。 原則として、単一ネットワーク上の仮想マシンのネットワークアダプターの数に制限はありません。 既存の実装では、このネットワークはジャンボフレームをサポートしませんが、制御ドメインへのオフロードは発信フレームのCRCカウントをサポートします(ハードウェアを理解している場合は、TCPセグメントも処理できます)。
もちろん、ネットワークは物理アダプターではなく、ビランに関連付けることができます。この場合、すべてのネットワークトラフィックはトランク内のホストを超えます。
シニア
XCPの基本的な機能の1つは、ストレージリポジトリのSRの概念です。 SRは、仮想マシンとISO(仮想マシンの将来のCD)のディスクストレージ(VDI)です。 SRには2つのタイプがあります。ローカル(機能的には通常のローカルボール、ディスクパーティション、ディレクトリなどであるため、まったく面白くない)と一般(共有)です。 XCPのメインツールである共有SRです。 クラウド(より正確にはクラウドマネージャー)は、すべてのホストがSRにアクセスできるように制御します。 クラウドに複数のホストがある場合、単一のSR作成により、すべてのホストに必要なすべてのコネクター(PBD-物理ブロックデバイス)が自動的に作成され、再起動後にストレージが自動的に接続されるように構成が変更されます。
一般的なSRは、マシン間のライブマイグレーションを可能にし、任意の(最初に使用可能な)ホストでマシンを起動します。一般に、クラウドで複数のホストを操作する場合は必須です。 SRに応じて、コピーオンライト、シンプロビジョニング、高速ディスククローン作成、スナップショットなどのさまざまな機能が提供される場合があります。
率直に言って、特別なものなしで利用できるSRのすべてのタイプに名前を付けるわけではありません。 ハードウェア-NFSおよびiSCSI。 NFSはディスクスペースをわずかに経済的に使用し、iSCSIは高速です。
PBD
PBD-物理ブロックデバイス。 仮想マシンディスク(VDI)の格納場所へのホストアクセスの方法と呼ばれる抽象化。 NFSボール、iSCSIボール、FC、またはシェルフメーカーのその他のソリューションのいずれかです。 PBDの主な考え方は、PBDオペレーションの普遍性です。PBDのベースには関係ありません(作成プロセスと各タイプには独自のパラメーターがありますが、作成後、一部のフレームワークのすべてのPBDは同じものを提供し、同じツールを使用して管理されます)。 各ホストには、接続先の各SRに対して独自のPBDがあります。
ピフ
物理ネットワークインターフェイス。 ホストをネットワークに接続するために使用されます。 ほとんどの場合、実際のネットワークインターフェイスですが、タグ付きのvilanを使用する場合は、特定のvilanに関連付けられた抽象化です。 (この場合、複数のVillanが同じインターフェースに接続され、PIFはこれらのVillanに基づいて構築されます)。 すべてのPIFは内部ホストネットワークの一部であり、open vSwitchを使用して編成されています。
Vdi
VDIは、仮想マシンの最も重要な部分である仮想ディスクイメージです。 SR上にあります。 VDI自体は仮想マシンのプロパティではなく、VBDを使用して仮想マシンに接続します(以下を参照)。 VDIにはいくつかの種類があります。その中には、システム(貴重な情報が含まれておらず、必要に応じてルート化できる)とユーザー(情報を保存し、慎重な保護と注意が必要です)があります。 VDIはスナップショットのチェーンを形成し、理論的にはディスク容量を削減できます。 実際には、チェーン処理によりディスク操作のパフォーマンスが低下するため、これは推奨されません。
VBD
仮想マシンの抽象的なデバイス。 仮想マシンのディスクとVDIを接続します。 XCP内部の観点から見ると、VBDは「VDIアクセスドライバー」です。 VDIの存在に特に影響するわけではありません。 (そして、逆に、VDIなしのVBDは存在できません)。 VBDにはいくつかの種類があり、特に、CD-ROMをエミュレートできます(ISOをキャッチします)。 マシンの移行中、VBDは新たに再作成され、VDIはSR上にあったため、嘘のままです。
Vif
ネットワーク上の仮想マシンにアクセスするために使用される仮想ネットワークインターフェイス。 dom0の観点から見ると、vifは他のすべてとまったく同じインターフェースであり、同じ仮想スイッチに含まれています(複数のスイッチが存在する可能性があります)。
指標
メトリックは仮想マシンに関連付けられています-考慮される各リソース(メモリ、ディスク、プロセッサ、ネットワーク)の相対負荷値を持つ
RRDデータベース。 メトリックは(オーバーヘッドのため)特別な包含を必要とするため、他のすべてのタイプのオブジェクトとは多少異なります。
(継続、さらに:移行、メモリ管理、ドメインコンセプト、HVMとPVの違い、コンソール、ISO接続、プロセッサとクォータの管理、ディスクスクーター、監視、コンソールとグラフィカルな管理方法、API)第二部(以下)