Linux
 Computer >> コンピューター >  >> システム >> Linux

Linuxで仮想化ワークステーションを構築する方法|KVMの導入からVM管理まで徹底解説

Linuxで仮想化ワークステーションを構築する方法|KVMの導入からVM管理まで徹底解説

近年、仮想化技術はますます一般的になっています。既存のマシン上に複数の仮想マシン(VM)を構築できることで、教育、テストや実験、業務効率化など、さまざまな場面で大きなメリットが得られます。Linuxは人気と高い性能を兼ね備えているため、個人用の仮想化サーバーやワークステーションを構築するのに最適なプラットフォームです。この記事では、Linux仮想化ワークステーションをゼロから構築する方法を解説します。

ハードウェアの仮想化対応を確認する

パッケージのインストールを始める前に、まずCPUがハードウェア仮想化に対応しているかどうかを確認しましょう。最近のノートPCやデスクトップ向けCPUの多くは対応していますが、念のためチェックしておくと安心です。以下のコマンドで「/proc/cpuinfo」ファイルに必要な技術が含まれているかを確認できます。どちらのCPUかわからない場合は、両方試しても問題ありません。

grep vmx /proc/cpuinfo # Intel CPUの場合 
 
grep svm /proc/cpuinfo # AMD CPUの場合

筆者のシステムはIntel CPUなので、出力は次の画像のようになります。

Linuxで仮想化ワークステーションを構築する方法|KVMの導入からVM管理まで徹底解説

コマンドで何も出力されない場合は、lscpuの出力にある「Virtualization(仮想化)」の項目を確認してください。筆者の環境では次の画像のように表示されます。

Linuxで仮想化ワークステーションを構築する方法|KVMの導入からVM管理まで徹底解説

これでシステムが仮想化に対応していることがわかりました。また、メモリは最低8GBを搭載しておくことをおすすめします。より快適に使いたいなら16GB、32GB、さらには64GBあると理想的です。十分なRAMがあれば、メモリ不足を心配せずに複数のVMを同時に稼働でき、1台のシステム上でクライアント/サーバー構成のネットワークや複数のワークステーション群を構築することも可能になります。

KVMのインストール

KVM(Kernel-based Virtual Machine)は、Linuxネイティブのハイパーバイザーとして最も優れた存在です。パフォーマンスが非常に高く、KVM仮想マシンを管理する方法も複数用意されています。多くの場合、QEMUがハードウェアエミュレーションの役割を担う形でKVMと組み合わせて使われます。

サーバーに必要なものをすべてインストールするには、以下のコマンドを実行します。

Fedoraの場合:

sudo dnf -y groupinstall "Virtualization Host";
sudo dnf -y install virt-install

UbuntuおよびUbuntuベースのディストリビューションの場合:

sudo apt -y install qemu-kvm libvirt-daemon-system libvirt-daemon virtinst bridge-utils libosinfo-bin libguestfs-tools virt-top
Linuxで仮想化ワークステーションを構築する方法|KVMの導入からVM管理まで徹底解説

KVMをインストールしたら、以下のコマンドでカーネルモジュールが正しくロードされていることを確認します。

lsmod | grep kvm

続いて、以下のコマンドでlibvirtデーモンを起動し、システム起動時に自動的に立ち上がるよう設定します。

sudo systemctl start libvirtd
sudo systemctl enable libvirtd
sudo systemctl status libvirtd

出力は次の画像のようになるはずです。

Linuxで仮想化ワークステーションを構築する方法|KVMの導入からVM管理まで徹底解説

他の多くのガイドでは、ここでVMが外部ネットワークにアクセスできるようブリッジを設定する手順が紹介されます。本記事では詳しく触れませんが、さまざまな設定方法を学べるArch Wikiを参考にするとよいでしょう。VMにネットワークサービスを提供させたい場合には役立ちますが、テストやサンドボックス用途であれば、デフォルトのネットワーク設定でも十分です。

GUIツールでKVM VMをインストール・管理する

KVM仮想マシンの管理方法はいくつかあります。Linuxワークステーションやサーバーでグラフィカルデスクトップを使っている場合は、「Virtual Machine Manager」や「GNOME Boxes*」を利用できます。CLIのみのサーバーでGUIインターフェースが必要な場合は、「Cockpit」を使い、画面の「アプリケーション」メニューから「Machines」アプリケーションをインストールしてVMを管理できます。いずれのGUIツールでもKVM VMのインストールが可能です。

