cover of episode 2.5 Admins 227: Six Day Certs

2.5 Admins 227: Six Day Certs

2024/12/26
logo of podcast 2.5 Admins

2.5 Admins

AI Deep Dive AI Insights AI Chapters Transcript
People
A
Alan
J
Jim
专注于 IT 自动化和网络安全的技术专家
J
Joe
面临上水汽车贷款,寻求多种解决方案以减轻财务负担。
J
Jonas
Topics
@Joe : Windows 原生 SSH 客户端发送的遥测数据过于激进,实时发送连接信息等元数据,类似于警方获取通讯记录。虽然理解微软收集这些数据的动机,例如了解客户端软件和密码套件的使用情况,以便改进和淘汰旧技术,但其实时性令人担忧。建议使用其他 SSH 客户端,例如 OpenSSH 或 PuTTY。 @Alan : 微软收集大量遥测数据,但其内容和触发条件并不总是透明的。Windows SSH 客户端的遥测数据易于被网络管理员发现,因为它会实时发送版本信息等元数据。该遥测数据包含过多细节,例如支持的加密算法和 MAC,甚至包含主机密钥信息,这显得过于冗余。 @Jim : 建议使用其他 SSH 客户端替代 Windows 内置客户端,以避免发送遥测数据。如果必须使用 Windows 内置 SSH 客户端,可以从 GitHub 获取项目代码自行构建,以禁用遥测功能。 Jim: Let's Encrypt 将提供有效期为 6 天的证书,以应对浏览器厂商推动证书有效期缩短的趋势。对于已自动化证书续期的用户,6 天证书的影响较小;但对于未自动化证书续期的用户,6 天证书将增加工作量。Let's Encrypt 需要扩展基础设施以应对 6 天证书带来的挑战。6 天证书需要更频繁的监控和更快的响应速度。Let's Encrypt 将推出 6 天有效期的证书,但 90 天有效期的证书仍将保留一段时间。推出 6 天证书是明智之举,有助于适应浏览器厂商的政策。缩短证书有效期是安全方面的改进,可以降低被盗密钥的风险,并促使更好的自动化和监控。6 天证书政策是对所有让 SSL 证书过期的人的一种“严厉的爱”。 Alan: 如果拥有域名但不使用其发送邮件,则应创建 SPF 和 DMARC 记录,以减少垃圾邮件并保护域名声誉。没有 SPF 和 DMARC 记录可能会损害域名声誉,导致邮件投递问题和防火墙拦截。正确配置 DMARC 可以接收有关冒充域名的垃圾邮件报告。不正确的域名声誉可能会影响 SEO。互联网通信具有对抗性,与垃圾邮件发送者关联会带来负面影响。 关于 Synology NAS 性能问题,可能是由于 NFS 连接单线程、Synology 的 Btrfs 或硬盘问题导致的。如果 NAS 本地也出现延迟,则问题可能出在 Synology 的 Btrfs 或硬盘上。网络饱和可能会导致文件传输过程中的延迟,Wi-Fi 的半双工特性会加剧网络饱和情况下的延迟。FreeBSD 和 Linux 上的 NFS 可以利用服务器端文件复制来优化性能。接近饱和的硬盘写入速度会造成高延迟,高负载下的硬盘写入会造成高延迟。RAID 1 镜像在写入时只会使用一个硬盘,这会降低性能。

Deep Dive

Key Insights

Why is Microsoft's SSH telemetry on Windows considered aggressive?

Microsoft's SSH telemetry sends information about every SSH connection in real time, including client versions and cipher suites. While it doesn't track who connected, the instantaneous nature of the data collection feels invasive, similar to how law enforcement collects call metadata. This level of detail, especially for server-side connections, is seen as excessive and unnecessary for legitimate purposes like retiring outdated ciphers.

What specific data does Microsoft's SSH telemetry collect?

Microsoft's SSH telemetry collects the version of SSH used, remote protocol error lists, peer versions, supported ciphers, compression mechanisms, message authentication codes, and proposed host keys. This includes detailed metadata about the connection setup, which is more information than Microsoft would reasonably need for operational purposes.

