RPi5でVM遊び (2) qemu-system-x86がマルチにならない

忍耐の限界を超える,と言いながら,その後も時々怖いもの見たさでDebian x86_64の仮想マシンをRaspberry Pi 5 Model B (RPi5)で動かしています.

先程気がついたのですが,仮想マシン側でCPUを上限の4個に設定し,実際仮想マシンでは4つのthreadをフルに使っていますが,ホストマシンではqemu-system-x86のCPU占有率は100%前後で,1つのコアしか使っていないようです.

このスクリーンショットは,仮想マシンのデスクトップの右端とその下のホストのデスクトップのデスクトップの右端で,どちらのデスクトップにもgkrellmがありCPUの動作状況などを表示しています.

左側の仮想マシンではたしかに割り与えられたCPU4個をほとんどフルに使用していますが(上4つのグラフ),ホスト側では1個のCPUがフルに使われているだけの状況(同じく上4つのグラフがCPU1〜4ですが,このスクリーンショットでは上から2番めだけがフルに稼働しています.使用されるCPUは時々で変わります)です

もちろんネイティブのARM64の仮想マシンの場合は,仮想マシン側のCPU稼働率がそのままホスト側に反映します.

x86のエミュレーションでもホストの4個のCPUが使われれば,今のおそすぎる状況から4倍速くなることが期待できます.

しかし,ざっとネット検索したところでは解決策どころか,この状況を問題と取り上げている記事も見つかりません.

topで見ても同じです.

zram (5) resumeの問題

zramの設定について,自己完結のために記事を書きましたが,自己完結していないので補記です.

Debianのクリーンインストールをデフォルトで行うと,ルートパーティションの後ろにswapパーティションが作られてしまいます.

/etc/fstabからswapの行を削除しても次に起動するとswapパーティションが使われています.fdiskでswapパーティションを削除するという強硬策に出ると,さすがにディスクのパーティションを使用したswapはしませんが,起動がやたら遅くなります.

これは随分前から何度も経験している “RESUME” の問題です.initramsfs内の起動設定でRESUME用にswapパーティションを必要とするため,マウントしたいけどできずタイムアウトまで無駄に時間を浪費する,ということです.

仮想マシンに独自にRESUME機能をもたせても意味がありませんから(仮想マシンとしてresumeできる),ここを無効にするのですが,distroにより流儀が違うようです.

Manjaroに関しては,当blog内に記事がありました

Debianに関しては,/etc/initramsfs-tools/conf.d/resumeの一行だけあるRESUMEの行をコメントアウトすればよいです

3年前の記事です.何年か周期で同じことを繰り返しています😥
当然/etc/initramsfs-tools/conf.d/resumeを削除しても良いですが,残しておけば後で何かの手がかりになるかもしれません.

RPi5でVM遊び

Raspberry Pi 5 Model B (RPi5)は速いです.そうだこれだけ速いならVM遊びをしよう,ということで最初は無謀にもx86_64の仮想マシンを動かしてみることにしました.

別のx86_64マシンで動いているDebian x86_64 (AMD64)の仮想ディスクイメージをコピーしてきてチョチョイのちょいとおまじないをしたら動きました.

Raspberry Pi 5 Model B上で動くx86_64 Debian (QEMU-KVM使用)

しかし,遅い.遅いにもほどがあるというほど遅く,何かちょっと設定するだけでも忍耐の限界を超えるので人間の方にまだダメージが少ないうちにやめときました.

AppleのM1のMacではx86のソフトがx86の実機より速く動くという話を覚えていたので,少し期待しましたが,無理な話でした.

まだマシだろうということで,ARM64のソフトを動かしてみることにしました.最近いじりなれていて楽なのでDebianにしました.ほとんどDebianと同じであるRaspberry Pi OSをホストとして動くDebian ARM64です.net-instのcdromイメージを使って更からインストールです

スピード的には十分使える速度で,たぶんRaspberry Pi 4 Model B (RPi4)の実機より速いと思います.しかし,そのままほっといて食事から戻ってみると,死んでいたようなことが何度かあり,安定性には難があるようです.

Raspberry Pi 5 Model BのRaspberry Pi OSのもとで動くDebian ARM64.どちらもデスクトップはKDE Plasma Desktop.
作っては消す箱庭遊び.
一回失敗して,もう一回更に戻してインストールし直しました.まさに箱庭遊びです.

Debian x86 32bit PAEのGUI動く

Debian 9から飼っているx86 32bit PAEの仮想マシン(もとは実マシンと思われます)のGUIがいつからか動かなくりました

Debian 9は2017年6月17日にリリースされ,Debian 10は2019年7月10日ですから,最も古ければ6年半,少なくても4年半前のものです.

ふと思ってビデオをvirtioからQXLに替えてみたところ動きました.VGAでも動きます.まだ当分飼っておけそうで安心しました.

仮想マシンは箱庭みたいなもんで気に入らなくなるとすぐに消してしまうので,最も古い貴重なものとして今後もメンテしていきたいです.

Raspberry Pi OSにphpMyAdminのインストール

標記の件,あちこちに書いてあると思いますが,自分ナイズした手順をメモっときます.

前提としては,別所ですでにphpMyAdminが動いていた/var/lib/mysql以下をバイナリーで手元に持ってきて,データベースとして正常に動作している状態であることです.

apt install phpmyadmin

いろいろ依存ファイルがインストールされ,最後にdpkg-なんとかで設定するかと聞いてきますが,すでにphpmyadminが動くように設定済みのMariaDBが動いているわけですから “No” です.

これでApache2を再起動してもphpMyAdminは機能してくれませんでした.設定が足りていません.

設定の最初ですが,phpMyAdminというデフォルトのpathは攻撃者の格好の標的となりますので,/etc/phpmyadmin/apache.confの最初の方にあるAliasを他の人が想像しにくいように変えます.

次に,Debian的に進めるために,/etc/apache2/conf-availableに,/etc/phpmyadmin/apache.confのsymlinkを貼ります.

cd /etc/apache2/conf-available
ln -s /etc/phpmyadmin/apache.conf phpmyadmin.conf

次に,Debianらしいコマンドa2eanbleを実行し,apache2の設定をreloadすれば完了です.

a2enable phpmyadmin.conf
systemctl reload apache2

次はLDAP

次は,OpenLDAPをインストールして,これも別所のデータをバイナリーで移してみます.これはx86からARMにもってきたときは失敗したと記憶しています.

slapdが動くようになったら,phpLDAPadminを動かしてみます.

あとでも良いのですが.