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 つの基本的な質問

推薦する

グローバルクラウドコンピューティング導入を検討するための10のガイドライン

[[356853]]グローバル市場への認知度が高まるにつれ、ほとんどの組織はコストを削減し、市場投入...

Semrush、Ahrefs、Moz の 3 つの SEO ツールのうちどれが優れているでしょうか?

私はこれら 3 つのツールをすべて使用しました。Mozは最も古いツールで、 2004 年にリリース...

「盲目的に走った51クレジットカード」は「存亡の危機」から逃れられない

10月21日、51クレジットカードが突然大手メディアの見出しを飾りました。浙江省警察は数百人の警官を...

Baidu URL送信チャネルツールのアップグレードによってウェブマスターにもたらされた啓蒙について話す

9月6日午後5時、百度は「URL送信チャンネルツールの新アップグレード」に関する新たな発表を発表しま...

マーチャントコレクション: US VPS、Alipay決済

海外の VPS、特にアメリカの VPS を購入する場合、クレジットカードと PayPal がないと購...

合理的な方法でウェブサイトの重複を減らす方法

ウェブサイト上での重複が多すぎると、検索エンジンが盗作や模倣と誤認する可能性があります。今年 6 月...

質の高い情報が基礎であり、ユーザーに支払いを促すことが鍵となる

ウェブサイトにとって、運営の最終目標は、ユーザーがウェブサイトで消費できるようにすることです。直接消...

ウェブサイト最適化担当者は、最適化タスクを実行する際にどのような基準に従う必要がありますか?

SEO を必要とする企業や事業所がますます増えているため、現在の SEO 業界は混乱状態にあります。...

ウェブサイトのページコンテンツの最適化

1. キーワード分析:ユーザーの検索行動を分析し、検索エンジン最適化 (SEO) や検索エンジン入札...

新しい消費者市場における6つの主要なトレンド

不安定な過去に別れを告げ、新年を迎えたが、インターネット大手の日々は良くなる気配がない。百度のライブ...

苦労して得たPR価値を大切にし、最適化をさらに進めましょう

筆者はPR値の高いウェブサイトをとても羨ましく思っており、かつてはPR値の高いウェブサイトと交換した...

入札ウェブサイトがますます増える中、ウェブマスターは何をすべきでしょうか?

数年前、多くのウェブマスターは入札について何も知りませんでした。しかし、今はどうでしょうか?大小さま...

なぜ多くの SEO 担当者は一生懸命働いているのに、低い給料しかもらえないのでしょうか?

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

エンタープライズSEOでトラフィックを分散させる方法についての簡単な説明

当社は、かなり長い間、企業ウェブサイトの最適化に取り組んできました。企業ウェブサイトの SEO 最適...