Why is Let's Encrypt introducing six-day certificates?

Let's Encrypt is introducing six-day certificates to enhance security by reducing the validity period of SSL certificates. This move aligns with industry trends, such as Apple and Google pushing for shorter certificate lifespans to prevent misuse of expired domains or stolen keys. Automation makes frequent renewals manageable, and shorter cycles ensure compromised certificates are invalidated faster.

What challenges does Let's Encrypt face with six-day certificates?

Let's Encrypt must scale its infrastructure to handle a significant increase in certificate issuance, potentially up to 100 million certificates per day in the future. Additionally, shorter validity periods require better monitoring and faster response times to renewal failures, as there is less buffer time to address issues before certificates expire.

Why should domain owners set up SPF and DMARC records even if they don't send email?

Setting up SPF and DMARC records prevents spammers from using the domain for phishing or spam, protecting the domain's reputation. Without these records, spam sent from the domain can lead to blacklisting, affecting future email delivery or even causing firewalls to block the domain entirely. Proper DMARC configuration also allows domain owners to receive reports on fraudulent email activity.

What causes sluggish performance during file transfers on a Synology NAS?

Sluggish performance during file transfers on a Synology NAS is often due to network saturation, especially when using NFS over a 1Gbps connection. If the drives are CMR and not SMR, the bottleneck is likely the network or the single-threaded nature of NFS. Running IOstat or checking local performance via SSH can help identify if the issue is with the drives or the network setup.

How can NFS performance be improved during file transfers?

NFS performance can be improved by enabling server-side file copying, which avoids the need to transfer data over the network. On file systems like ZFS or ButterFS, using features like reflinks or block reference trees allows files to be cloned locally, reducing network load. Additionally, ensuring the network is not saturated and using multi-threaded NFS configurations can help.

Chapters
The episode discusses the telemetry data sent by Windows' built-in SSH client to Microsoft. Concerns are raised about the amount of data transmitted and the real-time nature of the transmission, questioning whether it's an overstep of privacy.
  • Windows' SSH client sends telemetry data to Microsoft upon each connection.
  • The telemetry includes connection metadata such as client and server versions, cipher suites, and host keys.
  • Concerns raised about the real-time transmission and potential privacy implications.

Shownotes Transcript

Windows ssh 发送的遥测数据比你想象的要多,Let's Encrypt 将提供 6 天证书,关于不发送电子邮件的域的 PSA,以及 Synology NAS 的性能问题。

在 Patreon 上支持我们,获得无广告的 RSS 订阅源,有时还会提前发布剧集 2024 年冬季综述:存储和网络诊断

Windows 上的 ssh 发送遥测数据 sshTelemetry.c Let's Encrypt 将提供 6 天证书 重要提醒,如果您拥有域名但未使用它来发送电子邮件

我们被问及 Synology NAS 的性能问题。

ServerMania 在 servermania.com/25a 使用代码 25ADMINS,即可享受专用服务器终身 15% 的折扣

查看我们的联系页面,了解联系方式。 </context> <raw_text>0 再见。

2.5 个管理员,第 227 集。我是乔。我是吉姆。我是艾伦。我们又见面了。在我们开始之前,艾伦,你还有另一个插播节目要给我们。2024 年冬季综述,存储和网络诊断。是的,这是克拉拉关于存储和网络以及诊断不同问题以及如何解决这些问题的一系列文章和故事的集合。所以我们有一些我们在存储方面解决的有趣案例,以及一些有趣的网络结构,能够做一些事情,例如

在一台计算机内部,你如何模拟一堆冲突的网络,以便它们能够一起工作?对,像往常一样,链接在节目说明中。吉姆,最近有人在 Mastodon 上给你发了一条消息,其中包含一个来自 Defcon32 的视频链接,内容是关于 Windows 上的 SSH 向 Microsoft 发送遥测数据。是的,事实证明,每次你 shell 到运行原生 Microsoft 制造的 SSH 服务器的 Windows 服务器时,

