0
0

Ubuntu化したミニPCをKVMサーバー化する。

Posted at

概要

前回設定した以下記事の続き。

  • パスワードによるSSH設定、
  • GUIによるリモートコンソール接続の設定
  • cockpitによる仮想化設定

を行う。

実行環境

  • sshアクセス&リモートデスクトップログインを行うクライアントPC
    • macbookpro m1_pro OS:Sonoma 14.2.1
  • Ubuntu
    • VERSION="23.10 (Mantic Minotaur)"

cockpitのインストール。

まずは、以下のコマンドでnmcliなどをインストールしておく。あると管理が便利になるため。

sudo apt update
sudo apt install -y network-manager
sudo netplan apply

その後、以下のコマンドでcockpitをインストールする。このコマンドだけで、KVMの仮想環境が出来上がる。

sudo apt install -y cockpit

次にcockpitにアクセスする。ポート9090を使用するので、Firewallで閉じている場合は解放すること。
https://サーバーのIPアドレス:9090
ローカルの場合はサーバのIPアドレスにhttps://localhost:9090またはhttps://127.0.0.1:9090

証明書の設定をしていないため以下のような表示が出てくると思われる。
今回は続行する。
スクリーンショット 2024-04-14 16.40.04.png

ユーザー名とパスワードは、ホストのユーザー名とパスワード名を入れてログインする。

スクリーンショット 2024-04-14 16.41.10.png

コンソールは最初制限されているため、sudo用のパスワードをGUIで入れることで、仮想マシンの操作などが実行できるようになる。

また、ホストのコンソール画面に戻り、以下のプラグインをインストールする。

sudo apt install -y cockpit-machines

これで、仮想ゲストが作成できるようになる。

インストールが完了するとGUIの左側に「Virtual machines」という項目が増える。ここから操作して、サーバを作成していくことになる。

仮想ゲストの作成

cockpitを用いてインストールしようとしたら、以下のようなエラーに遭遇。

https://qiita.com/kure/items/889d49cbe2affabae0cf
https://qiita.com/engishoma/items/695fea4656876f93317d

ユーザ、グループ名をqemuに変えるべしとあったが、自分の環境ではqemuのユーザがなく、
libvirt-qemuというものしかなかったので、以下のコマンドで変えるものとする。

sudo chown libvirt-qemu:libvirt-qemu ./Almalinux~~dvd.iso

それでもまだ上記のエラーが出たので、おそらくディレクトリにアクセスできないのかと思い、isoファイルを移動させる。今回は、/tmp/に移動させた。tmpは一週間で消えてしまうので、どこか任意の置き場を作るとよいだろう。

mv Almalinux~~dvd.iso /tmp/

すると、あっさり通ってくれた。サーバは作成された時はrunnningになる。
そしてGUIコンソールからLinuxのセットアップを行う。

ちなみに、自分は作成時には以下のような設定にして作成した。

スクリーンショット 2024-03-31 16.05.30.png

オートスタートなどの設定を読み込ませる際にはGUIでシャットダウンさせるか、以下のコマンドをホストで実行。

sudo virsh shutdown サーバ名

ホストから行うゲストサーバの設定

まずは、サーバの自動起動を有効化する。

sudo virsh autostart  サーバ名

そして、virshコンソールからでも入れるようにする。cockpitでもなんとかなるがこれができるとなにかと便利。

ゲスト上で、以下のコマンドを入力する。cockpitのコンソールから操作するとよい。。

sudo vi /etc/default/grub

その後、以下のように編集する。

GRUB_CMDLINE_LINUX="「もともと変えてあるオプション」"
↓
GRUB_CMDLINE_LINUX="「もともと変えてあるオプション」 console=tty0 console=ttyS0,115200n8"

そして、以下のコマンドを実行する。*未検証だが、このコマンドだけでうまくいく可能性あり。

systemctl enable serial-getty@ttyS0.service
systemctl start serial-getty@ttyS0.service

ホスト上で、以下のコマンドを実行して、入れることを確認する。

sudo virsh console ゲスト名

事後作業

今回の設定で、最低限VMを構築することができた。
しかし本来であればネットワークの設定をしておいた方が良い。

これで作成したVMはvirbr0という仮想ブリッジの配下になっている。サーバから外に出る分には問題ないのだが、外部からアクセスすることはできない。

そのため、新たにブリッジを作成し、このVMに紐づけてNICを追加する必要がある。

参考サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0