我完全不知道ZFS 上的本地 SMB/CIFS。这个 wiki 文档没有提到性能差异。两者之间存在什么样的性能差异?
在将我的头发拉出 DFS 之后,我突然想到了这个奇怪且具有潜在危险的想法,因此,可能我可以使用 HA-Proxy 来负载平衡服务器之间的文件共享。
我已经完成了一些补救数据包跟踪,看起来 TCP 端口 445 是使用 Windows 文件共享所涉及的唯一问题。多年来,我一直认为 UDP 139、135 等也至少参与建立连接 - 但显然不是!
所以我设置了一个基本的测试:
listen SMBTest *:445
mode tcp
server Smb1 172.16.61.201:445
server Smb2 172.16.61.202:445
Run Code Online (Sandbox Code Playgroud)
你永远不会猜到是什么......它有效???(!)
现在显然有关于文件服务器之间同步的全部问题(当然)。这可以通过一点 Robocopy 脚本轻松解决。
考虑到我只需要一个 HA 只读文件共享,文件锁定等不会有任何问题。
file-sharing samba load-balancing server-message-block haproxy
上周六,我们将一台新的虚拟 2008R2 服务器升级为 dc,并将所有 FSMO 角色转移给它。今天我们花了一整天的时间来追查域浏览器功能的问题。
今天早上的问题是,xp 机器之间的网络发送停止工作。我们开始调查。
在 ntads04 上的事件日志中,我们有消息,其他站点上的 DC 被检测为主浏览器,并且本地主浏览器关闭或强制选举。(消息是德语抱歉)。事件日志 xml 如下。
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="bowser" />
<EventID Qualifiers="49152">8003</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2011-12-06T16:46:16.873033800Z" />
<EventRecordID>19226</EventRecordID>
<Channel>System</Channel>
<Computer>ntads04.domain.local</Computer> …Run Code Online (Sandbox Code Playgroud) \\host.example.com\ShareName\Tail\Components
|______________| |_______| |_____________|
host share tail
Run Code Online (Sandbox Code Playgroud)
我可以在 UNC 路径的尾部组件上找到大量资源,并且我假设主机组件遵循区分大小写的 DNS 规则,但是共享名又如何呢?
当您仅连接到主机而不指定共享名称时,您要连接的实现可以向您发送正确的共享大小写。当您直接连接到共享时,情况将如何处理?
我只能在 Samba 手册中看到一行,说明“部分和参数名称不区分大小写”,这实际上并没有说明任何一种方式(部分名称用于创建共享,但与该共享的连接可以以不同的方式处理)。我在 Windows 共享文件夹帮助中看不到有关案例的提及。
这是否意味着共享名实际上不区分大小写,并且没有人想过将其明确化,或者有人可以向我指出文档吗?
编辑:
根据微软的SMB2规范:
服务器必须按照 [MS-DTYP] 第 2.2.49 节中的指定解析缓冲区字段,以提取主机名和共享名组件。如果 Buffer 字段不是第 2.2.9 节中指定的格式,服务器必须使请求失败并返回 STATUS_INVALID_PARAMETER。否则,服务器必须提供从请求消息中解析的元组 <hostname, sharename> 以调用 [MS-SRVS] 第 3.1.6.8 节中指定的事件,通过解析服务器别名和评估共享范围来规范主机名。服务器必须使用<规范化主机名,共享名>在ShareList中查找共享。如果没有找到具有匹配的共享名称和服务器名称的共享,则服务器必须使请求失败并返回 STATUS_BAD_NETWORK_NAME。
因此,共享名没有标准化,而且我找不到任何表明合规实现必须不区分大小写地执行匹配的内容。
理想情况下,我正在寻找一些文档或来自在 Windows 和 Samba 之外的多种实现上测试过此问题的人的答案,讨论他们的发现。
是否有注册表设置或其他设置可用于调整 Windows 网络 (SMB/CIFS) 性能?
我正在尝试为大型文件复制操作获得最大吞吐量,但任何设置都会很有趣。
迄今为止:
我们有一台用作文件服务器的 Windows 2012 R2 服务器。
最初,我们的复印机用于扫描到文件共享。更新后,扫描到文件共享停止工作,最终我们发现这是因为复印机(3 年前,最新固件)使用 SMB 版本 1,而 Microsoft 已禁用此功能。
通过在 powershell 中运行以下命令并重新启动,我再次支持 SMB1 并且一切正常。
Set-SmbServerConfiguration –RejectUnencryptedAccess $false
Set-SmbServerConfiguration –EnableSMB1Protocol $true
Run Code Online (Sandbox Code Playgroud)
但后来再次重启后,它又被禁用了。
怎么了?我们如何永久激活 SMB1 支持?
一家拥有 50 名图形设计师的公司正在使用同一个文件服务器。他们主要使用 Indesign。一个典型的项目是一个 60 页的 indesign 文档,其中包含 1.5GB 的链接文件(类似于 100 PSD、JPG、.ai)。他们不断地编辑链接的文件。这会给服务器带来很大的压力。所有工作站都有仅用于系统和应用程序的板载 SSD (700MB/s)。
我想知道是否有任何方法可以将本地驱动器用作远程文件夹的缓存。假设我们为缓存文件分配了 200GB。每次访问文件时,它都会在服务器上检查上次更改日期,并仅在缓存数据已过时时才检索文件。如果服务器上的文件发生更改,它会通知工作站。它会被认为是一个保管箱或谷歌驱动器,但带有本地服务器。
如果有人知道这种解决方案,请指点我。
如果没有,我真的不知道为什么。这是我在每家此类公司中看到的需求。
Adobe 建议在本地复制文件,工作,然后重新上传。当 3 位绘图员在同一本书的不同章节上工作时,这真的很痛苦而且不可能。
(注意这个问题已经解决了,但我让评论保持一致:)使用 SMB 它在服务器上使用大量 CPU,我认为 Indesign 正在关注链接文件的更改并不断请求更改。如果链接文件在 indesign 中更新,请立即在其旁边显示一个标志。(解决方案:当使用 afp 连接远程文件夹时,服务器上的 CPU 使用率是正常的,在 OSX 上的 SMB 实现肯定存在问题。)
无论如何,我仍在寻找一种安装远程文件夹的方法......具有本地缓存。
我在linux上使用 zfs ,使用sharesmb=on选项来试用本机 smb 共享功能,而不是将 zfs tank 路径添加到我的 smb.conf 文件中。
该共享已显示在我的 Windows 计算机上,但我的 Windows 用户无法写入。我想我假设 zfs smb 接口正在将我的 Windows 用户映射到具有相同名称的 linux 用户。我通常会制作一个用户名映射文件来将 Windows 映射到 linux 用户,但这似乎没有必要,因为用户名是相同的。
本机 smbshare 是否甚至使用 smb.conf,或者是否有应用 samba 设置的 zfs pool 命令?
我有一个运行 Windows Server 2012 R2 的文件服务器。它有四个 6TB 西部数据 RED 驱动器。例如,我想在那里托管我的 Hyper-V 计算机、WSUS(Windows 服务器更新服务)内容和 WDS/MDT 部署 ISO 和文件。
我看到了用于连接服务器的 SMB、NFS 和 iSCSI 选项。这意味着,我可以选择通过 NFS 或 SMB 设置共享,或者创建我可以连接到的虚拟 iSCSI 驱动器。
我如何确定哪个选项更适合特定解决方案,或者只要服务可以访问存储,我选择哪个选项都无关紧要?
在审计期间,提出了匿名访问 IPC$(空会话)共享的问题。审计将以下内容列为 Windows 2008r2 文件服务器上的风险:
C:\>net use \\fileserver\ipc$ "" /user:""
The command completed successfully.
我已经确认配置了以下设置
Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options\
Network access: Allow anonymous SID/Name translation = disabled
Network access: Do not allow anonymous enumeration of SAM accounts =enabled
Network access: Do not allow anonymous enumeration of SAM accounts and shares =enabled
Network access: Let Everyone permissions apply to anonymous users=disabled
Network access: Named Pipes that can be accessed anonymously= <blank>
Network access: Shares that can be accessed anonymously= …
cifs ×2
filesystems ×2
samba ×2
windows ×2
zfs ×2
afp ×1
file-sharing ×1
haproxy ×1
iscsi ×1
linux ×1
networking ×1
nfs ×1
performance ×1
security ×1
wins ×1