我在这里和其他论坛上读过类似的帖子有一段时间了,但没有什么想法。
我们的环境中运行着一些带有 40 GB 根驱动器的 CentOS 7 Linux VM。几个月前,这些空间开始神秘地变满,使用量从 10GB 增加到几乎满了 40GB。我已经使用了大量关于查看最大目录/文件的 cmdlet,手动挖掘了目录,但没有发现任何关于丢失的 30GB+ 的信息。
- 我找到的只是
/proc/kcore
128TB 的文件,它显然没有使用任何文件系统空间。 - 然后,有时
lastlog
会达到 80GB,但同样,它是一个稀疏文件,不会占用任何空间。 - 我们最近升级了 Veeam,建议从备份中排除该文件,但到目前为止,没有发现任何证据表明这会导致空间丢失问题。
所有 cmdlet 以 root 身份运行。
- 这是标准
df -h
输出:Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 38G 38G 382M 100% / devtmpfs 911M 0 911M 0% /dev tmpfs 921M 304K 920M 1% /dev/shm tmpfs 921M 97M 824M 11% /run tmpfs 921M 0 921M 0% /sys/fs/cgroup /dev/sda1 497M 163M 334M 33% /boot tmpfs 185M 0 185M 0% /run/user/307804300 tmpfs 185M 0 185M 0% /run/user/0
ls -la
的输出/
:dr-xr-xr-x. 17 root root 4096 Apr 16 07:23 . dr-xr-xr-x. 17 root root 4096 Apr 16 07:23 .. lrwxrwxrwx. 1 root root 19 Nov 18 2017 bdcore.so -> bdcore.so.linux-x86 lrwxrwxrwx. 1 root root 7 Feb 29 2016 bin -> usr/bin dr-xr-xr-x. 4 root root 4096 May 4 12:26 boot drwxr-xr-x. 19 root root 3120 Jul 10 12:11 dev drwxr-xr-x. 86 root root 8192 May 18 13:41 etc drwxr-xr-x. 23 root root 4096 Jul 9 12:01 home lrwxrwxrwx. 1 root root 7 Feb 29 2016 lib -> usr/lib lrwxrwxrwx. 1 root root 9 Feb 29 2016 lib64 -> usr/lib64 drwxr-xr-x. 2 root root 6 Aug 12 2015 media dr-xr-xr-x. 17 root root 4096 Apr 16 07:23 mnt drwxr-xr-x. 6 root root 74 Jun 8 09:23 opt dr-xr-xr-x. 116 root root 0 May 18 13:40 proc dr-xr-x---. 6 root root 4096 Jun 23 2017 root drwxr-xr-x. 22 root root 700 Jul 10 12:11 run lrwxrwxrwx. 1 root root 8 Feb 29 2016 sbin -> usr/sbin drwxr-xr-x. 2 root root 6 Aug 12 2015 srv dr-xr-xr-x. 13 root root 0 May 18 13:41 sys drwxrwxrwt. 10 root root 4096 Jul 10 12:33 tmp drwxr-xr-x. 13 root root 4096 Feb 29 2016 usr drwxr-xr-x. 21 root root 4096 May 18 13:41 var
- 输出
du / -xh 2> /dev/null | sort -hr | head -n 20
:3.2G / 1.7G /opt 1.4G /opt/BitDefender 1.2G /usr 1.2G /opt/BitDefender/var 971M /opt/BitDefender/var/lib 656M /opt/BitDefender/var/lib/scan 474M /usr/lib 358M /usr/share 353M /opt/BitDefender/var/lib/scan/antivirus_9647 343M /opt/BitDefender/var/lib/scan/antivirus_9647/Plugins 313M /var 303M /opt/BitDefender/var/lib/scan/base 293M /opt/BitDefender/var/lib/scan/base/Plugins 241M /opt/SolarWinds/Agent/bin 241M /opt/SolarWinds/Agent 241M /opt/SolarWinds 236M /opt/BitDefender/var/log 226M /usr/lib/modules 215M /opt/BitDefender/var/lib/modules
正如您所看到的,空间并没有增加。
尝试/
通过安装到另一个位置mount -o bind / /mnt
,但得到相同的结果du -h /mnt
lsof +L1
不返回任何内容 - 最初保存有一些文件,但很小,此后进程已被终止。
非常感谢您的反馈。
更新:LVM 输出
--- Logical volume ---
LV Path /dev/centos/swap
LV Name swap
VG Name centos
LV UUID LXe5pc-42IG-PA2F-RcQB-7lmC-XDPy-5TgPSN
LV Write Access read/write
LV Creation host, time localhost, 2016-02-29 15:03:40 +0000
LV Status available
# open 2
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/centos/root
LV Name root
VG Name centos
LV UUID fKThWr-G0xn-gfka-rDcc-u029-sZ1Y-h3g5Bx
LV Write Access read/write
LV Creation host, time localhost, 2016-02-29 15:03:41 +0000
LV Status available
# open 1
LV Size 37.50 GiB
Current LE 9600
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
sudo pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name centos
PV Size 19.51 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 4994
Free PE 0
Allocated PE 4994
PV UUID CaFFWt-7Ayr-8slF-Kv5v-KBSZ-qfj4-AVp29w
--- Physical volume ---
PV Name /dev/sda3
VG Name centos
PV Size 10.00 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 2559
Free PE 0
Allocated PE 2559
PV UUID KVwyje-5tui-tAiB-JV1J-8L3G-Us3p-2AoyHf
--- Physical volume ---
PV Name /dev/sda4
VG Name centos
PV Size 10.00 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 2559
Free PE 0
Allocated PE 2559
PV UUID WAgPfw-jXxn-gAhS-hhe7-u1Ig-P9D3-ljPCjn
pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- 19.51g 0
/dev/sda3 centos lvm2 a-- 10.00g 0
/dev/sda4 centos lvm2 a-- 10.00g 0
lsof -n | grep deleted
不返回任何结果,因为已经杀死了保留已删除文件的所有 PID
ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 4.0 116548 76760 ? Ss May18 19:50 /usr/lib/system
root 2 0.0 0.0 0 0 ? S May18 0:01 [kthreadd]
root 3 0.0 0.0 0 0 ? S May18 1:01 [ksoftirqd/0]
root 7 0.0 0.0 0 0 ? S May18 0:00 [migration/0]
root 8 0.0 0.0 0 0 ? S May18 0:00 [rcu_bh]
root 9 0.0 0.0 0 0 ? S May18 0:00 [rcuob/0]
root 10 0.0 0.0 0 0 ? S May18 9:58 [rcu_sched]
root 11 0.0 0.0 0 0 ? S May18 15:31 [rcuos/0]
root 12 0.0 0.0 0 0 ? S May18 0:14 [watchdog/0]
root 13 0.0 0.0 0 0 ? S< May18 0:00 [khelper]
root 14 0.0 0.0 0 0 ? S May18 0:00 [kdevtmpfs]
root 15 0.0 0.0 0 0 ? S< May18 0:00 [netns]
root 16 0.0 0.0 0 0 ? S< May18 0:00 [perf]
root 17 0.0 0.0 0 0 ? S< May18 0:00 [writeback]
root 18 0.0 0.0 0 0 ? S< May18 0:00 [kintegrityd]
root 19 0.0 0.0 0 0 ? S< May18 0:00 [bioset]
root 20 0.0 0.0 0 0 ? S< May18 0:00 [kblockd]
root 21 0.0 0.0 0 0 ? S< May18 0:00 [md]
root 26 0.0 0.0 0 0 ? S May18 0:02 [khungtaskd]
root 27 0.0 0.0 0 0 ? S May18 16:30 [kswapd0]
root 28 0.0 0.0 0 0 ? SN May18 0:00 [ksmd]
root 30 0.0 0.0 0 0 ? S May18 0:00 [fsnotify_mark]
root 31 0.0 0.0 0 0 ? S< May18 0:00 [crypto]
root 39 0.0 0.0 0 0 ? S< May18 0:00 [kthrotld]
root 41 0.0 0.0 0 0 ? S< May18 0:00 [kmpath_rdacd]
root 42 0.0 0.0 0 0 ? S< May18 0:00 [kpsmoused]
root 44 0.0 0.0 0 0 ? S< May18 0:00 [ipv6_addrconf]
root 63 0.0 0.0 0 0 ? S< May18 0:00 [deferwq]
root 93 0.0 0.0 0 0 ? S May18 0:24 [kauditd]
root 259 0.0 0.0 0 0 ? S May18 0:00 [scsi_eh_0]
root 260 0.0 0.0 0 0 ? S< May18 0:00 [ata_sff]
root 261 0.0 0.0 0 0 ? S< May18 0:00 [scsi_tmf_0]
root 262 0.0 0.0 0 0 ? S May18 0:00 [scsi_eh_1]
root 264 0.0 0.0 0 0 ? S< May18 0:00 [events_power_e
root 265 0.0 0.0 0 0 ? S< May18 0:00 [vmw_pvscsi_wq_
root 266 0.0 0.0 0 0 ? S< May18 0:00 [scsi_tmf_1]
root 270 0.0 0.0 0 0 ? S May18 0:00 [scsi_eh_2]
root 271 0.0 0.0 0 0 ? S< May18 0:00 [scsi_tmf_2]
root 276 0.0 0.0 0 0 ? S< May18 0:00 [ttm_swap]
root 398 0.0 0.0 0 0 ? S< May18 0:00 [kdmflush]
root 399 0.0 0.0 0 0 ? S< May18 0:00 [bioset]
root 410 0.0 0.0 0 0 ? S< May18 0:00 [kdmflush]
root 411 0.0 0.0 0 0 ? S< May18 0:00 [bioset]
root 424 0.0 0.0 0 0 ? S< May18 0:00 [xfsalloc]
root 425 0.0 0.0 0 0 ? S< May18 0:00 [xfs_mru_cache]
root 426 0.0 0.0 0 0 ? S< May18 0:00 [xfs-buf/dm-0]
root 427 0.0 0.0 0 0 ? S< May18 0:00 [xfs-data/dm-0]
root 428 0.0 0.0 0 0 ? S< May18 0:00 [xfs-conv/dm-0]
root 429 0.0 0.0 0 0 ? S< May18 0:00 [xfs-cil/dm-0]
root 430 0.0 0.0 0 0 ? S May18 10:51 [xfsaild/dm-0]
root 502 0.0 0.1 36816 3524 ? Ss May18 8:04 /usr/lib/system
root 525 0.0 0.0 276600 556 ? Ss May18 0:00 /usr/sbin/lvmet
root 527 0.0 0.0 46800 20 ? Ss May18 0:00 /usr/lib/system
root 566 0.0 0.0 0 0 ? S< May18 0:00 [xfs-buf/sda1]
root 567 0.0 0.0 0 0 ? S< May18 0:00 [xfs-data/sda1]
root 568 0.0 0.0 0 0 ? S< May18 0:00 [xfs-conv/sda1]
root 569 0.0 0.0 0 0 ? S< May18 0:00 [xfs-cil/sda1]
root 571 0.0 0.0 0 0 ? S May18 0:00 [xfsaild/sda1]
root 621 0.0 0.0 116744 156 ? S<sl May18 1:37 /sbin/auditd -n
dbus 646 0.0 0.0 47392 944 ? Ssl May18 9:10 /bin/dbus-daemo
ntp 648 0.0 0.0 43808 512 ? Ss May18 0:14 /usr/sbin/ntpd
root 651 0.0 0.0 323972 1648 ? Ssl May18 1:26 /usr/bin/python
root 652 0.0 0.1 375400 3092 ? Ssl May18 2:51 /usr/sbin/rsysl
root 657 0.0 0.0 258988 1872 ? Ss May18 40:04 /usr/bin/vmtool
root 697 0.0 0.0 255680 264 ? Ss May18 1:16 /usr/sbin/sssd
root 698 0.0 1.5 502648 29232 ? S May18 2:32 /usr/libexec/ss
root 766 0.0 0.0 261508 1540 ? S May18 8:36 /usr/libexec/ss
root 767 0.0 0.0 246800 1548 ? S May18 0:28 /usr/libexec/ss
root 769 0.0 0.0 36692 1008 ? Ss May18 4:36 /usr/lib/system
root 771 0.0 0.0 126328 412 ? Ss May18 1:15 /usr/sbin/crond
root 773 0.0 0.0 443092 1664 ? Ssl May18 3:02 /usr/sbin/Netwo
root 851 0.0 0.0 53056 0 ? Ss May18 0:00 /usr/sbin/wpa_s
polkitd 854 0.0 0.0 540536 1244 ? Ssl May18 2:11 /usr/lib/polkit
root 1146 0.0 0.0 211620 476 ? Sl May18 13:56 /opt/BitDefende
root 1156 0.0 0.0 686628 44 ? Sl May18 6:08 /opt/BitDefende
root 1173 0.0 0.5 994932 9648 ? Sl May18 46:11 /opt/BitDefende
root 1205 0.3 0.1 576104 2644 ? Sl May18 304:22 /opt/BitDefende
root 1222 0.0 0.0 356520 340 ? Sl May18 17:25 /opt/BitDefende
root 1378 0.3 0.9 271152 17536 ? Sl May18 231:29 /opt/BitDefende
root 1435 0.0 0.0 30676 0 ? Ss May18 0:00 /usr/sbin/oddjo
root 1437 0.0 0.0 553064 912 ? Ssl May18 5:53 /usr/bin/python
root 1442 0.0 0.0 82548 264 ? Ss May18 0:00 /usr/sbin/sshd
root 2075 0.0 0.0 93212 168 ? Ss May18 0:25 /usr/libexec/po
postfix 2102 0.0 0.0 103660 152 ? S May18 0:09 qmgr -l -t unix
root 2340 0.3 44.0 2221756 830468 ? Sl Jun10 139:50 /opt/BitDefende
root 2488 0.0 0.0 0 0 ? S< Jun10 0:00 [bd_edr_wq]
root 2489 0.0 0.0 0 0 ? S Jun10 0:46 [consumer threa
root 2774 0.2 6.0 969012 114252 ? Sl May18 202:31 python /opt/Sap
root 3268 0.0 0.0 0 0 ? S 19:11 0:00 [kworker/u2:1]
root 3304 0.0 0.0 0 0 ? R 19:11 0:00 [kworker/0:33]
root 3305 0.0 0.0 0 0 ? S 19:11 0:00 [kworker/0:34]
postfix 3740 0.0 0.2 103480 3912 ? S 19:17 0:00 pickup -l -t un
root 3749 0.0 0.0 0 0 ? S 19:17 0:00 [kworker/0:0]
root 3868 0.0 0.0 0 0 ? S 19:19 0:00 [kworker/u2:0]
root 4043 0.0 0.2 169804 5256 ? Ss 19:19 0:00 sshd:
4064 0.0 0.1 169936 2400 ? S 19:20 0:00 sshd:
4065 0.0 0.1 128360 2752 pts/0 Ss 19:20 0:00 -bash
4351 0.0 0.0 161324 1832 pts/0 R+ 19:23 0:00 ps aux
swiagent 12080 0.0 0.2 1179968 4252 ? Ssl May21 53:42 /opt/SolarWinds
swiagent 12103 0.2 0.4 687308 8904 ? Sl May21 161:57 /opt/SolarWinds
root 12253 0.0 0.0 110032 4 tty1 Ss+ May21 0:00 /sbin/agetty --
root 14743 0.1 0.1 170772 2012 ? Ssl Jun23 29:31 /usr/local/bin/
root 19408 0.0 0.0 0 0 ? S 16:10 0:00 [kworker/u2:2]
root 19591 0.0 0.0 0 0 ? S< 16:11 0:00 [kworker/0:2H]
root 20130 0.0 0.0 0 0 ? S< 10:50 0:00 [kworker/0:1H]
BD 和 SW 代理已在沙盒环境中停止/删除,但这并没有回收任何空间
答案1
尝试fsck
扫描文件系统
答案2
我在 Hyper-V 和 Veeam 中使用 Debian 10 时也遇到了同样的问题。
当我构建服务器时,它只有几 GB 大。现在是121GB。
有些帖子提到您可以/应该排除 /proc/kcore,但我很好奇如果您需要完全恢复此虚拟机会发生什么。除此之外,我在家里使用带有 Powershell 的 Veeam 社区版,因此我使用 VeeamZIP,它总是进行完整备份。
该虚拟机随着时间的推移不断增长,一次又一次的备份,但看不到是什么开始的。
我找到了一种将所有事情结合在一起的方法,从搜索互联网到这几个步骤,以减少虚拟机磁盘的大小。
压缩虚拟机磁盘
在 Linux CLI 上,在比较 VHDX 之前首先将所有空白空间清零:
# cd /
# cat /dev/zero > zero.dat ; sync ; sleep 1 ; sync ; rm -f zero.dat
最后一个命令需要一段时间,所以请耐心等待......
现在关闭虚拟机,压缩虚拟机磁盘,启动 Powershell 并分别运行每个命令:
Mount-VHD -Path "D:\Hyper-V\VM-LINUX\Virtual Hard Disks\VM-LINUX.vhdx" -ReadOnly
Optimize-VHD -Path "D:\Hyper-V\VM-LINUX\Virtual Hard Disks\VM-LINUX.vhdx" -Mode Full
Dismount-VHD -Path "D:\Hyper-V\VM-LINUX\Virtual Hard Disks\VM-LINUX.vhdx"
转换 Linux VM 磁盘
添加新的 Linux VM 时,我们大多数人只是创建一个新的虚拟磁盘,附加下载的 ISO 并开始安装。
我发现在 Hyper-V 上的 Linux 最佳实践方面,使用 Powershell 可以完成更多工作。
创建动态磁盘时,默认增长大小为每步 32MB。对于 Linux,1MB 会更好,因此您必须使用 Powershell。
但我没有心情重新安装所有 Linux VM...
那么让我们来转换它们吧!
Convert-VHD -Path "D:\Hyper-V\VM-LINUX\Virtual Hard Disks\VM-LINUX.vhdx" -DestinationPath "D:\Hyper-V\VM-LINUX\Virtual Hard Disks\VM-LINUX-new.vhdx" -BlockSizeBytes 1MB
磁盘转换后,只需进入虚拟机的设置并选择磁盘,浏览到新磁盘并应用即可。然后,Hyper-V 将正确设置文件的安全设置。
压缩后,经过此转换,我的 Linux 磁盘(包含巨大的 /proc/kcore 文件)从 121GB 减少到 3.5GB!
我想VMWare也一定有类似的方法。