KVM仮想化の使用法の詳細な説明

KVM仮想化の使用法の詳細な説明

KVM の紹介

Kernel-based Virtual Machine の略称は、Linux 2.6.20 以降のすべての主要な Linux ディストリビューションに統合されているオープン ソース システム仮想化モジュールです。

KVM 仮想化には、ハードウェア サポート (Intel VT テクノロジーや AMD V テクノロジーなど) が必要です。ハードウェアに基づいて完全に仮想化されています。

仮想化はクラウド コンピューティングの基盤です。仮想化により、1 台の物理サーバー上で複数の仮想マシンを実行できるようになります。仮想マシンは物理マシンの CPU、メモリ、および IO ハードウェア リソースを共有しますが、論理的には仮想マシンは互いに分離されています。

一般的に物理マシンはホストマシン(ホスト)と呼ばれ、ホストマシン上の仮想マシンはクライアントマシン(ゲスト)と呼ばれます。

[[269100]]

仮想化の分類

仮想化には、タイプ 1 仮想化とタイプ 2 仮想化の 2 種類があります。

タイプ 1 仮想化

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

タイプ 2 仮想化

まず、Redhat、Ubuntu、Windows などの通常のオペレーティング システムを物理マシンにインストールします。ハイパーバイザーは OS 上のプログラム モジュールとして実行され、仮想マシンを管理します。 KVM、VirtualBox、VMWare Workstation はすべてこのタイプに属します。

理論上は:

タイプ 1 仮想化は一般にハードウェア仮想化機能を最適化し、タイプ 2 よりもパフォーマンスが高くなります。

タイプ 2 仮想化は、共通のオペレーティング システムに基づいているため、ネストされた仮想マシンをサポートするなど、より柔軟です。ネストとは、KVM 仮想マシン内で KVM を実行できることを意味します。

KVM を展開する

環境の準備

仮想化を有効にするには確認します

  1. [root@ken ~]# grep -E "(vmx)|(svm)" /proc/cpuinfo
  2. フラグ: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc art rep_good nopl tsc_reliable nonstop_tsc extd_apicid aperfmperf earlyfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw retpoline_amd vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap xsaveopt clzero irperf xsaveerptr ibpb arat nptsvm_lock nrip_save vmcb_clean flushbyasid デコードアシスト

ステップ1: 関連するソフトウェアをダウンロードする

  1. [root@ken ~]# yum install libvirt virt-install qemu-kvm -y

libvirt: KVM 管理ツール。 Libvirtは、バックグラウンドデーモンプログラムlibvirtd、APIライブラリ、コマンドラインツールvirshの3つで構成されています。

qemu-kvm: CPU、メモリ、IO 仮想化機能を提供する KVM および QEMU コア パッケージ

virt-install は、仮想マシンを作成し、libvrit API をサポートする KVM、Xen、またはその他のハイパーバイザーのゲスト OS のインストールを完了できるコマンドライン ツールです。

ステップ2: libvirtを起動する

  1. [root@ken ~]# systemctl libvirtdを再起動します

ステップ3: ディスクを作成する

  1. [root@ken ~]# qemu-img create -f raw /ken/centos7-x86_64.raw 10G
  2. '/ken/centos7-x86_64.raw'をフォーマットしています、fmt=rawサイズ=10737418240

ステップ4: 仮想マシンを作成する

  1. [root@ken ~]# virt-install --virt-type kvm --name Centos7-x86_64 --ram 1024 --cdrom=/tmp/CentOS-7.3-x86_64-Minimal-1511.iso --disk path=/ken/centos7-x86_64.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole  

注: 画像を/tmpディレクトリまたは他のディレクトリにアップロードする必要があります。上記で指定してください。

ステップ5: VNCを使用して素早く接続する

IPアドレス 仮想マシンのIPを入力してください

システムのインストールを開始する

カスタマイズされたシステム

インストールを開始

ステップ6: 作成した仮想マシンを表示する

[root@ken ~]# virsh list --all

ID 名前 州

- Centos7-x86_64 をシャットダウン

ステップ7: 仮想マシンを起動する

  1. [root@ken ~]# virsh を起動 Centos7-x86_64
  2. ドメイン Centos7-x86_64 が開始されました
  3. [root@ken ~]# virsh list --all  
  4. ID名前
  5. ----------------------------------------------------  
  6. 2台のCentos7-x86_64が稼働中

