こちらの続きです。 www.suzu-ha.com
インストール
インストールメディアは、AlmaLinux 9.2 x86_64版(AlmaLinux-9.2-x86_64-dvd.iso)をダウンロードしました。
https://mirrors.almalinux.org/isos.html
これを、Win32 Disk Imager RenewalでUSBメモリに書き込みました。
github.com
余談ですが、READMEの内容が脱線しまくっていて面白いです。書いているのは天才・登大遊氏です。
なお、Alma Linuxのwikiでは、USBメモリへの書き込みツールとして
Windowsの場合はRufus
Macの場合はbalenaEtcher
が、それぞれオススメされています。好きなツールを使ってください。
https://wiki.almalinux.org/documentation/installation-guide.html#iso-verification
AlmaLinuxのインストールUSBメモリをさしてLarkbox Xを起動すると、無事インストーラが起動しました。
インストールオプションです。
ハイパーバイザとして使いたいだけなので、「ソフトウェアの選択」は「仮想化ホスト」として、余計なパッケージが導入されないようにします。
また、ホスト名と有線LANのIPアドレスもここで設定済みです。
無事インストールできました。
デスクトップ環境は入ってませんので、ここからはSSH接続して操作します。
KVMのインストール
RedHatのこちらのドキュメントを参考にしました。
access.redhat.com
まず一通りパッケージをアップデートしてしまいましょう。
[root@larkbox-x ~]# dnf update
4分ほどで終わりました。
必要なパッケージをインストールします。
※実際に実行してみたところqemu-kvm、libvirtはインストール済みでした。virt-install、virt-viewerとその依存パッケージがインストールされます。
[root@larkbox-x ~]# dnf install qemu-kvm libvirt virt-install virt-viewer
仮想化サービスを起動します。
[root@larkbox-x ~]# for drv in qemu network nodedev nwfilter secret storage interface; do systemctl start virt${drv}d{,-ro,-admin}.socket; done
検証コマンドを実行します。
[root@larkbox-x ~]# virt-host-validate QEMU: 確認中 ハードウェア仮想化用 : 成功 QEMU: 確認中 if device /dev/kvm exists : 成功 QEMU: 確認中 if device /dev/kvm is accessible : 成功 QEMU: 確認中 if device /dev/vhost-net exists : 成功 QEMU: 確認中 if device /dev/net/tun exists : 成功 QEMU: 確認中 for cgroup 'cpu' controller support : 成功 QEMU: 確認中 for cgroup 'cpuacct' controller support : 成功 QEMU: 確認中 for cgroup 'cpuset' controller support : 成功 QEMU: 確認中 for cgroup 'memory' controller support : 成功 QEMU: 確認中 for cgroup 'devices' controller support : 成功 QEMU: 確認中 for cgroup 'blkio' controller support : 成功 QEMU: 確認中 デバイス割り当て IOMMU サポート用 : 成功 QEMU: 確認中 IOMMU がカーネルによって有効になっている場合: WARN (IOMMU appears to be disabled in kernel. Add intel_iommu=on to kernel cmdline arguments) QEMU: 確認中 安全なゲストサポートのため : WARN (Unknown if this platform has Secure Guest support)
IOMMUが有効ではないと出ましたので、解消しましょう。
/etc/default/grubを編集します。
[root@larkbox-x ~]# vi /etc/default/grub
GRUB_CMDLINE_LINUXの行に、赤文字部分を追記します。
GRUB_CMDLINE_LINUX="resume=/dev/mapper/almalinux-swap rd.lvm.lv=almalinux/root rd.lvm.lv=almalinux/swap rhgb quiet intel_iommu=on"
grubコンフィグファイルを生成します。
[root@larkbox-x ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
再起動します。
[root@larkbox-x ~]# reboot
再起動後に検証コマンドを実行すると、IOMMUの警告は解消していました。
[root@larkbox-x ~]# virt-host-validatevirt-host-validate QEMU: 確認中 ハードウェア仮想化用 : 成功 QEMU: 確認中 if device /dev/kvm exists : 成功 QEMU: 確認中 if device /dev/kvm is accessible : 成功 QEMU: 確認中 if device /dev/vhost-net exists : 成功 QEMU: 確認中 if device /dev/net/tun exists : 成功 QEMU: 確認中 for cgroup 'cpu' controller support : 成功 QEMU: 確認中 for cgroup 'cpuacct' controller support : 成功 QEMU: 確認中 for cgroup 'cpuset' controller support : 成功 QEMU: 確認中 for cgroup 'memory' controller support : 成功 QEMU: 確認中 for cgroup 'devices' controller support : 成功 QEMU: 確認中 for cgroup 'blkio' controller support : 成功 QEMU: 確認中 デバイス割り当て IOMMU サポート用 : 成功 QEMU: 確認中 IOMMU がカーネルによって有効になっている場合: 成功 QEMU: 確認中 安全なゲストサポートのため : WARN (Unknown if this platform has Secure Guest support)
なお、「安全なゲストサポートのため」の項目は、ググったところAMDとIBMプロセッサのみが対象で、Intelの場合はチェックしてないらしいという記事にたどり着きました。
公式なドキュメントではないので信頼性は不明ですが、この警告は無視することにします。
cockpit(Linux管理用のWebコンソール)を有効にする
cockpitでKVMの管理も出来るようなので、これを有効化しましょう。
サービスを有効化します。
[root@larkbox-x ~]# systemctl enable --now cockpit.socket
cockpitへのrootログインは禁止されています。
今回はお試しなので許可します。実運用するときは別ユーザにした方が安全ですね。
[root@larkbox-x ~]# vi /etc/cockpit/disallowed-users
以下のようにrootの行をコメントアウトします。
# List of users which are not allowed to login to Cockpit
# root
cockpitサービスを再起動して反映させれば、cockpitにrootログインできるようになります。
[root@larkbox-x ~]# systemctl restart cockpit.socket
ログインできました。
この時点では左側のメニューに「Virtual machines」がありません。
cockpit-machinesパッケージが必要なので、追加します。
[root@larkbox-x ~]# dnf install cockpit-machines
「Virtual machines」メニューが追加されました。
環境設定
ストレージプール
Larkbox Xの内蔵SSDは512GBしかなく心許ないので、旧サーバから抜き取った1TB SSDと4TB HDDを使います。SSD/HDDスタンドをを使って外付けしました。
SSDを /kvm_storpool/default にマウントします。
その後、defaultという名前のストレージプールとして登録します。
というのも、仮想マシンを新規作成する際に、ストレージは「ボリュームの新規作成」か既存ボリュームを指定するかの2択です。
既存ボリュームを指定する場合は、あらかじめ別画面でストレージプール内にボリュームを作成しておき、仮想マシン作成時にそれを指定することになります。面倒です。
「ボリュームの新規作成」では、作成先の指定などは一切できません。
・defaultストレージプールが存在しない場合
⇒/var/lib/libvirt/imagesをdefaultストレージプールとして作成し、そこにボリュームを作成
・defaultストレージプールが存在する場合
⇒そこにボリュームを作成
という挙動をします。
ですので、デフォルトでボリュームを作成したいストレージプールにはdefaultと名付けるのがベストなのです。
ファイアウォール
仮想マシンの画面を表示する際に5900ポートで接続します。
このポートはデフォルトで解放されていないので、ファイアウォールを開放しておきます。
作業前の状態です。5900は解放されていません。
[root@larkbox-x ~]# firewall-cmd --list-all (略) services: cockpit dhcpv6-client ssh ports: (略)
ポートを解放します。
[root@larkbox-x ~]# firewall-cmd --add-port=5900/tcp --permanent
ポート5900が解放されました。
[root@larkbox-x ~]# firewall-cmd --add-port=5900/tcp --permanentlist-all (略) services: cockpit dhcpv6-client ssh ports: 5900/tcp (略)
仮想マシンの作成
仮想マシンを新規作成します。
問題なくWindows11のインストールが完了しました。(スクショなしで申し訳ないですが)
ベンチマーク
CPU:4C4T、メモリ:10GB設定にして、このWindows11仮想マシンでCinebench R23を動かしてみます。
マルチコア2729、シングルコア826でした。
こちらの記事によると、仮想化なしの素のLarkbox X 2023ではマルチコア:2976、シングルコア920ですので、仮想化によって性能10%ダウンくらいですね。
複数OSを切り替えながら使えることとトレードオフなので、良しとしましょう。
【西川和久の不定期コラム】Core i5-7200Uと同レベルの性能!? N100搭載ミニPC!「CHUWI LarkBox X」 - PC Watch
うまく導入できましたので、自宅サーバのリプレースはLarkbox X 2023+Alma Linux+KVMとします。
次は、KVMの設定を詰めていきましょうか。