Disk-Usage磁碟神秘地“滿”:
磁碟神秘地“滿”:du
和 df
不一致
我有一個相當庫存的 xubuntu 安裝,在正常執行大約 1.5 年後突然出現“磁碟已滿”錯誤。它有一個系統 SSD(~128GB)、一個包含 samba 共享的“數據”SSD(~500GB)和一個用於備份自身的 raid(兩個 ~4TB 硬碟)。它還執行一個 subsonic 實例來流式傳輸音頻文件。這是設置:
root@castor:/# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 3.7T 0 disk └─md0 9:0 0 3.7T 0 raid1 └─md0p1 259:6 0 3.7T 0 md /raid sdb 8:16 0 3.7T 0 disk └─md0 9:0 0 3.7T 0 raid1 └─md0p1 259:6 0 3.7T 0 md /raid nvme0n1 259:0 0 477G 0 disk └─nvme0n1p1 259:1 0 477G 0 part /data nvme1n1 259:2 0 111.8G 0 disk ├─nvme1n1p1 259:3 0 512M 0 part /boot/efi ├─nvme1n1p2 259:4 0 732M 0 part /boot └─nvme1n1p3 259:5 0 110.6G 0 part └─nvme0n1p3_crypt 253:0 0 110.6G 0 crypt ├─xubuntu--vg-root 253:1 0 109.6G 0 lvm / └─xubuntu--vg-swap_1 253:2 0 976M 0 lvm [SWAP]
在上面,請注意
/data
和/raid
位於不同的物理設備上/
。系統認為/
已滿:root@castor:/# df -h / Filesystem Size Used Avail Use% Mounted on /dev/mapper/xubuntu--vg-root 108G 106G 0 100% /
但是如果我排除
/data
並且/raid
我看到只使用了 9GB,而不是使用了 106GB:root@castor:/# du -hs --exclude={./data,./raid} du: cannot access './run/user/110/gvfs': Permission denied du: cannot access './proc/1747/task/1747/fd/4': No such file or directory du: cannot access './proc/1747/task/1747/fdinfo/4': No such file or directory du: cannot access './proc/1747/fd/3': No such file or directory du: cannot access './proc/1747/fdinfo/3': No such file or directory 9.0G .
這裡發生了什麼?這與使用加密文件系統安裝還是使用 LVM 有關?(我承認我真的不知道 LVM 在底層是如何工作的,我只是抽像地知道它應該允許多個物理設備構成一個邏輯“驅動器”)。
萬一它有用,這裡
du
沒有exclude
論據;它顯然包括以下內容/data
和/raid
總數:root@castor:/# du -hs /data 220G /data root@castor:/# du -hs /raid 220G /raid root@castor:/# du -hs . du: cannot access './run/user/110/gvfs': Permission denied du: cannot access './proc/1762/task/1762/fd/4': No such file or directory du: cannot access './proc/1762/task/1762/fdinfo/4': No such file or directory du: cannot access './proc/1762/fd/3': No such file or directory du: cannot access './proc/1762/fdinfo/3': No such file or directory 448G .
這是完整的輸出
df
root@castor:/# df -h Filesystem Size Used Avail Use% Mounted on udev 7.7G 0 7.7G 0% /dev tmpfs 1.6G 3.0M 1.6G 1% /run /dev/mapper/xubuntu--vg-root 108G 106G 0 100% / tmpfs 7.7G 0 7.7G 0% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 7.7G 0 7.7G 0% /sys/fs/cgroup /dev/nvme0n1p1 469G 220G 226G 50% /data /dev/nvme1n1p2 705M 81M 573M 13% /boot /dev/nvme1n1p1 511M 6.1M 505M 2% /boot/efi tmpfs 1.6G 4.0K 1.6G 1% /run/user/110 tmpfs 1.6G 0 1.6G 0% /run/user/1000 /dev/md0p1 3.6T 221G 3.2T 7% /raid
編輯回答“在哪裡
/proc
?”root@castor:/# du -hs /proc du: cannot access '/proc/1797/task/1797/fd/4': No such file or directory du: cannot access '/proc/1797/task/1797/fdinfo/4': No such file or directory du: cannot access '/proc/1797/fd/3': No such file or directory du: cannot access '/proc/1797/fdinfo/3': No such file or directory 0 /proc root@castor:/# ll /proc -S | head total 4 -r-------- 1 root root 140737477881856 Jun 11 13:53 kcore drwxr-xr-x+ 27 root root 4096 Jun 11 12:22 ../ lrwxrwxrwx 1 root root 11 Jun 11 13:53 mounts -> self/mounts lrwxrwxrwx 1 root root 8 Jun 11 13:53 net -> self/net/ dr-xr-xr-x 185 root root 0 Jun 11 12:34 ./ dr-xr-xr-x 9 root root 0 Jun 11 12:34 1/ dr-xr-xr-x 9 root root 0 Jun 11 12:35 10/ dr-xr-xr-x 9 root root 0 Jun 11 12:35 100/ dr-xr-xr-x 9 root root 0 Jun 11 12:35 1016/
事實證明,
/raid
在某些時候沒有正確重新安裝,因此有一段時間自動每日備份沒有寫入實際的raid/dev/md0
(安裝在)/raid
,而是寫入. 我沒有註意到這一點,因為在我開始調查時,實際的 raid已安裝在並有效地掩蓋了底層文件夾的內容。/raid``/dev/xubuntu-vg/root``/raid
總而言之,問題解決了
umount /raid mdadm --stop /dev/md0 rm -rf /raid/* mdadm --create --assume-clean --level=1 /dev/md0 --raid-devices=2 /dev/sda /dev/sdb mount /raid