すでにUbuntu18.04でのOracleVirtualBoxのセットアップについて説明しました。 ヘッドレスサーバー。このチュートリアルでは、 KVMを使用してヘッドレス仮想化サーバーをセットアップする方法について説明します。 リモートクライアントからゲストマシンを管理する方法。ご存知かもしれませんが、KVM( K ernelベースのv irtual m achine)は、Linux用のオープンソースの完全仮想化です。 KVMを使用すると、任意のLinuxサーバーを数分で完全な仮想化環境に簡単に変換し、GNU / Linux、* BSD、Windowsなどのさまざまな種類のVMをデプロイできます。
ダウンロード -無料の電子書籍:「UbuntuがWindowsよりも優れている6つのこと」UbuntuでKVMを使用してヘッドレス仮想化サーバーをセットアップする
このガイドはUbuntu 18.04 LTSサーバーでテストしましたが、このチュートリアルは、Debian、CentOS、RHEL、ScientificLinuxなどの他のLinuxディストリビューションでも機能します。この方法は、グラフィカル環境を持たないLinuxサーバーで単純な仮想化環境をセットアップしたい場合に最適です。
このガイドでは、2つのシステムを使用します。
KVM仮想化サーバー:
- ホストOS -Ubuntu 18.04 LTS最小サーバー(GUIなし)
- ホストOSのIPアドレス :192.168.225.22 / 24
- ゲストOS (Ubuntu 18.04でホストする予定です):Ubuntu16.04LTSサーバー
リモートデスクトップクライアント:
- OS --Arch Linux
KVMのインストール
まず、システムがハードウェア仮想化をサポートしているかどうかを確認しましょう。これを行うには、ターミナルから次のコマンドを実行します。
$ egrep -c '(vmx|svm)' /proc/cpuinfo
結果がゼロ(0)の場合 、システムがハードウェア仮想化をサポートしていないか、BIOSで仮想化が無効になっています。 BIOSに移動し、仮想化オプションを確認して有効にします。
結果が1の場合 またはもっと 、システムはハードウェア仮想化をサポートします。ただし、上記のコマンドを実行する前に、BIOSで仮想化オプションを有効にする必要があります。
または、次のコマンドを使用して確認することもできます。このコマンドを使用するには、以下に説明するように、最初にkvmをインストールする必要があります。
$ kvm-ok
出力例:
INFO: /dev/kvm exists KVM acceleration can be used
代わりに次のエラーが発生した場合でも、KVMでゲストマシンを実行できますが、パフォーマンスは非常に低下します。
INFO: Your CPU does not support KVM extensions INFO: For more detailed results, you should run this as root HINT: sudo /usr/sbin/kvm-ok
また、CPUが仮想化をサポートしているかどうかを確認する方法は他にもあります。詳細については、次のガイドを参照してください。
- CPUが仮想化テクノロジー(VT)をサポートしているかどうかを確認する方法
次に、KVMおよびその他の必要なパッケージをインストールして、Linuxで仮想化環境をセットアップします。
Ubuntuおよびその他のDEBベースのシステムでは、次のコマンドを実行します:
$ sudo apt-get install qemu-kvm libvirt-bin virtinst bridge-utils cpu-checker
KVMをインストールしたら、libvertdサービスを開始します(まだ開始されていない場合):
$ sudo systemctl enable libvirtd
$ sudo systemctl start libvirtd
仮想マシンの作成
すべての仮想マシンファイルとその他の関連ファイルは、 / var / lib / libvirt /に保存されます。 。 ISOイメージのデフォルトのパスは、 / var / lib / libvirt / boot /です。 。
まず、仮想マシンがあるかどうかを確認しましょう。使用可能な仮想マシンのリストを表示するには、次を実行します。
$ sudo virsh list --all
出力例:
Id Name State ----------------------------------------------------
上記のように、現在利用可能な仮想マシンはありません。
では、クレートを作成しましょう。
たとえば、512 MBのRAM、1つのCPUコア、8GBのハードディスクを備えたUbuntu16.04仮想マシンを作成しましょう。
$ sudo virt-install --name Ubuntu-16.04 --ram=512 --vcpus=1 --cpu host --hvm --disk path=/var/lib/libvirt/images/ubuntu-16.04-vm1,size=8 --cdrom /var/lib/libvirt/boot/ubuntu-16.04-server-amd64.iso --graphics vnc
パス/var / lib / libvirt / boot /にUbuntu16.04ISOイメージがあることを確認してください または、上記のコマンドで指定したその他のパス。
出力例:
WARNING Graphics requested but DISPLAY is not set. Not running virt-viewer. WARNING No console to launch for the guest, defaulting to --wait -1 Starting install... Creating domain... | 0 B 00:00:01 Domain installation still in progress. Waiting for installation to complete. Domain has shutdown. Continuing. Domain creation completed. Restarting guest.
上記のコマンドを分解して、各オプションの機能を確認しましょう。
- -名前 :このオプションは、仮想名の名前を定義します。この場合、VMの名前は Ubuntu-16.04です。 。
- -ram =512 :512MBのRAMをVMに割り当てます。
- -vcpus =1 :VM内のCPUコアの数を示します。
- --CPUホスト :ホストのCPU構成をゲストに公開することにより、VMのCPUプロパティを最適化します。
- -hvm :完全なハードウェア仮想化をリクエストします。
- -ディスクパス :VMのhddを保存する場所とそのサイズ。この例では、8GBのhddサイズを割り当てました。
- -cdrom :インストーラーISOイメージの場所。この場所に実際のISOイメージが必要であることに注意してください。
- -graphics vnc :リモートクライアントからVMへのVNCアクセスを許可します。
VNCクライアントを使用して仮想マシンにアクセスする
次に、リモートデスクトップシステムに移動します。以下に示すように、Ubuntuサーバー(仮想化サーバー)にSSHで接続します。
$ ssh [email protected]
ここで、 sk 私のUbuntuサーバーのユーザー名であり、 192.168.225.22 はそのIPアドレスです。
次のコマンドを実行して、VNCポート番号を確認します。リモートシステムからVmにアクセスするには、これが必要です。
$ sudo virsh dumpxml Ubuntu-16.04 | grep vnc
出力例:
<graphics type='vnc' port='5900' autoport='yes' listen='127.0.0.1'>
ポート番号を書き留めます 5900 。 VNCクライアントアプリケーションをインストールします。このガイドでは、TigerVncを使用します。 TigerVNCは、ArchLinuxのデフォルトリポジトリで利用できます。 Archベースのシステムにインストールするには、次のコマンドを実行します。
$ sudo pacman -S tigervnc
VNCクライアントアプリケーションがインストールされているリモートクライアントシステムから次のSSHポート転送コマンドを入力します。
$ ssh [email protected] -L 5900:127.0.0.1:5900
繰り返しますが、 192.168.225.22 私のUbuntuサーバー(仮想化サーバー)のIPアドレスです。
次に、Arch Linux(クライアント)からVNCクライアントを開きます。
localhost:5900と入力します [VNCサーバー]フィールドで、[接続]をクリックします ボタン。
次に、物理システムで行うのと同じ方法でUbuntuVMのインストールを開始します。
同様に、サーバーのハードウェア仕様に応じて、仮想マシンをいくつでもセットアップできます。
または、 virt-viewerを使用することもできます ゲストマシンにオペレーティングシステムをインストールするためのユーティリティ。 virt-viewerは、ほとんどのLinuxディストリビューションのデフォルトリポジトリで利用できます。 virt-viewerをインストールした後、次のコマンドを実行してVMへのVNCアクセスを確立します。
$ sudo virt-viewer --connect=qemu+ssh://192.168.225.22/system --name Ubuntu-16.04
仮想マシンの管理
virsh管理ユーザーインターフェイスを使用してコマンドラインからVMを管理することは、非常に面白くて楽しいことです。コマンドは非常に覚えやすいです。いくつかの例を見てみましょう。
実行中のVMのリストを表示するには、次を実行します:
$ sudo virsh list
または、
$ sudo virsh list --all
出力例:
Id Name State ---------------------------------------------------- 2 Ubuntu-16.04 running
VMを起動するには、次を実行します:
$ sudo virsh start Ubuntu-16.04
または、VMIDを使用して開始することもできます。
上記の出力にあるように、Ubuntu 16.04仮想マシンのIDは2です。したがって、起動するには、以下のようにIDを指定するだけです。
$ sudo virsh start 2
VMを再起動するには、次のコマンドを実行します:
$ sudo virsh reboot Ubuntu-16.04
出力例:
Domain Ubuntu-16.04 is being rebooted
実行中のVMを一時停止するには、次を実行します:
$ sudo virsh suspend Ubuntu-16.04
出力例:
Domain Ubuntu-16.04 suspended
一時停止中のVMを再開するには、次のコマンドを実行します:
$ sudo virsh resume Ubuntu-16.04
出力例:
Domain Ubuntu-16.04 resumed
VMをシャットダウンするには、次のコマンドを実行します:
$ sudo virsh shutdown Ubuntu-16.04
出力例:
Domain Ubuntu-16.04 is being shutdown
VMを完全に削除するには、次のコマンドを実行します:
$ sudo virsh undefine Ubuntu-16.04
$ sudo virsh destroy Ubuntu-16.04
出力例:
Domain Ubuntu-16.04 destroyed
その他のオプションについては、マニュアルページを調べることをお勧めします。
$ man virsh
今のところこれですべてです。新しい仮想化環境で遊んでみましょう。 KVM仮想化は、研究開発およびテストの目的で選択されますが、これに限定されません。十分なハードウェアがあれば、大規模な実稼働環境で使用できます。
関連記事:
- Ubuntu20.04ヘッドレスサーバーにKVMをインストールして構成する
リソース:
- KVMウェブサイト