クラウド コンピューティングとビッグ データ - 仮想化とコンテナ テクノロジの質問バンク

2 章 仮想化とコンテナ技術の演習

2.1多肢選択問題

1. 一般的な仮想化アーキテクチャには (D) が含まれていません。

A.ホスト オペレーティング システム b. 仮想マシン

C.仮想化層 d. 仮想メモリ

2. 仮想化技術の研究目的には(D)が含まれます。

A.管理コストの削減 b. 携帯性の向上

C.ソフトウェア開発効率の向上 D. 上記のすべて

3. 同じ物理ホスト上の仮想マシンのクラッシュまたは障害は、他の仮想マシンには影響しません。これは主に、仮想化テクノロジの (A) 機能によるものです。

A.検疫 b. パッケージC.ハードウェアの独立性 d. パーティション

4. 仮想化(C)の観点から、完全仮想化技術、準仮想化技術、オペレーティングシステムレベルの仮想化技術を分類します。

A.行動の範囲 b. 費用 c.気がついた。ユーザーのターゲット層

5. 準仮想化技術に属さないものは次のうち (A) です。

A.AMD-V B.Hyper-V C.Xen D.PowerVM

6. Linux KVM のメモリ仮想化技術には (C) は含まれません。

A.記憶バルーン b.巨大なページ c. vモーション D.カーネルページのマージ

7. ストレージ仮想化の実現方法には、(D) があります。

A.ホストベース b. ストレージ デバイス C に基づく。ウェブベース d. 上記のすべて

8. デスクトップ仮想化の利点ではないものは次のうち (B) です。

A.高効率 b.高性能 c. 安定性 d.安全性

9. メモリ情報の移行方法(C)に当てはまらないものはどれですか。

A.コピー前の移行 B. レプリケーション後の移行 C. ダーティ ページの移行 D. CR/TRモーション

10.次のオプションのうち、一般的な仮想化ソフトウェアに属さないものはどれですか (   D   )。

A.Xen B.vSphere C.KVM D.エウレカ

11. 同一ホストマシン内ではコンテナ同士がアクセスできるが、クロスホストアクセスのパフォーマンスが悪く、解決策に(A)が含まれていない。

A.NAT B.織り C.オーバーレイネットワーク d.オープン vSwitch ネットワーク

12. 仮想マシンと比較すると、現在のコンテナに関する次の記述は間違っています (B)。

A.コンテナは通常、オペレーティング システム レベルで仮想化されます。     

B.コンテナは仮想マシンよりも安全です       

C.コンテナの起動時間が速くなりました    

D.コンテナーの柔軟な割り当て割り当て、コンテナーを閉じずにリソースを追加できる

13. Docker は、現在のイメージの前のバージョンにロールバックでき、一部のコンポーネントのアップグレードの完了による環境全体へのダメージを回避できます (B) の機能です。

A.継続的インテグレーション b. バージョン管理 c. 可搬性 d.安全性

14. Docker の CGroup の主な機能には (C) は含まれません。

A.リソースの使用を制限する b. 優先制御 c.アクセス制御 d.請求する

15. Swarm と比較した場合、Kubernetes の利点は (D) です。

A.高度なデザイン思考 b. O&Mがより簡単に

C.導入はより便利で自動化されています D. 上記のすべて

2.2 空白を埋める

1. 仮想化層のコアは (ハイパーバイザー、仮想マシン モニター、または VMM) です。

2. サーバ仮想化アーキテクチャには、(ホスト仮想化)と(ベアメタル仮想化)の 2 種類があります。

3. 自宅の企業内部ネットワークのリソースにアクセスしたい従業員は、(仮想プライベート ネットワーク/VPN) を使用できます。

4. 仮想マシンの移行には、(ネットワーク情報の移行)、(ストレージ情報の移行)、(メモリ情報の移行)が含まれます。

5. 仮想マシンと比較して、Docker は (ハイパーバイザー層) と (ゲスト OS 層) をキャンセルし、スケジューリングと分離に (Docker エンジン) を使用します。

6. Docker のコアコンポーネントには主に (コンテナまたはコンテナ)、(ミラーまたはイメージ)、(ウェアハウスまたはリポジトリ) が含まれます。

7. Docker の最大のパブリック ウェアハウスは (Docker Hub) です。

8. Docker で一般的に使用されるスケジューリング ツールは、(Swarm) と (Kubernetes または K8s) です。

2.3 記述式の質問

1. 仮想化技術の特徴と利点を簡単に説明してください。