它实际上会将有关连接的信息发送到母公司,让 Microsoft 知道有人连接以及他们使用什么客户端版本连接。这引起了我的注意,因为你知道,我通常而且非常出名地不是第一个抱怨遥测的人,但是……

我觉得这有点激进。我能理解了解客户端软件和选择的密码套件以及何时可以停止对旧事物的支持(尤其是在服务器端)的价值。例如,在客户端方面,风险没有那么大。但在服务器端,如果你知道,不到 0.1% 的传入连接尝试使用这些旧密码,那么你也许可以最终摆脱它们。我知道这是……

对于制作开源 SSH 的人来说,总是有一件事是不清楚的,那就是人们是否真的停止使用它,尽管他们采取了更强硬的立场:我们不在乎你是否停止使用它,它不安全,所以我们不再支持它,所以你知道升级你的东西,但我能理解他们为什么想要它,而遥测实际上并没有跟踪谁连接等等,但它仍然似乎有点过分,我不喜欢它的即时性,感觉没有真正尝试

超越模糊原始和潜在的私人信息,微软似乎只是说,好吧,我们可以做到这一点,所以我们会这样做。

如果情况是,哦,你知道,大约一个月左右,微软会打电话回家说,这些是我们本月看到的密码,或者类似的东西,那对我来说感觉会有点不同。但仅仅是每次有人实时连接时,微软都会收到更新,让它知道该连接发生了以及大量关于该连接的元数据的想法。这让我有点想起,你知道,现代警务如何处理电信,那就是,

他们不一定关心你在电话里实际说了什么。他们首先想要的就是传票记录。他们想知道发生了哪些电话以及何时发生,以及关于该电话的元数据。

它只是,感觉这本质上就是微软在这里得到的东西。但这对于微软软件来说不是相当标准的做法吗?许多遥测数据当然对于微软来说是标准做法,但这里有一些有趣的区别。其中一个问题是,尽管我们知道微软收集大量遥测数据,但我们并不总是知道这些遥测数据是什么,因为当我们谈论纯粹属于 Windows 内部的东西时,

很难隔离实际触发传出连接以将一些遥测数据传递到某个地方的内容。我们没有任何源代码可以检查,我们也不一定知道到底发生了什么。所以我们得到的只是这种不安的感觉。我们知道有很多遥测数据,我们不知道它的所有细节。

但是现在你引入像 SSH 这样的东西,就更容易看到发生了什么。你知道,如果你是一个感兴趣的网络管理员,你不必成为天才就能弄清楚每次有人连接到 SSH 服务器时,有多少数据包会飞到 Microsoft 拥有的 IP 地址。

查看幻灯片 52 上视频中显示的源代码片段,有一个名为 send SSH version telemetry 的函数。它基本上发送,引用,“我们的 SSH 版本、远程协议错误列表和对等方的 SSH 版本”。这仅仅是来回传递的版本字符串。但真正要说的是,吉姆的观点是,这个数据被立即发送而不是被聚合和批处理的事实意味着

有人知道什么时候发生这种情况。因此,即使你是在奇数端口上使用 SSH,并且所有内容都被加密,所以没有人能知道发生了什么,但只要我们看到数据包在这个端口上进来并且连接建立,我们就会看到数据包发送到 Microsoft。所以我们知道它一定是 SSH。值得庆幸的是,Microsoft 在他们的 PowerShell GitHub 帐户上发布了他们为 Windows 修改的 OpenSSH-Portable 的副本,并且他们已经

主要将他们的代码保存在 contrib win32 目录下。查看实际的 ssh telemetry.c 文件,你可以更详细地看到他们发送的遥测数据。根据此,这似乎适用于 Windows 上的客户端和服务器。因此,如果我们只是使用 Windows 上内置的 SSH 客户端,Microsoft 会告诉他们自己你连接到的每台机器正在使用的 SSH 版本

