Ubuntu Serverインストールから KVM/QEMU + Cockpit での仮想環境構築までの道のり
概要
Ubuntu Server 24.04.01 (minimum)へCockpitをインストールして仮想環境を構築したので、備忘録としてその時のメモ。
以前はWindows10を入れてHyper-vで仮想環境を立てていたのですが、データ用のHDDが壊れて使えなくなりました。
仕方がないのでリセットするのですが、Windows10はサポート終了するためLinux系OSに変更しようと思い、
普段使っているUbuntuを入れることにしました。
参考にしたサイト
参考にしたサイトは下記です。手順はほぼ同一ですが追加でコマンド実行した部分がありました。
上記サイトからリンクされている以下のサイトも参考にしました。
ホストPCについて
スペック
かなり古いPCですが、現役で使っています。
- 筐体: Shuttle DS61 V1.1
- CPU: Intel Core i5-3470S
- メモリー: 32GB
- ディスク: 256GB
OS
Ubuntuを普段使っているので今回も採用しました。
- OS: Ubuntu Server 24.04.01
Ubuntu Server 24.04.01 をホストPCへインストール
Ubuntu 公式 からISOイメージをダウンロードし、
Rufusなどを使用して起動可能なUSBメモリーを作成し、ホストPCへインストールします。
インストールの途中で minimum を選択してインストールしました。
この記事の説明はこの状態から開始します。
ボリュームを拡張
先の紹介したサイトでも記載されていますが、論理ボリュームはインストーラーのデフォルトだと100GBになっていたので最大まで拡張しました。
1 | # 確認 |
手順
事前準備
システムを最新の状態に更新
1 | sudo apt update && sudo apt upgrade -y |
vimをインストール
minimum でインストールしたら入ってなかったので入れておきます。
1 | sudo apt install -y vim |
KVM/QEMU + Cockpit + cockpit-machines をインストール
KVM/QEMU のインストール
1 | sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils |
libvirt の起動と自動起動設定
1 | sudo systemctl enable --now libvirtd |
libvirtdが起動してない場合はstartします。(自分の環境では勝手に起動してました)
1 | sudo systemctl start libvirtd |
KVM の有効性を確認
1 | sudo kvm-ok |
1 |
|
Cockpit のインストールと自動起動設定
1 | sudo apt install -y cockpit cockpit-machines |
Cockpit の WebUI にアクセスして確認
ここまでで Cockpit が起動しているはずなので確認します。
ブラウザで以下の URL にアクセスしてログイン:https://<UbuntuサーバーのIP>:9090
仮想ネットワークの設定
ネットワーク管理をNetworkManagerに変更します。
※netplanとどちらを使うのが良いのか理解できていませんが、うまく動いたほうを選択しました。
現状確認
環境によって変わると思いますが、Shuttle DS61 V1.1はNICが2個あるので、
1 |
|
以下のように表示されます。
1 | DEVICE TYPE STATE CONNECTION |
ネットワーク管理をNetworkManagerに変更
変更するファイルは環境によって変わるのかもしれませんが、以下のファイルを変更しました。
1 | sudo vi /etc/netplan/50-cloud-init.yaml |
1 | network: |
ネットワークインターフェースをNetworkManager管理に変更する
NetworkManagerが /etc/network/interfaces
で設定されたネットワークインターフェースを
管理する設定になっていることを確認します。
managed=trueならそのまま、falseになっている場合はtrueに変更します。
1 | cat /etc/NetworkManager/NetworkManager.conf |
以下のように表示されます。
1 | [main] |
私の環境ではfalse
になっていたので変更しました。
1 | sudo sed -i 's/managed=false/managed=true/' /etc/NetworkManager/NetworkManager.conf |
再度確認します。
1 | cat /etc/NetworkManager/NetworkManager.conf |
変更されました
1 | [main] |
設定変更を反映します
1 | sudo netplan apply |
設定が反映されたか確認します
1 | nmcli device |
1 |
|
うまく反映されない場合はOSを再起動すると反映されるかもしれません。
※私の環境の場合はOSを再起動しないと反映されませんでした、なぜなのかよくわかりません。
Cockpitから仮想ブリッジを設定する
※この作業は既存のネットワークからbridgeネットワークに切り替わるため、DHCP環境ではIPアドレスが変わりますのでご注意ください。
CockpitのWebUIへログインし、ネットワーキングメニュー画面のインターフェースからブリッジの追加
ボタンを選択します。

今回使用するenp3s0
を選択します。

そして追加
をするとネットワークが切り替わりますので、IPアドレスを確認して再度Cockpitの画面を開きなおします。

変更後のIPアドレスを確認して再度Cockpitへログインするとbr0
というインターフェースが追加されました。
仮想マシンは、このbr0
を使用してネットワークへ接続することになります。
仮想マシンを作成しOSをインストール
仮想マシンを作成していきます。
OSのISOイメージをダウンロード
仮想マシン用のインストールに使用するISOイメージを適当な場所に保存します。
今回は Ubuntu 22.04.01 Server をインストールしてみます。
1 | wget https://releases.ubuntu.com/24.04.1/ubuntu-24.04.1-live-server-amd64.iso |
CockpitのWebUIから仮想マシンを作成
以下の手順で仮想マシンを作成します
- Cockpit にログイン (https://<UbuntuサーバーのIP>:9090)
仮想マシン
メニューを開く仮想マシンの作成
ボタンをクリック接続
はSystem
を選択- VMの名前、メモリ、CPU、ストレージを設定
- インストールメディアとして
ubuntu-22.04-live-server-amd64.iso
を選択 作成して編集する
ボタンをクリック
仮想マシンが作成されました

仮想マシンの名前部分をクリックすると各仮想マシンの画面に遷移しますので、
ネットワークインターフェースを確認し、br0
になっていない場合は変更してください。
仮想マシンを起動すると、画面の右側のコンソール
に画面が表示されるので、画面上でOSのインストールを進めます。

仮想マシンのスナップショットを作成
仮想マシンの画面の下のほうにあるスナップショット
から、スナップショットの作成
をクリックして作成できます。

おわりに
KVM/QEMU と Cockpit を使用して仮想マシンを作成できました。
netplanで設定すると仮想マシンがネットワークに接続できなかったり、
仮想マシンを作成するときにSystem
ではなくUser session
を選択すると、
ネットワークにbr0
を選択できなかったりなど、色々と模索しながらでしたが、
なんとか仮想環境を復旧することができました。
以前の環境は突然壊れてしまったので、今後は、定期的なスナップショットの作成やNAS等への外部バックアップやリストアなどにも取り組んでいきたいと考えています。