Samba 错误的磁盘使用情况报告

Samba 错误的磁盘使用情况报告

我正在尝试设置文件服务器。以下是系统规格:

root@files:/data# uname -a
Linux files 6.1.0-18-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.76-1 (2024-02-01) x86_64 GNU/Linux
root@files:/data# smbd --version
Version 4.17.12-Debian

我已成功从 Win11 笔记本电脑以及单独的 Linux 服务器连接到我的共享。我还尝试从本地文件服务器和其他 Linux 服务器使用 smbclient。以下是我的混合结果:

On the fileserver:
root@files:/data# df /data
Filesystem      1K-blocks    Used  Available Use% Mounted on
/dev/sdb       1921725720 2273612 1821759996   1% /data

(about 2.2 G used, the CORRECT amount)
From either smbclient: du command shows correct disk usage:
root@files:/data# smbclient //files/data
Password for [WORKGROUP\root]:
Try "help" to get a list of possible commands.
smb: \> du

                1921725720 blocks of size 1024. 1821759996 blocks available
Total number of bytes: 0
smb: \> exit

( output is identical from other server )
From the Win11:
Used Space: 102364901376 bytes - 95.3 GB
Free Space: 1865482235904 bytes - 1.69 TB
From the other Linux Server (mounting the share via mount):
Filesystem            1K-blocks     Used  Available Use% Mounted on
//files/media        1921725720 99965724 1821759996   6% /data

(about 96 G used)

好吧,我读了一些资料,在谷歌上搜索了一下,发现你可以在 /etc/samba/smb.conf 中使用 dfree 指令来运行自定义脚本来报告正确的数字。经过一段时间的折腾,我终于让它运行了——但是,正如你所看到的,这些数字是我正在运行 dfree:

( relevant parts of the shares )
[data]
        dfree command = /usr/local/bin/dfree
        guest ok = Yes
        path = /data
        read only = No


[media]
        dfree command = /usr/local/bin/dfree
        guest ok = Yes
        path = /data/Media

以下是我的脚本内容:

-rwxr-xr-x 1 root root 174 Feb 15 14:24 /usr/local/bin/dfree

#!/bin/sh
echo "$PWD: Total: $(df $PWD | tail -1 | awk '{print $2}'), Avail: $(df $PWD | tail -1 | awk '{print $4}')" >>/tmp/dfree
df "$PWD" | tail -1 | awk '{print $2,$4}'

该日志文件的内容如下:

root@files:/data# cat /tmp/dfree
Total: 1921725720, Avail: 1821759996
/data/Media: Total: 1921725720, Avail: 1821759996
/data: Total: 1921725720, Avail: 1821759996
/data: Total: 1921725720, Avail: 1821759996
/data: Total: 1921725720, Avail: 1821759996
/data: Total: 1921725720, Avail: 1821759996
/data: Total: 1921725720, Avail: 1821759996
/data: Total: 1921725720, Avail: 1821759996
/data: Total: 1921725720, Avail: 1821759996
/data: Total: 1921725720, Avail: 1821759996
/data: Total: 1921725720, Avail: 1821759996
/data: Total: 1921725720, Avail: 1821759996
/data: Total: 1921725720, Avail: 1821759996
/data: Total: 1921725720, Avail: 1821759996
/data/Media: Total: 1921725720, Avail: 1821759996
/data/Media: Total: 1921725720, Avail: 1821759996
/data/Media: Total: 1921725720, Avail: 1821759996

所以..我不确定我错过了什么。

为什么“已用”空间被不一致地报告为 95G?有没有办法正确报告该数字?

相关内容