。但它似乎也详细说明了消息的设置,包括你提供的密码、服务器提供的密码、可用的压缩机制、可能使用的 MAC 消息认证代码。

所以不仅仅是选择了哪些,而且还包括每一端都支持哪些,这似乎相当过分。此外,非常具体地提出了客户端和服务器端的建议主机密钥,这……

是一个独特的指纹,绝对肯定地说,如果你知道谁持有这些密钥,那就是,你知道,这是当时连接的人。好吧,主机密钥将是他们连接到的对象。但是是的,你知道,当你通常 SSH 到新主机并收到警告说,嘿,我以前没有见过这个公钥时。如果 Microsoft 收到了所有这些,那么是的,他们可能仅仅根据 Shodan 等工具收集的指纹,就能知道你实际 SSH 到哪个服务器,如果它是任何远程流行且可访问互联网的服务器。

我不确定协议中是否实际上是主机密钥还是主机密钥的不同算法。但无论哪种方式,它都过于冗余。但如果它是主机密钥的实际公钥,那比仅仅是过分更令人震惊。好吧,它肯定是一个名为 client proposed host key 和 server proposed host keys 的变量。

对,所以客户端实际上并没有发送主机密钥。他们只是提出他们理解的主机密钥算法。你必须使用大量的 -V 运行 SSH,并实际观察来回交换的内容,才能看到通常在那里发送的内容。但这比 Microsoft 真正合法需要的要多得多信息。

因此,如果你真的想在 Windows 上使用 SSH,你应该从上游 OpenSSH 获取真正的 OpenSSH 并将其运行在 Windows 上,或者在 Windows 子系统 Linux 中运行它,在那里你将获得 SSH 的官方 Ubuntu 包。它不会包含所有 Microsoft 遥测数据,或者只使用不同的开源客户端,例如 PuTTY 等。但是……

我可能会避免使用内置的 SSH 客户端。你知道,最终拥有它作为便利功能是很好的,但事实证明微软毁了一切。如果你确实想使用该特定客户端,但没有遥测数据,你可以自己从 GitHub 获取项目并构建它并使用你自己的二进制文件。至少只要你相信该项目在说它时是说实话的

从 GitHub 上的代码构建的任何二进制文件都将禁用遥测数据。只是为 Windows 构建的那些启用了遥测数据。好吧,我猜这是为了让我不构建它的版本,只是用虚假废话淹没微软的遥测数据,直到他们决定它不再有用为止。好吧,没有什么能阻止你在构建你的副本时打开启用遥测数据的标志,如果那是你想要做的。我的副本只是说,每个人都在运行 OpenSH 版本 5,000。

当然版本 4.20.69。即将推出 Let's Encrypt 的证书将持续六天,而不是目前的 90 天标准。是的,这很有趣。我们几周或几个月前谈到过 Apple 和我认为 Google 想将其缩短到所有证书。浏览器将不接受任何超过 45 天的证书,以强制

证书必须不断重新颁发,以确保没有人能够为已过期的域名拥有 SSL 证书,或者只是为了更快地阻止不良行为者。如果你已经为 Let's Encrypt 实施了自动化,并且每 90 天执行一次此操作,那么每 90 天执行一次和每 4 天执行一次实际上没有区别。你知道,他们正在谈论拥有有效期约为六天的证书。因此,如果你像现在通常那样在其生命周期的三分之二左右更新它,那么你将

减少到几天。但是有了这种自动化,这样做实际上不会花费你额外的任何费用,因为你已经构建了自动化。而我们谈到的是 Apple 和 Google 的一个,如果你已经因为他们将有效期缩短到一年多而略微受苦,那么缩短到 45 天会将其从我们每年做一次的烦人的事情变成我们基本上每月都必须做的事情。它会

继续推动你正确地自动化它。

