2020年10月17日土曜日

ESXi Arm Edition上のLinuxにopen-vm-toolsをインストールする手順

先日、Raspberry Pi 4にESXi Arm Editionを導入した。

せっかくARMのCPUを使えるESXiが誕生したので、CentOS、Ubuntu、そしてPhoton OSをESXi上にインストールしたのだが、これらのARM版Linuxディストリビューションにはopen-vm-toolsが導入されていない

さらには、現時点(2020年10月)では、ARM版のCentOS、Ubuntuでは、open-vm-toolsのパッケージが提供されておらず、以下のソースからビルドする必要があり、手順が少々複雑となる。

今回、各ARM版のOSに対して、open-vm-toolsを導入する手順を記載する。

作業前提事項

  • gitdnfaptを使うので、インターネット環境が必要
  • 時刻同期設定ができており、時刻がずれていないこと (時刻がずれているとdnf等がエラーになることがある)

ARM版CentOS 8

OSのインストールイメージは以下URLからダウンロードを行い、「最小インストール」にてインストールを行った。本記事執筆時点では、バージョンは「8.2.2004」となる。

以下コマンドを上から順に実行することで、open-vm-toolsをソースからビルドしインストールすることができる。

# パッケージをインストール
dnf install git automake make pkg-config libtool glib2-devel libtirpc-devel -y
dnf --enablerepo=PowerTools install rpcgen -y

# ソースをクローン
git clone https://github.com/vmware/open-vm-tools.git

# ソースよりビルド (10分ほど要する)
cd open-vm-tools/open-vm-tools/
autoreconf -i
./configure --without-x --without-pam --without-ssl --enable-deploypkg=no
make
make install
ldconfig

# systemdに登録
cat << EOF > /etc/systemd/system/vmtoolsd.service
[Unit]
Description=Service for virtual machines hosted on VMware
Documentation=http://github.com/vmware/open-vm-tools

[Service]
ExecStart=/usr/local/bin/vmtoolsd
TimeoutStopSec=5

[Install]
WantedBy=multi-user.target
EOF

# open-vm-tools起動
systemctl start vmtoolsd
systemctl enable vmtoolsd

Ubuntu Server for ARM

OSのインストールイメージは以下URLからダウンロードを行い、特にパッケージ追加は行わずにインストールを行った。

以下コマンドを上から順に実行することで、open-vm-toolsをソースからビルドしインストールすることができる。

# パッケージをインストール
sudo apt install automake make pkg-config libtool libglib2.0-dev -y

# ソースをクローン
git clone https://github.com/vmware/open-vm-tools.git

# ソースよりビルド (10分ほど要する)
cd open-vm-tools/open-vm-tools/
autoreconf -i
./configure --without-x --without-pam --without-ssl --enable-deploypkg=no
make
sudo make install
sudo ldconfig

# systemdに登録
cat << EOF | sudo tee /etc/systemd/system/vmtoolsd.service > /dev/null
[Unit]
Description=Service for virtual machines hosted on VMware
Documentation=http://github.com/vmware/open-vm-tools

[Service]
ExecStart=/usr/local/bin/vmtoolsd
TimeoutStopSec=5

[Install]
WantedBy=multi-user.target
EOF

# open-vm-tools起動
sudo systemctl start vmtoolsd
sudo systemctl enable vmtoolsd

ARM版Photon OS

OSのインストールイメージは以下URLから「Photon OS 3.0 Revision 2 Update1 Binaries」をダウンロードし、「Photon Minimal」にてインストールを行った。

Photon OSはさすがにVMware社謹製のLinuxディストリビューションだけあって、ARM版であってもopen-vm-toolsのパッケージが用意されており、ソースからビルドする必要はない。ただし、コマンドがdnfではなくtdnfだったりするのでちょっと癖があるので注意。

tdnf install open-vm-tools -y
systemctl start vmtoolsd
systemctl enable vmtoolsd

私の環境ではopen-vm-toolsインストール後、「start condition failed」のエラーとなって起動に失敗した。その場合は、OS再起動を実施してみよう。

# systemctl status vmtoolsd.service
● vmtoolsd.service - Service for virtual machines hosted on VMware
   Loaded: loaded (/lib/systemd/system/vmtoolsd.service; enabled; vendor preset>
   Active: inactive (dead)
Condition: start condition failed at Sun 2020-10-11 06:26:41 UTC; 2s ago
           mq ConditionVirtualization=vmware was not met
     Docs: http://github.com/vmware/open-vm-tools

まとめ

以上で各Linuxディストリビューションに対してopen-vm-toolsを導入することができた。これにより、ESXiから仮想マシンのIPアドレス情報が確認できたり、OSシャットダウンや再起動ができるようになり、一層便利になった。

参考

0 件のコメント:

コメントを投稿

人気の投稿