b-shock. Fortress

Xubuntu@GPD PocketのKVMに、FreeBSDをセットアップ

MySQLに続き、PowerDNSについてのエントリーを上げようとセットアップしていたが、 大変なことに気づいた。
KVM環境の一要素であるlibvertに、目的とするネームサーバ機能が内蔵されており、 PowerDNSの構築は実際には不要だったのである。

確認したところ、ホストOSのresolv.confやhosts上の要素も全て透過的に参照可能で、 LAN内にあるサーバーも、今後構築予定の仮想環境(hostsに名前だけは登録済み)も 全て名前解決できた。今後新しい仮想環境を追加する時も、単にhostsに登録すれば いいみたい。
libvertのネームサーバ機能(及びDHCPサーバ機能)については、まだよくわかってない ことが多いので近々調べるとして、当初の予定を変更してKVM環境の構築の際に行った 手順について述べることにする。

ちなみに、ホストOS上のMySQLは不要になったので削除した。開発用のMySQLも確かに 必要ではあるが、検証目的の環境はゲストOS側に構築すべきと思われたので。
XubuntuにMySQLを構築した(地雷にハマった)経験は無駄ではなかったので、まぁ よしとする。以前ほぼ同じ環境(Ubuntu Server 16.04 LTS)にセットアップした時は、 もっとすんなり行ったのだけどな。

KVMの導入を行う際、以下のページを参考にした。

どちらも若干古い記事で、実際には、これらのページに書かれている多くの手順は 対応不要だった。
以下、実際に必要だった手順についてのみ述べる。

KVMをインストール

1
sudo apt install kvm libvirt-bin bridge-utils virt-manager

ブリッジの登録を確認

以下を実行すると、

1
brctl show

virbr0というブリッジが登録されているので、そのまま使えばよいはず。通常は作業不要。
virbr0を誤って削除してしまった場合は、以下の手順で再登録できた。

1
2
3
sudo brctl addbr virbr0
sudo brctl stp virbr0 on
brctl show #登録されたことを再度確認

NetworkManagerを削除したり、/etc/network/interfacesを修正したりする手順が 案内されているが、GPD Pocketではこれは やってはいけない 。Wi-Fiが一切 動かなくなってハマる。

余談だが、もし削除してしまったら、USBポートにお手持ちのEthernetアダプタを挿して (持ってなかったら、いますぐAmazon等へ!2,000円ぐらいで買えるはず)、

ifconfig -aを実行して、そのアダプタのインターフェース名を確認。
私の場合は enx343dc49a00fb だったので、 /etc/network/interfaces に以下を 追記してリブート。

リブート後に有線接続できるようになるので、以下を実行すれば、

1
sudo apt install network-manager

Wi-Fi接続が復旧できる。
とはいえ割と煩雑な手順なので、GPD PocketではNetworkManagerを削除せぬ様、注意したい。

仮想ネットワークの登録を確認

ウィスカーメニューから、システム→仮想マシンマネージャーを起動。
仮想マシンマネージャーはよく使うので、お気に入り登録を推奨。

起動したら、編集→接続の詳細。
「QEMU/KVM接続の詳細」というウィンドウが開くので、「仮想ネットワーク」タブを 開く。defaultという仮想ネットワークが、virbr0ブリッジに紐付けられているはず なので、通常はこれを使えばよいはず。

但し、「自動起動」のチェックは外したほうがいいかも。Wi-Fi接続のタイミングに よっては、リブート後に仮想ネットワークが自動起動しないことが多かった。
リブートの度に、この画面の左下の方のほうにある「ネットワークの開始」ボタンを 押下し、手作業で起動操作を行うほうが動作が安定する。少々煩わしいけど。

追記(2017/10/03)
その後、この件は解決。自動起動で問題なし。
OpenVPNとKVM、その後。

新しい仮想ネットワークをここから登録することも出来るが、NAT先はwlp1s0を明示的に 指定すると安定するかもしれない。

新しい仮想マシンの作成

以下のサイトで、前もってFreeBSDのインストーライメージを取得しておく。

FreeBSDを入手する

仮想マシンマネージャーのウィンドウで、「新しい仮想マシンの作成」ボタンを押下。
取得したインストーライメージのisoファイルを指定し、接続先ネットワークには 上記手順で確認した仮想ネットワークが指定されていることを確認。あとは指示に従う。
ここから先は難しいところはなかった。また、FreeBSD以外のOSでも導入の手順は 全く同じと思われる。

仮想マシンも仮想ネットワーク同様、自動起動にしないほうがよさそう。
仮想ネットワークが起動している状態でないと、仮想マシンは起動できないので。

追記(2017/10/03)
その後、この件は解決。自動起動で問題なし。
OpenVPNとKVM、その後。

仮想マシンの起動

GPD Pocketのリブート後は、仮想ネットワーク→仮想マシンの順に手動で起動する。
この手順が結局、一番安定した利用ができた。