因此,Let's Encrypt 缩短到这一点对我来说很有趣。这听起来像是一种合乎逻辑的演变。但在他们的帖子中,他们谈到了这将带来的挑战,考虑到如果他们必须开始颁发比现在多 20 倍的证书,他们如何为此扩展其基础设施?并说,你知道,在当前情况下,到十年后,他们每天必须颁发 1 亿张证书并非不可想象。这似乎是一个非常大的数字。但是……

想想看,十年前,我们也不会认为每天 500 万张证书是可能的。我同意你的看法。自动化使得它看起来不像那么大的问题,因为它确实看起来是一个挑战。现在感觉很好,好吧,如果续订过程中出现问题,它很快就会出错,你知道,在我实际被它咬到之前,我会有一个月的时间来修复它。

而对于六天的周期,你知道,如果你通常在六天的周期的第四天进行续订,那么现在就像,好吧,如果出了问题,你最好注意它。就像你需要非常快速地检测到该问题,并且你需要迅速响应它,否则它会更快地咬你的屁股。是的。

我不是说这是你无法处理的事情。我不是说这是一个无法承受的负担,但这是需要注意的事情。特别是如果你的证书有效期为六天,你可能需要每两天左右续订一次,以确保你有足够的缓冲时间。因此,如果它不起作用,你有时间让 A 自动尝试再次运行并可能工作,并且如果你这样做也不起作用,你仍然有一些时间来响应。这意味着你真的必须提高你的监控能力,本质上。

好吧,在我的情况下,它只是改变监控的阈值,对吧?我的 Nagios 已经监控了我所有重要的域名,并在证书接近过期时告诉我。因此,如果它是 Let's Encrypt 证书,一旦它低于 30 天,它就会说,嘿,这本来不应该发生。

我认为是 30 天或 30 天到 45 天之间,它应该自动使用另一个更新的证书进行续订并延长生命周期。如果它没有这样做,那么这是一个警报,并且会得到解决。幸运的是,我已经很久没有遇到过这种情况了。但正如乔所说,绝大多数人并没有以这种方式跟踪他们的 SSL 证书过期日期。我通常也做同样的事情。老实说,我可以做得比我一直在做的更好,因为同样,你知道,即使使用 Let's Encrypt,你也有点时间来弄清楚,但是

但是随着这些周期的越来越短,我认为越来越重要的是要像,不,这需要放在最前面。而且,我们可能会看到一些迹象表明,就像艾伦和我谈论的大多数人喜欢的监控一样,好吧,这听起来不错,但是,你知道,我有时间这样做。我们可能会进入一个时期,就像这只是入门级技术一样。

根本无法专业地做事情。值得一提的是,在这篇文章中,他们说,我们长期提供的服务明年不会发生根本性的变化,但我们将推出一种新的服务,这与我们之前所做的任何事情都有很大的不同,短期

证书,有效期为六天。所以听起来至少最初标准的 90 天证书仍然可用。是的,至少最初是这样。但谁知道如果六天的证书运行良好,那么这很可能会成为标准,而 90 天的证书可能会被淘汰。好吧,特别是

对于他们来说,拥有这项技术似乎很有意义,特别是考虑到 CA/浏览器论坛正在讨论缩短证书生命周期最大值,浏览器将拒绝任何生命周期超过 45 天的证书。对于 Let's Encrypt 来说,让这项技术运行起来,让人们能够在它基本上成为强制性之前就已经部署它并确保它有效,这确实很有意义。否则,浏览器将不接受证书。所以我认为这是一个非常明智的举动,并将使

每个人都受益于更短生命周期证书的实施,但对于我们这些必须始终管理这些东西的专业人员来说尤其如此,在它成为强制性之前就已经有了经验。我觉得这对监控即服务公司来说是一个很好的机会,可以做得很好。很有可能。我知道 Let's Encrypt 早期尝试用电子邮件通知做了一些事情。我不知道他们现在是否还这样做。但是是的,我绝对认为

基于吉姆的观点,如果这成为运行域名等必须做的事情的标准,那么人们要么自己建立基础设施,要么转向公司来做这件事。或者甚至,你知道,我们看到的另一个有趣的方面是那些

