0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

vCenter のアップグレードに失敗する

Posted at

TL;DR

筆者の場合はログファイルが溢れているのが原因だった。
適当に大きめのものを消す。

$ find /storage/log/vmware/sso/tomcat -type f -not -name '*2023*' -exec rm -rfv {} +

問題

vCenter の管理画面 (:5480 のアレ) でアップグレードを試したが、以下の画面が表示されて失敗してしまう。

Screenshot from 2023-09-02 01-26-04.png

調査

公式ドキュメント

まずは VMWare のドキュメントにあたった。

しかしページ内で示されている /var/log/vmware/upgrade/upgrade-requirements.log なるファイルは見当たらず、参考にならなかった。

しかし、 /var/log/vmware/upgrade といういかにもなディレクトリがあることは参考になる。

ログを見る

次に、上記で知った /var/log/vmware/upgrade というフォルダから怪しいログを探してみる。

$ ls -alt
total 708
-rw-r--r--  1 root root 339968 Sep  2 01:08 upgrade-post-import.log
-rw-r--r--  1 root root 339968 Sep  2 01:08 bootstrap.log
drwxr-xr-x 55 root root  12288 Sep  2 00:00 ..
drwxr-xr-x  2 root root   4096 Aug 26 16:50 .
-rw-r--r--  1 root root      0 Aug 26 16:50 import-succeeded
-rw-r--r--  1 root root      0 Aug 26 16:50 export-succeeded
-rw-r--r--  1 root root      0 Aug 26 16:50 prechecks-succeeded
-rw-r--r--  1 root root   6422 Dec  3  2021 upgrade-linux-requirements.log
-rw-r--r--  1 root root  10195 Dec  3  2021 requirements-upgrade-runner.log

一番最近に更新されている upgrade-post-import.log のログを見てみたが、 INFO ばかりで参考になりそうな情報はなかった。
なので INFO を抜いたログを見てみる。 (一部抜粋)

$ grep -v INFO *
upgrade-linux-requirements.log:2021-12-03T04:45:16.710Z ERROR transport Command ['/usr/bin/python', '/var/tmp/vmware-upgrade-requirements/cis-upgrade-runner/UpgradeOrchestrator.py', '-m', 'requirements', '-f', '/var/tmp/vmware-upgrade-requirements/cis-upgrade-runner/config.json', '-o', '/var/tmp/vmware-upgrade-requirements/cis-upgrade-runner/upgrade-requirements-status.json', '--logDir', '/var/log/vmware/upgrade', '--logFileName', 'requirements-upgrade-runner.log', '--cancelFile', '/var/tmp/upgrade_cancel.op', '-l', 'en', '--disableScreenLog'] exit-code=1, stdout=, stderr=
upgrade-linux-requirements.log:2021-12-03T04:45:16.714Z ERROR __main__ FAILED: Found upgrade requirements mismatches.

日時は古いものの、怪しい。
同じコマンドを、 --disableScreenLog だけ抜いて実行してみる。

/usr/bin/python /var/tmp/vmware-upgrade-requirements/cis-upgrade-runner/UpgradeOrchestrator.py -m requirements -f /var/tmp/vmware-upgrade-requirements/cis-upgrade-runner/config.json -o /var/tmp/vmware-upgrade-requirements/cis-upgrade-runner/upgrade-requirements-status.json --logDir /var/log/vmware/upgrade --logFileName requirements-upgrade-runner.log --cancelFile /var/tmp/upgrade_cancel.op -l en
2023-09-01T16:22:46.236Z INFO __main__ Passed arguments: ['/var/tmp/vmware-upgrade-requirements/cis-upgrade-runner/UpgradeOrchestrator.py', '-m', 'requirements', '-f', '/var/tmp/vmware-upgrade-requirements/cis-upgrade-runner/config.json', '-o', '/var/tmp/vmware-upgrade-requirements/cis-upgrade-runner/upgrade-requirements-status.json', '--logDir', '/var/log/vmware/upgrade', '--logFileName', 'requirements-upgrade-runner.log', '--cancelFile', '/var/tmp/upgrade_cancel.op', '-l', 'en']
2023-09-01T16:22:46.236Z INFO __main__ ---This is migration/upgrade to version 7.0---
2023-09-01T16:22:46.239Z ERROR config.config_loader Cannot find global configuration /var/tmp/vmware-upgrade-requirements/cis-upgrade-runner/config.json. Exiting...
2023-09-01T16:22:46.239Z INFO output.requirements_result_producer Repository is not set, not adding SSO information.
2023-09-01T16:22:46.239Z INFO output.requirements_result_producer Setting storage partitions for component 'upgrade_framework'.
--- Logging error ---
Traceback (most recent call last):
  File "/usr/lib/python3.7/logging/__init__.py", line 1029, in emit
    self.flush()
  File "/usr/lib/python3.7/logging/__init__.py", line 1009, in flush
    self.stream.flush()
