KVM on KVM ネストされた仮想化実装

KVM on KVM ネストされた仮想化実装

実験システム環境は、Mac OS X El Capitan 10.11.6 15G1217です。

使用される仮想マシンシステム: Parallels Desktop 12

仮想化技術: ネスト型仮想化技術 + PMU 仮想化技術

L0: Ubuntu 16.04.1 Xenial LTS デスクトップ

L1: CentOS 6.4 デスクトップ

L2: Cirros Linux 0.3.5

まず、L2 レベルの仮想マシンのシステム イメージを準備する場合は、Ubuntu 公式サイトで提供されているクラウド イメージを参照できます。リンクは次のとおりです: https://cloud-images.ubuntu.com/?_ga=1.222879259.1831544656.1487263184

まず、物理マシン上で scp コマンドを使用して、L2 仮想マシンに必要な img イメージ ファイルを L0 に転送します。コマンドと効果の図を図に示します。

  1. ​scp xenial-server-cloudimg-amd64-disk1.img [email protected]:~/

現在の仮想マシンにブリッジがない場合は、仮想マシンがインターネットに接続できるようにブリッジを構成する必要があります。前回の実験はすでに設定されているため、関連するコマンドのみがここに記述されています。

  1. #root@master:~# brctl addbr br0 #仮想ブリッジを追加する br0
  2. #root@master:~# brctl addif br0 enp0s5 #br0にインターフェースeth0を追加します
  3. #root@master:~# brctl stp br0 on #STPプロトコルをオンにします。そうしないとループが発生する可能性があります
  4. #root@master:~# ifconfig enp0s5 0 #eth0のIPを0に設定
  5. #root@master:~# dhclient br0 #br0 の IP、ルートなどの動的設定を設定します
  6. #root@master:~# route #ルーティングテーブル情報を表示
  7. #root@master:~# brctl show #br0 のステータスを確認する

効果図は以下のとおりです

同様に、前の実験が完了すると、qemu_ifup 起動スクリプトは、起動時に仮想マシンが接続するための指定された TAP インターフェイスを作成して開きます。起動スクリプトの主なアルゴリズムとプログラム リストを参照してください。

次に、次のコマンドで L1 仮想マシンを起動できます。

  1. qemu-system-x86_64 –cpu qemu64,+vmx -m 1024 -smp 4 -boot order =d -hda rhel-6.4.img -net nic -net tap

仮想マシンを起動すると、図に示すように次のようになります。

図に示すように、L1はL0上で正常に実行されました。

まず、qemu、kvm、libvirt、libvirt-python をインストールします。コマンドは次のとおりです。

  1. yum install qemu-kvm libvirt libvirt-python virt-manager python-virtinst libvirt-client

インストールが完了したら、次のコマンドを実行して、kvm が正常にインストールされたかどうかを確認します。

  1. ​lsmod | grep kvm && stat /dev/kvm

上図の通り、インストールは成功しました。インストールが成功したら、L1 によって作成された L2 仮想マシンがインターネットにアクセスできるように L1 ブリッジを構成する必要があります。コマンドは上記と同じです:

  1. #root@master:~# brctl addbr br0 #仮想ブリッジを追加する br0
  2. #root@master:~# brctl addif br0 enp0s5 #br0にインターフェースeth0を追加
  3. #root@master:~# brctl stp br0 on #STPプロトコルをオンにします。そうしないとループが発生する可能性があります
  4. #root@master:~# ifconfig enp0s5 0 #eth0のIPを0に設定
  5. #root@master:~# dhclient br0 #br0 の IP、ルートなどの動的設定を設定します
  6. #root@master:~# route #ルーティングテーブル情報を表示
  7. #root@master:~# brctl show #br0 のステータスを確認する

次に、次のコマンドを使用して、イメージ ファイルを L0 から L1 にコピーします。

  1. scp cirros-0.3.5-x86_64-disk.img [email protected]:~/

転送が完了すると、次のように表示されます。

次に、L1 で L2 仮想マシンを起動できます。コマンドは次のとおりです。

  1. qemu-system-x86_64 -smp 4 -m 256 -boot order =d -hda cirros-0.3.5-x86_64-disk.img -net nic -net tap -enable-kvm