答え:

    仮想化テクノロジーの特徴は次のとおりです。

  1. パーティション。パーティショニングとは、仮想化レイヤーが物理ホストのリソースを複数の仮想マシンに分割することを意味し、各仮想マシンは同じまたは異なる個別のオペレーティング システムを実行できます。ユーザーは 1 つの物理ホスト上で複数のアプリケーションを実行できますが、各オペレーティング システムは仮想化層によって提供される仮想ハードウェアのみを認識し、専用の物理ホスト上で実行されているように感じます。
  2. 隔離。分離とは、同じ物理ホスト上の仮想マシンが互いに分離されていることを意味し、1 つの仮想マシンのクラッシュや障害が同じ物理ホスト上の他の仮想マシンに影響を与えないことを意味します。また、物理リソースを制御してパフォーマンスを提供することもできます。仮想マシンごとに物理リソースの最小使用量と最大使用量を指定して、仮想マシンがすべての物理リソースを占有したり、同じシステム内の他の仮想マシンで使用可能な物理リソースがなくなったりすることがないようにすることができます。
  3. カプセル化。カプセル化とは、メモリ状態、BIOS 構成、CPU 状態、I/O デバイス状態などを含む仮想マシン全体をファイル システムに保存することを意味します。ユーザーは必要に応じてファイルをコピーするだけで仮想マシンをコピー、保存、移動できます。マシン内のデータ。
  4. ハードウェアに依存しません。ハードウェアの独立性とは、仮想マシンと物理ホストが互いに独立していることを意味します。仮想マシンは仮想化層上で実行され、仮想化層によって提供される仮想ハードウェアにのみアクセスできます。オペレーティング システムと物理ホスト間の制約が解消され、アプリケーションとオペレーティング システム。

仮想化テクノロジーには次のような利点があります。

  1. 物理リソースの効率的な使用。仮想化テクノロジーを使用すると、クラウド コンピューティング データ センターの物理ホストで複数の仮想マシンを実行し、物理リソースのマルチテナント共有を実現できるため、物理ホストの使用率が向上し、ハードウェアの総コストが削減されます。
  2. 耐障害性が向上します。仮想マシンをあるノードから別のノードに移行して、無停止で動作させることができます。物理ホスト、オペレーティング システム、またはアプリケーションに障害が発生した場合、仮想マシンを別の物理ホストに移行して実行を継続できます。
  3. 使いやすさを向上させます。Web サービス、電子メール サービス、およびデータベース サービス プログラムが同じ物理ホスト上で実行されている場合、あるアプリケーションが別のアプリケーションに干渉し、システムのクラッシュを引き起こす可能性があります。異なる仮想マシンを使用して異なるサービスをホストすると、アプリケーション間の相互干渉が軽減され、システムの可用性が向上します。
  4. サーバーの作成と管理を簡素化します。仮想化テクノロジーにより、ユーザーが使用できる仮想サーバーを作成するのに数分しかかかりません。対照的に、ユーザーが物理ホストを購入するコストは明らかにはるかに高く、オペレーティング システムとアプリケーションのインストールには非常に時間がかかります。また、数十の物理ホストよりも数十の仮想サーバーを管理する方が簡単です。
  5. システムのエネルギー消費を節約します。クラウド コンピューティング システムは、仮想化技術に基づいて、クラウド コンピューティング データセンターのさまざまなリソースを統合された仮想リソース プールに統合し、異なる物理ホストに仮想マシンを展開して、大規模な物理リソースの効果的かつ統合的な管理と管理を実現します。物理ホスト上に仮想マシンを適切に展開し、仮想マシンの動的移行テクノロジーを使用することで、仮想マシンを集約してアイドル状態のデータ ノードをシャットダウンすることができ、必要な物理ホストの数を最小限に抑えながら現在の負荷要件を満たし、エネルギー消費を削減できます。クラウド コンピューティング データ センターの品質が保証され、QoS とサービス レベル アグリーメント (サービス レベル アグリーメント、SLA) が保証されます。

2. コピー前のメモリ情報の移行プロセスについて簡単に説明してください。

答え:

  1. 移住前。移行ターゲットとしてターゲット ホストを選択します。
  2. リソースを予約します。移行リクエストを移行先ホストに送信し、必要なリソースが移行先ホストに存在するか確認します。
  3. プレコピー。仮想マシンのすべてのメモリ ページをソース ホストからターゲット ホストにコピーします。
  4. 繰り返しコピーします。前のラウンドで変更され、現在のラウンドではまだ変更されていないページをターゲット ホストに繰り返しコピーします。
  5. ダウンタイムレプリケーション。仮想マシンの残りの非同期メモリ ページと仮想マシン システムの実行情報をターゲット ホストにコピーします。
  6. 起動。移行された仮想マシンをターゲット ホストで起動します。