OSError: [Errno 28] No space left on device

## 省略 ##

ディスクがいっぱいらしいので確認してみる。

$ df -h
Filesystem                                Size  Used Avail Use% Mounted on
devtmpfs                                  9.3G     0  9.3G   0% /dev
tmpfs                                     9.4G  780K  9.4G   1% /dev/shm
tmpfs                                     9.4G  1.2M  9.4G   1% /run
tmpfs                                     9.4G     0  9.4G   0% /sys/fs/cgroup
/dev/sda3                                  46G   10G   34G  23% /
/dev/sda2                                 120M   24M   88M  22% /boot
/dev/mapper/lifecycle_vg-lifecycle         98G  2.2G   91G   3% /storage/lifecycle
/dev/mapper/vtsdblog_vg-vtsdblog           15G   73M   14G   1% /storage/vtsdblog
/dev/mapper/vtsdb_vg-vtsdb                 25G   76M   24G   1% /storage/vtsdb
/dev/mapper/archive_vg-archive             49G   42G  5.3G  89% /storage/archive
/dev/mapper/updatemgr_vg-updatemgr         98G  6.4G   87G   7% /storage/updatemgr
/dev/mapper/imagebuilder_vg-imagebuilder  9.8G   37M  9.3G   1% /storage/imagebuilder
/dev/mapper/log_vg-log                    9.8G  9.8G     0 100% /storage/log
/dev/mapper/autodeploy_vg-autodeploy      9.8G   37M  9.3G   1% /storage/autodeploy
/dev/mapper/dblog_vg-dblog                 15G  201M   14G   2% /storage/dblog
/dev/mapper/netdump_vg-netdump            985M  2.5M  915M   1% /storage/netdump
/dev/mapper/core_vg-core                   49G  301M   47G   1% /storage/core
tmpfs                                     9.4G   11M  9.3G   1% /tmp
/dev/mapper/db_vg-db                      9.8G  459M  8.9G   5% /storage/db
/dev/mapper/seat_vg-seat                   25G  439M   23G   2% /storage/seat

/storage/log というデバイスが 100% になってしまっている。。。

原因・解決

というわけで、ログ用のディスク?がいっぱいになっていることがエラーの原因だった。
大きなファイルを消してあげることで解決できるだろう。

圧迫してそうなやつを探してみると、どうやら vmware/sso/tomcat というのが大きそうだ。

$ du -hc /storage/log | sort -h | tail
502M	/storage/log/vmware/vsphere-ui/logs
532M	/storage/log/vmware/vmware-updatemgr
532M	/storage/log/vmware/vmware-updatemgr/vum-server
636M	/storage/log/vmware/vpxd
1.9G	/storage/log/vmware/lookupsvc
4.6G	/storage/log/vmware/sso
4.6G	/storage/log/vmware/sso/tomcat
9.8G	/storage/log
9.8G	total
9.8G	/storage/log/vmware

中を見てみると、そこそこのサイズのファイルが大量にある様子。

