
Ubuntu 24.04をKVMハイパーバイザーに変える方法
仮想化を使用すると、1台のコンピューターで複数のオペレーティングシステムを実行できます。これは、アプリのテスト、サーバーのホスト、DevOpsの学習に最適です。
ハイパーバイザーは、単一の物理マシン上で複数の仮想マシンを実行できるソフトウェアであり、KVM(Kernel-based Virtual Machine)はその中でも最高のものの1つです。 Linuxに組み込まれているKVMは高速(ネイティブに近いパフォーマンス)、オープンソース(無料!)、柔軟性(Windows、Linuxなどをサポート)です。その安定性と低いオーバーヘッドにより、クラウドプロバイダーとホームラバーの両方から信頼されています。
Proxmoxの複雑さなしにUbuntu 24.04またはKubuntu 24.04(KubuntuはKDE Plasmaデスクトップを備えたUbuntuのバリアントです)システムを強力なハイパーバイザーに変えたい場合は、このガイドが最適です。 KVMを使用すると、数分で仮想マシン(VM)をスピンアップでき、CockpitのWebベースのマネージャーを使用すると、ブラウザーからそれらを制御できます。
このチュートリアルでは、Ubuntu 24.04またはKubuntu 24.04デスクトップまたはサーバー(新規または既存)をKVMハイパーバイザーに変換します。バックエンド(KVM、QEMU、libvirt)をセットアップし、WebベースのVM管理用のCockpitを追加し、ゲストVMを作成してすべてをテストします。あなたがコーダー、ホームラバー、またはIT愛好家であろうと、このガイドは初心者向けです。
目次
- 始める前に:知っておくべきこと
- 必要なもの
- Ubuntu/Kubuntu 24.04でKVMを使用する理由
- ステップ1:仮想化サポートの確認
- ステップ2:KVMとバックエンドツールのインストール
- ステップ3:ネットワークブリッジのセットアップ
- ステップ4:Web管理用のCockpitのインストール
- ステップ5:ゲストVMの作成
- ステップ6:ゲストVMの実行とテスト
- ハイパーバイザーの探索を続ける
- まとめ
始める前に:知っておくべきこと
このガイドは仮想化の初心者向けに設計されていますが、いくつかの基本的なスキルが必要です。
sudo apt install
やnano
などのターミナルコマンドの実行。- 基本的なLinuxナビゲーション(たとえば、
/etc
でファイルを編集)。 - ネットワークインターフェース(たとえば、
enp4s0
またはwlp3s0
)、IPアドレス、ブリッジングやNATなどの概念を理解するなど、基本的なネットワーク知識。ステップ3でip link
やnmcli
などのツールを使用してネットワークブリッジをセットアップします。 - オプション:VMの経験は役に立ちますが必須ではありません。すべて説明します。
「libvirt」などの用語が初めてでも心配ありません。説明していきます。
必要なもの
- コンピューター: Ubuntu 24.04またはKubuntu 24.04 DesktopまたはServer(新規または既存)を実行。最小:4GB RAM、20GBストレージ、仮想化サポート付きCPU(Intel VT-xまたはAMD-V)。複数のVMにはより多くのRAM/ストレージが必要です。
- インターネットアクセス: パッケージとVM ISOをダウンロードするため。
- Webブラウザー: CockpitにアクセスするためのFirefox(Ubuntuのデフォルト)またはChrome。
- ISOイメージ: ゲストVMのISOイメージ(たとえば、ubuntu.comからのUbuntu 24.04 Desktop ISO、またはすでに持っている場合はWindows ISO)。
- 30〜45分: セットアップ速度によって異なります。
Ubuntu/Kubuntu 24.04でKVMを使用する理由
KVMはLinuxカーネルをハイパーバイザーに変え、VMをネイティブに近い速度で実行できるようにします。 QEMU(ハードウェアエミュレーション用)およびlibvirt(管理用)と組み合わせると、ProxmoxまたはVMwareの軽量な代替になります。その強みは次のとおりです。
- パフォーマンス: VMを効率的に実行し、ホームラボや開発環境に最適です。
- 無料およびオープンソース: Ubuntu/Kubuntuと同様に、ライセンスは不要です。
- 柔軟性: さまざまなゲストOS(Linux、Windows、BSD)をサポートします。
- 統合: CockpitのWeb UIにより、VM管理が簡単になり、CLIは不要です。
それぞれのツールの役割:
- KVM: Intel VT-xなどのCPU仮想化機能を活用して、システムをハイパーバイザーに変え、VMをネイティブに近いパフォーマンスで実行できるようにするLinuxカーネルモジュール。
- QEMU: 高速実行のためにKVMと連携して、VMに仮想ハードウェア(CPU、ディスク、ネットワークなど)を提供する強力なエミュレーター。
- libvirt: VMの作成、ネットワーク、ストレージを簡素化し、自動化のためにvirshやAPIなどのツールを提供する管理レイヤー。
- Cockpit: VM、システムリソース、ネットワークを管理するためのWebベースのインターフェース。視覚的なダッシュボードを必要とする初心者に最適です。
Ubuntu 24.04(「Noble Numbat」)は、最新のカーネルとツールをもたらし、最高のKVM互換性を保証します。ハイパーバイザーを構築しましょう!
ステップ1:仮想化サポートの確認
まず、CPUが仮想化をサポートしていることを確認します(ほとんどの最新のものがそうです)。これを行うには、ターミナル(KubuntuのKonsoleなど)を開き、次を実行します。
"VT-x"(Intel)または"AMD-V"(AMD)を探してください。存在する場合はOKです!
何も表示されない場合は、BIOS/UEFIを確認してください。
- 再起動し、BIOSに入ります(通常はF2、Del、またはEsc)。
- CPU設定で"Intel VT-x"または"AMD-V"を有効にします。
- 保存して再起動します。
ステップ2:KVMとバックエンドツールのインストール
KVM、QEMU、およびlibvirtをインストールしましょう。これらはハイパーバイザーのバックボーンを形成します。
まず、システムを更新します(更新後、コンピューターの再起動が必要になる場合があります)。
次に、仮想化パッケージをインストールします。
それぞれが持つ役割:
qemu-kvm
: VMのハードウェアをエミュレートします。libvirt-daemon-system
: VMを管理します。libvirt-clients
: ハイパーバイザー管理用のvirshのようなCLIツール。bridge-utils
: ネットワークブリッジ用。
次に、KVMがロードされていることを確認します。
成功すると「kvm_intel」または「kvm_amd」が表示されます。
最後に、権限のために、(現在の)ユーザーをlibvirtグループに追加します。
ログアウトして再度ログインし、これらの変更を適用します。
ステップ3:ネットワークブリッジのセットアップ
VMにはネットワークアクセスが必要なので、ブリッジ(br0
)を作成してそれらを物理ネットワークに接続します。これにより、VMはネットワーク上のデバイスのように機能できます(ブリッジされたネットワーク)。
Ubuntu 24.04およびKubuntu 24.04 Desktopは通常NetworkManagerを使用し、Ubuntu ServerはNetplanを使用する場合があります。NetworkManagerアプローチを優先し、Netplanを代替として使用します。
注:libvirtのインストール(ステップ2)は、NATベースのネットワーク用のvirbr0
というデフォルトのブリッジを作成します。これは、VMを物理ネットワークから分離します(192.168.122.xのようなIP)。直接ネットワークアクセス(192.168.0.xのようなIP)には、以下のようにbr0
を使用し、ステップ5のVMセットアップで選択します。
システムがNetworkManagerまたはNetplanを使用しているかどうかを確認できます。コンソールを開き、systemctl status NetworkManager
を実行します。ステータスがactiveおよびrunningと表示された場合は、NetworkManagerを使用します。
オプション1:NetworkManager(Kubuntu/Ubuntuデスクトップに推奨)
ネットワークインターフェースを確認します。
例:enp4s0
。異なる場合は、以下のenp4s0
を置き換えます。
まず、イーサネット接続名を見つけます。
DEVICE
がenp4s0
であるNAME
列を探します(たとえば、「Wired connection 1」または「Ethernet connection」)。この名前をメモします。libvirtのデフォルトのNATブリッジであるvirbr0
は無視してください。
次に、br0
という名前のブリッジを作成します。
インターフェースをブリッジにスレーブします。
古い接続を無効にします(以前に識別した接続名に置き換えます)。
ブリッジでDHCPを有効にします。
ブリッジをアクティブにします。
確認:
br0
がアクティブであること、enp4s0
がスレーブされていること、およびvirbr0
が分離されていることを確認します。まず、ping 8.8.8.8
でインターネットをテストします。
次に、CockpitのVMネットワークドロップダウンに表示されるように、libvirtでbr0
を定義する必要があります。これを行うには、ホームディレクトリにbr0.xml
を作成します。
次を追加します。
- 保存して終了します(Ctrl+O、Enter、Ctrl+X)。
次に、次を定義して開始します。
次のように確認します。
定義後、~/br0.xml
は/etc/libvirt/qemu/networks/
に保存されるため、削除できます。
オプション2:Netplan(Ubuntu Serverまたは希望する場合用)
/etc/netplan/???.yaml
にrenderer: networkd
が表示される場合、またはNetplanを希望する場合は、次の手順に従ってください。
まず、インターフェースを確認します。
例:enp4s0
。
次に、次のようにNetplan構成を編集します。
次を使用します。
- 保存して終了します(Ctrl+O、Enter、Ctrl+X)。
次に、エラーを回避するために厳密な権限を設定します。
適用します。
確認:
コンソールからping 8.8.8.8
でインターネットをテストします。
トラブルシューティング:
- 権限エラー: Netplanが「開きすぎた」権限について不満を言う場合は、
sudo chmod 600 /etc/netplan/01-netcfg.yaml
を再確認してください。 - NetworkManagerの競合: Netplanを使用している場合は、
/etc/netplan/01-network-manager-all.yaml
がバックアップされているか削除されていることを確認してください(sudo mv /etc/netplan/01-network-manager-all.yaml /etc/netplan/01-network-manager-all.yaml.bak
)。 - インターネットなし: NetworkManagerを再起動します(
sudo systemctl restart NetworkManager
)または再起動します。 - 間違ったブリッジ: VMが
virbr0
(NAT、192.168.122.x)を使用している場合は、ステップ5のネットワーク設定を再確認してbr0
を選択してください。 - Cockpitに
br0
がない: libvirtでbr0
を定義します(上記の手順9)またはbr0
がアクティブであることを確認します(ip addr show br0
)。
ステップ4:Web管理用のCockpitのインストール
CockpitはVMを管理するための洗練されたWeb UIを提供します。設定してみましょう。
まず、CockpitとそのVMプラグインをインストールする必要があります。
次に、Cockpitを開始して有効にすることができます。
次に、ブラウザー(たとえば、UbuntuのFirefox)を開き、以下にアクセスします。
https://localhost:9090
または、リモートの場合はKVMサーバーのIPを使用します(たとえば、https://192.168.0.100:9090
)。ユーザー名とパスワードでログインします。自己署名証明書の警告は無視してください。
ファイアウォールを使用している場合は、Cockpitのポートを許可します。
Cockpitのダッシュボードが表示されます。「管理アクセスをオンにする」をクリックして管理アクセスをオンにします。次に、「仮想マシン」をクリックしてVMを管理します。
ステップ5:ゲストVMの作成
Cockpitを使用してゲストVMを作成しましょう。Ubuntu 24.04 Desktop ISOを例として使用します。
開始するには、ubuntu.comからUbuntu 24.04 Desktop ISOをダウンロードし、保存します(たとえば、/home/ranju/Downloads/ubuntu-24.04.1-desktop-amd64.iso
)。
Cockpitで、「仮想マシン」に移動し、「VMの作成」をクリックします。仕様は次のとおりです。
- 名前: TestVM
- インストールタイプ: ローカルインストールメディア(または希望するインストールタイプ)
- インストールソース: ISOを参照します(たとえば、
/home/ranju/Downloads/ubuntu-24.04.1-desktop-amd64.iso
)。 - OS: 「Ubuntu 24.04」を選択します(通常、Cockpitは自動検出します)。
- ストレージ: 新しいqcow2ボリュームを作成します(推奨)。注:ディスクは
/var/lib/libvirt/images/
に作成されます。 - ストレージ制限: 20GB(必要に応じて調整)。
- メモリ: 4GB(必要に応じて調整)。
「作成して編集」をクリックします。Cockpitは、カスタマイズのオプション(CPU、ネットワークインターフェース、ブート順序など)がある詳細ダイアログを開きます。インターフェースソースとしてbr0
が選択されていることを確認してください。最後に、「インストール」をクリックします。
CockpitのVMコンソールで、インストーラーに従ってゲストOS(ユーザー名、パスワードなど)を設定します。
トラブルシューティング:
- 権限エラー: ISOの権限エラーがある場合は、ISOをデフォルトの一時フォルダー(
/tmp/
)にコピーし、そこからISOを見つけてください。
ステップ6:ゲストVMの実行とテスト
VMが実行されています!テストしましょう。
- Cockpitの「仮想マシン」の下にあるTestVMをクリックします。そのコンソール(VMの画面のライブビュー)が表示されます。
- 設定した認証情報を使用してゲストUbuntuにログインします。
ネットワークをテストします。
- VMでターミナルを開きます(Cockpitのコンソール経由)。
- コンソールで
ip addr
を実行して、物理ネットワークIP(たとえば、br0
の192.168.0.x、virbr0
の192.168.122.xではない)を確認します。 ping 8.8.8.8
を実行してインターネットアクセスを確認します。
実験:VMでブラウザーを開き、Webサイトにアクセスするか、アプリをインストールして実際の使用をシミュレートします。
VMが起動してネットワークに接続する場合、KVMハイパーバイザーは正常に動作しています!Cockpitから停止、再起動、または削除できます。
ハイパーバイザーの探索を続ける
Ubuntu 24.04をKVMハイパーバイザーに変えました。おめでとうございます。次の手順を試してください。
- VMの追加: 異なるISOを使用してWindowsまたはその他のLinux VMを作成します。
- virt-managerの使用: Cockpitのデスクトップベースの代替としてvirt-managerをインストールします(
sudo apt install virt-manager
)。 - VMのバックアップ: 安全のためにvirshでVMディスクをエクスポートします。
- スケールアップ: Proxmoxクラスタガイドのように、より負荷の高いワークロードのためにストレージまたはRAMを追加します。
CLIを介していつでもVMを確認します。
まとめ
CockpitのWeb UIと実行中のゲストVMを備えた高速で無料のKVMハイパーバイザーをUbuntu 24.04上に構築しました。コーディング、テスト、またはホームラボを楽しむのに最適な環境です。
ご意見やご感想をお聞かせください。喜んでお聞きします。