3. vSphere 仮想化ソフトウェアは、VMotion テクノロジーを通じてどのような問題を解決できますか?

答え:

vSphere 仮想化ソフトウェアは、VMotion テクノロジーを使用して、サーバーのメンテナンスやアップグレードが必要な場合に仮想マシンを他のサーバーに動的に移行し、メモリ レプリケーション テクノロジーによって各仮想マシンの外部サービスを確保し、「物理ハードウェアは停止、アプリケーションは停止しない」を実現します。サーバーに障害が発生した場合でも、仮想マシンの安定性を確保するために、時間内に他のサーバー上で仮想マシンを再度有効にすることができます。

4. コンテナと仮想マシンのテクノロジーを、原理、リソース管理、起動時間、リソース占有、セキュリティ、展開の観点から簡単に比較してください。

答え:

容器

仮想マシン

原理

カーネルをホストと共有し、すべてのコンテナがコンテナ エンジン上で実行され、コンテナには独立したオペレーティング システムがなく、すべてのコンテナがオペレーティング システムを共有し、プロセス レベルで分離されます。

各仮想マシンは仮想ハードウェア上に構築され、命令レベルの仮想化を提供し、各仮想マシンは独立したオペレーティング システムを備えています。

資源管理

柔軟なリソース割り当て。コンテナを閉じずにリソースを追加でき、データ ボリュームのサイズを再割り当てする必要はありません。

仮想マシンを再起動する必要があり、仮想マシンのオペレーティング システムは、ディスクの再パーティション化など、新しく追加されたリソースを処理する必要があります。

始まる時間

もっと早く

もっとゆっくり

リソースの使用量

コンテナーに必要なリソースは少なくなります。コンテナはオペレーティング システム レベルで仮想化され、パフォーマンスをほとんど損なうことなくカーネルと対話します。コンテナーは軽量であり、コンテナーのアーキテクチャにより、カーネルの共有とアプリケーション ライブラリの共有が可能になり、占有メモリが非常に少なくなります。同じハードウェア環境では、コンテナ内で実行されるイメージの数が仮想マシンの数よりもはるかに多く、システムの使用率が非常に高くなります。

仮想マシンはハイパーバイザー層とカーネル層で仮想化されます。これはコンピュータを仮想化するのと同じであり、より多くのリソースを消費します。

安全性

コンテナは安全性が低くなります。コンテナのユーザーの root 権限はホストマシンの root 権限と同じであり、コンテナ内のユーザーが通常のユーザー権限から root 権限にアップグレードされると、直接ホストマシンの root 権限を持ちます。

仮想マシン ユーザーの root 権限とホスト マシンの root 権限は分離されており、仮想マシンはハードウェア分離テクノロジーを使用しているため、仮想マシンがホスト マシンの root 権限を突破して相互に対話することを防ぐことができます。

配備

コンテナーの作成は第 2 レベルにあり、その反復処理が高速であるため、開発、テスト、デプロイメントにかかる時間を大幅に節約できます。

仮想マシンはミラーリングによって環境配信の一貫性を実現できますが、ミラーリング分散をシステム化するのは困難です

5. Docker がユーザー アプリケーションにもたらす利点を簡単に説明してください。

答え:

  1. 構成を簡素化します。Docker は実行中のデプロイメント構成を簡素化し、同じ構成をさまざまな環境に適用できるため、ハードウェア要件とアプリケーション環境間の結合度が軽減されます。
  2. コードパイプライン管理。開発者のデバイスから本番環境への最終デプロイメントに至るまで、コードはさまざまな中間環境を経由する必要がありますが、Docker は開発から起動まで一貫した環境をアプリケーションに提供し、コードがパイプライン管理を実現できるようにします。
  3. サーバーリソースを統合します。Docker はサーバー リソースを効果的に統合できるため、複数のコンテナ インスタンスがアイドル状態のリソースを効果的に共有できるようになり、仮想マシンよりも優れたリソース統合パフォーマンスを実現します。
  4. マルチユーザーのサポート。Docker は、各ユーザーの複数のアプリケーション層インスタンス用に分離された環境を作成し、Docker の軽量性を使用してリソースの共有とサーバー上の複数のユーザー コンテナーの同時操作をサポートできます。
  5. 迅速な展開。仮想マシンが登場する前は、新しいハードウェア リソースの導入に数日かかっていましたが、仮想化テクノロジーによりこの時間が数分に短縮され、Docker によりオペレーティング システムを起動せずにプロセス用のコンテナが作成され、この時間が再び数秒に短縮されました。

