Ubuntu Server 24.04 LTSをインストールしていきます。25.04もリリース済みですが、あちらのサポートは2026年まで、こちら24.04 LTSは名前の通りLong Term Supportとなっていますので、こちらを選びました。
また、エディション違いでUbuntu Desktopもありますが、DesktopがリッチなGUI環境を標準としていることに対し、Ubuntu ServerはGUIなしが標準ですのでコマンドアレルギーの方には厳しいかもしれません。
とはいえ動作のきびきび感はCUIならでは。稼働が始まってしまえばGUIは無用の長物に近くなるので、慣れるとまではいかなくとも乗り越える価値はあると思います。
前提条件
CPUはN100で検証しました
Ubuntu Server24.04LTSを使用しました
インストーラー作成
ISOファイルは公式サイトから入手します。
https://ubuntu.com/download/server
バージョンを確認してダウンロードボタンをクリックしてダウンロードしていきます。
クリック先でチートシートの配布などもしています。

ダウンロードしてきたISOファイルをRufusを使ってUSBメモリーに書き込みます。

インストールしたいPCに作成したUSBを接続して、ブートします。メーカーによってまちまちなのですが、中華ミニPCだと起動してからF7連打するとブートデバイスを選択できます。













初期設定
まずパッケージを最新化します。
sudo apt update -y
sudo apt upgrade -y
最小限のインストールだとファイヤーウォールも入っていないので、インストールします。
sudo apt install -y ufw

仮想化ホストのために必要なポートを開放します。
sudo ufw allow 9090/tcp #Cockpitアクセス用
sudo ufw allow 22/tcp #SSH用
sudo ufw allow 5900:5999/tcp #仮想マシンコンソールへの接続用
sudo ufw enable #ファイアーウォール有効化
sudo ufw status verbose #設定内容確認
仮想化関連パッケージをインストールします。
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager
libvirtdの起動を確認します。
sudo systemctl status libvirtd

以下のコマンドでカーネルモジュールのロードを確認します。
lsmod | grep kvm

管理者権限(sudo)なしで管理コマンドを実行するためにカレントユーザーをlibvritグループに追加します。ここでいったんログアウトして反映させます。
sudo usermod -aG libvirt $(whoami)
logout
cockpit
ここからはCockpitでGUI管理をするための手順となります。
下記コマンドでcockpitと仮想マシン用のプラグインをインストールします。
sudo apt install -y cockpit cockpit-machines
起動後、ブラウザでCockpitを表示してみると「仮想マシン」のメニューが追加され、仮想ネットワークも一つ作成されています。

ソフトウェア更新エラー対策
ソフトウェア更新についてはubuntu24.04で既知のバグがあるらしく、アップデートのロードに失敗します。

まずはエディタのインストールから。最小限のminimum installだとエディタすら入っていません。
sudo apt install -y vim
下記コマンド実行して「10-globally-managed-devices.conf」を作成、対策します。
sudo vi /etc/NetworkManager/conf.d/10-globally-managed-devices.conf
[main]
unmanaged-devices=none
sudo nmcli con add type dummy con-name fake ifname fake0 ip4 1.2.3.4/24 gw4 1.2.3.1
sudo reboot
Netplan無効化
「ソフトウェア更新エラー対策」を実施するとNetwork-Managerがエラーを吐いてサービスが起動しなくなります。競合となるNetplanを無効化してNerwork-Managerをデフォルトにします。
Netplanの設定ファイルの存在を確認します。
ls -la /etc/netplan

これらをホームディレクトリに退避します。
sudo mv /etc/netplan/*.yaml ~/

Network-Managerをアクティブにします。
sudo vi /etc/netplan/01-network-manager.yaml
network:
version: 2
renderer: NetworkManager
catコマンドでファイル内容を確認します。
sudo cat /etc/netplan/01-network-manager.yaml

下記コマンドで設定を反映します。
sudo netplan generate #新しい設定を生成
sudo netplan apply # 設定を適用
サービスの起動も確認します。
sudo systemctl status NetworkManager
networkdの起動を待機する設定を無効化します。
sudo systemctl disable systemd-networkd-wait-online.service
sudo systemctl stop systemd-networkd-wait-online.service
これで、エラーのないubuntu×KVM×cockpit環境が整いました。

まとめ
作成中にちょっとしたエラーがいくつか出ましたが、対処法を含めてまとめていたら、まあまあな作業量となりました。Hyper-V Server 2019の際にはNICのみのエラー対応でしたので、シンプルな作業でしたが、こちらもそれなりになりました。
すでにあるHyper-V Server 2019に特段大きな不満があるわけではないのですが、Windowsじゃないと仮想マシンの管理などが不便(Admin Centerで解決可能ではあるけど)で、Chromebookも使うとなるとブラウザから管理できる仮想化ホスト環境は便利そうだと思って構築しました。
これから仮想ブリッジ、仮想マシンの作成などをしていろいろ試してみたいと思います。
コメント