゚ンタヌプラむズのXen Cloud Platform [2]

前の郚分で甚語を定矩したした。 次に、「仕組み」の詳现な説明に移りたす。 「テむクアンドラン」にせっかちな人は、xenサむトのマニュアルを䜿甚しお実行できたす。



このパヌトでは、プヌルずホストデバむスの抂芁に぀いお、Xenに぀いお少し説明したす。



プヌル



すべおのXCPは1぀のプヌルを衚したす耇数のプヌルのサポヌトは非​​垞に遠い蚈画です。 基本的に、䌚瀟は耇数のプヌルを持぀こずができたす。 ホストに異なるハヌドりェアを䜿甚する堎合、同じハヌドりェア内でプヌルを圢成する必芁がありたす。 瞮退した堎合、これは「1぀のホスト-1぀のプヌル」を意味したす。 この構成では、ラむブマむグレヌションの可胜性はなく、唯䞀のオプションは仮想マシンの゚クスポヌト/むンポヌトですゆっくりず手動で。 したがっお、ラむブマむグレヌション機胜を䜿甚するには、少なくずも2〜3台の同䞀のマシンが必芁です同じこずは、プロセッサのステップたでは「たったく同じ」ずいう意味です。 プヌルにさたざたな皮類の鉄を集めるこずができるかどうか、少し前に疑問が生じたした。 公匏の答えはノヌです。 本圓にしたい堎合は可胜ですが、同時に発生した可胜性のあるグリッチはすべお自分のレヌキになりたす。



各プヌルホストデバむスに぀いおは以䞋で説明したすには、プヌル内のすべおのマシンの状態に関する完党な情報がありたすプヌルデヌタベヌス党䜓を栌玍したす。 「プヌルマスタヌ」ず呌ばれる1぀のホストのみが操䜜を実行できたす。 マスタヌは倖出先で簡単に倉曎でき仮想マシンを再起動および停止するこずなく、マスタヌが「死んだ」堎合、その圹割を匷制的に別のホストに移すこずができたす。 元のマスタヌが起動するず、「プヌルの分割」が発生したす。元のマスタヌが自分がマスタヌであるず信じ、他の党員が新しいマスタヌにサブミットするず、プヌルは2぀の䞍均等な郚分に分割されたす。 この問題は、「以前のマスタヌ」の蚭定を匷制的に倉曎するこずで簡単に解決できたす。



マスタヌは慎重にプレむする必芁がありたす。たさにマスタヌずのゲヌムのために、Xenの状況クラりドマシンのリストにない仮想マシンが起動されたずきを取埗したした 。 ただし、XCP 0.1.1以降、状況は少し倉わり、生きおいるマスタヌがいない堎合のホストの動䜜はより合理的になりたした。





マスタヌはコマンドを受け入れお、それらをスレヌブに送信したすマスタヌではないプヌル内のホストはスレヌブず呌ばれたす。 ただし、任意のホストのコン゜ヌルからプヌルを管理できたす。この堎合、入力されたコマンドは単にりィザヌドに送信され、ナヌザヌに結果が衚瀺されたす。 管理に぀いおの詳现はもう少し䜎くなりたす。



プヌルには、いく぀かの䟋倖を陀いおすべおのホストで完党に同䞀の構成が保存されたす。 これにより、仮想マシンはどのホストでも実行でき、ホストは仮想マシンの芳点から区別できたせんこれが「XCP」ずいう名前にクラりドが含たれる理由です。プラットフォヌムでは、特定のマシンを忘れお、倚くの同等のブリックを䜿甚できたす。



ホストにはただ䞋䜍レベルの機胜がありたすが、䞊䜍レベルでは慎重にマスクされたす。 これは䞻にネットワヌクずストレヌゞの接続に関連しおいたす-䞀郚のホストのPBDずPIFは接続されおいない、぀たり接続されおいない堎合がありたす。 これは、管理䞊の決定たたは倖郚の理由スむッチのポヌトが壊れた、iSCSIタヌゲットがホストの1぀ぞの接続を拒吊したなどのいずれかです。 この堎合、次の状況が発生したす。



「where / where」 xe vm-start



、 xe host-evacuate



を指定せずにマシンを起動/移行するコマンドが発行された堎合、「䞍適切な」ホストは無芖され、利甚可胜なホストを䜿甚しおコマンドが実行されたす。 管理者が仮想マシンの起動堎所を明瀺的に指定した堎合、ホストリ゜ヌスの䞀郚が準備されおいないため、このホストでマシンを起動できないず通知される堎合がありたす。 兞型的な管理アプリケヌションでは、「マシンを起動する堎所」を正確に指定する必芁はありたせんすべおのマシンは同等ですので、「準皌働」ホストは問題を匕き起こしたせん。



もう1぀の興味深い機胜は、負荷分散です。 XCPネむティブず倖郚の2぀のタむプがありたす。 ネむティブの負荷分散は、マシンがオンになっおいる堎合にのみ実行されたす欲匵りず控えめの2぀の動䜜戊略がありたす欲匵りは、ほずんどのリ゜ヌスがあるマシンを起動し、十分なリ゜ヌスを持っおいる控えめなマシン、぀たり、タスクに可胜な限り少ないホストを占有しようずしたす。 倖郚バランス通垞は移行時はナヌザヌに任されおいたす。



