首先 - 我不习惯使用 Ubuntu 等,但我开始使用它并做了我认为可以解决我的问题的事情。
我安装了 2 个磁盘,一个大小约为 1 TB,另一个大小为 41 TB。
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1000G 0 disk
└─sda1 8:1 0 1000G 0 part /
sdb 8:16 0 48.8T 0 disk
└─sdb1 8:17 0 40.9T 0 part /home/eouser/pgdata
我认为存储在 pgdata 目录中的数据只会存储在那里,但显然它是一个“子项的子项”(不知道正确的术语,抱歉)并且数据存在于两个磁盘上。
我确认了这一点:
sudo du -h /home/eouser/pgdata/
sudo du -h /
显示两者的目录。
显然我不想这样,因为 pgdata 上的数据越来越大,而另一个驱动器上的磁盘空间已满。可以解决这个问题吗?
我正在使用带有 Ubuntu 20.04 的虚拟机,该虚拟机仅提供命令行。
编辑1:
df -h 返回:
Filesystem Size Used Avail Use% Mounted on
udev 63G 0 63G 0% /dev
tmpfs 13G 1.4G 12G 11% /run
/dev/sda1 939G 939G 0 100% /
tmpfs 63G 0 63G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 63G 0 63G 0% /sys/fs/cgroup
s3fs 16E 0 16E 0% /codede
tmpfs 13G 0 13G 0% /run/user/1001
/dev/sdb1 41T 636G 39T 2% /mnt/pgdata
tmpfs 13G 0 13G 0% /run/user/1000
答案1
这是因为 Linux 文件系统的工作方式。Linux 具有单一文件结构。您可以访问的任何文件(无论其位于哪个驱动器)都可以在该单一文件系统下找到。
仅当该驱动器的文件系统安装在单一文件结构中时,才可访问该驱动器上的文件。
sda1
驱动器上的分区sda
安装在文件结构的顶部:/
。它包含系统文件。
您有第二个驱动器 ,sdb
其中包含一个分区sdb1
。该分区安装在pgdata
目录中的目录中eouser
,而该目录又位于home
可在根目录中找到的目录中/
,因此路径为/home/eouser/pgdata
。
该df
命令将遍历整个文件结构来计算文件的大小。因此,如果您从顶部开始(/
),也会/home/eouser/pgdata
包括在内。如果您从后者开始,则只计算后者的大小。