KVMの概念、アーキテクチャ、機能、一般的なツール、仮想化の展開に関する詳細な説明

KVMの概念、アーキテクチャ、機能、一般的なツール、仮想化の展開に関する詳細な説明

[[326014]]

概要

一般的に、仮想化には 2 つのタイプがあります。

ハイパーバイザーはホストのロジックに直接インストールされます。

  • ハイパーバイザーは物理マシンに直接インストールされ、複数の仮想マシンがハイパーバイザー上で実行されます。
  • ハイパーバイザーの実装は通常、特別にカスタマイズされた Linux システムです。 Xen と VMWare の ESXi はどちらもこのタイプに属します。

KVM の概念

KVM はカーネルベースの仮想マシンの略です。これは、Linux をハイパーバイザーに変換する Linux カーネル モジュールです。

これは、2008 年に Red Hat に買収された Quramnet によって開発されました。x86 (32 ビットおよび 64 ビット)、s390、Powerpc などの CPU をサポートし、Linux 2.6.20 以降では Linux カーネルにモジュールとして組み込まれています。

ただし、KVM には仮想化拡張機能をサポートする CPU が必要です。

KVM アーキテクチャ

KVM は、仮想化拡張機能 (Intel VT または AMD-V) を備えた X86 ハードウェアに基づくオープンソースの Linux ネイティブ完全仮想化ソリューションです。 KVM では、仮想マシンは通常の Linux プロセスとして実装され、標準の Linux スケジューラによってスケジュールされます。仮想マシンの各仮想 CPU は、通常の Linux プロセスとして実装されます。これにより、KMV は Linux カーネルの既存の機能を使用できるようになります。

ただし、KVM 自体はハードウェア エミュレーションを実行しないため、クライアント スペース プログラムが /dev/kvm インターフェイスを介してクライアント仮想サーバーのアドレス空間を設定し、シミュレートされた I/O を提供し、ビデオ ディスプレイをホストのディスプレイにマップし直す必要があります。現在このアプリケーションは QEMU です。

Linux 上のユーザー空間、カーネル空間、仮想マシン:

KVM アーキテクチャ

例:

  • ゲスト: CPU (vCPU)、メモリ、ドライバー (コンソール、ネットワーク カード、I/O デバイス ドライバーなど) を含むクライアント システムは、KVM によって制限された CPU モードで実行されるように配置されます。
  • KVM: カーネル空間で実行され、CPU とメモリの仮想化、およびクライアント I/O インターセプションを提供します。ゲストの I/O が KVM によってインターセプトされた後、処理のために QEMU に渡されます。
  • QEMU: ユーザー空間で実行され、ハードウェア I/O 仮想化を提供し、IOCTL /dev/kvm デバイスを介して KVM と対話する、KVM 仮想マシン用に変更された QEMU コード。

KVM の機能

KVM でサポートされる機能は次のとおりです。

  • CPUとメモリのオーバーコミットをサポート
  • 準仮想化 I/O (virtio) のサポート
  • ホットプラグをサポート(CPU、ブロックデバイス、ネットワークデバイスなど)
  • 対称型マルチプロセッシング(SMP)をサポート
  • ライブマイグレーションをサポート
  • PCIデバイスの直接割り当てとシングルルートI/O仮想化(SR-IOV)をサポート
  • カーネル同一ページマージ (KSM) をサポート
  • NUMA (非均一メモリアクセス) をサポート

KVM 共通ツール

ここでは、KVM の一般的なツールについて簡単に紹介します。

libvirt: KVM 仮想マシンを操作および管理するための仮想化 API。これは C で書かれており、Python、Ruby、Perl、PHP、Java などの言語から呼び出すことができます。 KVM、vmware、XEN、Hyper-v、LXC などのハイパーバイザーを操作できます。

Virsh: libvirt ベースのコマンドライン ツール (CLI)

Virt-Manager: libvirt をベースにした GUI ツール

virt-v2v: 仮想マシンフォーマット移行ツール

virt-*ツール: Virt-install (KVM仮想マシンを作成するためのコマンドラインツール)、Virt-viewer (仮想マシン画面に接続するためのツール) など

  1. grep -E '(vmx|svm)' /proc/cpuinfo

画面を開閉するツール)、Virt-clone(仮想マシンのクローン作成ツール)、virt-topなど。

sVirt: セキュリティツール

kvmをインストールする

1. システムが仮想化をサポートしているかどうかを確認する

  1. grep -E '(vmx|svm)' /proc/cpuinfo

2. ソフトウェアをインストールする

  1. --CentOSの最小インストールではいくつかの基本パッケージがインストールされます 
  2. yum インストール epel-release net-tools vim 解凍 zip wget ftp -y
  3. --centos6  
  4. yum groupinstall "仮想化"   「仮想化クライアント」   「仮想化プラットフォーム」   「仮想化ツール」 -y
  5. --centos7  
  6. yum インストール *qemu* *virt* *kvm* -y