$ ls -al vmware/sso/tomcat/
total 4751672
drwxr-xr-x 2 root root    61440 Sep  1 09:00 .
drwxr-xr-x 3 root root     4096 Sep  1 08:21 ..
-rw-r--r-- 1 root root  5359230 Dec  3  2021 catalina.2021-12-02.log
-rw-r--r-- 1 root root 10791360 Dec  4  2021 catalina.2021-12-03.log
-rw-r--r-- 1 root root 10790111 Dec  5  2021 catalina.2021-12-04.log
-rw-r--r-- 1 root root 10790111 Dec  6  2021 catalina.2021-12-05.log
-rw-r--r-- 1 root root 10790111 Dec  7  2021 catalina.2021-12-06.log

## 省略 ##

古いログを見ることはほとんどないので、消してしまうことにした。
今回は、今が 2023/08 であることを踏まえて 2022 年以前のログファイルを消すことにした 1

$ find /storage/log/vmware/sso/tomcat -type f -not -name '*2023*' -exec rm -rfv {} +
removed '/storage/log/vmware/sso/tomcat/localhost_access.2022-09-24.log'
removed '/storage/log/vmware/sso/tomcat/localhost_access.2022-11-02.log'
removed '/storage/log/vmware/sso/tomcat/localhost_access.2022-12-15.log'
removed '/storage/log/vmware/sso/tomcat/catalina.2022-12-23.log'
removed '/storage/log/vmware/sso/tomcat/localhost_access.2022-09-26.log'
removed '/storage/log/vmware/sso/tomcat/catalina.2022-05-17.log'
removed '/storage/log/vmware/sso/tomcat/catalina.2022-03-10.log'
removed '/storage/log/vmware/sso/tomcat/catalina.2022-05-28.log'

## 省略 ##
$ df -h
Filesystem                                Size  Used Avail Use% Mounted on
devtmpfs                                  9.3G     0  9.3G   0% /dev
tmpfs                                     9.4G  780K  9.4G   1% /dev/shm
tmpfs                                     9.4G  1.2M  9.4G   1% /run
tmpfs                                     9.4G     0  9.4G   0% /sys/fs/cgroup
/dev/sda3                                  46G   10G   34G  23% /
/dev/sda2                                 120M   24M   88M  22% /boot
/dev/mapper/lifecycle_vg-lifecycle         98G  2.2G   91G   3% /storage/lifecycle
/dev/mapper/vtsdblog_vg-vtsdblog           15G   73M   14G   1% /storage/vtsdblog
/dev/mapper/vtsdb_vg-vtsdb                 25G   76M   24G   1% /storage/vtsdb
/dev/mapper/archive_vg-archive             49G   42G  5.3G  89% /storage/archive
/dev/mapper/updatemgr_vg-updatemgr         98G  6.4G   87G   7% /storage/updatemgr
/dev/mapper/imagebuilder_vg-imagebuilder  9.8G   37M  9.3G   1% /storage/imagebuilder
/dev/mapper/log_vg-log                    9.8G  5.5G  3.8G  59% /storage/log
/dev/mapper/autodeploy_vg-autodeploy      9.8G   37M  9.3G   1% /storage/autodeploy
/dev/mapper/dblog_vg-dblog                 15G  201M   14G   2% /storage/dblog
/dev/mapper/netdump_vg-netdump            985M  2.5M  915M   1% /storage/netdump
/dev/mapper/core_vg-core                   49G  301M   47G   1% /storage/core
tmpfs                                     9.4G   11M  9.3G   1% /tmp
/dev/mapper/db_vg-db                      9.8G  459M  8.9G   5% /storage/db
/dev/mapper/seat_vg-seat                   25G  439M   23G   2% /storage/seat

だいぶスッキリした。

まとめ

そういえば vCenter UI 上でストレージ周りのエラーが出ていた気がする。
ちゃんと読んでおけばよかった。

というか容量を食っているのがログなら、古いものを削除するかどうかの UI くらい出してくれてもいいのになぁ。

  1. 実行してから気づいたが、 yyyy-mm-dd を名前に含まないファイルを考慮していなかった。まあいいか。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?