I.概要
仮想化の動機:
従来の「煙突」データセンターの欠陥:平均使用率が低い、アプリケーションの展開長い期間、IT管理、コスト圧力です。
なぜ我々は、仮想化技術が必要なのです。
オペレーティングシステムとハードウェアの緊密な結合を壊す1、仮想マシンによって提供される2リソースは、分離故障; ..ソフトウェアの独立した仮想マシンとの間の3; 4ハードウェアに依存しない仮想マシン、ハードウェア上で実行することができます。
***仮想化技術:
1)リソース使用率改善:;マルチテナント共有ハードウェア環境遊休資源の合理的配分を、
2)信頼性向上の:高速なバックアップおよびリカバリ・システム・ソフトウェアでは、ハードウェア障害時に、簡単にHAサーバークラスタを展開。
3)自動管理が容易:設定、パッチ、メンテナンス時間の回復、増加のセキュリティ、隔離を減らします。
仮想化の定義:
コンピュータリソースの抽象メソッドを表し、あなたがアクセスする前に、リソースを使用して、仮想化による抽象抽象メソッド一貫性のあるリソースにアクセスすることができます。要約この方法は、構成、位置、または基礎となるリソースを達成するために、物理リソースに限定されるものではありません。
自然の仮想化:
仮想環境の外で実環境上のシステムやコンポーネントの実行を計算し、元のファイル名を指定して実行。仮想化技術では、複数のオペレーティングシステムを同時に実行することができ、かつ各OSは、仮想CPUまたは仮想ホスト上で実行されている各OSを実行している複数のプログラムがあります。
コア技術は、クラウドコンピューティングの仮想化技術です。
仮想化技術の基本的な要素
VM VM(仮想マシン)は完全に隔離された環境でソフトウェアシミュレーションを通じて、完全なコンピュータシステムを実行して、完全なハードウェアシステムの機能を指します。従来の仮想計算機システムは、インターネット上の既存の仮想レイヤVMM(仮想マシンモニタ)を追加することによって達成されます。
VMMは、ソフトウェアシステムである、あなたがより効率的に、隔離された環境のプログラムを維持することができます。VMM実際の資源管理コンピュータシステムの仮想マシンのためのインタフェースを提供します。
仮想化機能
1)区:単一の物理マシン上で複数のOSを実行して、サーバリソースの有効活用、高可用性をサポートすることは - クラスタパーティション間のバランス(負荷、Shuangjirongcuo)を形成することができます
2)分離:ハードウェアレベル、システム障害やセキュリティの脅威からの単離、CPU、メモリ、仮想マシン間の他のシステムリソースの動的割り当ては、そのサービスが利用可能であることを確認します。
3)パッケージ:仮想マシンのスナップショットの準備ができ、ハードウェアに依存しないコンフィギュレーションファイルを使用して、仮想マシンにパッケージ。
VMMの実装技術
A、CPUの仮想化
特権命令:唯一のカーネルモードでのプロセッサの命令実行、主にシステム資源を割り当てて管理します。あなたはユーザーモードで実行している場合、特権命令例外が発生し、プロセッサはカーネルモードに分類されます、システムのソフトウェア処理に言及しました。
第二に、メモリの仮想化
それは、実際の物理アドレスではなく、「偽」物理アドレスVMM管理で、ゲスト物理アドレス空間 - メモリの仮想化は、アドレス空間の新しいレイヤーを導入します。
メモリの仮想化、次の二つの質問のための主なタスク:
ホストの物理アドレスとクライアントの物理アドレスとの間のマッピングを達成し、維持するために、1)仮想アドレス空間。
2)物理アドレスに変換し、ホスト物理アドレスへのクライアントアクセス、およびマッピング関係をインターセプト。
三、I / O仮想化
I / O仮想化サーバーは、パフォーマンスと簡素化ハードウェア要件を向上させることができ、同時にサーバー上のI / O集中型の仮想マシンの最大数を増やすことができます。
I / O仮想化の3つの方法で:完全仮想化、準仮想化、ハードウェア支援による仮想化。
主流の仮想化ソフトウェア
KVM(カーネルベースの仮想マシン)は、オープンソースのシステムの仮想化モジュールで管理するために、Linuxの独自のスケジューラを使用します。長所:互換性のシンプル。KVMは、ハードウェア支援による仮想化技術である、より複雑なCPUとメモリの仮想化を担当しています。
ヴイエムウェア
ハードウェアの仮想化とOSの仮想化
ハードウェアの仮想化(ハイパーバイザー):仮想ハードウェアへのアクセスは、仮想ハードウェア、ホスト・オペレーティング・システムの複数のインスタンスを作成し、各ユーザーレビュー完全なオペレーティングシステムである必要があります。KVM、VMware社など。
システムの仮想化(コンテナ)動作時:アクセスする仮想OSを、複数の仮想OSインスタンスを作成し、物理サーバは、単一の、標準のOSカーネルを持っています。
Docker--オペレーティングシステムレベルの仮想化
ドッキングウィンドウは、開発者がアプリケーションをパッケージ化することができますオープンソースのアプリケーション・コンテナ・エンジンだけでなく、依存関係に移植コンテナであり、その後、任意の人気のLinuxマシンに投稿された、軽量コンテナベースの仮想化技術でありますソリューション。
ドッカーコアの問題は、ユーザが利用可能なハードウェアリソースのより経済的な使用は、より多くのリソースを計算するので、同様の機能を実現するためにLXC VMを使用することです。
カーネルネーム(名前空間):分離は、互いに独立して、すなわち、ユーザ間の分離の各インスタンスを達成します。
cgroup(コントロール):/クォータを達成測定限界は、システムは、コンテナリソースの使用を処理することができ、すなわち、ユーザの要求の各インスタンスは、そのコンピューティングリソースを提供することができ、リソース使用量を計量することができると述べました。
AUFS(連合ファイルシステム):移動性のために、サポートはインスタンスのユーザーが移動して再構築し、簡単にコピーすることができ、ある仮想ファイルシステムとファイルシステムの下で異なるディレクトリにマウントされます。
ドッカー3つのコア:ミラー(画像) - 実行、倉庫(リポジトリ) - - 容器(コンテナ)の構築流通
その中でも、ミラーはコンテナを作成するために使用することができ、Dockerfileを作成し、プルする方法がある。テンプレートから仮想マシンを作成することと同等ドッカーコンテナ、コンテナを開始することができ、起動、停止、削除、各コンテナはの安全性を確保するために、互いに分離されていますプラットフォーム、コンテナは、アプリケーションを実行するためのLinux環境の簡易版として見ることができます。
ドッカー倉庫は公共倉庫や民間倉庫の中に、画像ファイルを格納するための中心的な場所です。プッシュ:ミラー倉庫、プルへ:ミラーへの倉庫
クラウドリソース管理システムOpenStackの