实际上根本没有控制自己的 Let's Encrypt 的人。你知道,如果你使用很多流行的 WordPress 托管平台等等,因为他们可以将文件放在正确的、众所周知的目录中来执行此操作,他们会为你执行 Let's Encrypt,你甚至不知道你在使用 Let's Encrypt。你的网络托管提供商会处理它。是的,他们称之为免费 SSL。是的,而在过去,这需要他们实际支付证书费用。现在他们就像,好吧,我们可以滥用 Let's Encrypt。是的,现在只是一个 cron 作业。这是免费的房地产。

但最终,我们赞成这一点。是的。归根结底,较短的安全证书发布周期是一个安全胜利。

至少只要你比你信任服务器的通用生态系统更信任分发机制,其中许多服务器被遗弃和入侵,并且密钥可以被窃取,因为现实情况是世界充满了被入侵的服务器,这些服务器只是被遗弃和无人问津,没有人会处理它们已被入侵的事实,并被劫持和

用于不同的用途,或者密钥可以从它们那里被窃取。因此,这些密钥在用于其最初预期用途以外的用途的时间越短,对每个人都越好。是的,尽管 crontab 可能仍然会运行。是的。

续订证书,所以也许它不会有太大帮助,但这绝对很有趣,我认为最终会很好,我不知道它是否会导致更少的问题,我们几个月前再次谈到过,当时微软意外地让一些证书过期,导致很多东西无法再工作,你知道

如果这种情况发生在任何人连续六天不查看某事的情况下,那么这可能会增加这种情况发生的可能性。但与此同时,正如我们所说,如果它需要这种级别的自动化,并且它会很快崩溃,那么这将成为人们拥有更好自动化和更多监控来在发生这种情况之前捕获它的一个更好的强制功能。因此,如果它每六天过期一次,你可能会比它每……

一到五年过期一次,而且没有人记得它时更密切地关注过期时间。艾伦,听起来你特别支持这项政策,将其作为对微软的严厉爱的例子。不仅仅是对微软,对所有让他们的 SSL 证书过期的人。

过去也包括我自己。这似乎是对便利性和安全性拨盘的轻微旋转,稍微远离便利性,稍微偏向安全性。是的,我认为在这种情况下,这是一件好事。

好的,本集由 ServerMania 赞助。访问 servermania.com/25A,即可享受专用服务器终身 15% 的折扣。ServerMania 是一家加拿大公司,拥有超过十年的经验,为全球企业构建高性能基础设施托管平台。ServerMania 在全球八个地点提供高达每秒 20 千兆位的网络速度,以优化全球覆盖范围。

他们拥有针对独特需求量身定制的灵活自定义服务器配置,以及提供免费咨询的个人帐户经理。凭借全天候实时聊天支持和不到 15 分钟的支持工单响应时间,您可以始终保持系统的平稳运行。

艾伦已经成为 ServerMania 的忠实客户超过七年了,因此请支持该节目并加入他在真正提供服务的托管提供商。在 servermania.com/25A 获取专用服务器终身 15% 的折扣,并使用代码 25ADMINS。这是 servermania.com/25A 和代码 25ADMINS。

我在 Mastodon 上看到 Jerry Lerman 发布的一篇有趣的帖子,这是一个重要的提醒,如果您拥有域名但未使用它来发送电子邮件。本质上,这条消息是说,如果您拥有域名并且不打算自己使用它来发送电子邮件,则应在 DNS 中创建 SPF 和 DMARC 记录,这清楚地表明任何声称来自您域名的邮件接收者,好吧,它不是合法的。

你这样做的原因有两个。一是因为你是一个优秀的互联网公民,你想减少到达人们收件箱的垃圾邮件数量。这是一个好方法。二是因为这样,带有您域名名的垃圾邮件就不会损害您域名的声誉。

