仮想マシンのIPv6現状 (2) 6年前よりちょっと前進

ちょっとだけ進みました.仮想マシンが取得するIPv6のアドレスを,意図したとおりに,

  • IPv6のDHCPで与える
  • SLAACで降って来る形で与える

が可能になりました.仮想マシンがSLAACでIPv6のグローバルなIPアドレスを取得できたのは,今回が初めてではないかと思います.

なお,DHCPの場合は,Gentoo Wikiに書かれている通りでいいですが,SLAACで与えるには,IPv6の仮想インターフェース(virbr0など)をpreifxが64bitにしないとだめなようです(Gentoo Wikiの例では96bitにしている).

その “正しい” 方法は,libvirtのドキュメントに書かれているそのまんまです😥

あとは,ルーティングの問題ですが,DHCPにしても,SLAACにしても,アドレスを取得した仮想マシンのそのままのルーティングではなんにもできないようです.

それで手動でルーティングの設定を,ああでもないこうでもないといろいろ試していますが,今のところちっともうまく行っていません.

ホストのManjaroが,IPv6を転送しない設定(または仕様)なのかなと感じているほどです.

DHCPの場合は,prefix 96bit長でも大丈夫です.96bit長や,112bit長にしたほうがルーティングしやすいように思いますが,まだ,仮想マシンからインターネットにIPv6で出られないので,なんとも言えません.

仮想マシンのIPv6

そう,仮想マシンでIPv6が使えないというのは,3年前までのIPv6環境でも認識していました.

昨日1日,いろいろやってみましたが,その中で過去もこういうことをやってうまくいかなかったと思い出しました.しかし,BLOGや内部文書にも一切記述がありませんから,今回のようにまる1日かそれ以上費やしていろいろやったけど,成果が何も無いから記録も残さなかったようです.今回は,次回のため😓に,自分用の記録(データベースの1データ)として書いときます.

参考にしたのは,

です.この記事も見覚えがあるので,たぶん前回も参照したようです.

他も都度都度検索しましたが,やりたいことに直接結びつく情報はありませんでした.

それで,1日取り組んだ結果として,上記の記事を元に,IPv6のDHCP設定をすれば,仮想マシンがglobalなIPv6アドレスを取得して,LAN内のグローバルなサーバーにIPv6接続できるが,LANの外にはIPv6接続できない,という状況までたどり着きました.

外に出られない原因は推測ですが,

  • KVM / QEMU / libvirt のバグ,または仕様(または設定の問題)
  • LAN内のIPv6のマネージメントの問題
  • Nuroお仕着せルーターの仕様または,バグ,または設定の問題

のいずれか,または複合した問題と考えられます.もちろん,いずれのケースでも筆者がIPv6を理解していないための設定の不具合の可能性があります.

上記のGentoo Wikiの記事どおりにしても,DHCPを使わないとIPv6のグローバルなアドレスが降ってこないあたりに,libvirtの問題があるようにも思います.

おまけ: 仮想マシンのホストが飛びました

夜,そろそろ終わりにしようかと思ったら,KVM / QEMU / libvirtを動かしている仮想マシンのホストが飛びました.キーボードの操作に無反応ですが,GUIはそのままで,しばらくするとシステムをモニターしていたgkrellmの表示が止まり,時計も動かなくなりました.

やむなくリセットボタンを押しましたが,UEFIが認識されず,このサブworkstation(WS)のメインOSであるManjaroがブートできなくなりました.

バックアップ用ディスクにメインのディスク(SSD)の別パーティションにインストールしてあるDebian (サブWSのサブOS)がブートできるようにしてあり,そちらからはブートできましたので,メインのSSDがハード的に故障したのではなさそうです.

また,Debianから飛んだManjaroのパーティションをfsckすると,エラーなしです😓

これも思い出しましたが,以前も仮想マシンいじりをしていたら,ディスクコントローラーがおかしなことになり,ソフト的にディスクを破壊したことがありました.