ステップ8: VNCを使用して再度接続する

これで、作成した仮想マシンにログインできます。

ステップ9: SSH接続

ホストに接続する

まず、新しく作成した仮想マシンのIPアドレスを確認します

ホスト接続

  1. [root@ken ~]# ssh 192.168.122.198
  2. ホスト「192.168.122.198 (192.168.122.198) 」の信頼性を確立できません。
  3. ECDSAキーのフィンガープリントSHA256:t+jpHwwHJk8mo2XZB93H9afhSVy7BCMvLsvqsUF+Obg です。
  4. ECDSAキーのフィンガープリントMD5:48:d5:9e:db:f8:bb:5e:56:c1:c8:1d:a2:4b:45:d6:fc です。
  5. 本当によろしいですか?  接続を続行しますか(はい/いいえ)?はい
  6. 警告: '192.168.122.198' (ECDSA)が既知のホストリスト永続的に追加されました
  7. [email protected]パスワード:
  8. 最終ログイン: 2019年3月18日月曜日 21:06:27
  9. [root@localhost ~]# ip a
  10. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue 状態 不明
  11. リンク/ループバック 00:00:00:00:00:00 brd 00:00:00:00:00:00
  12. inet 127.0.0.1/8 スコープ ホスト lo
  13. valid_lft 永久に preferred_lft 永久に
  14. inet6 ::1/128 スコープホスト
  15. valid_lft 永久に preferred_lft 永久に
  16. 2: eth0: <BROADCAST、MULTICAST、UP、LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
  17. リンク/イーサ 52:54:00:89:17:d7 brd ff:ff:ff:ff:ff:ff
  18. inet 192.168.122.198/24 brd 192.168.122.255 スコープグローバル 動的eth0
  19. 有効_lft 3510秒 推奨_lft 3510秒
  20. inet6 fe80::5054:ff:fe89:17d7/64 スコープ リンク
  21. valid_lft 永久に preferred_lft 永久に

仮想マシンへのログインとログアウト

***手順: 作成したKVM仮想マシンで次のコマンドを実行します

[root@localhost ~]# grubby --update-kernel=ALL --args="console=ttyS0"

ステップ2: KVM仮想マシンを再起動する

ステップ3: virshコンソールを使用して仮想マシンにログインする

virsh console仮想マシン名を実行する

  1. [root@ken ~]# virsh コンソール Centos7-x86_64
  2. ドメイン Centos7-x86_64接続しました
  3. 逃げる キャラクター  ^ ] #このステップでもう一度Enterキーを押します
  4. CentOS Linux 7 (コア)
  5. x86_64上のカーネル 3.10.0-327.el7.x86_64
  6. localhostログイン: root #ユーザーを入力
  7. パスワード: #パスワード
  8. 最終ログイン: 3月18日月曜日22:19:47 ttyS0
  9. [root@localhost ~]#

ステップ4: KVM仮想マシンを終了する

これらの 2 つのキーの組み合わせを押すには、Ctrl キーを押しながら括弧の右側を押します: Ctrl+]

  1. [root@ken ~]# virsh コンソール Centos7-x86_64
  2. ドメイン Centos7-x86_64接続しました
  3. 逃げる キャラクター ^]
  4. CentOS Linux 7 (コア)
  5. x86_64上のカーネル 3.10.0-327.el7.x86_64
  6. ローカルホストログイン: root
  7. パスワード:
  8. 最終ログイン: 3月18日月曜日22:20:44 ttyS0
  9. [root@localhost ~]#
  10. [root@ken ~]#

仮想マシンのクローン作成

ステップ1: 仮想マシンをシャットダウンする

  1. [root@ken ~]# virsh シャットダウン Centos7-x86_64
  2. ドメイン Centos7-x86_64 はシャットダウン中です
  3. [root@ken ~]# virsh list --all  
  4. ID名前
  5. ----------------------------------------------------  
  6. - Centos7-x86_64 をシャットダウン 

ステップ2: ディスクの場所を作成する

  1. [root@ken ~]# mkdir /ken/img

ステップ3: virt-cloneを使用して新しい仮想マシンを複製する

  1. [root@ken ~]# virt-clone -o Centos7-x86_64 -n centos7_test -f /ken/img/centos7_test.img
  2. 'centos7_test.img'を割り当てています| 10 GB 00:00:36
  3. クローン'centos7_test'が正常に作成されました。