如果大量此类垃圾邮件通过,并且没有 SPF 和 DMARC 记录明确表明该垃圾邮件是非法的,并且不是由域名的实际所有者发送的,那么可能会发生什么情况是,这会损害域名的声誉,这不仅会导致您在以后(如果您选择附加电子邮件服务)交付电子邮件时出现问题。

它还会导致防火墙直接阻止您出现问题。那里有很多公司防火墙实际上使用电子邮件垃圾邮件黑名单作为一次性杀伤。不,你不能访问该 A 记录,你知道,类型防火墙。因此,您不希望与这些类型的列表发生冲突,并设置 SPF 和 DMARC,这表示,嘿,您从我的域名收到的任何电子邮件,它都不是我的。那不是我的。

这就是防止您遭受声誉损失的方法。是的,基本上设置一个 SPF 记录,说明任何电子邮件都是垃圾邮件,以及一个 DKIM,说明来自该域名的任何未签名的邮件都是垃圾邮件。但他们指出有趣的是,如果您实际正确设置了 DMARC,您可以获得有关所有作为垃圾邮件被丢弃的、假装来自您域名的电子邮件的报告。如果您只是好奇,谁试图假装成您?

实际上,如果您正确设置了 DMARC,则必须获得这些报告,因为如果您实际上没有包含一个接受这些报告发送到的电子邮件地址,则您没有正确配置 DMARC。

这可能是一个轻微的烦恼。你知道,我在我自己的域名上设置了 DMARC,我每天都会收到来自 Google 和 Microsoft 的报告。大约一周一到两次,我会收到来自我从未听说过的某个随机提供商的报告。它们从来都不是你想要坐下来阅读的东西,但你会收到它们。你提到了公司防火墙。大概对 SEO 也不利。是的,绝对的。我的意思是,总的来说,你不想与垃圾邮件发送操作相关联。

如今,大量的互联网连接和通信通常具有对抗性。你知道,你有一些明确设计用于阻止攻击并让好东西进入的过滤机制。因此,任何将你与攻击方的人联系起来的东西,都会在许多方面使你的生活变得困难。

以及以某种不可预测的方式,因为你发现你的名字和你的声誉传播得越远,它就越差,人们会发现自己被阻止访问你的服务的方式就越多。

然后让我们进行一些免费咨询。但首先,非常感谢所有通过 PayPal 和 Patreon 支持我们的用户。我们真的非常感谢。如果您想加入这些人,您可以访问 2.5admins.com/support。请记住,对于 Patreon 上的不同金额,您可以获得无广告的 RSS 订阅源,内容可能是此节目或 Late Night Linux 系列中的所有节目。如果您想向吉姆和艾伦发送您的问题或您的反馈,您可以发送电子邮件至 show@2.5admins.com。

Jonas 写道:我很想听听您对我的 NAS 情况的看法。我的问题是我发现它在传输过程中很慢。我使用 NFS 将文件夹挂载到我的计算机上,我通常将电影从一个文件夹复制或移动到另一个文件夹。有时这在存储池上,有时不在,但在两种情况下,它都感觉非常迟钝。

当文件正在写入时,在传输完成之前几乎不可能浏览到新目录。该文件夹根本无法加载。我通过具有 1Gbps 的交换机连接到 NAS。我获得的最大写入速度为 115MBps,这最大限度地利用了网络,但不是驱动器。是我的设置问题,还是我在此期间期望响应系统很疯狂?

NAS 是带有四个托架的 Synology DS920 Plus。我认为找出瓶颈的最简单方法是在此类复制正在进行并且驱动器忙于写入时,如果您 SSH 到 Synology 并查看是否可以浏览目录并运行 LS,以及这是否会停顿。可能是 NFS 连接是单线程的,因此在写入完成之前不会发生其他任何事情,这就是那里发生的事情,并且查看

查看为您的 NFS 设置获取更多线程可以解决此问题。但是,如果您在进行复制时在 NAS 上本地看到迟钝,那么问题更有可能出在 Synology 对 ButterFS 的使用或您的驱动器上。在那里要查看的一件事是运行 IOstat 并查看驱动器是否始终繁忙,或者它们是否有……

