我对 Linux/Ubuntu 还很陌生,但却遇到了一种有趣的情况。
我使用我们提供的主机创建了一个虚拟机,并分配了一个 15GB 的磁盘,过了一会儿,我想扩展磁盘,因此我又添加了 15GB,这样总共就是 30GB。
我使用 LVM 并按照说明扩展 PV、VG 和 LV。
当我运行时,df -H
输出如下所示:
Filesystem Size Used Avail Use% Mounted on
tmpfs 206M 2.1M 204M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 30G 30G 0 100% /
tmpfs 1.1G 0 1.1G 0% /dev/shm
tmpfs 5.3M 0 5.3M 0% /run/lock
/dev/sda2 2.1G 265M 1.7G 14% /boot
overlay 30G 30G 0 100% /var/lib/docker/overlay2/14bf6b5fe4e4cbf18de4f119e72b856a4b2a12344400d70607e046a5700bf71d/merged
overlay 30G 30G 0 100% /var/lib/docker/overlay2/53fc9df182ab526cad1c6ad6f013d106132255e4b97f4054fa011f0add8b962e/merged
overlay 30G 30G 0 100% /var/lib/docker/overlay2/fb07d9b0321d527ae2a81d140e32342f4ca106973266d915a8bef34d0137788a/merged
overlay 30G 30G 0 100% /var/lib/docker/overlay2/4bb38aeb3fb507c4587293887b523bc2868c3750189c34a0fa930c3f8491a158/merged
overlay 30G 30G 0 100% /var/lib/docker/overlay2/e4b1beda87ba3d6319ecce901f38ebc29ce286be747faba68eeb23ca5a0140f6/merged
overlay 30G 30G 0 100% /var/lib/docker/overlay2/3be80b13cfb94f5a0825f2d08a3e6cfa8c5478467df2559d6dca8b6e1dc18c80/merged
overlay 30G 30G 0 100% /var/lib/docker/overlay2/68e0d290fe02d325221b48b5a9c01c6fa1c3cf62bd82504c5260a62d4d65a238/merged
overlay 30G 30G 0 100% /var/lib/docker/overlay2/e3228f804d3e37373db3d17f9f15ce3d44bbaa05cdceac48d75420584b7bd490/merged
tmpfs 206M 4.1k 206M 1% /run/user/1000
在我看来好像我成功地延伸了,/dev/mapper/ubunti--vg-ubuntu--lv
这很好。
如您所见,Use% 表示已使用 100% 的空间,因此我想清理一下。我一直在使用ncdu
此命令du -cha --max-depth=1 / | grep -E "M|G"
查看哪些文件占用了空间。
在两种情况下,总空间总计约为 15GB,以下是输出du -cha --max-depth=1 / | grep -E "M|G"
:
3.3G /usr
206M /home
6.8G /var
2.0M /run
252M /boot
5.6M /etc
1.3G /snap
2.9G /swap.img
du: cannot access '/proc/4032530/task/4032530/fd/4': No such file or directory
du: cannot access '/proc/4032530/task/4032530/fdinfo/4': No such file or directory
du: cannot access '/proc/4032530/fd/3': No such file or directory
du: cannot access '/proc/4032530/fdinfo/3': No such file or directory
15G /
15G total
如您所见,文件的总大小为 15GB,但光盘显示已占用 30GB。
我在这里遗漏了什么以及如何找出为什么当仅使用 15GB 时磁盘却报告为已满?
干杯!
更新:过了一会儿,我决定重新启动机器,看看是否有任何影响。
du -cha --max-depth=1 / | grep -E "M|G"
仍然输出:
3.3G /usr
206M /home
6.8G /var
1.9M /run
252M /boot
5.6M /etc
1.3G /snap
2.9G /swap.img
du: cannot access '/proc/3263/task/3263/fd/4': No such file or directory
du: cannot access '/proc/3263/task/3263/fdinfo/4': No such file or directory
du: cannot access '/proc/3263/fd/3': No such file or directory
du: cannot access '/proc/3263/fdinfo/3': No such file or directory
15G /
15G total
但现在指示的用法df -H
看起来类似:
Filesystem Size Used Avail Use% Mounted on
tmpfs 206M 2.0M 204M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 30G 12G 17G 41% /
tmpfs 1.1G 0 1.1G 0% /dev/shm
tmpfs 5.3M 0 5.3M 0% /run/lock
/dev/sda2 2.1G 265M 1.7G 14% /boot
overlay 30G 12G 17G 41% /var/lib/docker/overlay2/53fc9df182ab526cad1c6ad6f013d106132255e4b97f4054fa011f0add8b962e/merged
overlay 30G 12G 17G 41% /var/lib/docker/overlay2/e4b1beda87ba3d6319ecce901f38ebc29ce286be747faba68eeb23ca5a0140f6/merged
overlay 30G 12G 17G 41% /var/lib/docker/overlay2/14bf6b5fe4e4cbf18de4f119e72b856a4b2a12344400d70607e046a5700bf71d/merged
overlay 30G 12G 17G 41% /var/lib/docker/overlay2/68e0d290fe02d325221b48b5a9c01c6fa1c3cf62bd82504c5260a62d4d65a238/merged
overlay 30G 12G 17G 41% /var/lib/docker/overlay2/e3228f804d3e37373db3d17f9f15ce3d44bbaa05cdceac48d75420584b7bd490/merged
overlay 30G 12G 17G 41% /var/lib/docker/overlay2/3be80b13cfb94f5a0825f2d08a3e6cfa8c5478467df2559d6dca8b6e1dc18c80/merged
overlay 30G 12G 17G 41% /var/lib/docker/overlay2/4bb38aeb3fb507c4587293887b523bc2868c3750189c34a0fa930c3f8491a158/merged
overlay 30G 12G 17G 41% /var/lib/docker/overlay2/fb07d9b0321d527ae2a81d140e32342f4ca106973266d915a8bef34d0137788a/merged
tmpfs 206M 4.1k 206M 1% /run/user/1000
还是不明白机器重启之前发生了什么。
是否需要重新启动才能挂载新的空间?