ステップ4: 仮想マシンを確認する

  1. [root@ken ~]# virsh list --all  
  2. ID名前
  3. ----------------------------------------------------  
  4. - Centos7-x86_64 をシャットダウン 
  5. -centos7_test をシャットオフ 

ステップ5: 仮想マシンを起動する

  1. [root@ken ~]# virsh start centos7_test
  2. ドメイン centos7_test を開始しました
  3. [root@ken ~]# virsh list --all  
  4. ID名前
  5. ----------------------------------------------------  
  6. 3 centos7_test 実行中

ステップ6: 仮想マシンに入る

  1. [root@ken ~]# virsh コンソール centos7_test
  2. ドメイン centos7_test接続しました
  3. 逃げる キャラクター ^]
  4. CentOS Linux 7 (コア)
  5. x86_64上のカーネル 3.10.0-327.el7.x86_64
  6. ローカルホストログイン: root
  7. パスワード:
  8. 最終ログイン: 3月18日月曜日22:21:24 ttyS0
  9. [root@localhost ~]# ip a
  10. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue 状態 不明
  11. リンク/ループバック 00:00:00:00:00:00 brd 00:00:00:00:00:00
  12. inet 127.0.0.1/8 スコープ ホスト lo
  13. valid_lft 永久に preferred_lft 永久に
  14. inet6 ::1/128 スコープホスト
  15. valid_lft 永久に preferred_lft 永久に
  16. 2: eth0: <BROADCAST、MULTICAST、UP、LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
  17. リンク/イーサ 52:54:00:cc:69:f8 brd ff:ff:ff:ff:ff:ff
  18. inet 192.168.122.161/24 brd 192.168.122.255 スコープグローバル 動的eth0
  19. 有効_lft 3597秒 推奨_lft 3597秒
  20. inet6 fe80::5054:ff:fecc:69f8/64 スコープ リンク
  21. valid_lft 永久に preferred_lft 永久に

xshell 仮想マシンに接続する

これで、物理ホストは KVM 仮想マシンに ping を実行できなくなります。 KVM と通信できるのはホストのみです。

ステップ1: スクリプトを作成して実行する

  1. [root@ken ~]# cat bridg.sh
  2. #!/bin/bash
  3. brctl addbr br0 #ブリッジネットワークカードを作成する
  4. brctl addif br0 eth0 #eth0をbr0に追加
  5. ip a d 192.168.4.190/24 dev eth0 #eth0のIPアドレスを削除します
  6. ifconfig br0 192.168.4.190/24 up #br0ネットワークを開始
  7. ルート追加  default gw 1​​92.168.4.1 #ゲートウェイを追加

ステップ2: ネットワークを確認する

ステップ3: 外部ネットワーク接続をテストする

  1. [root@ken ~]# www.baidu.com にpingを実行します
  2. PING www.a.shifen.com (119.75.217.26) 56(84) バイトデータ。
  3. 119.75.217.26か​​らの64 バイト (119.75.217.26): icmp_seq=1 ttl=54 time =6.08 ms
  4. 119.75.217.26か​​らの64 バイト (119.75.217.26): icmp_seq=2 ttl=54 time =9.20 ms
  5. 119.75.217.26か​​らの64 バイト (119.75.217.26): icmp_seq=3 ttl=54 time =8.58 ms
  6. ^C
  7. --- www.a.shifen.com ping 統計 ---  
  8. 送信パケット 3 個、受信パケット 3 個、パケット損失 0%、時間6020 ミリ秒
  9. rtt最小/平均/最大/ mdev = 6.087/7.957/9.201/1.346 ミリ秒

ステップ4: 仮想マシンを編集する

次の3箇所を変更するだけです

  1. [root@ken ~]# virsh edit Centos7-x86_64

ステップ5: KVM仮想マシンを起動し、KVM仮想マシンに入ってネットワークカードを編集します。