起動が成功すると、L2 仮想マシンが正常に起動されたことがわかります。そして、L2 仮想マシンは Baidu に ping してインターネットにアクセスできます。この時点で、KVM ネストされた仮想化上の KVM の実装は完了です。

CentOS 6.4 では、仮想マシンを起動すると、libdevmapper ライブラリでエラーが発生します。エラーメッセージは次のとおりです。

libvirtd: 再配置エラー: libvirtd: シンボル dmtaskgetinfowithdeferredremove、バージョン Base がリンク時参照のファイル libdevmapper.so.1.02 で定義されていません

解決策: yum -y upgrade device-mapper-libs

仮想マシンの起動時に次の問題が発生した場合、問題は次のように説明されます。

エラー: 内部エラー: QEMU コマンド 'cont' を実行できません: 仮想マシンをリセットする必要があります

システムに vmx があるかどうかを確認します: cat /proc/cpuinfo | grep vmx

vmx がない場合は、-enable-kvm オプションをオンにする必要があります。

vmx がある場合は、仮想マシンを再起動するだけです。

<<:  NewSQL + MySQL 分散データベースを構築するにはどうすればいいですか?

>>:  エッジ コンピューティング/フォグ コンピューティングとそれが CDN プロバイダーにとって何を意味するのか?

推薦する

ソーシャルメディアのマーケティング目標についての簡単な説明

ソーシャル メディア マーケティング キャンペーンを開始する前に、目標を明確に定義し、何を達成したい...

SEO トレーニング機関がますます増えている中で、私たちはどこへ向かうべきでしょうか?

市場における SEO トレーニング組織の数の増加に直面して、多くの初心者ウェブマスターは非常に困惑し...

検索エンジンで最も安全なウェブサイトのトラフィック構造とはどのようなものでしょうか?

SEOを行う人は、検索エンジンを使い、そして検索エンジンを排除する必要があります。この文は、検索エン...

Justhost - 無制限の cPanel ホスティング/無料ドメイン/$33/年払い/ロサンゼルス データ センター

justhost の夏休みプロモーションで、価格が月額 2.75 ドルに値下げされました。justh...

「6月22日と6月28日の事件に対する百度の対応」についての考察

「6月22日と6月28日の事件に対する百度の対応」についての考察6月22日と6月28日の事件以来、百...

海剛:Qire123のSEO事例分析

ご存知のとおり、映画ウェブサイトのトラフィックは膨大です。私たち草の根ウェブマスターにとって、大量の...

経験豊富なウェブマスターとネットワークマーケティングトレーナーが推奨する10の方向性

2002 年にインターネット業界で働き始めて以来、私は 100 以上の Web サイト構築プログラム...

さようなら、カフカ!さようなら、RocketMQ!

Pulsar は、2016 年に Yahoo によってオープンソース化され、2018 年にトップレベ...

ウェイライ、シャオペン、ジーリーがクロスオーバーフォークに到達

現在、国内の自動車業界全体が徐々に再編の加速期に入っており、大手自動車メーカーはさらなる市場シェア獲...

100万人の開発者にサービスを提供し、Tencent Cloudネイティブ製品API呼び出しは1日あたり100億回を超える

テンセントクラウドの劉宇紅副社長は7月31日、2020年クラウドネイティブテクノロジーカンファレンス...

バッチ ETL は終わり、Kafka がデータ処理の未来となるのでしょうか?

QCon San Francisco で、Neha Narkhede 氏は「ETL は終わり、リアル...

Infrastructure as Code (IaC) に注意を払わないと、失敗します。

[[406325]]これまで、IT インフラストラクチャの管理は困難な作業でした。システム管理者は、...

ブロックチェーン技術はクラウドコンピューティングの将来のトレンドに統合される

ブロックチェーンの数多くの利点により、既存のテクノロジーが直面しているボトルネックの問題を効果的に解...

SEO トレーニング市場にはさまざまな意見があります。誰を信じるべきでしょうか?

昨今、ウェブマスターの数は急増しており、誰もが複数のウェブサイトを所有しています。このような競争の激...

Linux 4.1カーネルのホットパッチ実装に成功

当初、同社の運用および保守担当者は、一部のホスト マシン上のプロセスの CPU 使用率が異常に高いと...