KVM(カーネルベースの仮想マシン)は、Linuxカーネルに組み込まれているオープンソースの仮想化テクノロジーであり、LinuxまたはWindowsに基づく複数の分離されたゲスト仮想マシンを実行できます。各ゲストには、独自のオペレーティングシステムと、CPU、メモリ、ネットワークインターフェイス、ストレージなどの専用の仮想ハードウェアがあります。
このガイドでは、Ubuntu18.04デスクトップにKVMをインストールして構成する方法について説明します。また、PHP、Node.js、Rubyなどの開発環境として使用できる仮想マシンを作成する方法も示します。
同じ手順が、Ubuntu 16.04と、LinuxMintやElementaryOSを含むその他のUbuntuベースのディストリビューションにも当てはまります。
前提条件#
2 GBを超えるRAMでゲストを実行し、32ビットと64ビットの両方のKVMゲストをホストできるようにするには、64ビットのホストシステムが必要です。
インストールを続行する前に、UbuntuホストマシンがKVM仮想化をサポートしていることを確認してください。システムには、VT-x(vmx)を搭載したIntelプロセッサ、またはAMD-V(svm)テクノロジをサポートするAMDプロセッサのいずれかが搭載されている必要があります。
次のgrep
を入力します プロセッサがハードウェア仮想化をサポートしているかどうかを確認するコマンド:
grep -Eoc '(vmx|svm)' /proc/cpuinfo
CPUがハードウェア仮想化をサポートしている場合、コマンドはゼロより大きい数値を出力します。これはCPUコアの数です。それ以外の場合、出力が0
の場合 これは、CPUがハードウェア仮想化をサポートしていないことを意味します。
一部のマシンでは、製造元によってBIOSで仮想テクノロジ拡張機能が無効になっている場合があります。
BIOSでVTが有効になっているかどうかを確認するには、kvm-ok
を使用します cpu-checker
に含まれているツール パッケージ。次のコマンドをrootまたはsudo権限を持つユーザーとして実行して、パッケージをインストールします。
sudo apt update
sudo apt install cpu-checker
完了したら、システムがハードウェアアクセラレーションされたKVM仮想マシンを実行できるかどうかを確認します。
kvm-ok
BIOSでプロセッサ仮想化機能が無効になっていない場合、コマンドは次のように出力します。
INFO: /dev/kvm exists
KVM acceleration can be used
それ以外の場合、コマンドは出力し、失敗メッセージと、オプションで拡張機能を有効にする方法に関する短いメッセージを出力します。 AMD-VまたはVTテクノロジーを有効にするプロセスは、マザーボードとプロセッサのタイプによって異なります。システムBIOSの構成については、マザーボードのドキュメントを参照してください。
UbuntuへのKVMのインストール#
次のコマンドを実行して、KVMおよび追加の仮想化管理パッケージをインストールします。
sudo apt install qemu-kvm libvirt-bin bridge-utils virtinst virt-manager
-
qemu-kvm
-KVMハイパーバイザーのハードウェアエミュレーションを提供するソフトウェア。 -
libvirt-bin
-仮想化プラットフォームを管理するためのソフトウェア。 -
bridge-utils
-イーサネットブリッジを構成するための一連のコマンドラインツール。 -
virtinst
-仮想マシンを作成するための一連のコマンドラインツール。 -
virt-manager
使いやすいGUIインターフェイスを提供し、libvirtを介して仮想マシンを管理するためのコマンドラインユーティリティをサポートします。
パッケージがインストールされると、libvirtデーモンが自動的に起動します。次のコマンドを実行して確認できます:
sudo systemctl is-active libvirtd
active
仮想マシンを作成および管理できるようにするには、ユーザーを「libvirt」および「kvm」グループに追加する必要があります。これを行うには、次のように入力します:
sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER
$USER
現在ログインしているユーザーの名前を保持する環境変数です。
ログアウトしてから再度ログインすると、グループメンバーシップが更新されます。
ネットワーク設定#
「virbr0」と呼ばれるブリッジデバイスは、libvirtのインストールプロセス中にデフォルトで作成されます。このデバイスはNATを使用して、ゲストのマシンを外部に接続します。
brctl
を実行します 現在のブリッジとそれらが接続されているインターフェースを一覧表示するツール:
brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.52540003f59e yes virbr0-nic
「virbr0」ブリッジには、物理インターフェイスは追加されていません。 「virbr0-nic」は、トラフィックがルーティングされていない仮想デバイスです。このデバイスの唯一の目的は、「virbr0」ブリッジのMACアドレスの変更を回避することです。
このネットワーク設定は、ほとんどのUbuntuデスクトップユーザーに適していますが、制限があります。ローカルネットワークの外部からゲストにアクセスする場合は、新しいブリッジを作成し、ゲストマシンがホストの物理インターフェイスを介して外部に接続できるように構成する必要があります。
仮想マシンの作成#
UbuntuデスクトップにKVMがインストールされたので、最初のVMを作成しましょう。これは、コマンドラインから、またはvirt-manager
を使用して実行できます。 アプリケーション。
インストールするオペレーティングシステムのISOイメージをダウンロードし、以下の手順に従って仮想マシンを作成します。
-
アクティビティ検索バーに「VirtualMachineManager」と入力し、アイコンをクリックしてアプリケーションを起動します。
-
アプリケーションの起動後、トップメニューから[ファイル]->[新しい仮想マシン]をクリックします。
-
新しいウィンドウが表示されます。 「ローカルインストールメディア」を選択し、「転送」ボタンをクリックします。
-
ISOイメージパスを入力し、[進む]ボタンをクリックします。
-
次の画面で、VMのメモリとCPUの設定を選択します。 [進む]をクリックします。
-
次に、[仮想マシンのディスクイメージを作成する]を選択し、VMのディスクスペースサイズを選択します。 [進む]をクリックします。
-
仮想マシン名の名前を入力し、[完了]をクリックします。
-
VMが起動し、新しいウィンドウが開きます:
ここから、画面の指示に従ってオペレーティングシステムのインストールを完了することができます。
オペレーティングシステムがインストールされると、virt-manager
からオペレーティングシステムにアクセスできます。 アプリケーション、シリアルコンソールインターフェイスを使用したsshor経由。