3. サービスを開始する

  1. /etc/init.d/libvirtd を起動

4. kvm モジュールのロードを確認します。

  1. lsmod | grep kvm
  2. kvm_intel 53484 3
  3. kvm 316506 1 kvm_intel

5. kvmをアンインストールする

  1. yum で rpm -qa を消去します | egrep '(qemu|virt|kvm)' `
  2. rm -rf /var/lib/libvirt /etc/libvirt/

6. 接続プールを作成する

  1. 1. フォルダベースのストレージプール(ディレクトリ)を作成する
  2. mkdir -p /data/vmfs
  3. 2. ストレージプールとそのディレクトリを定義する
  4. virsh pool-define- as vmdisk --type dir --target /data/vmfs  
  5. 3. 定義済みのストレージプールを作成する
  6. (1)定義済みのストレージプールを作成する
  7. virsh プールビルド vmdisk
  8. (2)定義されたストレージプールを確認します。ストレージ プールはアクティブ化されていない場合は使用できません。
  9. virsh プールリスト--all  
  10. 4. 定義されたストレージプールをアクティブ化し、自動的に起動する
  11. virsh プール開始 vmdisk
  12. virsh プール自動起動 vmdisk
  13. ここで vmdisk ストレージ プールが作成され、このストレージ プール内に仮想ディスク ファイルを直接作成できます。
  14. 5. ストレージプールに仮想マシンストレージボリュームを作成する
  15. (1)ストレージプールに仮想マシンストレージボリュームを作成する
  16. virsh vol- create - as vmdisk oeltest03.qcow2 20G --format qcow2  
  17. (2)作成した仮想マシンストレージボリュームに基づいて仮想マシンをインストールする
  18. virt-install --name=oeltest03 --os-variant=RHEL6 \  
  19. --ram 1024 --vcpus=1 --disk パス=/data/vmfs/oeltest03.qcow2, \  
  20. フォーマット=qcow2、サイズ=20、バス=virtio --accelerate --cdrom \  
  21. /data/iso/oel63x64.iso --vnc --vncport=5910 \  
  22. --vnclisten=0.0.0.0 --ネットワーク ブリッジ=br0,モデル=virtio --noautoconsole  

<<:  Kafka と Redis のそれぞれの利点と欠点をご存知ですか?この記事はあなたの選択を最適化するのに役立ちます

>>:  Alibaba Cloud の自社開発データベース AnalyticDB が TPC-DS の世界記録を更新

推薦する

プラットフォーム・アズ・コードの未来はKubernetes拡張機能

翻訳者 |李睿校正:孫淑娟コードとしてのインフラストラクチャ: その起源近年、Docker の登場と...

百度は再び地域SEOを狙うために剣を抜く

ウェブマスターは、6 月 22 日と 6 月 28 日の Baidu の大惨事を経験したばかりです。...

トラフィック価値を活性化するために、コダックとXiaomiがマーケティングの未来について議論

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています6月26日...

タオバオが様相を変え、ソーシャルショッピングガイドサイトになる

最近、百度で美麗碼や莫孤街などのキーワードを検索すると、広告欄に淘宝網の子会社である易淘.comが表...

垂直B2Cの生死の瞬間:TmallとJD.comに圧迫され、来年は最も困難な時期

【はじめに】垂直電子商取引は100メートル短距離走というよりマラソンのようなもので、規模を追求するゲ...

virmach: 25% 割引コード/KVM 年間支払いはわずか 7 ドル/Windows は無料

Hostcat は virmach.com の所有者に virmach VPS の特別割引コードをい...

サーバーレスクラウド開発の高度なアプリケーションを紹介する記事

以前、アプリケーションにクラウド関数を作成し、そのクラウド関数を Express と統合し、クラウド...

北京市民は「北京政府サービス」アプレットを使用して1,000以上のサービスを処理できます。

現在までに、「北京政府サービス」ミニプログラム(「北京通」ミニプログラム)のサービス項目数は1,00...

インフルエンサーがライブ配信で商品を販売するための10のポイント!

インターネットセレブによるライブストリーミングは、強力なインタラクティブ性とリアルタイムのフィードバ...

胡先東氏が検索最適化の実用化について語る

5月25日、厦門でグローバル検索エンジン戦略会議が開催されました。Yousou Technology...

装飾会社のウェブサイト最適化の簡単な分析

国慶節のゴールデンウィークが近づいています。この一週間の休日を待つのは特に辛いですか? SEO 最適...

モバイルウェブサイトを最適化する際に注意すべき11のこと

オンライン マーケティングに携わる人々は、モバイル インターネット マーケティングが大きなトレンドで...

タオバオの技術発展レビュー(VI):Java時代:技術の創造

タイルTFSの開発により、Taobaoの画像機能がフル活用できるようになりました。 TFS と同様に...

2019 年はなぜクラウド ネイティブにとって重要な年なのでしょうか?

「将来のソフトウェアはクラウド上で成長する必要がある」というのが、クラウド ネイティブ コンセプトの...