ふと思い立ってESXiのアップグレード方法を丹念に調べて6.5を7.0U2aにした。Web UIは前よりキビキビと動いているようだし、おかしかった監視データーもちゃんと見えるようになってとても快適。
だけど…
仮想マシンのBIOSが非常に遅く、起動すれば通常通り動くのだけれども、ちょっと待てるレベルではない。
解決方法を探そうと、キーワードを色々と入れて検索してみたけれど、そんな事例を見つけることができず、修正ができていない。
また、Ubuntuを動かしているとsyslogに failed to get udev uid: Invalid argument が大量に出力される。
これらの問題を回避するための設定を幾つか追加しておく必要がある。
仮想マシンを作るたびに毎回やることなので、ここにまとめてメモしておく。
環境
そもそもが、ESXi 7.0U2aを動かすのに無理があるマシン構成。
型番 | Gateway DX4840 | |
ESXi | 7.0U2a | |
CPU | Intel core i5 750 (Lynnfield) | 本来、ESXi 6.5までが動作範囲 |
Memory | 20GB (2GBx2+8GBx2) | |
LAN | Realtek RTL8111 + Intel 82574L | RTL8111はドライバがないので動かない |
仮想マシン作成のたびに行う設定
仮想マシン作成のたびに以下の設定を行って、トラブルを回避する。
ファームウェア
ファームウェアはEFIに設定する。
うちで起動するのはUbuntuなので、セキュアブートも可能と思われるが、設定はしなくてもよい。
設定パラメータ
仮想マシンオプションの詳細にある設定パラメーターに以下の2つを追加する。
キー | 値 | 目的 |
---|---|---|
monitor.allowLegacyCPU | TRUE | VMX Unrestricted Guestがないというエラーを回避 |
disk.EnableUUID | TRUE |
設定変更したら、仮想マシンを一度シャットダウンし、改めて起動する必要がある。
参考画像は使い回し。必要な項目が追加される可能性があるので、設定イメージとして。
音を鳴らす
ついでの追記(2021/09/20)。久しぶりにUbuntu Mateを起動したので、音を鳴らしてみようと思ったら、鳴らない。
これは基本の構成にサウンドカードがないから。
一度マシンを停止し、サウンドカード(HDオーディオ)を追加するだけで、OSが認識して音を鳴らしてくれた。
画面の解像度をFull HDにする
ついでの追記(2021/09/20)。Ubuntu Mateの解像度が低いので、おかしいなと思ったら…
KEV'S DEVELOPMENT TOOLBOX / Increasing VMware ESXi guest desktop resolution for Ubuntu 14.04
ここに書かれているとおりで、ビデオメモリを 4MB → 8MB に変更しただけでOKだった。
これは、ウチの環境だけかもしれないけれど、解像度の自動追従とかが上手く動かなかった。
仕方がないので、open-vm-tools達を再インストールした。
$ sudo apt purge open-vm-tools open-vm-tools-desktop $ sudo rm -rf /etc/vm-ware-tools/ ← purgeしたときに、ここにファイルがあるから消せないと言われたので、手で消した。 $ sudo reboot 再起動後 $ sudo apt install open-vm-tools open-vm-tools-desktop
画面を最大化したり、隣の画面に持って行ったり…と、サイズが変わるたびに追従してくれて便利。
仮想マシンの動き
実際にUbuntu 20.04 serverをインストールして様子を見てみた。
インストールCDをセットしておくと、スルスルッと素早く起動してくれる。
インストール時のパーティション
EFIになっているので、ESPのパーティションが必要になる。
インストールをデフォルトで進めていくと、以下のようになった。
FILE SYSTEM SUMMARY MOUNT POINT SIZE TYPE DEVICE TYPE [ / 14.496G new ext4 new LVM logical volume > ] [ /boot 1.000G new ext4 new partition of local disk > ] [ /boot/efi 512.000M new fat32 new partition of local disk > ] … USED DEVICES DEVICE TYPE SIZE [ ubuntu-vg (new) ubuntu-lv new, to be formatted as ext4, mounted at / LVM volume group 14.496G > ] [ /dev/sda local disk 16.000G > ] partition 1 new, primary ESP, to be formatted as fat32, mounted at /boot/efi 512.000M > partition 2 new, to be formatted as ext4, mounted at /boot 1.000G > partition 3 new, PV of LVM volume group ubuntu-vg 14.498G >
ESPは1つめのパーティションに作られて、512MBの容量が取られるらしい。
過去に示されていたubuntuの記事では200MBが推奨されていたような気がするが、時代?で増えているのかもしれないな。
また、デフォルトではLVMが標準で選択されていた。
このために/bootには別に1GBのマウントポイントが作られ、OSで自由に使える領域になるようだ。
これはこれで良いのだけれども、用途が決まっていて容量拡張が必要ないなら、LVMじゃなくても良いのかなと思ったりする。
FILE SYSTEM SUMMARY MOUNT POINT SIZE TYPE DEVICE TYPE [ / 15.496G new ext4 new partition of local disk > ] [ /boot/efi 512.000M new fat32 new partition of local disk > ] … USED DEVICES DEVICE TYPE SIZE [ /dev/sda local disk 16.000G > ] partition 1 new, primary ESP, to be formatted as fat32, mounted at /boot/efi 512.000M > partition 2 new, to be formatted at ext4, mounted at / 15.498G >
すっきりしているように思う。
仮想コンソール
BIOSと比較すると仮想コンソールが広くなって、仮想コンソールからCUIでログインした時などは情報量が多くて良いのではないだろうか。
起動後のログ確認
ここに上げている以外にもチラチラなんか出てるんだけど、気にしなくて良いのとか、問題ないのばっかりだと思われる。
failed to load module mdraid
これを解決するためにライブラリをインストールする手があるみたいだけど、mdraidって必要なんだろうか?
launchpad ubuntu / libbd_mdraid.so.2: cannot open shared object file
Aug 21 05:16:49 r1router udisksd[731]: failed to load module mdraid: libbd_mdraid.so.2: cannot open shared object file: No such file or directory Aug 21 05:16:49 r1router udisksd[731]: Failed to load the 'mdraid' libblockdev plugin
ファイルを探す方法は…
$ sudo apt install apt-file $ sudo apt-file update $ apt-file search libbd_mdraid.so.2 libblockdev-mdraid2: /usr/lib/x86_64-linux-gnu/libbd_mdraid.so.2 libblockdev-mdraid2: /usr/lib/x86_64-linux-gnu/libbd_mdraid.so.2.0.0
パッケージをインストールすると一緒に入ってきそうなものを調べると…
Qiita / aptの依存関係を知りたいそんなときに
$ apt-cache depends libblockdev-mdraid2 libblockdev-mdraid2 Depends: libblockdev-utils2 Depends: libbytesize1 Depends: libc6 Depends: libglib2.0-0 Depends: mdadm
とりあえず、インストールしてみるか。
$ sudo apt install libblockdev-mdraid2
エラーログは出なくなった。インストールが必要なのかどうかは分からない。
GRUB failed boot detection
vimで表示してみると問題っぽく見えているけれども、問題なし。
Aug 21 05:04:19 r1router systemd[1]: Starting GRUB failed boot detection... Aug 21 05:04:19 r1router systemd[1]: grub-initrd-fallback.service: Succeeded. Aug 21 05:04:19 r1router systemd[1]: Finished GRUB failed boot detection.
ユニットファイルの中身を見てみると…
$ systemctl cat grub-initrd-fallback.service # /lib/systemd/system/grub-initrd-fallback.service [Unit] Description=GRUB failed boot detection After=local-fs.target …
ということで、単にサービスの名前がこれなんだなと。
さいごに
完全に自分用メモ。
こんな環境の人は多分いないだろうし、
コメントはこちらから お気軽にどうぞ ~ 投稿に関するご意見・感想・他