2.4 質問に答える

1. CPU 仮想化と CPU ハードウェア支援仮想化のプロセスを分析してください。

答え:

X86 システムの CPU 命令セットには 4 つの CPU 許可レベル (Ring0、Ring1、Ring2、Ring3) が用意されており、Ring0 が最も高いレベル、Ring3 が最も低いレベルです。オペレーティング システムがハードウェアとメモリに直接アクセスするには、そのコードが最上位レベルの Ring0 で実行される必要があり、アプリケーション コードは最下位レベルの Ring3 で実行されます。ハードウェアやメモリにアクセスし、デバイス アクセス、ファイルの読み取りと書き込みなどの操作を実行する場合は、関連するシステム コールを実行して CPU の動作レベルを Ring3 から Ring0 に切り替え、操作の完了後に元に戻す必要があります。VMM は基本的に、Ring0 で実行されるホスト OS、Ring1 で実行されるゲスト オペレーティング システム、および Ring2 および Ring3 で実行されるその他の上位層アプリケーションです。

CPU 仮想化のパフォーマンスを向上させるために、CPU ハードウェア支援仮想化には、リング モードに基づく新しいモード、つまり仮想マシン拡張 (Virtual Machine Extension、VMX) モードが導入されています。VMX モードには、ルート操作 (VMX Root Operation) モードと非ルート操作 (VMX Non-Root Operation) モードがあり、どちらのモードにも Ring0 から Ring3 までの権限レベルがあるため、アプリケーションを説明する際には、どの権限レベルかを記述することに加えて、それが属しているか、また、動作モードが root であるか非 root であるかを示します。VMX モードを導入する利点は、ゲスト オペレーティング システムが Ring0 上で実行されることです。つまり、そのコア命令をハードウェア層に直接送信して実行できる一方で、特権命令などの機密性の高い命令の実行は VMM に直接切り替えられることになります。ハードウェア支援による実行用。自動的に実行されるため、アプリケーションは認識せず、パフォーマンスが向上します。

2. ビデオ サービス Web サイトは、仮想化されたクラウド コンピューティング プラットフォームに基づいてビデオ サービスを提供します。ユーザーが動画を視聴中に、動画サービスを提供するサーバーに障害が発生しても、ユーザーには影響がなく、サービスが中断されることなく、スムーズに動画を視聴し続けていると仮定して、どのような可能性があるかを分析してください。理由。

答え:

上図に示すように、ユーザーはネットワーク経由でサーバー 1 の仮想マシン 1 でストリーミングビデオを視聴していますが、サーバー 1 または仮想マシン 1 に問題が発生した場合、仮想マシンを移行して仮想マシンを新しいサーバーに変換する必要があります。仮想化されたイメージファイル。移行戦略に従って、仮想マシンを移行するターゲット ホストとしてサーバー 2 が選択され、仮想化イメージ ファイルがコピーされるため、移行プロセス中にユーザーはサービスの中断に気づきません。

3. ユーザー A が Docker で docker pull、docker run、docker build、docker Push の 4 つのコマンド ラインを連続して実行すると、ダウンロードされたイメージには古いバージョンの Mysql データベース ソフトウェアが付属しており、その後、ユーザー B は同じ開発プログラムを使用したいと考えています。ユーザーAの環境として、コマンドラインの実行プロセス、プロセス内のDocker関連コンポーネントの連携プロセス、ユーザーBが実行すべきコマンドを記述してください。

答え:

docker pull: 指定されたイメージ ファイルをリモート ウェアハウス (Docker Hub など) からローカル サーバーにダウンロードします。

docker run: ウェアハウスからダウンロードしたイメージ ファイルを実行し、対応するコンテナーを作成します。

docker build: 作成したコンテナーで、Mysql データベース ソフトウェアを更新し、新しいイメージにパッケージ化します。

docker Push: 作成したイメージをウェアハウスにアップロードします。

ユーザーBは、ユーザーAがアップロードしたイメージファイルをdocker pullを実行してダウンロードし、docker runを実行してコンテナを作成します。

おすすめ

転載: blog.csdn.net/m0_63394128/article/details/126567928
おすすめ