한동안 여기와 다른 포럼에서 비슷한 게시물을 읽었지만 잘 모르겠습니다.
우리 환경에서는 40GB 루트 드라이브가 있는 일부 CentOS 7 Linux VM을 실행하고 있습니다. 몇 달 전부터 이러한 공간은 이상하게 가득 차기 시작했고 사용량이 10GB에서 거의 40GB로 증가했습니다. 가장 큰 디렉터리/파일을 보는 방법, 디렉터리를 수동으로 마이닝하는 방법에 대해 여러 cmdlet을 사용해 보았지만 누락된 30GB 이상의 디렉터리를 찾지 못했습니다.
- 내가 찾은 것은
/proc/kcore
파일 시스템 공간을 전혀 사용하지 않은 128TB의 파일뿐이었습니다. - 그러다가
lastlog
80GB까지 올라가는 경우도 있지만, 역시 희박한 파일이고 공간을 전혀 차지하지 않습니다. - 최근 Veeam을 업그레이드했으며 이 파일을 백업에서 제외하는 것이 권장되었지만 지금까지 이로 인해 공간 손실 문제가 발생한다는 증거는 발견되지 않았습니다.
모든 cmdlet은 루트로 실행됩니다.
- 이것은 표준
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을 사용할 때도 동일한 문제가 발생했습니다.
제가 서버를 구축했을 때 그 크기는 몇 기가바이트에 불과했습니다. 이제 121GB입니다.
일부 게시물에서는 /proc/kcore를 제외할 수 있거나 제외해야 한다고 언급하지만, 이 vm을 완전히 복원해야 하는 경우 어떻게 되는지 궁금합니다. 그 외에는 집에서 Powershell과 함께 Veeam Community Edition을 사용하기 때문에 항상 전체 백업을 해주는 VeeamZIP을 사용하고 있습니다.
VM은 시간이 지남에 따라 계속 증가하고 계속해서 백업되지만 무엇이 시작되었는지 알 수 없습니다.
저는 인터넷 검색부터 이 몇 단계까지 모든 것을 결합하여 가상 머신 디스크 크기를 줄이는 방법을 찾았습니다.
가상 머신 디스크 압축
Linux CLI에서는 VHDX를 비교하기 전에 먼저 빈 공간을 모두 0으로 만듭니다.
# cd /
# cat /dev/zero > zero.dat ; sync ; sleep 1 ; sync ; rm -f zero.dat
마지막 명령은 시간이 좀 걸리므로 잠시만 기다려주세요...
이제 VM을 종료하고, VM 디스크를 압축하고, 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에도 비슷한 방법이 있을 것 같아요.