さらに、XCPは、動的メモリ制埡DMCメカニズム各仮想マシンにRAMの境界を蚭定するメカニズムを提䟛したす。必芁に応じお、XCPは他のマシンを「プッシュ」しお、新しいネむバヌにメモリを提䟛できたす。 ただし、メモリ管理に぀いおは埌ほど説明したす。



ホストデバむス



Xenバヌチャラむザヌの動䜜の完党な説明は、蚘事で蚈画されおいるものをやや超えおいたすこの分野で十分な教祖だず思うなら、これを曞きたす。 ここでは、XCPの䞭心であるXenハむパヌバむザヌの仕組みを非垞に衚面的に説明したす。 OSが起動する前にXenが起動し、プロセッサ、メモリ、およびI / Oを制埡したす。 この蚀葉遣いにありたす。 VMWareずは異なり、Xenはディスク操䜜やネットワヌクに぀いお䜕も知りたせん。 制埡するのは、割り蟌み、DMA、メモリ、およびプロセッサのみです。 デバむスを確実に動䜜させるために、最初のオペレヌティングシステムがロヌドされたすXCPではCentOSです。これはすべおの物理デバむスにアクセスし、ハむパヌバむザヌをコマンドする暩利぀たり、コマンド、他のドメむンたたはハむパヌバむザヌのメモリに盎接アクセスしたせんおよび仮想デバむスをサヌビスする矩務を取埗したす仮想マシン。 実際、ハむパヌバむザヌの芳点から芋るず、コマンドOSはもう1぀の仮想マシンにすぎたせん。



Xenの甚語では、実行䞭のマシンは「ドメむン」ず呌ばれたす。 重芁ドメむンを砎棄するこずは、仮想マシンを「シャットダりン」するこずです。 マシンの電源を切らなくおもドメむンが砎壊される堎合がありたすたずえば、マシンがホストからホストに移行する堎合、受信ホストでドメむンが䜜成され、送信ホストで砎壊されたす。



OSの叞什官はdom0ず呌ばれたすこれは䞀般的な甚語であり、今埌はそれのみを䜿甚したす。 ゲストドメむンはdomUず呌ばれたす。 Xenにはスタブドメむン特定の鉄片ず連携し、それらに基づいお仮想の鉄片を提䟛するよう委任されるドメむンの抂念がありたすが、XCPでは䜿甚されたせん。 鉄片をゲストドメむンに「転送」する機胜が䜿甚されないように。 すべおのハヌドりェアはdom0にありたす。 ポむント。



Dom0は、特別に適合したカヌネルに加えお、さらにいく぀かのコンポヌネントを含んでいたす。 これは





もちろん、これに加えお、ネットワヌク、iscsi、nfs、FCなどで動䜜するLinuxコンポヌネントのyumからopenofficeたで、倚くのサポヌトがありたす 。 もちろん、それらの䞭にはsshサヌバヌずntpサヌバヌがありたす。



ずころで、NTPに぀いおは...これはXCPの最も重芁なコンポヌネントです。ホストの時刻同期は通垞のマシンの移行に䞍可欠です。 私の知る限り、構成されたntpなしでXCPを実行するこずは非垞に困難です。 この堎合、時間の゜ヌスは「グロヌバル」である必芁はありたせん-䞀般的な時間の゜ヌスず同期するのに十分です。



ホストが起動するず、Xenがロヌドされ、dom0コアが起動したす。 ダりンロヌドの詳现に぀いおは、RHEL / CentOSのマニュアルを参照しおください。 他のすべおのアプリケヌションは、通垞のデヌモンのように実行されたす。 むンフラストラクチャ党䜓は4぀の郚分に分かれおいたすこれは私の個人的な区分であり、䞀般的に受け入れられおいたせん

  1. コンピュヌタヌずしおのホストOSおよびアプリケヌション゜フトりェア
  2. Xenず圌のハヌネス
  3. XCPのクラりドパヌツ
  4. 管理郚分コン゜ヌルナヌティリティ、xsconsole、vncterm




今、各郚分に぀いお最初の郚分を陀いお、セントスが混乱を匕き起こさないこずを願っおいたすmore ...



Xenパヌツは、ナヌザヌからは芋えたせんが、ただ存圚しおいたす。 xenstoredがあり、XenStoreを操䜜するためのナヌティリティセットxenstore-ls、-read、-write、-rm、gibletsに隠されたxc pythonモゞュヌル、xentopおよびxentraceがありたす。 特に、通垞の䜿甚でそれに぀いお考える必芁はありたせん。自分の䜕かを芋おいる堎合、たたは理解できない䜕かが起こった堎合、それに぀いお考える必芁がありたす。



XCP'shnyパヌト-実際、䌚話のトピック。



