操作系统:RHEL8 文件系统:xfs
我猜测某个僵尸进程正在占用该空间,但我找不到它。
问题在于/var/lib/pgsql/14
,它df
表示正在使用 1.1TB 的空间:
$ sudo df -T -xtmpfs -xdevtmpfs -h --sync
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 126G 14G 113G 11% /
/dev/sda1 xfs 2.0G 658M 1.4G 33% /boot
/dev/mapper/pgsql14vg-pgsql141v xfs 5.4T 1.1T 4.4T 20% /var/lib/pgsql/14
/dev/mapper/pglogvg-pglog1v xfs 15G 292M 15G 2% /var/log/postgresql
FISPFILNAS01.xxxxxxxxxxxx:/DB_backups_TAPb nfs4 15T 2.3T 13T 16% /var/lib/pgsql/14/backups
然而,du
说它只有 12GB 的文件:
$ du -x -d2 -h /var/lib/pgsql/14 | sort -k2
12G /var/lib/pgsql/14
12G /var/lib/pgsql/14/data
42M /var/lib/pgsql/14/data/base
2.8M /var/lib/pgsql/14/data/global
0 /var/lib/pgsql/14/data/pg_commit_ts
0 /var/lib/pgsql/14/data/pg_dynshmem
4.0K /var/lib/pgsql/14/data/pg_logical
16K /var/lib/pgsql/14/data/pg_multixact
0 /var/lib/pgsql/14/data/pg_notify
0 /var/lib/pgsql/14/data/pg_replslot
0 /var/lib/pgsql/14/data/pg_serial
0 /var/lib/pgsql/14/data/pg_snapshots
0 /var/lib/pgsql/14/data/pg_stat
976K /var/lib/pgsql/14/data/pg_stat_tmp
192K /var/lib/pgsql/14/data/pg_subtrans
0 /var/lib/pgsql/14/data/pg_tblspc
0 /var/lib/pgsql/14/data/pg_twophase
12G /var/lib/pgsql/14/data/pg_wal
112K /var/lib/pgsql/14/data/pg_xact
我什至尝试卸载该设备(在关闭 PostgreSQL 后),但它很忙,尽管 lsof 说没有进程正在使用它:
$ export PS1="$ "
$ sudo lsof /var/lib/pgsql/14
$
添加lsof +L1
输出:
$ sudo lsof +L1
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NLINK NODE NAME
dbus-daem 1182 dbus 22r REG 8,2 11567160 0 135113565 /var/lib/sss/mc/initgroups (deleted)
polkitd 1887 polkitd 3r REG 8,2 11567160 0 134903325 /var/lib/sss/mc/initgroups (deleted)
python.or 1899 root 6w REG 8,2 1434 0 67157239 /var/log/venv-salt-minion.log-20231217 (deleted)
python.or 1899 root 7r REG 8,2 11567160 0 134903325 /var/lib/sss/mc/initgroups (deleted)
sssd 16382 root 14r REG 8,2 11567160 0 134903325 /var/lib/sss/mc/initgroups (deleted)
sssd_be 16383 root 18r REG 8,2 11567160 0 134903325 /var/lib/sss/mc/initgroups (deleted)
答案1
你下面有另一个文件系统/var/lib/pgsql/14
。卸载/var/lib/pgsql/14/backups
并检查其中写入的意外文件:
Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/pgsql14vg-pgsql141v xfs 5.4T 1.1T 4.4T 20% /var/lib/pgsql/14 FISPFILNAS01.xxxxxxxxxxxx:/DB_backups_TAPb nfs4 15T 2.3T 13T 16% /var/lib/pgsql/14/backups
如果您无法卸载较低的文件系统 ( backups
),因为它是生产环境,您可以按照以下说明临时“绑定挂载”缺少空间的较高文件系统du 文件系统上的结果与 df 不一致:
mkdir /mnt/pgsql14
mount --bind /var/lib/pgsql/14 /mnt/pgsql14
du -x -d2 -h /mnt/pgsql14 | sort -k2
# …
umount /mnt/pgsql14
rmdir /mnt/pgsql14
答案2
跑步sudo lsof +L1
。
您将看到所有已删除但仍打开的文件,以及保持它们打开的进程。