报告称文件系统已满,其中一半由 ecrypt 使用,另一半由 /home/user 使用

报告称文件系统已满,其中一半由 ecrypt 使用,另一半由 /home/user 使用

我使用安装程序提供的选项来安装我的工作站以加密我的“/home”目录,我希望它在使用上完全透明,但在系统警告我文件系统已满后,我发现一半的空间被报告为由“ecrypt”文件使用,而另一半被“/home/username”目录使用。

我确实读过关于 /home/user 是虚拟挂载的事实真实的.ecrypt 中的数据不应占用硬盘空间。

然而我的系统(ubuntu 16.04)似乎不能理解这一点,导致我无法充分使用我的硬盘。

“df”报告/home分区的大小为226G,“du”确认其中一半是/home/user,一半是.ecrypt部分。

其他使系统调用检查文件系统的实用程序也遇到同样的问题,例如 python os.statvfs('/home/') 显示的结果与“du”一致。

如果 eCrypt 不会“双倍”使用 /home 文件夹的空间,我该如何帮助系统理解这一点?如果我的硬盘确实已满,我该如何正确使用 eCrypt,以免它使我的 /home 数据所需的空间增加一倍?

以下是先前讨论的命令的确切结果:

系统信息 :

$> uname -a
Linux pc-name 4.15.0-43-generic #46~16.04.1-Ubuntu SMP Fri Dec 7 13:31:08 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

df 结果:

$> df -h

udev 3,9G 0 3,9G 0% /dev
tmpfs 787M 9,5M 778M 2% /run
/dev/mapper/ubuntu--vg-root 226G 199G 16G 93% /
tmpfs 3,9G 71M 3,8G 2% /dev/shm
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 3,9G 0 3,9G 0% /sys/fs/cgroup
/dev/nvme0n1p2 473M 121M 328M 27% /boot
/dev/nvme0n1p1 511M 3,5M 508M 1% /boot/efi
tmpfs 787M 36K 787M 1% /run/user/1000
/home/username/.Private 226G 199G 16G 93% /home/username

lsblk 的结果:

$>sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL
NAME                  FSTYPE        SIZE MOUNTPOINT LABEL
nvme0n1                           238,5G            
├─nvme0n1p3           LVM2_member 237,5G            
│ ├─ubuntu--vg-swap_1 swap          7,9G            
│ │ └─cryptswap1      swap          7,9G [SWAP]     
│ └─ubuntu--vg-root   ext4        229,6G /          
├─nvme0n1p1           vfat          512M /boot/efi  
└─nvme0n1p2           ext2          488M /boot

结果:

$> sudo du -h --max-depth=1 /home/
119G /home/username
119G /home/.ecryptfs
237G /home/

Python 观点:

Python 2.7.12 (default, Nov 12 2018, 14:36:49) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> statvfs = os.statvfs('/home/')
>>> statvfs.f_frsize * statvfs.f_blocks
242521694208
#that is 242G of hardrive
>>> statvfs.f_frsize * statvfs.f_bfree
29071433728
>>> statvfs.f_frsize * statvfs.f_bavail
16728436736
#16G of free space

欢迎提供任何能够进一步解决或诊断问题的帮助,例如检查实际磁盘使用情况的工具。

-- 编辑添加用户未登录时的 df 信息:

Sys. de fichiers            Taille Utilisé Dispo Uti% Monté sur
udev                          3,9G       0  3,9G   0% /dev
tmpfs                         787M    9,5M  778M   2% /run
/dev/mapper/ubuntu--vg-root   226G    201G   14G  94% /
tmpfs                         3,9G    252K  3,9G   1% /dev/shm
tmpfs                         5,0M    4,0K  5,0M   1% /run/lock
tmpfs                         3,9G       0  3,9G   0% /sys/fs/cgroup
/dev/nvme0n1p2                473M    121M  328M  27% /boot
/dev/nvme0n1p1                511M    3,5M  508M   1% /boot/efi
tmpfs                         787M    120K  787M   1% /run/user/1002

答案1

按照 Xen2050 的建议后,我找到了问题的根源。当错误发生时,“双倍”大小确实超出了磁盘空间,因此由于 eCrypt 虚拟安装(如预期的那样),磁盘未满。经过调查,发现磁盘一方面被 /home 分区有效使用(~120G),另一方面也被包含 62G docker libs 的 /var/lib 有效使用...

最初的误解来自于使用 eCrypt 的用户的 df 输出,其显示:

/dev/mapper/ubuntu--vg-root 226G 199G 16G 93% /
/home/username/.Private     226G 199G 16G 93% /home/username

让我相信所有的空间都被 /home/username 分区占用了

相关内容