在 NetApp 上通过 Samba 查看时文件夹显示为文件

aka*_*ter 6 debian samba netapp

我们想要更改NetApp文件服务器上的文件,并且在每次更改这些文件时 - Debian 机器将这些文件复制到另外两个共享。

由于我们使用的是复制方法lsync,我们需要挂载(NetApp 存储的)Samba 共享并与 Samba 重新共享,我们正在从 Debian 机器而不是 NetApp 的共享中进行所有更改.

问题是有时在某些树级别我们将文件夹视为文件而不是文件夹。

例如树看起来像这样:

/
--fol1
 +--fol5
   +--fol6
--fol2
 +--fol3
   +--fol4
Run Code Online (Sandbox Code Playgroud)

fol4/fol6级别的所有文件夹,无论它们的父级是什么,看起来都是一个文件。

注意:从 Debian 系统来看,一切正常,只有在 Debian 机器上看到 Samba 共享的 Windows 机器上才会出现问题。

一些想法如何解决这个问题?

smb.conf 文件:

guest account = nobody
map to guest = bad user
disable netbios = yes
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=242144
strict sync = no
acl check permissions = no
oplocks = False
level2oplocks = False
sync always = no

[reshare]
comment =reshare the netapp with debian to able to see the file change events
path = /netapp/
hosts allow =host1;host2;
writable = yes
guest ok = yes
force user = user1;
workgroup = SERVERS

server string = %h server
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
Run Code Online (Sandbox Code Playgroud)

c4f*_*t0r 0

如果您使用 cifs 进行 netapp 共享,请不要重新共享 netapp 共享,尝试使用 samba dfs。

这是来自 samba 官方文档的示例。

root# cd /export/dfsroot
root# chown root /export/dfsroot
root# chmod 755 /export/dfsroot
root# ln -s msdfs:storageA\\shareA linka
root# ln -s msdfs:serverB\\share,serverC\\share linkb

Example 20.1. smb.conf with DFS Configured
[global]
netbios name = GANDALF
host msdfs = yes
[dfs]
path = /export/dfsroot
msdfs root = yes
Run Code Online (Sandbox Code Playgroud)

这样,你的 Debian 就像是 netapp 共享的代理