今日は,メインOSの復旧に費やしそうです.

仮想マシンもネットが速い

LinuxのKVM/QEMUはよくできた仮想マシン環境だと思います.仮想マシン(Manjaro AMD64のlibvirt / KVM / QEMUの環境)でiNoniusのスピードテストをすると,この結果です.ゲスト(仮想マシン)は,Ubuntu x86_64です.

一方,macOSのVMWare Fusionではこのスピードです.こちらもゲストはUbuntu X86_64です.

問題としては,どちらもIPv6に対応してない点です.これは,3年前までのIPv6環境でも認識していて,多少調べたり試したりしましたが,全く力及ばずでした.

Manjaro ARM でサーバー (1) 当面の方針

Slackware ARMはあきらめてManjaro ARMに移行する方針を定めましたが,その方針にそって,Manjaro ARMでサーバーを動かすためには,まずMariaDBをインストールというか,Slackware ARMで動かしている内容をクローニングしなければなりません.

しかし,Raspberry Pi (RPi)でいろいろやるのはスピードが遅いので大変ですから,ここは,Manjaro AMD64 (x86_64)でいろいろ試して,最善手・最短経路を見出してから,RPiへの移行を実践するのが良さそうです.

手順としては,システムやWordPressが送り出すeMailの配信関係の整備が必要なのでDovecotとPostfixをインストールして,最低限の設定をするのから着手しようかと思いましたが,Postfixはデータベースと連携するようなので,MariaDBが先のようです.

せっかくいい感じのworkstation (WS)に仕上げてきた,Manjaro AMD64をグシャグシャにするのも嫌なので,空いているSSDにクローニングして,そちらで試すことにします.

目標達成のための当面の手順は次のようになります.

  1. MariaDBのインストールと初期設定.
  2. MariaDBにメインサーバーのバイナリーデータをコピーして正常動作するか試す.
  3. うまく行けば,5へ.
  4. うまく行かない場合は,データベースごとにexport / importを繰り返してデータの移転をする
  5. Postfixをインストール(MySQLを使うオプション)
  6. 最低限の初期設定を行う.
  7. Dovecotをインストールして設定(Dovecotはいくつかのマシンにインストール&設定して使えているので問題はないと思う)
  8. Postfixのチューニング

ここまでうまく行ったら,Manjaro ARMの方で同じような設定を行うことにします.

Slackware ARMはあきらめてManjaro ARMに移行する方針

Slackware ARM 15.0にupgradeした某サーバーですが,色々細かい不満があるので,Manjaroにしようかと考えています.

不満のひとつめは32bit OSであることです.かつての当社調べによると,同じハードウエアで同じOSの32bit版と64bit版を比較した場合,アプリのパフォーマンスの比は1:1〜2であり,平均すると1:1.3〜1.4です.この差を大きいと見るか小さいと見るかですが,体感速度が明確に向上する程ではないです.

それで,これまでそんなに64bit化にはこだわって来ませんでしたが,3割方パフォーマンスが抑えられているということをいつも認識しながら使うのは,細かい不満の一つにはなります.

2つ目はGUIが使い物にならない点です.ときどき,slackpkg update / upgrade-allをして,最新のパッチレベルにしていますが,Konquerorでは相変わらずwebの閲覧ができません.他にwebを閲覧する手立てがなくそのことはGUIが必須のworkstation (WS)としては致命傷です.とはいえ本来的にはGUIはいらないサーバーなので,これもひとつの細かい不満です.

64bit OSでGUIが使えるとなると,Raspberry Pi OSか,Manjaro ARMということになります.どちらがいいかとなれば,個人的にはKDE Plasma Desktopの使えるManjaro ARMとなります.

サーバーのSlackware ARMからManjaro ARMへの移転に関して,鍵になるのは,MariaDBの移転がうまく行くかどうかです.これがうまく行けばほかは楽勝だと思います.

気力がみなぎっているときに,試してみたいと思います.