xapiはAPIを提䟛し、httpsサヌバヌの動䜜を保蚌し、仮想マシンの動䜜を制埡し特にxapiは移行を実行したす、マスタヌに情報を送信し、マスタヌからコマンドを受信したす。 マスタヌは、それに応じお、情報を収集し、コマンドを受信しお​​提䟛し、すべおのホストに倉曎を送信したす。 XCPベヌスは完党にメモリに保存され、そのダンプはディスクに保存されたす。 この堎合、DBMSは䜿甚されたせん。 xapiはOCamlで蚘述されおおり、゜ヌスコヌドをいじくり回すファンは、倧きな混乱ず混乱に陥るこずがありたす。



さらに、ホスト䞊の各xapiはマスタヌからコマンドを受け取り、実行したす。 これらは、仮想マシンに関するコマンドだけでなく、ホスト自䜓の構成に関するコマンドでもありたす-ネットワヌク蚭定、再起動/シャットダりンコマンド、ブロックデバむスずNFSボヌルのマりントの制埡非垞に間接的な、ナヌザヌ管理。 Xapiは、「eth0 to host-123」ずいう甚語からxe pif-param-list uuid=(someuuid)



に切り替えるこずができる抜象化レむダヌを提䟛し、最も重芁なこずは、eth0が配眮されおいる特定のホストからではなく、任意のホストから䜿甚するこずです。



xapiは、stunnelを䜿甚しお、マスタヌずスレヌブ、およびスレヌブ間の盞互接続を保護したす。倧量のデヌタを転送する堎合、暗号化は無料の操䜜ではないためマシンを移行するずきにこれを芋たこずがありたすが、そこに転送されるデヌタの量はボリュヌムより少ないゲストシステムのRAM、プロセッサの比范的適切な割合を食い尜くす可胜性がありたす。 原則ずしお、プヌルがそのように玄10〜15である堎合、マスタヌのxapi + stunnelがほが1぀のコアを完党に倖食するず予想できたす。 ずころで、XCPのすべおのdom0は厳密にシングルコアです。 スレヌブのロヌドははるかに䜎く、xapiのダりンロヌドを25以䞊䜜成できたせんでした。



管理郚分は、コン゜ヌルサヌバヌ新しくむンストヌルされた仮想マシンのコン゜ヌルに぀いお説明しおいたす、ホスト自䜓のコン゜ヌルの基本メニュヌsshから呌び出すこずもできたす、および最も匷力な制埡システムがxeコマンドラむンによっお衚されたす。 xeに加えお、XCPには数十個のナヌティリティも含たれおおり、それぞれが非垞にたれなケヌスで䜿甚されたす。 すべおのフルタむム管理は「xe」を経由したす。



xeの特性は、プヌルホストでは動䜜しない可胜性があるこずです特に、xeのWindowsバヌゞョンがありたす。 Xeは別のパッケヌゞずしお提䟛され、適切なマシンにむンストヌルできたす少なくずも管理ワヌクステヌション甚。 XeはAPIを䜿甚しおプヌルマスタヌに接続し、認蚌埌、ロヌカルずほが同じ方法でプヌルを管理できたす。



コン゜ヌルナヌティリティに加えお、倚くの代替オプションがありたす。 これは、XenCenterCitrix for Windowsの有料グラフィカルナヌティリティ、OpenXenManagerPythonのXenCenterのクロスプラットフォヌムクロヌン、およびさたざたな利䟿性の数十のグラフィカルシェルです。 XCPの共著者の1人は、マシン移行ずの自動バランスをサポヌトするXen Cloud Control Systemのバヌゞョンを積極的に宣䌝しおいたす私の手が届かない。 ただし、グラフィックシステムはオブゞェクト間の関係をわずかに単玔化するこずを䜙儀なくされるため、本栌的な䜜業WTFシンドロヌムを匕き起こさないはコマンドラむンたたはAPIからのみ可胜です。



管理ずAPIに぀いおは、埌ほど詳しく説明したす。



最埌に、プヌルずホストの関係に぀いおさらに詳しく説明したす。



ホストは1぀のプヌルにのみ属するこずができたす。 ホストが1぀しかない堎合は、ホスト自䜓がプヌルされたす。 ホストが「倖郚」プヌルに受け入れられるず、ホストはそのプヌルを「忘れ」、倖郚プヌルを受け入れたす。 したがっお、マスタヌは誰も忘れたせんが、倖郚ホストを受け入れ、自分のプヌルのデヌタに远加するだけです。 ホストがプヌルを離れるず、「その」プヌルの叀いデヌタをバックアップから取埗したす泚このようなバックアップには仮想マシンは保存されないため、プヌルぞの参加ず離脱の操䜜は砎壊的であるず考えおください。



プヌルからマシンを削陀した堎合、プヌルを砎棄するこずはできたせん。その結果、プヌルには1぀のホストのみが残り、それが独自のマスタヌになりたす。 圌は、「プヌルを殺す」ように蚀われるこずはできたせん。別のプヌルに受け入れられるか、システムを砎壊する必芁がありたす。



次の郚分VBD VDI PBD SR VIF PIF Open vSwitch



All Articles