物理ホストと同じネットワークセグメントにネットワークを構成する

  1. [root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
  2. TYPE = "イーサネット"  
  3. BOOTPROTO = "静的"  
  4. 名前= "eth0"  
  5. デバイス = "eth0"  
  6. ONBOOT = "はい"  
  7. IPアドレス=192.168.4.165
  8. ネットマスク=255.255.255.0
  9. ゲートウェイ=192.168.4.1
  10. DNS1=8.8.8.8
  11. [root@localhost ~]# systemctl ネットワークを再起動します

ステップ6: xshellがKVM仮想マシンに接続する

  1. 192.168.4.165:22接続しています...
  2. 接続が確立されました。
  3.  逃げる  ローカルシェルの場合は、 「Ctrl+Alt+]」を押します
  4. 警告!リモート SSH サーバーが X11 転送要求を拒否しました。
  5. 最終ログイン: 2019年3月18日月曜日 23:33:21
  6. [root@localhost ~]# ip a
  7. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue 状態 不明
  8. リンク/ループバック 00:00:00:00:00:00 brd 00:00:00:00:00:00
  9. inet 127.0.0.1/8 スコープ ホスト lo
  10. valid_lft 永久に preferred_lft 永久に
  11. inet6 ::1/128 スコープホスト
  12. valid_lft 永久に preferred_lft 永久に
  13. 2: eth0: <BROADCAST、MULTICAST、UP、LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
  14. リンク/イーサ 52:54:00:89:17:d7 brd ff:ff:ff:ff:ff:ff
  15. inet 192.168.4.165/24 brd 192.168.4.255 スコープグローバルeth0
  16. valid_lft 永久に preferred_lft 永久に
  17. inet6 fe80::5054:ff:fe89:17d7/64 スコープ リンク
  18. valid_lft 永久に preferred_lft 永久に

<<:  マルチクラウドをマスターするには、インクルージョンの文化が重要

>>:  クラウド ストレージ製品を審査する際に尋ねるべき 7 つの基本的な質問

推薦する

Cloudcone: イースター特別イベント、ロサンゼルスの VPS は年間 15 ドルから

Cloudcone は今年のイースター プロモーションで、年間 15 ドルという低価格の米国 VPS...

edgenat: 春に 30% 割引、VPS は 112 元/四半期から、香港 CN2、韓国 CN2 (ネイティブ IP)、米国 Unicom AS4837

edgenat では、春のプロモーションを実施しています。四半期ごとの支払いの場合は 30% オフ、...

Alibaba Cloud FeiTianが再び進化: 複数のコア、ローカルリージョン、コンピューティングネストを備えた1つのクラウド

5月28日、2021年クラウドサミットで、アリババクラウドの基本製品責任者である江江偉氏は、FeiT...

SEO初心者のためのウェブサイト最適化のボトルネックについての簡単な説明

私が SEO 業界に初めて参入した新人だった頃、多くの技術的な障害やボトルネックに遭遇しました。技術...

未来のクラウドコンピューティングソリューションを構築する方法

過去 10 年間で、多くの企業の IT 戦略は進化し、社内のリソースを厳密に保護することと、コンピュ...

将来、ウェブサイト間の究極の競争は、誰が最大のユーザーベースを持つかということになるでしょう。

ウェブサイトのキーワードランキングに影響を与える要因は多すぎます。ウェブサイトのキーワードランキング...

知らない外部リンクのポイント加算と減点の原則について簡単に説明します

外部リンクは古い話題です。最近、有名な大手ブログでこの話題についてみんなが議論しているのを見たので、...

Alibaba Cloudの技術専門家が世界最大のオープンソースコミュニティのApacheメンバーに選出

最近、世界最大のオープンソースコミュニティであるApache Software Foundation...

Weibo:マーケティングの王様から人気が落ちたのはなぜですか?

かつてWeiboに関する噂は多く、業界全体にさまざまな賞賛が広がっていました。Weiboの情報伝達効...

2023年までにK8Sを知らない場合は排除されます。飛び方をお見せしましょう

1. Kubernetesの利点と欠点1. Kubernetesの利点高可用性: Kubernete...

Godaddy - 初回注文で65%割引コード

Godaddy - 初回注文で 65% オフの割引コード、6 月 25 日に期限切れになります!左の...

新ブランドスナックのチャネルマーケティングのルール!

スナック菓子は昔から親しまれてきました。最近は、味も濃厚でパッケージも美しく、一流の支持を得ているス...

ソフト記事を書く際に注意すべき点

ソフト記事を初めて書く著者にとって、優れたソフト記事の書き方は確かに疑問です。高品質のソフト記事は、...

電子商取引代理店業界は資本化の「黄金時代」を先導したのでしょうか?

昨年のダブル11では、テンセントテクノロジーと共同で電子商取引代理業務に関するシリーズの最初の解釈を...