はじめに
FTDバージョン 6.2.3.10, 6.3.0.1, 6.4.0未満をご利用の場合において、mysqlのログローテーションにより削除されたmysql-server.err ファイルが完全に削除されずディスクスペースを消費し続けることがあります。当事象についてはエクスパートモードでの下記コマンドの実行よりmysql-server.err.1 (deleted)といった未削除の該当ファイルの有無にて確認することができ、未削除のファイルが滞留している場合は CSCvn30118の不具合の可能性があります。本ドキュメントはこの問題の回避策と対処方法をご案内します。
> show disk
Filesystem Size Used Avail Use% Mounted on
rootfs 114G 437M 114G 1% /
devtmpfs 114G 2.5G 112G 3% /dev
tmpfs 126G 1.8M 126G 1% /run
tmpfs 126G 1.7M 126G 1% /var/volatile
/dev/sda1 7.5G 161M 7.3G 3% /mnt/boot
/dev/sda2 1.9G 32M 1.7G 2% /opt/cisco/config
/dev/sda3 4.5G 22M 4.3G 1% /opt/cisco/platform/logs
/dev/sda5 46G 53M 44G 1% /var/data/cores
/dev/sda6 191G 180G 12G 94% /ngfw
cgroup_root 126G 0 126G 0% /dev/cgroups
> expert
admin@firepower: /ngfw/var/lib/mysql# lsof | grep mysql-server.err.*deleted
mysqld 37580 mysql 1w REG 8,6 165427995057 10344 /ngfw/var/lib/mysql/mysql-server.err.1 (deleted)
mysqld 37580 mysql 2w REG 8,6 165427995057 10344 /ngfw/var/lib/mysql/mysql-server.err.1 (deleted)
回避方法
回避方法として以下3つの方法がございますが、より安全なシステムの再起動が推奨されます。
1. expert mode root 権限にて、OmniQuery.pl -db mdb -e "flush logs;" の実行
admin@firepower:~$ sudo su
root@firepower:/home/admin# OmniQuery.pl -db mdb -e "flush logs;"
DBI connect('database=information_schema:host=:mysql_socket=/ngfw/var/run/mysql/mysql.sock','root',...) failed: Can't connect to local MySQL server through socket '/ngfw/var/run/mysql/mysql.sock' (2) at /ngfw/usr/local/sf/lib/perl/5.10.1/SF/QueryEngine/Utils.pm line 414
Can't call method "prepare" on unblessed reference at /ngfw/usr/local/sf/bin/OmniQuery.pl line 465.
Printing stack trace:
called from /ngfw/usr/local/sf/bin/OmniQuery.pl (465)
called from /ngfw/usr/local/sf/bin/OmniQuery.pl (79)
2. mysql process の再起動
expert mode 上で sudo pmtool restartbyid mysqld にてプロセスの再起動を行います。
以下が実行例です。mysqld の pid が変更されてることが分かります。(4217 -> 3525)
admin@firepower:~# sudo pmtool status | grep -i mysql
<snip>
mysqld (system,gui,mysql) - Running 4217
Command: /ngfw/usr/bin/mysqld --defaults-file=/ngfw/etc/my.cnf --user=mysql --basedir=/ngfw/usr --datadir=/ngfw/var/lib/mysql --pid-file=/ngfw/var/run/mysql/mysqld.pid --skip-external-locking
PID File: /ngfw/var/run/mysql/mysqld.pid
Status cmd: /ngfw/usr/bin/mysqladmin --defaults-file=/ngfw/etc/my.cnf -uroot -padmin ping
admin@firepower:~# sudo pmtool restartbyid mysqld
admin@firepower:~# sudo pmtool status | grep -i mysql
<snip>
mysqld (system,gui,mysql) - Running 3525
Command: /ngfw/usr/bin/mysqld --defaults-file=/ngfw/etc/my.cnf --user=mysql --basedir=/ngfw/usr --datadir=/ngfw/var/lib/mysql --pid-file=/ngfw/var/run/mysql/mysqld.pid --skip-external-locking
PID File: /ngfw/var/run/mysql/mysqld.pid
Status cmd: /ngfw/usr/bin/mysqladmin --defaults-file=/ngfw/etc/my.cnf -uroot -padmin ping
3. FTD の再起動
Firepower System: FMCと FTDと FirePOWER Moduleの 再起動手順をご参照下さい。
恒久対応策
恒久対策としては 6.2.3.10, 6.3.0.1以降へのバージョンへのアップグレードとなります。
参考情報
mysql-server.err file is not fully deleted and keeps consuming Firepower disk space
https://bst.cloudapps.cisco.com/bugsearch/bug/CSCvn30118
Firepower System and FTDトラブルシューティング
https://community.cisco.com/t5/-/-/ta-p/3161733