*GNOME BoxesはKVM仮想マシンを扱う最も手軽な方法ですが、ネットワーク、ストレージ、ハードウェア構成に関する細かい制御は、他のツールほど自由に行えません。

ターミナルからKVM VMをインストールする

前述のコマンドでインストールしたパッケージに含まれるCLIツールを使うこともできます。virt-installは、XML定義を直接編集することなくKVM仮想マシンをインストールできる便利なツールです。多数のオプションが用意されていますが、筆者が最もうまくいっているのは次のテンプレートです。

sudo virt-install \
--connect qemu:///system \
--name <NAME> \
--memory <MEMORY_IN_MB> \
--vcpus <CPUs> \
--disk size=<SIZE> \
--cdrom /PATH/TO/ISO/FILE
Linuxで仮想化ワークステーションを構築する方法|KVMの導入からVM管理まで徹底解説

これでシステムに必要な要素がすべて定義されます。ネットワーク経由でのインストールやイメージのインポートにも対応しており、sizeオプションの後にカンマ区切りで「path=/PATH/TO/DIR/DISKNAME.qcow2」と指定すれば、ディスクの保存先も指定できます。詳細はRed Hatのvirt-installドキュメントを参照してください。

コマンドを実行するとRemote Viewer(virt-viewerとも呼ばれます)が開き、通常どおりOSのインストール作業を進められます。GUIへのアクセスが必要になるため、ヘッドレスサーバーの場合は前述のCockpitの利用をおすすめします。また、kickstartファイルを使えば、RHEL系ディストリビューションをvirt-installで自動インストールすることもできます。

ターミナルからKVM VMを管理する

KVM VMの管理で主に使うコマンドはvirshです。単体のコマンドとしても対話型シェルとしても利用でき、sudo virshと入力してEnterキーを押すだけで起動します。

Linuxで仮想化ワークステーションを構築する方法|KVMの導入からVM管理まで徹底解説

たとえば、list --allですべてのドメイン(VM)を一覧表示したり、startでドメインを起動したり、shutdownでシャットダウンしたりできます。

Linuxで仮想化ワークステーションを構築する方法|KVMの導入からVM管理まで徹底解説

virshには非常に多くのオプションが用意されているので、manページを参照しながら、ターミナルから管理できるさまざまな機能をぜひ探ってみてください。

また、IPアドレスを指定してSSHでVMに接続することもできます。VMはvirbr0インターフェースからIPアドレスを取得し、VMのネットワークインターフェースはデフォルトでSSHアクセスが許可されています。

これでLinuxシステム上に仮想化ワークステーションが完成しました。さらに一歩進みたい方は、仮想マシンを簡単に高速化する方法や、VNCを使ってLinux VMにアクセスする方法も学んでおきましょう。

  1. Linuxでシェルスクリプトを作成する方法【初心者向け基本ガイド】

    シェルスクリプトの作成は、Linuxユーザーが必ず身につけておきたい最重要スキルのひとつです。シェルスクリプトを活用すれば、手作業で一行ずつ実行すると面倒な反復タスクを効率的に自動化できます。このチュートリアルでは、すべてのLinuxユーザーが押さえておくべき基本的なシェルスクリプトの操作方法を、実例とともにわかりやすく解説します。1. 簡単なシェルスクリプトを作成するシェルスクリプトとは、ASCIIテキストで構成されたファイルのことです。まずはテキストエディタを使って、簡単なシェルスクリプトを作成してみましょう。テキストエディタにはコマンドライン型とGUI型のさまざまな種類がありますが、本ガ

  2. Linux で起動可能な Windows 10 USB メモリを作成する方法

    Linux 環境に Windows 10 をインストールするのは、決して複雑な作業ではありません。むしろ、手間やトラブルを避けたいのであれば、起動可能な Windows 10 USB メモリを作成するのが最適な方法です。この記事では、起動可能な Windows 10 USB の作成手順を、具体的な操作方法とあわせて詳しく解説します。それでは始めましょう。 Linux で起動可能な Windows 10 USB を作成する この作業には、大きく分けて2つの方法があります。1つ目の方法では、UEFI 互換の起動ディスクを作成できます。マウント作業を始める前にまず必要になるのが、Windows の