一些空闲时间可以用来浏览,但它没有发生。此外,我认为值得指出的是,用户自己承认他们正在饱和网络。

他们已经说过,如果他们 shell 并本地移动文件,他们不会看到减速。只有当他们这样做时,你知道,通过 NFS 挂载。所以发生的事情是你在网络上进行蛮力复制。发生这种情况时,您尤其会饱和网络,如果此链接中存在任何 Wi-Fi。现在您正在谈论每秒 150 兆字节。因此,NAS 本身可能不在 Wi-Fi 上,但如果您通过 Wi-Fi 从笔记本电脑访问它,并且您已经饱和了网络,那么

您可能会遇到一些严重的延迟问题,只是发出其他命令,因为您已经饱和了网络。使用以太网,您具有双向、全双工。因此,您可以同时以全饱和度上传和下载。但是,如果您通过 Wi-Fi 进行连接,Wi-Fi 是半双工的,而不是全双工的。如果您正在饱和它,那么在您停止之前,一切都会很糟糕。

现在,Jonas 特别提到驱动器是 CMR,所以我们这里没有处理 SMR 驱动器。是的,因为当您听到驱动器在写入时需要很长时间才能执行操作时,我可以理解这将是一个快速的怀疑。因为 SMR 驱动器在必须进行垃圾回收并将大量 256 兆字节的块移动到另一个 SMR 区域时会这样做。但是不,这些是 CMR 驱动器。

我想到的一件事是他特别谈到的是,你知道,移动文件,这将必须作为网络上的双向蛮力复制操作发生。您是否知道任何方法可以使 NFS 执行服务器端复制?我不了解 Linux,但。

在 FreeBSD 上,NFS 确实尊重 copy file range 调用,如果您使用 ZFS 或 Linux 上的相同内容,如果您使用 ButterFS,则能够使用文件克隆机制。因此,ZFS 中的 BRT,或者我认为 ButterFS 中的 reflinks 能够基本上克隆文件而不是复制它,并让所有这些都在服务器端发生,以便没有人

没有人需要读取文件来复制它。然后,当您在移动过程中删除旧文件时,只需将 ref 链接递减 1 或将块引用树计数器递减 1。

Clara 也为此实现了 Samba。因此,Linux 和 FreeBSD 上的 Samba 现在将在 ZFS 上自动执行此操作。我认为它已经在 ButterFS 上这样做了,如果您正在进行复制或移动操作,服务器可以看到您正在做什么并对其进行优化,并在这两个文件系统中使用文件克隆功能。

好的,在我们继续之前,还有一件事我刚注意到我想提出来。我觉得我和 Al 都犯了这个错误。我们应该已经发现但没有发现,因为我们习惯了更大的系统和更大的规模思维。

我们已经听说他们获得的最大写入速度是每秒 115 兆字节。对我或 Alan 来说,这听起来像是,哦,是的,您已经饱和了网络,我们有点停止思考了。这是一个网络问题,而不是存储问题。但是,实际的拓扑结构只是一对 Rust 驱动器,这意味着每秒 115 兆字节的写入速度非常接近这些驱动器实际上可以实现的绝对最大值。

对于非常简单的负载,小型 Western Digital CMR 驱动器在本地写入操作中(没有其他瓶颈)可能会达到每秒约 150 兆字节的速度。现在,问题是,如果您非常接近于使用非常大的写入流来饱和 Rust 驱动器,我不在乎您做什么。是的,任何其他事情都会产生可怕的延迟,因为驱动器正在尝试管理它必须移动的数据风暴。

因此,是的,如果您实际上在那一刻以每秒 115 兆字节的速度对简单的双 Rust 驱动器镜像进行写入,那么您绝对应该预期在进行此操作时浏览速度会非常慢。更糟糕的是,它看起来像是一个 6 TB 驱动器和一个 4 TB 驱动器,池中有 3.5 TB,并且已满 75%,这意味着它可能不是镜像。它是一种