はじめに
Firepower や FTD(Firepower Threat Defense) 製品において、disk space 不足による Patch upgrade が失敗する事例が幾つか報告されています。特に ASA5506-X のような disk size が小さい platform で発生する傾向が多く、本 topic ではこの問題に対するトラブルシューティング手法をご案内致します。
※ 本 topic は ASA5506-X(ASA w/ Firepower) 5.4.1.5 を前提に作成しております。
トラブルシューティング
本 topic は Firepower/FTD の patch upgrade を実施した際、Not enough space available.Wanted 23845342 KB.Available only 5138022.4. という形で disk space 不足で upgrade が失敗した場合を前提とします。
まず最初に、df コマンドで disk 使用率を確認します。以下のように、/var 配下の使用率が高い場合、実際に disk 使用率が高いために upgrade が失敗したとお考え頂ければと思います。
admin@Sourcefire3D:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 3844792 719212 2930272 20% /
devtmpfs 1151892 64 1151828 1% /dev
/dev/sda1 101105 63992 31892 67% /boot
/dev/vda7 39291028 33034316 4260800 89% /var
none 1152192 30004 1122188 3% /dev/sh
/var 配下の disk 使用率が高い場合、一般的に考えられるのは Patch, VDB, SRU, backup file の何れかが肥大化していることが多いため、これらの状況を確認します。
admin@Sourcefire3D:~$ ls -l /var/sf/SRU (SRU file)
admin@Sourcefire3D:~$ ls -l /var/sf/updates/ (Patch or VDB file)
admin@Sourcefire3D:~$ ls -l /var/sf/backup/ (backup file)
/var 配下全体の使用率を確認したい場合は以下のようなコマンドも有効です。
admin@Sourcefire3D:~$ find /var -follow -type f -printf "%12s %p\n" 2>-dev-null | sort -rh
また、TS file 内の command-outputs 配下にある find var -follow -type f -printf "%12s %p\n" 2>-dev-null | sort -n.output ファイルでも /var 配下でどの file の使用量が大きいのか確認可能です。
例としてある TS file 内の find var -follow -type f -printf "%12s %p\n" 2>-dev-null | sort -n.output ファイルの結果が以下だったとします。
TOISHIKA-M-812S:results-12-18-2017--60641 toishika$ cat command-outputs/find\ var\ -follow\ -type\ f\ -printf\ \"%12s\ %p\\n\"\ 2\>-dev-null\ \|\ sort\ -n.output
<snip>
113463987 /var/sf/SRU/Sourcefire_Rule_Update-2016-09-16-001-vrt.sh
113493976 /var/sf/SRU/Sourcefire_Rule_Update-2017-07-05-001-vrt.sh
113521748 /var/sf/SRU/Sourcefire_Rule_Update-2016-09-21-001-vrt.sh
113540469 /var/sf/SRU/Sourcefire_Rule_Update-2016-09-26-001-vrt.sh
113613227 /var/sf/SRU/Sourcefire_Rule_Update-2016-09-28-001-vrt.sh
113621454 /var/sf/SRU/Sourcefire_Rule_Update-2016-09-30-001-vrt.sh
113665568 /var/sf/SRU/Sourcefire_Rule_Update-2017-07-12-001-vrt.sh
113667054 /var/sf/SRU/Sourcefire_Rule_Update-2016-10-03-001-vrt.sh
<snip>
123960757 /var/sf/SRU/Sourcefire_Rule_Update-2017-11-06-001-vrt.sh
124016711 /var/sf/SRU/Sourcefire_Rule_Update-2017-11-09-001-vrt.sh
124016711 /var/sf/sru/2017-11-09-001-vrt/Sourcefire_Rule_Update-2017-11-09-001-vrt.sh
124159176 /var/sf/SRU/Sourcefire_Rule_Update-2017-11-13-001-vrt.sh
124159176 /var/sf/sru/2017-11-13-001-vrt/Sourcefire_Rule_Update-2017-11-13-001-vrt.sh
124168976 /var/sf/SRU/Sourcefire_Rule_Update-2017-11-15-001-vrt.sh
124168976 /var/sf/sru/2017-11-15-001-vrt/Sourcefire_Rule_Update-2017-11-15-001-vrt.sh
124253847 /var/sf/SRU/Sourcefire_Rule_Update-2017-12-06-001-vrt.sh
124253847 /var/sf/sru/2017-12-06-001-vrt/Sourcefire_Rule_Update-2017-12-06-001-vrt.sh
124306474 /var/sf/SRU/Sourcefire_Rule_Update-2017-11-20-002-vrt.sh
124306474 /var/sf/sru/2017-11-20-002-vrt/Sourcefire_Rule_Update-2017-11-20-002-vrt.sh
124344957 /var/sf/SRU/Sourcefire_Rule_Update-2017-12-12-001-vrt.sh
124344957 /var/sf/sru/2017-12-12-001-vrt/Sourcefire_Rule_Update-2017-12-12-001-vrt.sh
124377633 /var/sf/SRU/Sourcefire_Rule_Update-2017-12-14-001-vrt.sh
124377633 /var/sf/sru/2017-12-14-001-vrt/Sourcefire_Rule_Update-2017-12-14-001-vrt.sh
124440658 /var/sf/SRU/Sourcefire_Rule_Update-2017-11-28-002-vrt.sh
124440658 /var/sf/sru/2017-11-28-002-vrt/Sourcefire_Rule_Update-2017-11-28-002-vrt.sh
124482470 /var/sf/SRU/Sourcefire_Rule_Update-2017-11-30-001-vrt.sh
124482470 /var/sf/sru/2017-11-30-001-vrt/Sourcefire_Rule_Update-2017-11-30-001-vrt.sh
124592922 /var/sf/SRU/Sourcefire_Rule_Update-2017-12-04-001-vrt.sh
124592922 /var/sf/sru/2017-12-04-001-vrt/Sourcefire_Rule_Update-2017-12-04-001-vrt.sh
134217728 /var/lib/mysql/ib_logfile0
134217728 /var/lib/mysql/ib_logfile1
146800640 /var/lib/mysql/sfsnort/#sql-ib10629-3958450063.ibd
234881024 /var/lib/mysql/sfsnort/rna_vuln.ibd
264241152 /var/lib/mysql/sfsnort/EORevisionStore.ibd
339738624 /var/lib/mysql/sfsnort/rule_opts.ibd
461021915 /var/sf/updates/Sourcefire_Geodb_Update-2017-12-12-002.sh
この場合、/var/sf/SRU や /var/sf/sru 配下の SRU file が file size を専有していることが確認できるため、rm コマンドで不要なファイルを削除します。
admin@Sourcefire3D:~$ sudo rm /var/sf/SRU/*
admin@Sourcefire3D:~$ sudo rm /var/sf/sru/*
このようにして不要な file を削除し、disk space を増やした後で upgrade を実施頂ければ当該エラーは発生せず upgrade は成功するようになります。
参考情報