<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Home Lab on Mitsea Blog</title>
        <link>https://blog.mitsea.com/categories/home-lab/</link>
        <description>Recent content in Home Lab on Mitsea Blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Wed, 08 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.mitsea.com/categories/home-lab/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>HC620 HM-SMR 加密盘上手</title>
            <link>https://blog.mitsea.com/33c779ab646880199b07f46af06b1d1f/</link>
            <pubDate>Wed, 08 Apr 2026 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/33c779ab646880199b07f46af06b1d1f/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2026/04/HC620%20HM-SMR%20%E5%8A%A0%E5%AF%86%E7%9B%98%E4%B8%8A%E6%89%8B/alexander-korte-Oj0ykWKf5To-unsplash.avif&#34; alt=&#34;Featured image of post HC620 HM-SMR 加密盘上手&#34; /&gt;&lt;p&gt;因为最近 HDD 价格过于昂贵，所以这个盘比较火。我因为确实有一个专门备份的 Archive NAS，所以想试试这个盘是否堪用。&lt;/p&gt;&#xA;&lt;p&gt;硬盘信息如下：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;型号&lt;/strong&gt;: HGST Ultrastar DC HC620&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;容量&lt;/strong&gt;: 14TB&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;类型&lt;/strong&gt;: HM-SMR (Host-Managed Shingled Magnetic Recording)，4Kn，硬件级 SED 加密&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Zone 大小&lt;/strong&gt;: 256 MiB，共 52156 个 Zone，最大 128 个 Open Zone&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;系统信息如下：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;OS&lt;/strong&gt;: Ubuntu Resolute Raccoon (development branch) x86_64&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Kernel&lt;/strong&gt;: Linux 7.0.0-12-generic&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;CPU&lt;/strong&gt;: Intel(R) Celeron(R) J1900 (4) @ 2.42 GHz&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Memory&lt;/strong&gt;: 16 GiB&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;简单测试&#34;&gt;简单测试&#xA;&lt;/h2&gt;&lt;p&gt;硬盘的 SMART 没有问题。这个盘要注意 Helium_Level，据说低于临界值 25 就会无法写入。氦气一旦泄露就会持续下降，所以务必要选择 100 的硬盘。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2026/04/HC620%20HM-SMR%20%E5%8A%A0%E5%AF%86%E7%9B%98%E4%B8%8A%E6%89%8B/image.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;此外这个盘进行快扫也没有发现问题。&lt;/p&gt;&#xA;&lt;h2 id=&#34;问题btrfs-zoned-mode-事务提交失败&#34;&gt;问题：btrfs zoned mode 事务提交失败&#xA;&lt;/h2&gt;&lt;p&gt;因为这个盘比较特殊，普通 SMART 正常也不是很放心，所以我进行了连续几小时的写入测试。但是就在这个过程中发生了问题。&lt;/p&gt;&#xA;&lt;p&gt;HM-SMR 盘在内核中被识别为 Zoned Block Device，btrfs 会自动启用 zoned mode。使用过程中出现以下错误链：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;BTRFS error (device sda): error while writing out transaction: -11&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;BTRFS: Transaction aborted (error -11)        # -11 = EAGAIN&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;BTRFS info (device sda state EA): forced readonly&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cow_file_range failed: -30                     # -30 = EROFS&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;后续写入全部失败&lt;/p&gt;&#xA;&lt;p&gt;根因：btrfs zoned mode 在事务提交时，zone 激活失败（活跃 zone 限制、write pointer 冲突等），返回 &lt;code&gt;-EAGAIN&lt;/code&gt;，导致事务中止，文件系统被迫进入只读保护状态。&#xA;AI 认为这是 btrfs zoned mode 的软件层面 bug，非硬件故障。内核 7.0.0-12 对 zoned btrfs 支持不够成熟，上游虽有修复但未完全解决。&lt;/p&gt;&#xA;&lt;p&gt;我比较同意，因为发生问题后，SMART 的 UDMA_CRC_Error_Count 并没有增长，还是 0&lt;/p&gt;&#xA;&lt;h2 id=&#34;替代方案dm-zoned--ext4&#34;&gt;替代方案：dm-zoned + ext4&#xA;&lt;/h2&gt;&lt;p&gt;HM-SMR 盘无法直接使用 ext4/xfs 等常规文件系统（内核要求 zoned 感知），可选方案有限：&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;方案&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;成熟度&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;说明&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;strong&gt;dm-zoned + ext4&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;strong&gt;高&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;通过 device mapper 将 zoned 设备模拟为常规块设备，上层使用成熟的 ext4&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;btrfs zoned&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;中&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;原生 zoned 支持，但有事务提交 bug，需频繁升级内核&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;f2fs zoned&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;低&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;支持 zoned，但大规模 HM-SMR 上验证不足&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;zonefs&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;低级&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;仅暴露 zone 为文件，非通用文件系统&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;既然 btrfs 已经出现问题，所以我换用了 **dm-zoned + ext4，**ext4 在大容量盘上久经考验，不需要担心 zoned 相关的事务 bug。经过连续 5 小时的写入测试，没有再发生任何异常。&lt;/p&gt;&#xA;&lt;p&gt;不过缺点显而易见，就是我失去了 btrfs 的高级特性，cow 和 灵活的子卷快照。没有 cow 的话，在满盘时我可能会遇到显著的性能下降；没有快照对我影响倒不是很大，因为这个机器的数据不打算再往别的地方备份一次。我的备份策略是直接在来源端就往两个地方备份。&lt;/p&gt;&#xA;&lt;h2 id=&#34;当前配置&#34;&gt;当前配置&#xA;&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/dev/sda (HM-SMR)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  └─ dm-zoned (/dev/mapper/dmz-VEGV73AY)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       └─ ext4 → /home/flintylemming/data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;开机自动启动：&lt;code&gt;dm-zoned-start.service&lt;/code&gt; 先激活 dm 设备，再由 fstab 挂载&lt;/li&gt;&#xA;&lt;li&gt;fstab 条目：&lt;code&gt;/dev/disk/by-id/dm-name-dmz-VEGV73AY /home/flintylemming/data ext4 noatime 0 2&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@stelath?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Alexander Korte&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/photos/airplane-wing-over-clouds-at-sunset-Oj0ykWKf5To?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>在 btrfs 文件系统上离线安装 AOSC OS</title>
            <link>https://blog.mitsea.com/311779ab64688073b953fcff47ae64c3/</link>
            <pubDate>Wed, 04 Mar 2026 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/311779ab64688073b953fcff47ae64c3/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2026/03/%E5%9C%A8%20btrfs%20%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%8A%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85%20AOSC%20OS/frode-myklebust-UbDdynMmcX0-unsplash.jpg&#34; alt=&#34;Featured image of post 在 btrfs 文件系统上离线安装 AOSC OS&#34; /&gt;&lt;h2 id=&#34;准备操作&#34;&gt;准备操作&#xA;&lt;/h2&gt;&lt;p&gt;进入命令行模式安装系统&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2026/03/%E5%9C%A8%20btrfs%20%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%8A%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85%20AOSC%20OS/%E5%9B%BE%E7%89%87.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;由于下面的操作比较多，为了方便复制，可以考虑使用 ssh 远程连接&lt;/p&gt;&#xA;&lt;p&gt;设置 root 密码&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;passwd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;修改 ssh 配置以启用 ssh 远程登陆&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nano /etc/ssh/sshd_config&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;将 &lt;code&gt;PermitRootLogin&lt;/code&gt; 前的注释删掉并改成 &lt;code&gt;yes&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;重启 ssh 服务&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl restart ssh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h2 id=&#34;格式化硬盘与分区&#34;&gt;格式化硬盘与分区&#xA;&lt;/h2&gt;&lt;p&gt;假设硬盘是 &lt;code&gt;/dev/sda&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;清除硬盘内容&#34;&gt;清除硬盘内容&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;擦掉所有文件系统签名&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  wipefs -a /dev/sda*&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;删除 GPT/MBR 分区表&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  sgdisk --zap-all /dev/sda&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;分区与格式化&#34;&gt;分区与格式化&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;用 &lt;code&gt;fdisk&lt;/code&gt; 重建 GPT&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  fdisk /dev/sda&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;在 fdisk 里依次输入，每行一个命令（期间如果提示分区包含一个 xx 签名，选择 y 移除签名）：&#xA;&lt;code&gt;g&lt;/code&gt; （新建 GPT）&#xA;&lt;code&gt;n&lt;/code&gt; （新建分区 1：EFI）&#xA;回车（默认分区号 1）&#xA;回车（默认起始）&#xA;输入：&lt;code&gt;+600M&lt;/code&gt;&#xA;&lt;code&gt;t&lt;/code&gt; （改类型）&#xA;输入：&lt;code&gt;1&lt;/code&gt; 选择 EFI System（通常会让你选类型，直接选 EFI/1）&#xA;&lt;code&gt;n&lt;/code&gt; （新建分区 2：boot 分区）&#xA;回车（默认分区号 2）&#xA;回车（默认起始）&#xA;输入：&lt;code&gt;+1.4G&lt;/code&gt; （如果需要多内核可以调大）&#xA;&lt;code&gt;n&lt;/code&gt; （新建分区 3：btrfs 系统分区）&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;回车（默认分区号 3）&lt;/li&gt;&#xA;&lt;li&gt;回车（默认起始）&lt;/li&gt;&#xA;&lt;li&gt;回车（用剩余全部空间）&#xA;&lt;code&gt;w&lt;/code&gt; （写入并退出）&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;写完后检查&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  lsblk /dev/sda&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;你应该看到 `sda1` 和 `sda2` 出现。&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;格式化&#xA;EFI 分区（FAT32）&#xA;boot 分区（ext4）&#xA;btrfs 分区&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;创建-btrfs-子卷并挂载-和-home&#34;&gt;创建 btrfs 子卷并挂载（@ 和 @home）&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;先临时挂载顶层&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  mkdir -p /mnt/btrfs-top&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  mount /dev/sda3 /mnt/btrfs-top&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;创建子卷&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  btrfs subvolume create /mnt/btrfs-top/@&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  btrfs subvolume create /mnt/btrfs-top/@home&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;卸载顶层&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  umount /mnt/btrfs-top&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;挂载安装用的根目录和系统分区&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# 挂载带透明压缩的 btrfs 根目录到 /mnt&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  mount -o &lt;span class=&#34;nv&#34;&gt;subvol&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;@,compress&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zstd:3 /dev/sda3 /mnt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# 挂载独立的 ext4 boot 分区&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  mkdir -p /mnt/boot&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  mount /dev/sda2 /mnt/boot&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# 挂载 EFI 分区&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  mkdir -p /mnt/boot/efi&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  mount /dev/sda1 /mnt/boot/efi&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# 挂载带透明压缩的 btrfs home 目录&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  mkdir -p /mnt/home&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  mount -o &lt;span class=&#34;nv&#34;&gt;subvol&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;@home,compress&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zstd:3 /dev/sda3 /mnt/home&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h2 id=&#34;安装系统&#34;&gt;安装系统&#xA;&lt;/h2&gt;&lt;h3 id=&#34;复制系统文件&#34;&gt;复制系统文件&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;确认一下你要用的源目录是存在的：&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  ls /run/livekit/sysroots/desktop | head&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;如果能列出 `/etc` `/lib` 之类，确认你的 livekit 确实是有离线包，我们就开始使用 rsync 复制&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;执行 rsync 命令复制&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-jsx&#34; data-lang=&#34;jsx&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;rsync&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;aAXHv&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;\&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;exclude&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;/dev/*&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;/proc/*&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;/sys/*&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;/tmp/*&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;/run/*&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;/mnt/*&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;/media/*&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;/lost+found&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;\&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;err&#34;&gt;/run/livekit/sysroots/desktop/ \&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;sr&#34;&gt;/mnt/&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;生成-fstab&#34;&gt;生成 fstab&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;先获取 UUID&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  blkid&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;记住：&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;sda3 的 UUID（btrfs 系统分区）&lt;/li&gt;&#xA;&lt;li&gt;sda2 的 UUID（ext4 boot 分区）&lt;/li&gt;&#xA;&lt;li&gt;sda1 的 UUID（FAT32 EFI 分区）&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;编辑 fstab：&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  nano /mnt/etc/fstab&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;写入（用你实际 UUID 替换）：&#xA;保存退出&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;准备-chroot&#34;&gt;准备 chroot&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;挂载系统目录&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;mount&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bind&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dev&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mnt&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dev&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;mount&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bind&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;proc&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mnt&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;proc&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;mount&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bind&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sys&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mnt&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sys&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;mount&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bind&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sys&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;firmware&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;efi&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;efivars&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mnt&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sys&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;firmware&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;efi&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;efivars&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;mount&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bind&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;run&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mnt&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;run&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;然后进入系统：&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  chroot /mnt /bin/bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;如果成功，你的提示符会变化，会被重新定位到 `/`。期间如果提示 “tty: ttyname error: No such device” 错误是正常的。&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;杂项&#34;&gt;杂项&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;生成 machine-id&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  systemd-machine-id-setup&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;重建 initramfs&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  dracut -f&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h2 id=&#34;安装-grubuefi&#34;&gt;安装 GRUB（UEFI）&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;确认 EFI 挂载：&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  ls /boot/efi&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;没返回是正常的，有这个文件夹就行&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;安装&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;grub&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;target&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;x86_64&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;efi&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;efi&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;directory&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;boot&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;efi&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bootloader&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;AOSC&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;然后生成配置：&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  grub-mkconfig -o /boot/grub/grub.cfg&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h2 id=&#34;后处理&#34;&gt;后处理&#xA;&lt;/h2&gt;&lt;p&gt;以下命令仍在 &lt;strong&gt;chroot 环境&lt;/strong&gt;内执行（与 &lt;a class=&#34;link&#34; href=&#34;https://wiki.aosc.io/zh/AOSC_OS/%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97/AOSC_OS_%E6%89%8B%E5%8A%A8%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97/Installation/AMD64&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;AOSC OS 手动安装指南&lt;/a&gt; 中「用户自定义设置」等章节一致）。&lt;/p&gt;&#xA;&lt;h3 id=&#34;设置-root-密码&#34;&gt;设置 root 密码&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;passwd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;创建普通用户与-sudowheel&#34;&gt;创建普通用户与 sudo（wheel）&#xA;&lt;/h3&gt;&lt;p&gt;AOSC OS 默认没有可用的登录用户；请把示例里的 &lt;code&gt;aosc&lt;/code&gt; 换成你想要的用户名（仅小写字母与数字）。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;useradd -m -s /bin/bash aosc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;usermod -a -G audio,cdrom,video,wheel aosc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chfn -f &lt;span class=&#34;s2&#34;&gt;&amp;#34;Your Full Name&amp;#34;&lt;/span&gt; aosc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;passwd aosc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;&lt;code&gt;wheel&lt;/code&gt; 组用于通过 &lt;code&gt;sudo&lt;/code&gt; 获取管理员权限。&lt;/p&gt;&#xA;&lt;h3 id=&#34;设置系统时区&#34;&gt;设置系统时区&#xA;&lt;/h3&gt;&lt;p&gt;时区文件在 &lt;code&gt;/usr/share/zoneinfo/&amp;lt;地区&amp;gt;/&amp;lt;城市&amp;gt;&lt;/code&gt;。例如上海：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ln -svf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;设置语言--locale&#34;&gt;设置语言 / Locale&#xA;&lt;/h3&gt;&lt;p&gt;默认已启用多种 UTF-8 locale。若只想指定默认语言，例如简体中文 UTF-8：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;LANG=zh_CN.UTF-8&amp;#39;&lt;/span&gt; &amp;gt; /etc/locale.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;也可使用 &lt;code&gt;localectl set-locale &amp;quot;LANG=zh_CN.UTF-8&amp;quot;&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;p&gt;若要启用或禁用个别 locale，需先编辑 &lt;code&gt;/etc/locale.gen&lt;/code&gt;，再执行（耗时较长）：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;locale-gen&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;设置主机名&#34;&gt;设置主机名&#xA;&lt;/h3&gt;&lt;p&gt;从 livekit 复制来的系统主机名可能仍是 livekit，在重启前可改为新主机名：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hostnamectl set-hostname your-new-hostname&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;退出并重启&#34;&gt;退出并重启&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;exit&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;umount -R /mnt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;reboot&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;安装完成&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2026/03/%E5%9C%A8%20btrfs%20%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%8A%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85%20AOSC%20OS/%E5%9B%BE%E7%89%87%201.png&#34;&gt;&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@famyklebust?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Frode Myklebust&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/photos/hills-and-ocean-under-a-pastel-sky-UbDdynMmcX0?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>B650 南桥独立扩展卡简测（开发中）</title>
            <link>https://blog.mitsea.com/2f8779ab646880a09907ff7fb261973a/</link>
            <pubDate>Fri, 30 Jan 2026 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/2f8779ab646880a09907ff7fb261973a/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2026/01/B650%20%E5%8D%97%E6%A1%A5%E7%8B%AC%E7%AB%8B%E6%89%A9%E5%B1%95%E5%8D%A1%E7%AE%80%E6%B5%8B%EF%BC%88%E5%BC%80%E5%8F%91%E4%B8%AD%EF%BC%89/ruben-mavarez-yi0RrmWvd-8-unsplash.avif&#34; alt=&#34;Featured image of post B650 南桥独立扩展卡简测（开发中）&#34; /&gt;&lt;p&gt;嘉立创上之前有人开源了个 B650 南桥扩展卡，群友做了一版，拿来测测&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://oshwhub.com/wesd/b650&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://oshwhub.com/wesd/b650&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;外观如下，两个 nvme m.2，四个 SATA，一个 USB-E&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2026/01/B650%20%E5%8D%97%E6%A1%A5%E7%8B%AC%E7%AB%8B%E6%89%A9%E5%B1%95%E5%8D%A1%E7%AE%80%E6%B5%8B%EF%BC%88%E5%BC%80%E5%8F%91%E4%B8%AD%EF%BC%89/20260130_092339.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;测试平台为 Radxa O6，CIX P1 的平台。目前 M.2_1 还不能使用，插上硬盘会卡自检，PCIe 协商速度从 Gen 2 到 Gen 4 都不行。x86 平台基本上好像没问题。&lt;/p&gt;&#xA;&lt;p&gt;所以目前只能这么用&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2026/01/B650%20%E5%8D%97%E6%A1%A5%E7%8B%AC%E7%AB%8B%E6%89%A9%E5%B1%95%E5%8D%A1%E7%AE%80%E6%B5%8B%EF%BC%88%E5%BC%80%E5%8F%91%E4%B8%AD%EF%BC%89/20260130_103755.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;系统内可以正常识别南桥芯片，硬盘也可以正常识别&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2026/01/B650%20%E5%8D%97%E6%A1%A5%E7%8B%AC%E7%AB%8B%E6%89%A9%E5%B1%95%E5%8D%A1%E7%AE%80%E6%B5%8B%EF%BC%88%E5%BC%80%E5%8F%91%E4%B8%AD%EF%BC%89/iShot_2026-01-30_09.51.16.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;装个 fnOS，硬盘也可以正常识别并使用&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2026/01/B650%20%E5%8D%97%E6%A1%A5%E7%8B%AC%E7%AB%8B%E6%89%A9%E5%B1%95%E5%8D%A1%E7%AE%80%E6%B5%8B%EF%BC%88%E5%BC%80%E5%8F%91%E4%B8%AD%EF%BC%89/iShot_2026-01-30_10.44.44.avif&#34;&gt;&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@justalifein?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Ruben Mavarez&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/photos/soft-pink-flowers-with-green-leaves-in-soft-focus-yi0RrmWvd-8?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>QNAP TS-453b mini 恢复引导 救砖</title>
            <link>https://blog.mitsea.com/udazf7y4ksulkjsdesfsb/</link>
            <pubDate>Mon, 26 May 2025 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/udazf7y4ksulkjsdesfsb/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2025/05/QNAP%20TS-453b%20mini%20%E6%81%A2%E5%A4%8D%E5%BC%95%E5%AF%BC%20%E6%95%91%E7%A0%96/squids-z-D5HE4cj-oIQ-unsplash.avif&#34; alt=&#34;Featured image of post QNAP TS-453b mini 恢复引导 救砖&#34; /&gt;&lt;h2 id=&#34;准备事项&#34;&gt;准备事项&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;准备一个U盘&lt;/li&gt;&#xA;&lt;li&gt;机器如果插了两根 8G 的内存，建议拔掉一个&lt;/li&gt;&#xA;&lt;li&gt;由于机器开机即给硬盘上电，恢复过程中需要多次重启，所以全程建议不要插硬盘&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;恢复引导盘&#34;&gt;恢复引导盘&#xA;&lt;/h2&gt;&lt;p&gt;恢复过程比较简单，参考下面的官方链接恢复即可，本质就是把他提供的一个 img 文件 dd 到内置的引导盘上&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.qnap.com.cn/zh-cn/how-to/faq/article/nas-recovery-guide-for-x86-based-nas&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;x86架构NAS恢复指南 &lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.qnap.com.cn/zh-cn/how-to/faq/article/firmware-recovery-guide-for-ts-453bmini-ts-269-pro-ts-269l-ts-x79-ts-x70-ts-x80-ts-ecx80u-ss-ecx79u-series-nas&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;NAS 恢复指南，适用于 TS-453Bmini、TS-269 Pro、TS-269L、TS-x79、TS-x70、TS-x80、TS-ECx80U、SS-ECx79U&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;如果不熟悉 Linux 的话，其实自己做一个 PE 启动盘，然后把 Rufus 便携版的 exe 和官网提供的 img 复制到 U 盘的数据分区里&lt;/p&gt;&#xA;&lt;p&gt;进到 PE 后，打开 Rufus，磁盘就选择那个 515MB 的小硬盘，选择下载好的 img 恢复即可&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/05/QNAP%20TS-453b%20mini%20%E6%81%A2%E5%A4%8D%E5%BC%95%E5%AF%BC%20%E6%95%91%E7%A0%96/TT%E6%88%AA%E5%9B%BE%E6%9C%AA%E5%91%BD%E5%90%8D_F1mqdyO42P.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;升级系统问题分析&#34;&gt;升级系统（问题分析）&#xA;&lt;/h2&gt;&lt;p&gt;这一节只是分析问题，适合遇到坑之后才找到这篇文章的人看。正常恢复的可以直接跳到下一节。&lt;/p&gt;&#xA;&lt;p&gt;恢复好引导后，就能正常开机了，然后在 Qfinder Pro 里会找到设备，按照官方教程来说，你应该在这里右键更新系统软件&lt;/p&gt;&#xA;&lt;p&gt;但是你用官方现在提供的任何一个版本更新都会失败&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/05/QNAP%20TS-453b%20mini%20%E6%81%A2%E5%A4%8D%E5%BC%95%E5%AF%BC%20%E6%95%91%E7%A0%96/%E5%9B%BE%E7%89%87_w62aj9TV64.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;此时设备名称也会变成 uLinux，我建议是重启一下，他会恢复，不然后续如果你想再用 Qfinder Pro 操作升级会无法上传固件。为了探究失败原因，使用 ssh 进入到设备控制台看一下，执行 &lt;code&gt;df -h&lt;/code&gt; 后发现 &lt;code&gt;/&lt;/code&gt; 已经 100% 了，这可能就是导致升级失败的原因&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/05/QNAP%20TS-453b%20mini%20%E6%81%A2%E5%A4%8D%E5%BC%95%E5%AF%BC%20%E6%95%91%E7%A0%96/%E5%9B%BE%E7%89%87_BGOebPEKLW.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;可以进一步验证一下，比如可以把升级固件上传到 &lt;code&gt;/mnt/.fw_update_dir&lt;/code&gt; 里，然后执行下面的命令尝试更新系统&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; /etc/init.d/update.sh /mnt/.fw_update_dir/&lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;FIRMWARE_FILE_NAME&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;.img&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;发现它确实就是报空间不足的错误&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/05/QNAP%20TS-453b%20mini%20%E6%81%A2%E5%A4%8D%E5%BC%95%E5%AF%BC%20%E6%95%91%E7%A0%96/%E5%9B%BE%E7%89%87_63R9ouwoud.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;此时我们可以删除掉一些不影响升级的文件腾出空间，比如 &lt;code&gt;home&lt;/code&gt;下面的文件夹&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rm -rf /home/httpd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rm -rf /home/Qhttpd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;此时再重新使用命令行或者 Qfinder Pro 升级就可以正常升级&lt;/p&gt;&#xA;&lt;h2 id=&#34;系统升级详细步骤&#34;&gt;系统升级（详细步骤）&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;从官网下好最新版的系统固件，并解压出 img 文件&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;恢复后，打开 Qfinder Pro，确认能看到一个系统版本只有 1.3.0 的设备，并记下他的 IP&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/05/QNAP%20TS-453b%20mini%20%E6%81%A2%E5%A4%8D%E5%BC%95%E5%AF%BC%20%E6%95%91%E7%A0%96/%E5%9B%BE%E7%89%87_6NRv18y8qG.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;打开任意 SSH 工具，可以直接使用 Powershell，连接到 NAS 上&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh admin@&lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;IP&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;密码也是 admin&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;由于默认根目录过小会导致升级失败，所以我们需要删除一些不影响升级的文件，比如 home 下的两个文件夹&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rm -rf /home/httpd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rm -rf /home/Qhttpd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;回到 Qfinder Pro，右键设备，点击 更新系统软件&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/05/QNAP%20TS-453b%20mini%20%E6%81%A2%E5%A4%8D%E5%BC%95%E5%AF%BC%20%E6%95%91%E7%A0%96/%E5%9B%BE%E7%89%87_yKUDnPnGRw.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;账号密码都是 admin&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/05/QNAP%20TS-453b%20mini%20%E6%81%A2%E5%A4%8D%E5%BC%95%E5%AF%BC%20%E6%95%91%E7%A0%96/%E5%9B%BE%E7%89%87_odH1l_K1xX.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;稍等一会，它会提示你版本已经是最新，不用管他，直接确定&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/05/QNAP%20TS-453b%20mini%20%E6%81%A2%E5%A4%8D%E5%BC%95%E5%AF%BC%20%E6%95%91%E7%A0%96/%E5%9B%BE%E7%89%87_DNk5DFAdv1.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;选择下载并解压好的最新版 5.x 固件，然后点击 开始更新&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/05/QNAP%20TS-453b%20mini%20%E6%81%A2%E5%A4%8D%E5%BC%95%E5%AF%BC%20%E6%95%91%E7%A0%96/%E5%9B%BE%E7%89%87_wysopC-dWu.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;它会提示一个这个，不用管他，点击 是&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/05/QNAP%20TS-453b%20mini%20%E6%81%A2%E5%A4%8D%E5%BC%95%E5%AF%BC%20%E6%95%91%E7%A0%96/%E5%9B%BE%E7%89%87_mfi9zrqfuv.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;能超过 23% 就不会有问题了，等他正常走完，机器会自动重启&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/05/QNAP%20TS-453b%20mini%20%E6%81%A2%E5%A4%8D%E5%BC%95%E5%AF%BC%20%E6%95%91%E7%A0%96/%E5%9B%BE%E7%89%87_Q1YtEzYFYw.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;机器重启后，就可以正常看到运行最新版系统的设备了，重启挺慢的，多等一会。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/05/QNAP%20TS-453b%20mini%20%E6%81%A2%E5%A4%8D%E5%BC%95%E5%AF%BC%20%E6%95%91%E7%A0%96/%E5%9B%BE%E7%89%87_GBpv617BFT.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;然后如果显示器已经显示设备进系统了，这个窗口就可以关闭了，重开一下 Qfinder 就能正常看到设备了&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/05/QNAP%20TS-453b%20mini%20%E6%81%A2%E5%A4%8D%E5%BC%95%E5%AF%BC%20%E6%95%91%E7%A0%96/%E5%9B%BE%E7%89%87_MF_xBh5PX3.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@squids93?utm_content=creditCopyText%5c&amp;amp;utm_medium=referral%5c&amp;amp;utm_source=unsplash&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Squids Z&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/photos/handrails-with-warm-lighting-provide-a-unique-perspective-D5HE4cj-oIQ?utm_content=creditCopyText%5c&amp;amp;utm_medium=referral%5c&amp;amp;utm_source=unsplash&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>TCL-S1916 交换机配置</title>
            <link>https://blog.mitsea.com/wze9pyiadj2ycgkyhzzqjb/</link>
            <pubDate>Tue, 20 May 2025 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/wze9pyiadj2ycgkyhzzqjb/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2025/05/TCL-S1916%20%E4%BA%A4%E6%8D%A2%E6%9C%BA%E9%85%8D%E7%BD%AE/squids-z-0WNp7qDtAaI-unsplash.avif&#34; alt=&#34;Featured image of post TCL-S1916 交换机配置&#34; /&gt;&lt;h2 id=&#34;背景&#34;&gt;背景&#xA;&lt;/h2&gt;&lt;p&gt;这款 16 口千兆交换机是 60 块钱闲鱼捡的，刚到手的时候毛病很多，有的端口不能用，能用的端口之间还是隔离的，有怀疑过是不是网管交换机，但是标签上完全没写&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/05/TCL-S1916%20%E4%BA%A4%E6%8D%A2%E6%9C%BA%E9%85%8D%E7%BD%AE/photo_T_gSPgqAwe.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;查了下，发现还真是个网管交换机，下面写一下配置方法&lt;/p&gt;&#xA;&lt;h2 id=&#34;准备工作&#34;&gt;准备工作&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;打开&lt;a class=&#34;link&#34; href=&#34;https://index.mitsea.com/%E8%BD%AF%E4%BB%B6/%E9%A9%B1%E5%8A%A8%E5%92%8C%E5%85%B6%E4%BB%96%E9%95%9C%E5%83%8F/TCL-S1916%20%E7%BD%91%E7%AE%A1%E4%BA%A4%E6%8D%A2%E6%9C%BA&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;这个地址&lt;/a&gt;，我把软件都放进去了，下载后解压 &lt;strong&gt;TCL-S1916网管交换机软件.zip&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;安装 WinPcap，管理软件依赖里面的某个 dll&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;将电脑网口与交换机的 &lt;strong&gt;16 口&lt;/strong&gt;连接，也就是最后一个口，交换机只能通过这个口连接&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;给电脑设置一个固定 IP，任意都行&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/05/TCL-S1916%20%E4%BA%A4%E6%8D%A2%E6%9C%BA%E9%85%8D%E7%BD%AE/6_bDxKJBMGEu.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;配置作业&#34;&gt;配置作业&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;双击打开 S1916Manager.exe，这里选择连接交换机的网卡&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/05/TCL-S1916%20%E4%BA%A4%E6%8D%A2%E6%9C%BA%E9%85%8D%E7%BD%AE/2_ShG00mNVH6.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;连接上交换机后，上面的操作按钮就会亮起，选择 配置操作-读交换机配置信息&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/05/TCL-S1916%20%E4%BA%A4%E6%8D%A2%E6%9C%BA%E9%85%8D%E7%BD%AE/3_wMx1Odv0dv.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;读取完可能会提示这个错误，好像没影响&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/05/TCL-S1916%20%E4%BA%A4%E6%8D%A2%E6%9C%BA%E9%85%8D%E7%BD%AE/4_tp7HD354so.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;读取完后就可以看到当前交换机的配置了，如果你到手用着有问题，肯定是哪里配置改过，比如我这里 VLAN 配置就会导致我遇到的隔离问题&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/05/TCL-S1916%20%E4%BA%A4%E6%8D%A2%E6%9C%BA%E9%85%8D%E7%BD%AE/1_l4SEuP3t3c.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;你可以自己修改设置，然后写回配置。如果只是当做普通交换机用的话，直接选择 系统操作-恢复出厂设置 即可。点击后会自动写回配置，不需要重新写一次配置。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/05/TCL-S1916%20%E4%BA%A4%E6%8D%A2%E6%9C%BA%E9%85%8D%E7%BD%AE/5_mcBx6NVGgI.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;至此就把这个交换机恢复为一个普通交换机的状态了&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@squids93?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Squids Z&lt;/a&gt; on&lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/photos/abstract-building-with-orange-and-pink-hues-0WNp7qDtAaI?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>使用 restic 进行多版本备份</title>
            <link>https://blog.mitsea.com/uhqaedm4xh4oly1b6rilvg/</link>
            <pubDate>Tue, 22 Apr 2025 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/uhqaedm4xh4oly1b6rilvg/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2025/04/%E4%BD%BF%E7%94%A8%20restic%20%E8%BF%9B%E8%A1%8C%E5%A4%9A%E7%89%88%E6%9C%AC%E5%A4%87%E4%BB%BD/steve-gribble-tuRraTuflBA-unsplash.avif&#34; alt=&#34;Featured image of post 使用 restic 进行多版本备份&#34; /&gt;&lt;h2 id=&#34;背景&#34;&gt;背景&#xA;&lt;/h2&gt;&lt;p&gt;现有备份服务器 A，业务服务器 B、C。A 仅有最基本的 lvm + xfs 存储和 ssh 连接。为了满足多版本备份，选择使用 &lt;a class=&#34;link&#34; href=&#34;https://restic.net/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;restic&lt;/a&gt; 备份方案。&lt;/p&gt;&#xA;&lt;p&gt;restic 的优势主要有以下几点：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;备份目的地不需要安装额外软件，没有环境要求，多种连接方式&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;去重、多版本、加密、快速&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;开源、多平台支持、使用简单&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;下面的步骤以服务器 B 备份到 A 为例，C 同理。&lt;/p&gt;&#xA;&lt;h2 id=&#34;环境准备&#34;&gt;环境准备&#xA;&lt;/h2&gt;&lt;h3 id=&#34;安装-restic&#34;&gt;安装 restic&#xA;&lt;/h3&gt;&lt;p&gt;备份服务器 A 不需要安装任何程序，在业务服务器 B 和 C 上安装 restic 即可，直接在 apt 源安装即可&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install restic&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;配置-ssh-key-免密登陆&#34;&gt;配置 ssh key 免密登陆&#xA;&lt;/h3&gt;&lt;p&gt;创建密钥对和配置过程不赘述，需要注意一点的是，由于备份时使用 sudo 备份，（因为有的文件是由 docker 作为 root 创建出来的），所以你的密钥需要配置在 root 用户 home 下的 .ssh 文件夹里，而不是普通用户的 home 里。&lt;/p&gt;&#xA;&lt;h2 id=&#34;创建备份仓库和初次备份&#34;&gt;创建备份仓库和初次备份&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在 B 服务器上执行命令，在 A 服务器上创建备份 repo&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo restic init --repo sftp:aiteam@ServerA_IP:/export/aiteam/restic-repo/r750xa&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;执行后会让你输入一个密码，设置好后要记住这个密码&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在本机创建一个密码文件保存刚才设置的密码，为后续自动化备份做准备&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo mkdir -p /etc/restic&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo bash -c &lt;span class=&#34;s1&#34;&gt;&amp;#39;echo &amp;#34;你的仓库密码&amp;#34; &amp;gt; /etc/restic/password&amp;#39;&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# 把 &amp;#34;你的仓库密码&amp;#34; 替换成真实的密码&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo chmod &lt;span class=&#34;m&#34;&gt;600&lt;/span&gt; /etc/restic/password&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;尝试初次备份，验证配置&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo restic --repo sftp:aiteam@ServerA_IP:/export/aiteam/restic-repo/r750xa &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       --password-file /etc/restic/password &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       backup /mnt/extend/appdata /mnt/extend/Projects&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/04/%E4%BD%BF%E7%94%A8%20restic%20%E8%BF%9B%E8%A1%8C%E5%A4%9A%E7%89%88%E6%9C%AC%E5%A4%87%E4%BB%BD/image.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;仓库验证和快照管理&#34;&gt;仓库验证和快照管理&#xA;&lt;/h2&gt;&lt;h3 id=&#34;检查仓库完整性&#34;&gt;&lt;strong&gt;检查仓库完整性&lt;/strong&gt;&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo restic --repo sftp:aiteam@ServerA_IP:/export/aiteam/restic-repo/r750xa &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       --password-file /etc/restic/password &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       check&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;列出所有快照&#34;&gt;列出所有快照&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo restic --repo sftp:aiteam@ServerA_IP:/export/aiteam/restic-repo/r750xa &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       --password-file /etc/restic/password &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       snapshots&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;管理旧快照&#34;&gt;管理旧快照&#xA;&lt;/h3&gt;&lt;p&gt;由于备份没有长期保存的需求，所以我这边选用最简单的保留近 7 天快照&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo restic --repo sftp:aiteam@ServerA_IP:/export/aiteam/restic-repo/r750xa &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       --password-file /etc/restic/password &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       forget --keep-daily &lt;span class=&#34;m&#34;&gt;7&lt;/span&gt; --prune&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h2 id=&#34;自动化&#34;&gt;自动化&#xA;&lt;/h2&gt;&lt;p&gt;使用 crontab 自动化即可，每天执行一次备份、删除旧快照，即可保证始终有近 7 天的版本。可以使用 Restic Browser 便捷的查看历史版本，大概就是这样的效果&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/04/%E4%BD%BF%E7%94%A8%20restic%20%E8%BF%9B%E8%A1%8C%E5%A4%9A%E7%89%88%E6%9C%AC%E5%A4%87%E4%BB%BD/iShot_2025-04-22_21.16.10.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;关于-docker&#34;&gt;关于 Docker&#xA;&lt;/h2&gt;&lt;p&gt;官方有提供 Docker，但大概就是一个执行 restic 二进制的容器，如果要通过 SSH 连接配置 key 的话，不是很方便，可以考虑使用 &lt;code&gt;mazzolino/restic&lt;/code&gt; 这个镜像，在镜像内操作&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@steve_g_?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Steve Gribble&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/photos/a-mountain-under-a-starry-night-sky-tuRraTuflBA?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>Deepseek R1 推理需求</title>
            <link>https://blog.mitsea.com/1977bda595c58157b48bf45cc8239758/</link>
            <pubDate>Tue, 11 Feb 2025 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/1977bda595c58157b48bf45cc8239758/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2025/02/Deepseek%20R1%20%E6%8E%A8%E7%90%86%E9%9C%80%E6%B1%82/spenser-sembrat-QLYH_8w6PKs-unsplash.avif&#34; alt=&#34;Featured image of post Deepseek R1 推理需求&#34; /&gt;&lt;h2 id=&#34;说明&#34;&gt;说明&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;前面的所有内容都不考虑量化，量化放在最后低开销方案那一节里&lt;/li&gt;&#xA;&lt;li&gt;不考虑 fp8 动态转换，问的人都不推荐，性能损失大，所以后面一律默认没有 fp8 计算单元的卡就跑不了 fp8 模型&lt;/li&gt;&#xA;&lt;li&gt;Deepseek 是原生 fp8 模型，所以模型显存占用就约等于参数量（671B 的 617，实际大概 700GB），不需要再乘 2，但是需要推理设备有 fp8 的计算单元&lt;/li&gt;&#xA;&lt;li&gt;除了模型外，还要保留上下文和并发需要的 KV Cache，大概 2、300GB，并发需要的 KV Cache 无上限。所以对于有 fp8 计算单元的设备，显存至少要 1T 显存；没有 fp8 只有 bf16 的，模型占用显存就要翻倍，就是 1.4T，上下文其实也要翻倍，就不算了，大概就是 1.6T 显存以上。所以 A100 不是很推荐。&lt;/li&gt;&#xA;&lt;li&gt;模型推理不吃卡间互联带宽，甚至 Fine-tune 都不怎么吃，只有正儿八经训练才吃&lt;/li&gt;&#xA;&lt;li&gt;GB200 没写在方案里，太贵、货少、硬件设计散热似乎有问题&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;看法&#34;&gt;看法&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;显卡迭代速度太快，A100 在 Deepseek 面前由于没有 fp8 计算单元，可以说已经被淘汰。Blackwell 又推出了原生 fp4 计算单元，如果接下来有很强的开源 fp4 模型，那 H100 H200 可以说又是被淘汰。&lt;/li&gt;&#xA;&lt;li&gt;模型推理不需要通用计算，它只需要显卡某一种、两种的计算单元。不排除未来几年会有推理专用硬件&lt;/li&gt;&#xA;&lt;li&gt;列出的配置也就是能跑，并发大概也就够小几十人用，上一点规模就自行再翻倍&lt;/li&gt;&#xA;&lt;li&gt;上面三点总结起来就是很费钱，有实力再搞&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;要点区分&#34;&gt;要点区分&#xA;&lt;/h2&gt;&lt;h3 id=&#34;推理硬件类型厂家不同&#34;&gt;推理硬件类型/厂家不同&#xA;&lt;/h3&gt;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;纯 CPU 推理&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Nvidia 显卡&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;AMD 显卡&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;华为显卡&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Pros&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;成本最低&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;性能最好，而且结果可预测（不需要怎么折腾就可以用起来）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;价格比 Nvidia 平台稍低，性能良好，官方表明支持 Deepseek 推理&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;（还不是很了解） 硅基流动说他家用华为的卡做的推理，感觉工具链应该是能跑起来&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Cons&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;速度太慢，而且并发性能衰减大&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;价格高&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;AMD 驱动等各种工具链还在频繁更新优化性能，可能会碰到来自上游的问题&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;资料少，很难获得支持，可能要折腾，而且购买渠道不熟悉&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;nvidia-显卡代际不同&#34;&gt;Nvidia 显卡代际不同&#xA;&lt;/h3&gt;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Pascal&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Volta&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Turing&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Ampere&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Ada&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Hopper&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Blackwell&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;发布时间&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2016&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2017&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2018&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2020&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2022&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2022&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2024&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;典型显卡&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Tesla P40、GeForce GTX 1080&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Tesla V100&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Quadro RTX 6000、RTX 2080&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;RTX A6000（现在 GPU）服务器用的、A100、RTX 3090&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;RTX 6000 Ada、L40、RTX 4090&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;H100、H200&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;B200、RTX 5090&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;nvidia-显卡接口不同&#34;&gt;Nvidia 显卡接口不同&#xA;&lt;/h3&gt;&lt;p&gt;有 PCIe 和 SXM 两种接口，后者必须搭配 SXM 接口的专用服务器，带宽大一点，性能强大概 19%，更适合训练。但是价格似乎差不太多。&lt;/p&gt;&#xA;&lt;h2 id=&#34;具体方案&#34;&gt;具体方案&#xA;&lt;/h2&gt;&lt;h3 id=&#34;显卡方案&#34;&gt;显卡方案&#xA;&lt;/h3&gt;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;方案&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;自组双机 A100/A800 PCIe&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;单台 DGX H200&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;自组单机8卡 H200 SXM&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;自组双机 H100/H800 SXM/PCIe&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;国行 H40 SXM 双机&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;AMD MI300x 整机&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;华为 910B/910C&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;态度&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;不推荐&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;最推荐&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;最推荐&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;推荐&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;不是很推荐&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;一般推荐&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;不是很推荐&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;概述&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;自行购买10卡服务器两台，再单独购买 20 块 A100（甚至感觉都不够）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;能买到的最新最快的 Nvidia 官方平台&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;最适中的方案&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;主流方案之一&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;好处就是全部都是正规渠道完整保修&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;有点灵车，属于是钱足够的话我是不想用，钱不够的话不是不能用&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;只能说有成功跑起来的案例，硅基流动说他们用的华为&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;优点&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1. 没有 fp8 计算单元，最近抛货比较多，价格有所降低；2. 购买渠道比较灵活方便&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1. 有原生 fp8 计算单元，比 A100 架构更新，推理速度快；2. 单机，不需要考虑双机互联的带宽瓶颈问题；3. Nvidia 整机方案可靠性比较好&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1. 周边配置可以选低一点，价格会比 DGX H200 便宜；2. 单机，不需要考虑双机互联的带宽瓶颈问题&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1. 有原生 fp8 计算单元，比 A100 架构更新，推理速度快；2. 购买渠道比较灵活方便&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1. 未禁售，货源可靠，有完整保修；2. 好购买&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1. 有还算比较稳定货源；2. 有成功跑起来的案例和测试数据；3. AMD 官方自己站台了是支持 Deepseek&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;想不出来&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;缺点&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1. Ampere 这代显卡没有 fp8 计算单元，如果跑不量化的版本，只能跑 scale 上去的 bf16，模型本身占用的显存就要翻倍（大概 1.4T），剩余给上下文和并发的 KV Cache 没多少；2. 卡已禁售，买到的原则上都是二手，只能依靠经销商保修；3. A100 架构放现在算比较老的了，两台纯粹是堆显存，就这可能还不太够&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1. 货少，价格不透明，可能比较贵；2. 显卡使用专有接口连接至主板，非 PCIe 接口，不好升级和更换；3. 一体化程度比较高，又是走私产品，一旦发生意外硬件损坏感觉会比较难修（得问经销商有没有能力）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1. 卡已禁售，买到的原则上都是二手，只能依靠经销商保修&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1. 卡已禁售，买到的原则上都是二手，只能依靠经销商保修&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1. H40 中国特供卡，而且连 Nvidia 官网都没 Datasheet；2. 虽然有 fp8 计算单元，但是性能被砍很多，具体可以看 补充说明 一节&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1. AMD 的驱动比较草台，可能会有一些驱动导致的上游问题；2. ROCm 推理 AMD 官方是推荐用 SGLang，SGLang 本身还不是非常成熟，活跃更新中，跑 Deepseek 要不可避免使用测试版本&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1. 资料很少，而且华为自己就不怎么喜欢对外提供资料；2. 910B 和 C 都不支持 fp8，显存占用也是很大&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;总显存&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;80G x 20 = 1600GB&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;141G x 8 = 1128GB&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;141G x 8 = 1128GB&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;80G x 16 = 1280GB&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;96G x 16 = 1536GB&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;192G x 8 = 1536GB&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;电源&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;约 10 kW&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;约 8 kW&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;约 8 kW&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;约 10 kW&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;官方链接&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.nvidia.com/dgx/dgxh100-user-guide/introduction-to-dgxh100.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Link&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;价格&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;200w 左右（大概估的，现在感觉有点虚高，不支持 fp8 还得掉价）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;285w 左右（闲鱼询问价格）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;245w 左右（闲鱼询价格）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;大概也就差不多价格&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;220w 左右（Dell X E9680）（经销商价格）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;200w 左右 （朋友朋友圈价格）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;廉价方案&#34;&gt;廉价方案&#xA;&lt;/h2&gt;&lt;h3 id=&#34;cpu&#34;&gt;CPU&#xA;&lt;/h3&gt;&lt;p&gt;不推荐，并发很差，只是内存多的情况下验证模型还行，没法实际多人用&lt;/p&gt;&#xA;&lt;h3 id=&#34;量化模型&#34;&gt;量化模型&#xA;&lt;/h3&gt;&lt;p&gt;unsloth 出了动态量化的版本&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/02/Deepseek%20R1%20%E6%8E%A8%E7%90%86%E9%9C%80%E6%B1%82/image.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;disk size 就约等于显存占用量，说是 2.51-bit 效果还不错，但是没有条件验证。可以考虑在现有机器上加点内存验证，或者等有没有人提供这个模型的 API。&lt;/p&gt;&#xA;&lt;p&gt;但是他官方用的 llama.cpp 跑的，这个框架气氛上好像没什么多人并发的性能，还没看到用 vLLM 跑的实际测试数据。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://unsloth.ai/blog/deepseekr1-dynamic&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://unsloth.ai/blog/deepseekr1-dynamic&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;补充说明&#34;&gt;补充说明&#xA;&lt;/h2&gt;&lt;h3 id=&#34;华为-910b-相关实例&#34;&gt;华为 910B 相关实例&#xA;&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://zhuanlan.zhihu.com/p/22564788535&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://zhuanlan.zhihu.com/p/22564788535&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;配置详细&#34;&gt;配置详细&#xA;&lt;/h3&gt;&lt;p&gt;主要就是卡的钱，周边都是小头了&lt;/p&gt;&#xA;&lt;p&gt;自组单机8卡 H200 SXM 那个配置如下&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/02/Deepseek%20R1%20%E6%8E%A8%E7%90%86%E9%9C%80%E6%B1%82/1.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;国行 H40 SXM 双机那个配置如下&lt;/p&gt;&#xA;&lt;p&gt;6542Y*2/1T DDR5内存/4块7.68T NVME/8个H20-96G/Boss卡含2块480G SSD/2千兆2万兆/6个2800W电源&lt;/p&gt;&#xA;&lt;h3 id=&#34;关于-h20&#34;&gt;关于 H20&#xA;&lt;/h3&gt;&lt;p&gt;fp8 砍到姥姥家了，性能只有 H100 的 14%，感觉是诈骗产品.jpg&lt;/p&gt;&#xA;&lt;p&gt;而且这个卡的数据 Nvidia 官网查不到，非常神秘&lt;/p&gt;&#xA;&lt;p&gt;除了国内正规供货，想不出任何理由买它&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/02/Deepseek%20R1%20%E6%8E%A8%E7%90%86%E9%9C%80%E6%B1%82/image%201.avif&#34;&gt;&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>QNAP TS-453B mini 安装黑群晖硬盘识别问题解决</title>
            <link>https://blog.mitsea.com/c7aqqdgpfk4mommfjvhlw3/</link>
            <pubDate>Wed, 01 Jan 2025 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/c7aqqdgpfk4mommfjvhlw3/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2025/01/QNAP%20TS-453B%20mini%20%E5%AE%89%E8%A3%85%E9%BB%91%E7%BE%A4%E6%99%96%E7%A1%AC%E7%9B%98%E8%AF%86%E5%88%AB%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3/zach-lezniewicz-E4IDq9NfFYY-unsplash.avif&#34; alt=&#34;Featured image of post QNAP TS-453B mini 安装黑群晖硬盘识别问题解决&#34; /&gt;&lt;p&gt;这台机器用的外挂 SATA 控制器不能被大多数 Linux 系统默认识别，Windows 倒是可以，所以黑群晖自然也是识别不到。&lt;/p&gt;&#xA;&lt;p&gt;解决方案参考知乎这篇文章修改 GRUB，既然改的是引导，所以其实跟你用什么群晖机型无关，它在 rr 的 bootloader 里执行 &lt;code&gt;lsblk&lt;/code&gt; 就看不到设备&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://zhuanlan.zhihu.com/p/409567877&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://zhuanlan.zhihu.com/p/409567877&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;解决方法他这里也写了，就是改 GRUB 然后修改 &lt;code&gt;GRUB_CMDLINE_LINUX=&amp;quot;pcie_port_pm=off&amp;quot;&lt;/code&gt; ，只不过 rr 的引导是靠 grub.cfg 来定义的 GRUB，所以刚上手不知道这个文件对应改哪里。摸索了一下发现改 &lt;code&gt;set RR_CMDLINE&lt;/code&gt; 内的内容有效。&lt;/p&gt;&#xA;&lt;p&gt;在这行的最后加一段 &lt;code&gt;pcie_port_pm=off&lt;/code&gt; 就可以了&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2025/01/QNAP%20TS-453B%20mini%20%E5%AE%89%E8%A3%85%E9%BB%91%E7%BE%A4%E6%99%96%E7%A1%AC%E7%9B%98%E8%AF%86%E5%88%AB%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3/image_850z0ohy1Z.avif&#34;&gt;&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@zachlez?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Zach Lezniewicz&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/photos/a-black-and-white-photo-of-a-large-body-of-water-E4IDq9NfFYY?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>拷打付费软件 —— MT Photos</title>
            <link>https://blog.mitsea.com/pdu2xtf1f7x6yawuj1k7vg/</link>
            <pubDate>Thu, 12 Dec 2024 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/pdu2xtf1f7x6yawuj1k7vg/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2024/12/%E6%8B%B7%E6%89%93%E4%BB%98%E8%B4%B9%E8%BD%AF%E4%BB%B6%20%E2%80%94%E2%80%94%20MT%20Photos/david-becker-mGx5-xt1uec-unsplash.avif&#34; alt=&#34;Featured image of post 拷打付费软件 —— MT Photos&#34; /&gt;&lt;p&gt;通过对比，个人觉得 MT Photos 撑不起现在这个价格，相比于 immich 没有明显优势，在部分体验上甚至有劣势，下面整理下我遇到的主要问题&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;资源管理差&lt;/p&gt;&#xA;&lt;p&gt;人脸识别任务完成后两三个小时都不自动回收显存&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/12/%E6%8B%B7%E6%89%93%E4%BB%98%E8%B4%B9%E8%BD%AF%E4%BB%B6%20%E2%80%94%E2%80%94%20MT%20Photos/CleanShot%202024-12-12%20at%2014.48.28@2x_sULGJeWc0y.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;原因非常的抽象，它的前端会定时调 API 的 /check&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/12/%E6%8B%B7%E6%89%93%E4%BB%98%E8%B4%B9%E8%BD%AF%E4%BB%B6%20%E2%80%94%E2%80%94%20MT%20Photos/742e29f3b2a91faf7822e4b2242bb391_kVFQv-yZaF.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;然后他后端的重启逻辑是什么呢，只要有 API 调用，就一个小时内都不会重启&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/12/%E6%8B%B7%E6%89%93%E4%BB%98%E8%B4%B9%E8%BD%AF%E4%BB%B6%20%E2%80%94%E2%80%94%20MT%20Photos/CleanShot%202024-12-12%20at%2015.56.35@2x_4hdVCRuv2X.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;所以他就永远都不会重启释放显存&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;扫库效率低下&lt;/p&gt;&#xA;&lt;p&gt;它的缩略图、元信息提取、生成缩略图等任务有可能不是并行的，至少前端看不出来。导致初始化时扫库效率明显低于 immich（任务调度已经拉满CPU 64 线程）&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/12/%E6%8B%B7%E6%89%93%E4%BB%98%E8%B4%B9%E8%BD%AF%E4%BB%B6%20%E2%80%94%E2%80%94%20MT%20Photos/a11188addded8db82b5ad8cb0cfc0770_7sT82iU1OX.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;immich 多个任务是并行的&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/12/%E6%8B%B7%E6%89%93%E4%BB%98%E8%B4%B9%E8%BD%AF%E4%BB%B6%20%E2%80%94%E2%80%94%20MT%20Photos/fd8cf3699c1cb047d494de787252d779_rZ6XiWbOcq.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/12/%E6%8B%B7%E6%89%93%E4%BB%98%E8%B4%B9%E8%BD%AF%E4%BB%B6%20%E2%80%94%E2%80%94%20MT%20Photos/0e20dec3012821d20afccdb395819e7f_gw9jj7je7x.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;CLIP 搜图模型效果不佳&lt;/p&gt;&#xA;&lt;p&gt;默认用的 Chinese-CLIP 而且不能更换，实测效果不如 immich 的 XLM-Roberta-Large-Vit-B-16Plus。比如搜索血压计，MT Photos 搜不出来&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/12/%E6%8B%B7%E6%89%93%E4%BB%98%E8%B4%B9%E8%BD%AF%E4%BB%B6%20%E2%80%94%E2%80%94%20MT%20Photos/ff8ecea0addf80e86509a43310817a7b_RtHxxStVTw.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/12/%E6%8B%B7%E6%89%93%E4%BB%98%E8%B4%B9%E8%BD%AF%E4%BB%B6%20%E2%80%94%E2%80%94%20MT%20Photos/10ef53de74add70cb4871c9e618b888b_uGCxT3eYtE.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;文档质量一般&lt;/p&gt;&#xA;&lt;p&gt;首先他这个 docker compose 配置文件写的就不合理，两个依赖的 ai 容器根本就不需要开放端口，直接用 compose 内部网络就可以链接，即 &lt;code&gt;容器名:端口&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/12/%E6%8B%B7%E6%89%93%E4%BB%98%E8%B4%B9%E8%BD%AF%E4%BB%B6%20%E2%80%94%E2%80%94%20MT%20Photos/CleanShot%202024-12-12%20at%2015.14.42@2x_By2hr_RJZ6.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;然后他本来是基于 docker compose 提供的部署教程，这里又变成了 docker run，第一次用的用户可能就不知道这个 &amp;ndash;gpu all 如果你改 docker compose 里面的镜像，还需要添加 GPU 设备才可以&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/12/%E6%8B%B7%E6%89%93%E4%BB%98%E8%B4%B9%E8%BD%AF%E4%BB%B6%20%E2%80%94%E2%80%94%20MT%20Photos/CleanShot%202024-12-12%20at%2015.34.05@2x_pTPBh3N4sn.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/12/%E6%8B%B7%E6%89%93%E4%BB%98%E8%B4%B9%E8%BD%AF%E4%BB%B6%20%E2%80%94%E2%80%94%20MT%20Photos/CleanShot%202024-12-12%20at%2015.20.12@2x_2ipqQyqTZl.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;总而言之就是非常混乱，你不如直接给四个 docker compose 配置文件：不带 AI 的，带 onnx AI 的，带 cuda AI 的，带 arm AI 的就完事了。不要把面向客户的文档写成了自己看的笔记。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;GPS API 服务需要用户自己配&lt;/p&gt;&#xA;&lt;p&gt;这个我觉得是最抽象的，immich 作为免费开源软件都默认提供 GPS API，而且国内照片位置也正常，但是 MT Photos 作为收费软件还需要自己去申请 API 配进去。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://mtmt.tech/docs/start/gps_api&#34;  title=&#34;https://mtmt.tech/docs/start/gps_api&#34;&#xA;     target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://mtmt.tech/docs/start/gps_api&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Android App 体验不好&lt;/p&gt;&#xA;&lt;p&gt;不支持 HDR 视频回看&lt;/p&gt;&#xA;&lt;p&gt;开了底部导航显示优化后查看原图还是用的全屏模式（Immersive Mode），需要上划底部才能呼出导航栏&lt;/p&gt;&#xA;&lt;p&gt;等等等等小问题&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@beckerworks?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;David Becker&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/photos/a-mountain-covered-in-snow-under-a-cloudy-sky-mGx5-xt1uec?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>群晖的 CloudSync，我劝你别用</title>
            <link>https://blog.mitsea.com/6726aecbb50f474e84439d779be50b14/</link>
            <pubDate>Wed, 20 Mar 2024 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/6726aecbb50f474e84439d779be50b14/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2024/03/6726aecbb50f474e84439d779be50b14/rick-rothenberg-HTCLvTGXpmM-unsplash.avif&#34; alt=&#34;Featured image of post 群晖的 CloudSync，我劝你别用&#34; /&gt;&lt;h2 id=&#34;省流&#34;&gt;省流&#xA;&lt;/h2&gt;&lt;p&gt;群晖的 CloudSync 在同步文件时，会因为某些问题导致不同步部分文件，并且 &lt;strong&gt;没 有 任 何 提 示&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;h2 id=&#34;具体现象&#34;&gt;具体现象&#xA;&lt;/h2&gt;&lt;p&gt;我经常在 A 地的电脑上下载东西，然后再同步到 B 地。于是我选择使用群晖的 CloudSync 同步。具体就是我在 A 上面搭建一个 WebDAV（通过 Alist 实现），然后 B 地的群晖上使用 CloudSync 使用双向同步下载回来。&lt;/p&gt;&#xA;&lt;p&gt;今天我瞟了眼两边的文件数，坏了，不对，漏同步文件了&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/03/6726aecbb50f474e84439d779be50b14/PixPin_2024-03-20_20-09-12.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;于是我就拉文件列表到 Excel 中对比，发现漏同步的文件含有在 Windows 上显示异常的特殊字符&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/03/6726aecbb50f474e84439d779be50b14/Untitled.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/03/6726aecbb50f474e84439d779be50b14/Untitled%201.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;其实这也不算是啥特殊字符，比如第一个是日语里的浊点（U+3099），在 Windows 上显示也是对的&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/03/6726aecbb50f474e84439d779be50b14/Untitled%202.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;第二个是韩语，在 Windows 上也是分开显示，但是在 Web 上显示是对的&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/03/6726aecbb50f474e84439d779be50b14/Untitled%203.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;之所以会分开，是因为编辑时使用的输入方式问题。以 ド 为例，如果是输入法候选里选择的 ド，那就会直接输入“ド” (U+30C9)，这是一个字符。但如果是靠系统渲染去拼字，输入时输入两个字符，即 “ト” (U+30C8) + 浊点（U+3099），则会出现上述情况。&lt;/p&gt;&#xA;&lt;p&gt;显然，群晖的 CloudSync 至少在我这里没有处理好这个问题。更严重的是，它完全没有任何错误的提示，而是直接忽略了含有 组合用发音符号（combining diacritical mark）的文件。&lt;/p&gt;&#xA;&lt;p&gt;如果它还有别的可能会导致直接不同步的情况，并且已经同步了大量文件的话，我想正常人根本不会发现自己信赖的异地备份其实根本就是不完整的备份。这对于一个专注数据管理与备份的系统来说我觉得是不应该的。&lt;/p&gt;&#xA;&lt;p&gt;坑人……&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/ja/%E5%86%99%E7%9C%9F/%E6%B3%A2%E7%B7%9A%E3%81%AE%E3%81%82%E3%82%8B%E9%9D%92%E3%81%A8%E7%B7%91%E3%81%AE%E8%83%8C%E6%99%AF-HTCLvTGXpmM?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;の&lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/ja/@rick_rothenberg?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Rick Rothenberg&lt;/a&gt;が撮影した写真&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>Netbird 子网路由设置 （处理不便安装的设备）</title>
            <link>https://blog.mitsea.com/77af4e22a9e44f7f8c2803edc33ab33b/</link>
            <pubDate>Mon, 11 Mar 2024 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/77af4e22a9e44f7f8c2803edc33ab33b/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2024/03/Netbird%20%E5%AD%90%E7%BD%91%E8%B7%AF%E7%94%B1%E8%AE%BE%E7%BD%AE%20%EF%BC%88%E5%A4%84%E7%90%86%E4%B8%8D%E4%BE%BF%E5%AE%89%E8%A3%85%E7%9A%84%E8%AE%BE%E5%A4%87%EF%BC%89/martin-katler-eVk59Ks4k2U-unsplash.avif&#34; alt=&#34;Featured image of post Netbird 子网路由设置 （处理不便安装的设备）&#34; /&gt;&lt;p&gt;上一期简单介绍了 Netbird 的子网路由的配置，相比与 Tailscale 真的是简单很多。但是还遗留一个问题，就是如果设备不方便或者不想安装 Netbird 应该怎么办。其实不影响的，两个内网只要分别在一台设备上安装 Netbird，这两个内网的所有设备其实都可以互访。比如在下图中，让设备 A1 直接访问 B1（红色箭头）。当然，也可以直接访问 Netbird 内网中的其他设备（橙色箭头）。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/03/Netbird%20%E5%AD%90%E7%BD%91%E8%B7%AF%E7%94%B1%E8%AE%BE%E7%BD%AE%20%EF%BC%88%E5%A4%84%E7%90%86%E4%B8%8D%E4%BE%BF%E5%AE%89%E8%A3%85%E7%9A%84%E8%AE%BE%E5%A4%87%EF%BC%89/Netbird_%25E5%2586%2585%25E7%25BD%2591%25E8%25B7%25AF%25E7%2594%25B1.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;这样在内网其他设备上即便不安装任何组网工具，也可以无缝访问多个内网&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/03/Netbird%20%E5%AD%90%E7%BD%91%E8%B7%AF%E7%94%B1%E8%AE%BE%E7%BD%AE%20%EF%BC%88%E5%A4%84%E7%90%86%E4%B8%8D%E4%BE%BF%E5%AE%89%E8%A3%85%E7%9A%84%E8%AE%BE%E5%A4%87%EF%BC%89/Untitled.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;准备工作&#34;&gt;准备工作&#xA;&lt;/h2&gt;&lt;p&gt;在两个内网中分别选取一个设备安装 Netbird 并配置为路由，让两个设备分别可以访问对方内网所有设备。在新版中 Netbird 可以选取 Windows 设备作为路由，不过我感觉 Windows 的网络栈比较灵车，所以我还是建议使用一台 Linux 设备。&lt;/p&gt;&#xA;&lt;p&gt;这次配置以 Ubuntu 系统为例，配置区域 A 的内网设备可以访问区域 B 的内网设备，反向同理。&lt;/p&gt;&#xA;&lt;h2 id=&#34;配置-netbird-路由&#34;&gt;配置 Netbird 路由&#xA;&lt;/h2&gt;&lt;p&gt;配置方法在上一集已经说过了，这里简单提一下，最近 Netbird UI 改了一次。&lt;/p&gt;&#xA;&lt;p&gt;1 处填写目标区域内网 IP 地址段&lt;/p&gt;&#xA;&lt;p&gt;2 处填写目标区域内网安装 Netbird 的设备&lt;/p&gt;&#xA;&lt;p&gt;3 处填写来源区域内网安装 Netbird 的设备所在的 Group&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/03/Netbird%20%E5%AD%90%E7%BD%91%E8%B7%AF%E7%94%B1%E8%AE%BE%E7%BD%AE%20%EF%BC%88%E5%A4%84%E7%90%86%E4%B8%8D%E4%BE%BF%E5%AE%89%E8%A3%85%E7%9A%84%E8%AE%BE%E5%A4%87%EF%BC%89/Untitled%201.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;这样的话，以开头的图为例，设备 A2 就可以访问区域 B 的所有内网设备了&lt;/p&gt;&#xA;&lt;h2 id=&#34;配置静态路由&#34;&gt;配置静态路由&#xA;&lt;/h2&gt;&lt;p&gt;设置区域 A 的路由器，添加静态路由。目的是让这个内网设备访问区域 B 的内网网段时，不会被路由器丢弃，而是发送到 Netbird 设备上。具体配置如下：&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/03/Netbird%20%E5%AD%90%E7%BD%91%E8%B7%AF%E7%94%B1%E8%AE%BE%E7%BD%AE%20%EF%BC%88%E5%A4%84%E7%90%86%E4%B8%8D%E4%BE%BF%E5%AE%89%E8%A3%85%E7%9A%84%E8%AE%BE%E5%A4%87%EF%BC%89/Untitled%202.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;目的地址和子网掩码：填写区域 B 的内网网段，可以再加一条，填写 Netbird 的内网网段&lt;/p&gt;&#xA;&lt;p&gt;下一跳：填写当前内网里安装 Netbird 设备的 IP 地址&lt;/p&gt;&#xA;&lt;p&gt;出接口：LAN&lt;/p&gt;&#xA;&lt;h2 id=&#34;配置-netbird-设备&#34;&gt;配置 Netbird 设备&#xA;&lt;/h2&gt;&lt;p&gt;浏览器添加静态路由后，访问区域 B 的内网请求就被转发到了 Netbird 设备上。但是这个设备还要进行一些配置才能正确通过 Netbird 虚拟局域网转发流量。具体配置如下：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;确认 Netbird 创建的 TUN 所使用的 Interface 名称（一般是 wt0）以及默认联网网卡的 Interface 名称。你可以使用&lt;code&gt;ip addr show&lt;/code&gt; 来确认&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/03/Netbird%20%E5%AD%90%E7%BD%91%E8%B7%AF%E7%94%B1%E8%AE%BE%E7%BD%AE%20%EF%BC%88%E5%A4%84%E7%90%86%E4%B8%8D%E4%BE%BF%E5%AE%89%E8%A3%85%E7%9A%84%E8%AE%BE%E5%A4%87%EF%BC%89/Untitled%203.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;我这边就是 wt0 和 eth0，这两个 Interface 名称要记住，后面配置 iptables 要用。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;开启 ipv4 转发&lt;/p&gt;&#xA;&lt;p&gt;在 &lt;code&gt;/etc/sysctl.conf&lt;/code&gt; 文件中添加或修改以下行：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;net.ipv4.ip_forward = 1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;然后运行 &lt;code&gt;sudo sysctl -p&lt;/code&gt; 来应用更改&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;配置 NAT 规则&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo iptables -I FORWARD -i eth0 -j ACCEPT&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo iptables -I FORWARD -o eth0 -j ACCEPT&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo iptables -I FORWARD -i wt0 -j ACCEPT&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo iptables -I FORWARD -o wt0 -j ACCEPT&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo iptables -t nat -I POSTROUTING -o wt0 -j MASQUERADE&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;这个规则设置主要干了两件事：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;使用 MASQUERADE 隐藏了从 eth0 出去的流量，让所有经过设备A的包看起来都是由本机发出的（wt0 同理）&lt;/li&gt;&#xA;&lt;li&gt;允许 eth0 和 wt0 的流量转发&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;若对安全性有要求，可以细化规则&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;至此设置完毕&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@martinkatler?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Martin Katler&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/photos/a-close-up-of-a-blue-and-purple-object-eVk59Ks4k2U?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>Tailscale 子网路由设置 （对比 Netbird）</title>
            <link>https://blog.mitsea.com/3b4ed0fa29824852b49650810f113c9e/</link>
            <pubDate>Fri, 02 Feb 2024 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/3b4ed0fa29824852b49650810f113c9e/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2024/02/3b4ed0fa29824852b49650810f113c9e/d-p-hpsnTAl-6rQ-unsplash.avif&#34; alt=&#34;Featured image of post Tailscale 子网路由设置 （对比 Netbird）&#34; /&gt;&lt;p&gt;设置子网路由可以有效解决内网中有的设备不方便安装 Tailscale 但是又需要访问的问题，或者你单纯就是不想给那么多设备都装上 Tailscale 客户端。但是 Tailscale 的配置逻辑让这个功能的设置变得极其复杂，本文先介绍下具体设置步骤，再对比一下 Netbird 该功能的设置。&lt;/p&gt;&#xA;&lt;h2 id=&#34;netbird-设置&#34;&gt;Netbird 设置&#xA;&lt;/h2&gt;&lt;p&gt;假设现在有两个子网，一个是 192.168.5.0/24，有设备 A 192.168.5.5 和设备 B 192.168.5.6，A 不方便安装 Tailscale，但是 B 可以装。一个是你现在的网络 192.168.2.0/24，正在使用设备 C 192.168.2.7。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/02/3b4ed0fa29824852b49650810f113c9e/%E6%9C%AA%E5%91%BD%E5%90%8D%E7%BB%98%E5%9B%BE.drawio%281%29.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;现在你要在设备 C 上可以直接通过输入 192.168.5.5 内网地址访问 A，应该如下设置：&lt;/p&gt;&#xA;&lt;h3 id=&#34;子网路由设备的设置&#34;&gt;子网路由设备的设置&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;通过 SSH 连接设备 B 后，停止 Tailscale&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tailscale down&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;重新启动 tailscale 并声明子网网段&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tailscale up --advertise-routes&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;192.168.5.0/24&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;tailscale-控制台设置&#34;&gt;Tailscale 控制台设置&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;打开 Tailscale 控制台网页，你会发现一个带有 Subnets 标志的设备。后面的感叹号说明这个子网声明没有被批准，点击下面的 Edit&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/02/3b4ed0fa29824852b49650810f113c9e/Untitled.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;勾上后保存即可&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/02/3b4ed0fa29824852b49650810f113c9e/Untitled%201.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;由于默认 ACL 设置里是所有规则都 allow，所以此时你的 Tailscale 所有设备都可以直接通过内网 IP 192.168.5.5 访问到设备。设备多的时候这显然是不行的，甚至有可能导致在某些设备上有冲突。所以我们还要设置权限。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;先把当前全 allow 的规则改掉&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;## 把&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{&lt;span class=&#34;nt&#34;&gt;&amp;#34;action&amp;#34;: &amp;#34;accept&amp;#34;, &amp;#34;src&amp;#34;: [&amp;#34;*&amp;#34;], &amp;#34;dst&amp;#34;: &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;*:*&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;}&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;## 改成&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{&lt;span class=&#34;nt&#34;&gt;&amp;#34;action&amp;#34;: &amp;#34;accept&amp;#34;, &amp;#34;src&amp;#34;: [&amp;#34;*&amp;#34;], &amp;#34;dst&amp;#34;: &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;100.0.0.0/8:*&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;}&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;这样保证设备之间仍然可以正常通过 Tailscale 分配的内网 IP 访问。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;添加规则，设置谁可以访问 192.168.5.0/24 子网&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#x9;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;action&amp;#34;: &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;accept&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#x9;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;src&amp;#34;: &lt;/span&gt;&lt;span class=&#34;w&#34;&gt;   &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;group:example@mail.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;tag:example&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;hosts_name&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;xxx,xxx,xxx,xxx&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;192.168.5.0/24&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#x9;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;dst&amp;#34;: &lt;/span&gt;&lt;span class=&#34;w&#34;&gt;   &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;192.168.5.0/24:*&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;}&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;这个 src 可以是 group、tag、hosts、IP 等，group、tag 和 hosts 都需要你在配置文件里定义好。但是一定要注意！src 里一定要把这个网段也写上，否则这个网段内的设备就访问不到了！！！&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/02/3b4ed0fa29824852b49650810f113c9e/Untitled%202.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;如果是 tag，在这里声明后，还需要在设备列表里设置（真的麻烦）&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/02/3b4ed0fa29824852b49650810f113c9e/Untitled%203.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;在本例中，我是给设备 C 设置了一个 tag，然后规则如下&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/02/3b4ed0fa29824852b49650810f113c9e/%E6%8D%95%E8%8E%B7.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;这样，设备 C 就可以直接访问设备 A 了&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/02/3b4ed0fa29824852b49650810f113c9e/Untitled%205.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;非常复杂，非常麻烦！下面看下 Netbird 的配置方法&lt;/p&gt;&#xA;&lt;h2 id=&#34;netbird-配置方法&#34;&gt;Netbird 配置方法&#xA;&lt;/h2&gt;&lt;p&gt;首先还是给不同的设备设置不同的 tags 便于后面的权限设置，直接在这里选择或者新增 tag，不需要修改任何配置文件&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/02/3b4ed0fa29824852b49650810f113c9e/Untitled%206.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;然后新增一条路由，在 Network Routes 里 Add route。依次填写名称、内网网段、子网路由设备、可以访问的设备组即可。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2024/02/3b4ed0fa29824852b49650810f113c9e/Untitled%207.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;就结束了……&lt;/p&gt;&#xA;&lt;p&gt;这才是人用的设置……&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>TrueNAS 定时同步配置</title>
            <link>https://blog.mitsea.com/5bc10de5f19441f1bfe50bc5ede20799/</link>
            <pubDate>Sun, 31 Dec 2023 01:00:00 +0800</pubDate>
            <guid>https://blog.mitsea.com/5bc10de5f19441f1bfe50bc5ede20799/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2023/12/TrueNAS%20%E5%AE%9A%E6%97%B6%E5%90%8C%E6%AD%A5%E9%85%8D%E7%BD%AE/rick-rothenberg-Ih4tXZrOkMI-unsplash.avif&#34; alt=&#34;Featured image of post TrueNAS 定时同步配置&#34; /&gt;&lt;p&gt;TrueNAS 的同步功能我挺喜欢的，因为我文件比较多，可管理的定时非实时同步对我来说很实用，也比实时同步更可靠。&lt;/p&gt;&#xA;&lt;p&gt;但是 TrueNAS 的同步配置起来跟其他系统或者软件不太一样，有点扭曲，这里帮助需要使用的人快速上手。&lt;/p&gt;&#xA;&lt;p&gt;主要介绍 Rsync 和 WebDAV，前者介绍的是 Module 方式的同步，因为我看网上说的都是走 SSH 传输。我自己更喜欢 Module 这种用户名和密码方式的验证，简单方便。&lt;/p&gt;&#xA;&lt;h2 id=&#34;rsync&#34;&gt;Rsync&#xA;&lt;/h2&gt;&lt;h3 id=&#34;基本配置&#34;&gt;基本配置&#xA;&lt;/h3&gt;&lt;p&gt;首先对基本配置里的几个点做补充&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/12/TrueNAS%20%E5%AE%9A%E6%97%B6%E5%90%8C%E6%AD%A5%E9%85%8D%E7%BD%AE/Untitled.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;若要同步文件夹里的内容，这里要加一个斜杠，默认不会加&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;用户这里建议选择和使用 Samba 相同的用户（一般就是除了 root 之外你自己手动创建的那个用户）&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Push 就是同步到对方的设备上，Pull 就是同步到本机&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;用户名加在地址的前面&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;模块名可以自己用下面命令拉个 list，群晖的话默认就是共享文件夹的列表&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rsync rsync://&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;服务器地址&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;创建密码文件&#34;&gt;创建密码文件&#xA;&lt;/h3&gt;&lt;p&gt;密码似乎不能直接写在环境变量里，我这里是创建了一个密码文件&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在上面的基本设置里，确认你的账户名，然后要创建一个只能被该用户访问的密码文件。所以首先在这个用户所有权的目录里创建密码文件。第一步是找到账户目录。打开命令行执行下面的命令即可&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;su - username&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;创建密码文件。客户端的密码文件只需要有密码的明文，不需要有用户名和冒号以及其他内容&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nano rsync.secrets&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;设置该文件不允许其他用户访问。否则就会报 &lt;code&gt;ERROR: password file must not be other-accessible&lt;/code&gt; 的错误。由于是在所有者为 username 的文件夹里创建的文件，所以执行该操作后，这个文件就只允许 username 访问&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod &lt;span class=&#34;m&#34;&gt;600&lt;/span&gt; rsync.secrets&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;具体参数配置&#34;&gt;具体参数配置&#xA;&lt;/h3&gt;&lt;p&gt;这里就是比较扭曲的地方了，他这个同步的 WebUI 功能做的不全，很多常用的功能还要自己加参数&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/12/TrueNAS%20%E5%AE%9A%E6%97%B6%E5%90%8C%E6%AD%A5%E9%85%8D%E7%BD%AE/Untitled%201.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;首先要说明的是这里的参数格式为 &amp;ndash;[参数名]=”[参数内容]”。然后说几个常用参数，其他的可以自己查。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;password-file 这里内容填刚才创建的密码文件&lt;/li&gt;&#xA;&lt;li&gt;log-file 建议用，因为如果报错了 TrueNAS 不会显示错误原因&lt;/li&gt;&#xA;&lt;li&gt;exclude 用来排除文件夹，如果你开了快照，建议排除 .zfs，不然就会把快照内容也同步到对方机器中&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;补充-群晖的-rsync-服务器&#34;&gt;补充-群晖的 Rsync 服务器&#xA;&lt;/h3&gt;&lt;p&gt;原生 Linux 中，用户的登陆密码、Samba 密码、Rsync 服务端密码其实是三个东西。群晖的 Rsync 密码就需要我们主动设置。设置位置在这里，密码一定要设置，只选择一个用户是不会继承登陆密码的。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/12/TrueNAS%20%E5%AE%9A%E6%97%B6%E5%90%8C%E6%AD%A5%E9%85%8D%E7%BD%AE/Untitled%202.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;webdav&#34;&gt;WebDAV&#xA;&lt;/h2&gt;&lt;p&gt;这个相比于 Rsync 就没有那些弯弯绕了。先在云凭据里创建凭据&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/12/TrueNAS%20%E5%AE%9A%E6%97%B6%E5%90%8C%E6%AD%A5%E9%85%8D%E7%BD%AE/Untitled%203.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;然后在云同步里设置同步就行了&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/12/TrueNAS%20%E5%AE%9A%E6%97%B6%E5%90%8C%E6%AD%A5%E9%85%8D%E7%BD%AE/Untitled%204.avif&#34;&gt;&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@rick_rothenberg?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Rick Rothenberg&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/photos/a-close-up-of-a-bunch-of-green-plants-Ih4tXZrOkMI?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>Windows 存储空间不等容量磁盘 Parity 逻辑探究</title>
            <link>https://blog.mitsea.com/a08fab67a7b8430faaeb10edc5dc490c/</link>
            <pubDate>Mon, 06 Nov 2023 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/a08fab67a7b8430faaeb10edc5dc490c/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2023/10/Windows%20%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E4%B8%8D%E7%AD%89%E5%AE%B9%E9%87%8F%E7%A3%81%E7%9B%98%20Parity%20%E9%80%BB%E8%BE%91%E6%8E%A2%E7%A9%B6/jigar-panchal-D_ivYIn4jWw-unsplash.avif&#34; alt=&#34;Featured image of post Windows 存储空间不等容量磁盘 Parity 逻辑探究&#34; /&gt;&lt;p&gt;在组建阵列时，一般都推荐使用容量相同的磁盘，不过这种情况下有条件的都使用 RAID 阵列卡获得最大性能了。但是作为垃圾佬，手头的硬盘都是根据市场价格买最便宜的容量，所以会有容量不一的硬盘。此时，如何在不同容量的硬盘上创建单盘冗余阵列并且还能最大化可用空间就成了一个重要的需求。目前主流方案有两个方向：块冗余和文件冗余。&lt;/p&gt;&#xA;&lt;p&gt;先提一嘴文件冗余，主要代表就是绿联和极空间等国产 NAS 用的比较多，还有就是 Windows 下的 StableBit Drive Pool。&lt;/p&gt;&#xA;&lt;p&gt;块冗余是更为传统但是性能更好的方案。首先传统 RAID 对于垃圾佬非常不友好，如果是 1+2+3T 的硬盘组合，单盘冗余可用空间就只有 2T。在此基础上，群晖进行了改进，通过划分磁盘为多个部分，通过创建多个 RAID5 达到最大利用效果。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/10/Windows%20%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E4%B8%8D%E7%AD%89%E5%AE%B9%E9%87%8F%E7%A3%81%E7%9B%98%20Parity%20%E9%80%BB%E8%BE%91%E6%8E%A2%E7%A9%B6/Untitled.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;通过下面的对比可以看出 SHR 对于不同容量的硬盘相比传统 RAID5 有着巨大优势&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/10/Windows%20%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E4%B8%8D%E7%AD%89%E5%AE%B9%E9%87%8F%E7%A3%81%E7%9B%98%20Parity%20%E9%80%BB%E8%BE%91%E6%8E%A2%E7%A9%B6/Untitled%201.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;那么寻找一个类似 SHR 的超高利用率的阵列方案就至关重要。&lt;/p&gt;&#xA;&lt;p&gt;首先就是 unraid，unraid 可以选择容量最大那个盘作为校验盘，可用空间就是其他所有盘容量总和。但是 unraid 由于一次只操作一块磁盘，所以性能非常低下，不太行。&lt;/p&gt;&#xA;&lt;p&gt;然后就是华为 RAID 2.0，这个我没钱，跳过。&lt;/p&gt;&#xA;&lt;p&gt;然后就是 Windows Server 存储空间了，经过实测，Windows Server 是可以达到类似 SHR 的效果，实现可用空间和性能兼备。&lt;/p&gt;&#xA;&lt;p&gt;下面，我将以 100G + 200G + 300G + 400G + 500G 的实验环境来展示 Windows Server Parity 校验的特性。请注意，Parity 的详细原理我没找到，以下皆是我根据 Parity 表现出来的特性假想的工作原理，可能与实际不符。&lt;/p&gt;&#xA;&lt;p&gt;如果在 GUI 上创建单盘冗余的虚拟磁盘，可用大小是可以正确预估的，大约为 1T&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/10/Windows%20%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E4%B8%8D%E7%AD%89%E5%AE%B9%E9%87%8F%E7%A3%81%E7%9B%98%20Parity%20%E9%80%BB%E8%BE%91%E6%8E%A2%E7%A9%B6/Untitled%202.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;但是实际创建时会报错&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/10/Windows%20%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E4%B8%8D%E7%AD%89%E5%AE%B9%E9%87%8F%E7%A3%81%E7%9B%98%20Parity%20%E9%80%BB%E8%BE%91%E6%8E%A2%E7%A9%B6/Untitled%203.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;问题就出现在红框处，因为 GUI 创建时 &lt;strong&gt;NumberOfColumns&lt;/strong&gt; 默认是等于硬盘数量，当前场景下的话就是 5。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;NumberOfColumns 代表操作阵列时的硬盘数量，5 代表着操作这块阵列时，始终要操作五个硬盘。&lt;/strong&gt; 可以按照下图所示模拟同时写入5块磁盘，当写入 100G 后，可以同时写入的硬盘就只剩4块了，不符合 NumberOfColumns 数量，剩下的空间都被废弃了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/10/Windows%20%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E4%B8%8D%E7%AD%89%E5%AE%B9%E9%87%8F%E7%A3%81%E7%9B%98%20Parity%20%E9%80%BB%E8%BE%91%E6%8E%A2%E7%A9%B6/Untitled%204.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;对于可以操作的这5个100G，可以得出如果 NumberOfColumns 为 5，再去掉一盘冗余，可用空间只有 400G。可以通过命令行创建时指定 &lt;code&gt;-NumberOfColumes 5&lt;/code&gt; 测试，发现确实是。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/10/Windows%20%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E4%B8%8D%E7%AD%89%E5%AE%B9%E9%87%8F%E7%A3%81%E7%9B%98%20Parity%20%E9%80%BB%E8%BE%91%E6%8E%A2%E7%A9%B6/Untitled%205.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;为了加强对于 NumberOfColumns 的理解，我们来看下如果是 4 应该怎么计算可用空间。首先 NumberOfColumns 为 4 意味着操作阵列时始终要调动起4块硬盘。这里模拟多次写入4盘，每次每盘写入100G的场景&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/10/Windows%20%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E4%B8%8D%E7%AD%89%E5%AE%B9%E9%87%8F%E7%A3%81%E7%9B%98%20Parity%20%E9%80%BB%E8%BE%91%E6%8E%A2%E7%A9%B6/Untitled%206.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;写入了三次，去掉冗余空间，一共大约是 3×(400-100)=900G&lt;/p&gt;&#xA;&lt;p&gt;如果 NumberOfColumns 为 3，同样模拟类似操作，可以操作 5 次，一共大约是 5×(300-100)=1000G&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/10/Windows%20%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E4%B8%8D%E7%AD%89%E5%AE%B9%E9%87%8F%E7%A3%81%E7%9B%98%20Parity%20%E9%80%BB%E8%BE%91%E6%8E%A2%E7%A9%B6/Untitled%207.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;此时对于这种磁盘阵列，单盘冗余利用率最高&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/10/Windows%20%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E4%B8%8D%E7%AD%89%E5%AE%B9%E9%87%8F%E7%A3%81%E7%9B%98%20Parity%20%E9%80%BB%E8%BE%91%E6%8E%A2%E7%A9%B6/Untitled%208.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;那么，是不是 NumberOfColumns 为 3 对于任何情况下都可以取到最大可用容量呢？不一定的。这其实是一个简单的线性规划问题，我们可以直接借助 ChatGPT 帮我们将上面的操作抽象为 Python 代码，假设我们有 1+2+3+4+5+6 6块磁盘，NumberOfColumns 为 4，代码如下&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 初始值&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;numbers&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;c&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;d&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;e&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;f&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;6&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 函数执行一次减法操作&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;subtract_one&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;numbers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# 找出可以减1的四个最大数&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;sorted_numbers&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;sorted&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;numbers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;items&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;lambda&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;reverse&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sorted_numbers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;range&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;# 如果最大的四个数中有0，则不能执行减法操作&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;sorted_numbers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;][&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;False&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;numbers&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;# 减1操作&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;numbers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sorted_numbers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;][&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;numbers&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 执行减法操作直到不能再执行为止&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;count&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;while&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;can_subtract&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;numbers&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;subtract_one&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;numbers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;not&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;can_subtract&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;break&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;count&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;count&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;执行这段代码，输出结果如下&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;f&amp;#39;&lt;/span&gt;, 6&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;e&amp;#39;&lt;/span&gt;, 5&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;d&amp;#39;&lt;/span&gt;, 4&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;c&amp;#39;&lt;/span&gt;, 3&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;, 2&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;f&amp;#39;&lt;/span&gt;, 5&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;e&amp;#39;&lt;/span&gt;, 4&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;d&amp;#39;&lt;/span&gt;, 3&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;, 2&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;c&amp;#39;&lt;/span&gt;, 2&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;f&amp;#39;&lt;/span&gt;, 4&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;e&amp;#39;&lt;/span&gt;, 3&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;c&amp;#39;&lt;/span&gt;, 2&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;d&amp;#39;&lt;/span&gt;, 2&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;f&amp;#39;&lt;/span&gt;, 3&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;e&amp;#39;&lt;/span&gt;, 2&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;c&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;d&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;f&amp;#39;&lt;/span&gt;, 2&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;c&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;d&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;e&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;, 0&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;, 0&lt;span class=&#34;o&#34;&gt;)]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;f&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;, 0&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;, 0&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;c&amp;#39;&lt;/span&gt;, 0&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;d&amp;#39;&lt;/span&gt;, 0&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;e&amp;#39;&lt;/span&gt;, 0&lt;span class=&#34;o&#34;&gt;)]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;5&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;也就是说我们可以获得 5×(400-100)=1500GB 可用空间。然而，当把 &lt;code&gt;range(4)&lt;/code&gt; 改成 &lt;code&gt;range(3)&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;结果为&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;f&amp;#39;&lt;/span&gt;, 6&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;e&amp;#39;&lt;/span&gt;, 5&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;d&amp;#39;&lt;/span&gt;, 4&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;c&amp;#39;&lt;/span&gt;, 3&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;, 2&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;f&amp;#39;&lt;/span&gt;, 5&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;e&amp;#39;&lt;/span&gt;, 4&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;c&amp;#39;&lt;/span&gt;, 3&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;d&amp;#39;&lt;/span&gt;, 3&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;, 2&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;f&amp;#39;&lt;/span&gt;, 4&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;d&amp;#39;&lt;/span&gt;, 3&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;e&amp;#39;&lt;/span&gt;, 3&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;, 2&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;c&amp;#39;&lt;/span&gt;, 2&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;f&amp;#39;&lt;/span&gt;, 3&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;, 2&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;c&amp;#39;&lt;/span&gt;, 2&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;d&amp;#39;&lt;/span&gt;, 2&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;e&amp;#39;&lt;/span&gt;, 2&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;d&amp;#39;&lt;/span&gt;, 2&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;e&amp;#39;&lt;/span&gt;, 2&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;f&amp;#39;&lt;/span&gt;, 2&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;c&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;c&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;d&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;e&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;f&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;d&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;e&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;f&amp;#39;&lt;/span&gt;, 1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;, 0&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;, 0&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;c&amp;#39;&lt;/span&gt;, 0&lt;span class=&#34;o&#34;&gt;)]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;, 0&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;, 0&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;c&amp;#39;&lt;/span&gt;, 0&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;d&amp;#39;&lt;/span&gt;, 0&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;e&amp;#39;&lt;/span&gt;, 0&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;f&amp;#39;&lt;/span&gt;, 0&lt;span class=&#34;o&#34;&gt;)]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;7&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;可用空间仅有 7×(300-100)=1400GB 可用空间，实际也确实如此&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/10/Windows%20%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E4%B8%8D%E7%AD%89%E5%AE%B9%E9%87%8F%E7%A3%81%E7%9B%98%20Parity%20%E9%80%BB%E8%BE%91%E6%8E%A2%E7%A9%B6/Untitled%209.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;这是因为 NumberOfColums 越小，每次用于冗余的百分比就越大，所以需要根据磁盘实际情况选择合适的 NumberOfColums 才能最大化可用空间。&lt;/p&gt;&#xA;&lt;p&gt;改写上面代码后，可以找到适合当前情况的最佳 NumberOfColumes。修改 numbers 字段为实际硬盘信息即可&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;33&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;34&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;subtract_one&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;numbers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;columns&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# 找出可以减1的最大数&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;sorted_numbers&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;sorted&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;numbers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;items&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;lambda&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;reverse&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;range&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;columns&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;# 如果最大的数中有0，则不能执行减法操作&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;sorted_numbers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;][&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;False&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;numbers&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;# 减1操作&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;numbers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sorted_numbers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;][&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;numbers&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 初始值&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;numbers&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;b&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;c&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;d&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;e&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;f&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;6&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 可变的columns范围为3到numbers的数量-1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;max_space&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;best_columns&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;columns&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;range&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;len&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;numbers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;temp_numbers&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;numbers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;copy&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# 复制原始数据以便重用&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;count&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;while&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;can_subtract&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;temp_numbers&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;subtract_one&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;temp_numbers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;columns&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;not&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;can_subtract&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;break&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;count&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# 计算当前columns下的space&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;space&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;count&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;columns&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;space&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;max_space&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;max_space&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;space&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;best_columns&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;columns&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;best_columns&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;max_space&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@brave4_heart?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Jigar Panchal&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/photos/a-black-background-with-red-and-blue-lines-D_ivYIn4jWw?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>龙芯 3A6000 手搓 NAS 记录与平台体验</title>
            <link>https://blog.mitsea.com/0772500cd11f4f35b78b108337f7d176/</link>
            <pubDate>Sun, 05 Nov 2023 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/0772500cd11f4f35b78b108337f7d176/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2023/10/%E9%BE%99%E8%8A%AF%203A6000%20%E6%89%8B%E6%90%93%20NAS%20%E8%AE%B0%E5%BD%95%E4%B8%8E%E5%B9%B3%E5%8F%B0%E4%BD%93%E9%AA%8C/eberhard-grossgasteiger-W7l2qAUKWcs-unsplash.avif&#34; alt=&#34;Featured image of post 龙芯 3A6000 手搓 NAS 记录与平台体验&#34; /&gt;&lt;p&gt;最近到收了个龙芯 3A6000 的平台，简单测了下，首先由于是自主架构，所以 Windows 肯定是不行。然后内置 GPU 只能亮机，试了 Arch、UOS、AOSC 在安装或者启动时都不同程度遇到显示问题，桌面基本上是不可用。不过考虑到 loongarch64 Linux 内核已经并入主线，所以硬件支持和基本 Linux 软件还是没问题，拿来做 NAS 似乎还不错。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/10/%E9%BE%99%E8%8A%AF%203A6000%20%E6%89%8B%E6%90%93%20NAS%20%E8%AE%B0%E5%BD%95%E4%B8%8E%E5%B9%B3%E5%8F%B0%E4%BD%93%E9%AA%8C/IMG_4370.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;由于我已经有一个群晖 DS1621+，所以这台机器的定位就是取代我当前使用 unraid 作为 HyperBackup 备份 NAS 的角色。梳理了一下他主要承担如下几个作用：smb 共享、rsync 服务端做备份、qBittorrent pt下载和保种。&lt;/p&gt;&#xA;&lt;p&gt;普通 Linux 做简单 NAS 很简单，按照 ChatGPT 的指导操作就行，我主要记录下龙芯平台目前遇到的坑。介绍前先放 NAS 场景的部分测试。&lt;/p&gt;&#xA;&lt;h2 id=&#34;简单测试&#34;&gt;简单测试&#xA;&lt;/h2&gt;&lt;h3 id=&#34;下述软件包运行情况&#34;&gt;下述软件包运行情况&#xA;&lt;/h3&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/10/%E9%BE%99%E8%8A%AF%203A6000%20%E6%89%8B%E6%90%93%20NAS%20%E8%AE%B0%E5%BD%95%E4%B8%8E%E5%B9%B3%E5%8F%B0%E4%BD%93%E9%AA%8C/Untitled.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;qbittorrent-高强度下载测试&#34;&gt;qBittorrent 高强度下载测试&#xA;&lt;/h3&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/10/%E9%BE%99%E8%8A%AF%203A6000%20%E6%89%8B%E6%90%93%20NAS%20%E8%AE%B0%E5%BD%95%E4%B8%8E%E5%B9%B3%E5%8F%B0%E4%BD%93%E9%AA%8C/Untitled%201.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;下载速度 259MB/s 连接用户 575 完全不卡，性能完全够用。这个速度我在 AMD V1500B 上用 Docker 跑 WebUI 就完全打不开了。&lt;/p&gt;&#xA;&lt;h3 id=&#34;网络性能测试&#34;&gt;网络性能测试&#xA;&lt;/h3&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/10/%E9%BE%99%E8%8A%AF%203A6000%20%E6%89%8B%E6%90%93%20NAS%20%E8%AE%B0%E5%BD%95%E4%B8%8E%E5%B9%B3%E5%8F%B0%E4%BD%93%E9%AA%8C/Untitled%202.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;1500 MTU 单线程跑满 10Gbps&lt;/p&gt;&#xA;&lt;h2 id=&#34;选择发行版&#34;&gt;选择发行版&#xA;&lt;/h2&gt;&lt;p&gt;龙芯的发行版分为新世界和旧世界，旧世界我直接排除了，选择 Linux 6.x 内核的新世界发行版。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://areweloongyet.com/docs/old-and-new-worlds/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;旧世界与新世界 | 咱龙了吗？&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;新世界我看了下主要有几个发行版：Arch Linux、Debian、AOSC，其他我也试了几个，我主要说一下这三点的体验。我最终选的是 pve。&lt;/p&gt;&#xA;&lt;h3 id=&#34;arch-linux&#34;&gt;Arch Linux&#xA;&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://mirrors.wsyu.edu.cn/loongarch/archlinux/iso/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;下载地址&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;pros&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;软件包似乎是最全的 Linux 发行版，常用工具都是开箱即用&lt;/p&gt;&#xA;&lt;p&gt;维护比较勤快，有专人负责，有论坛社区&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;cons&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;万兆网卡 lspci 能识别到但是 ip link 里看不到，直接就用不了。这个问题先发了论坛&lt;a class=&#34;link&#34; href=&#34;https://bbs.loongarch.org/d/313-intel-x710&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;帖子&lt;/a&gt;等修&lt;/p&gt;&#xA;&lt;p&gt;如果用 GUI 的话，正如开头所说的，内置核显不好使，建议加一块（推荐为）北极星架构的 AMD 显卡&lt;/p&gt;&#xA;&lt;h3 id=&#34;debian&#34;&gt;Debian&#xA;&lt;/h3&gt;&lt;p&gt;Debian 据说官方已经支持 loongarch64，但我官网没找到 ISO 包，所以我是直接下的 pve，四舍五入也是 Debian。&lt;a class=&#34;link&#34; href=&#34;https://mirrors.apqa.cn/proxmox/isos/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;下载地址&lt;/a&gt; &lt;a class=&#34;link&#34; href=&#34;https://foxi.buduanwang.vip/virtualization/pve/2924.html/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;发布地址&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;pros&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;软件包也很全，常用工具我看也都有&lt;/p&gt;&#xA;&lt;p&gt;虚拟机用起来没什么问题，要折腾的话可以考虑先装这个，然后把其他发行版都体验一圈&lt;/p&gt;&#xA;&lt;p&gt;PCIe 硬件使用都正常&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;cons&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;zfs 不能用&lt;/p&gt;&#xA;&lt;p&gt;ISO 安装包的 EFI 引导文件似乎命名不规范，导致 3A6000 没法直接从安装盘启动，需要在 BIOS 手动创建启动项或者在 UEFI Shell 里手动执行 efi 文件启动&lt;/p&gt;&#xA;&lt;h3 id=&#34;aosc&#34;&gt;AOSC&#xA;&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://aosc.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;发行地址&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;pros&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;社区活跃，开发者积极&lt;/p&gt;&#xA;&lt;p&gt;PCIe 硬件用起来也都正常&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;cons&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;官方软件源里的软件包太少，而且有的依赖包版本有点老，导致即便从别的发行版里偷二进制文件来用都不一定好使&lt;/p&gt;&#xA;&lt;p&gt;如果用 GUI 的话也是跟 Arch 一样，否则开机显示桌面直接黑屏&lt;/p&gt;&#xA;&lt;h2 id=&#34;scrutiny-监控硬盘-smart&#34;&gt;scrutiny 监控硬盘 SMART&#xA;&lt;/h2&gt;&lt;p&gt;因为我已经安装过 Web 端，所以我只需要在这台机器上定时跑 collector 即可。&lt;/p&gt;&#xA;&lt;p&gt;安装 &lt;code&gt;golang-go&lt;/code&gt; 和 &lt;code&gt;make&lt;/code&gt; 后，从 &lt;a class=&#34;link&#34; href=&#34;https://github.com/AnalogJ/scrutiny/releases&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;GitHub 仓库&lt;/a&gt;下载源码直接 &lt;code&gt;make binary-collector&lt;/code&gt; 就可以把二进制文件 &lt;code&gt;scrutiny-collector-metrics&lt;/code&gt; 编译出来，之后编辑计划任务定时跑就行。&lt;/p&gt;&#xA;&lt;p&gt;在 &lt;a class=&#34;link&#34; href=&#34;https://disks.mitsea.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://disks.mitsea.com&lt;/a&gt; 可以看到我的所有硬盘&lt;/p&gt;&#xA;&lt;h2 id=&#34;mdadm-创建阵列并挂载&#34;&gt;mdadm 创建阵列并挂载&#xA;&lt;/h2&gt;&lt;p&gt;由于我有7个相同容量的 HDD，所以我可以直接用 mdadm 创建一个 raid5 阵列。mdadm 软件包里有，直接 apt install 即可。下面简单介绍下步骤，所有分区操作不详细说明，直接用 cfdisk 很简单。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;清理硬盘，删除硬盘上所有分区，然后每个磁盘创建一个普通 ext4 分区&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;使用 mdadm 创建 raid5 阵列，命令 be like&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo mdadm --create --verbose /dev/md0 --level&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;5&lt;/span&gt; --raid-devices&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;3&lt;/span&gt; /dev/sda1 /dev/sdb1 /dev/sdc1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;等待阵列创建完毕，一定要等待创建完再进行下面的步骤，不然会卡 I/O。可以通过下面的命令查看进度&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat /proc/mdstat&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo mdadm --detail /dev/md0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;格式化&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo mkfs.ext4 /dev/md0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;挂载&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo mkdir /mnt/raid5&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo mount /dev/md0 /mnt/raid5&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;配置-samba&#34;&gt;配置 Samba&#xA;&lt;/h2&gt;&lt;p&gt;samba 也是可以直接安装，软件包里有&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;备份原始配置文件：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;编辑 Samba 的配置文件来添加分享：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo nano /etc/samba/smb.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;在文件的底部添加：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[NAS]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;path = /mnt/raid5&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;writeable = yes&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;browseable = yes&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;create mask = 0777&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;directory mask = 0777&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;public = no&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;创建 samba 用户，如果是 root 就使用 &lt;code&gt;adduser your_username&lt;/code&gt; 创建一个新用户后再执行&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo smbpasswd -a your_username&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;如果用户的用户组权限不够的话，可以改一下文件夹权限&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo chown your_username:your_username /path/to/your/directory&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo chmod &lt;span class=&#34;m&#34;&gt;0700&lt;/span&gt; /path/to/your/directory&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;重启 Samba 服务：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo service smbd restart&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;配置-rsync-服务端&#34;&gt;配置 Rsync 服务端&#xA;&lt;/h2&gt;&lt;p&gt;rsync 软件包里也有，直接安装就行&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;使用 &lt;code&gt;sudo nano /etc/rsyncd.conf&lt;/code&gt; 修改配置文件，内容 be like&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;uid&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;有权限的用户的&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;uid&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;gid&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;有权限的用户的&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;gid&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;use&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;chroot&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;yes&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;max&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;connections&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;strict&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;modes&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;yes&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;log&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;file&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;var&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rsync&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;log&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;timeout&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;300&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;HyperBackup&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;path&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mnt&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;raid5&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;HyperBackup&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;comment&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Backup&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;folder&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;read&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;only&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;no&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;list&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;yes&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;auth&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;users&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;flintylemming&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;secrets&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;file&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;etc&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rsyncd&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;secrets&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;hosts&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;allow&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;YOUR_ALLOWED_IP_RANGE_OR_ADDRESS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;使用 &lt;code&gt;sudo nano /etc/rsyncd.secrets&lt;/code&gt; 创建密码文件，内容 be like&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;flintylemming:xxxx&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;启动 rsync&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo rsync --daemon&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;安装-qbittorrent&#34;&gt;安装 qBittorrent&#xA;&lt;/h2&gt;&lt;p&gt;软件包里也有，直接安装就行。不要 GUI 的话，就安装 qbittorrent-nox&lt;/p&gt;&#xA;&lt;p&gt;这个没什么好配置的，直接启动后在 WebUI 里配置就行。新建一个 screen 或者创建一个 systemctl 服务直接运行 qbittorrent-nox 即可。建议运行前先执行 &lt;code&gt;export LANG=zh_CN.UTF-8&lt;/code&gt; 把当前会话的 shell 语言改成中文，不然下载含有汉字的文件夹资源，汉字都会变成.。&lt;/p&gt;&#xA;&lt;h2 id=&#34;简评&#34;&gt;简评&#xA;&lt;/h2&gt;&lt;p&gt;从之前听闻 LoongArch 合并入 Linux 5.19 主线后，到我实际上手 3A6000 以一个垃圾佬的角度测试设备的情况来说，我认为说龙芯平台对于主流硬件支持已经比较好了，驱动基本不缺。而且性能也有主流水平。&lt;/p&gt;&#xA;&lt;p&gt;软件方面 gcc、go、python 等主流语言框架也都支持，维护比较好的发行版软件源对于常用软件也基本做到了开箱即用，少数不能用的自己编译一下也不太麻烦。&lt;/p&gt;&#xA;&lt;p&gt;还没有体验过 CPU 规模比较大的龙芯产品，但我觉得只要把软件包这块积极维护好还是未来可期的。&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@eberhardgross?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;eberhard 🖐 grossgasteiger&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/photos/W7l2qAUKWcs?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>利用群晖自带反代为网络服务配置 https (DSM 7.x)</title>
            <link>https://blog.mitsea.com/3a0b40567ffe42e999eade2fdaf775b0/</link>
            <pubDate>Thu, 17 Aug 2023 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/3a0b40567ffe42e999eade2fdaf775b0/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E5%88%A9%E7%94%A8%E7%BE%A4%E6%99%96%E8%87%AA%E5%B8%A6%E5%8F%8D%E4%BB%A3%E4%B8%BA%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AE%20https%20%28DSM%207.x%29/john-zhou-FrzN1-ENO3Q-unsplash.avif&#34; alt=&#34;Featured image of post 利用群晖自带反代为网络服务配置 https (DSM 7.x)&#34; /&gt;&lt;p&gt;群晖无论是商店的套件还是 Docker 都可以自行安装很多网络服务，对于安装的服务应该如何配置 https 呢？在常规 Linux 系统上，一般通过 Nginx、Apache 解决，但群晖内置了基于 Nginx 的图形化反代工具，一切都变得非常简单。&lt;/p&gt;&#xA;&lt;p&gt;该场景主要是用的 Nginx 的 proxy_pass 功能，它可以让我们通过一个端口、不同的域名就可以访问到本机的多个 Web 服务。效果如下图。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E5%88%A9%E7%94%A8%E7%BE%A4%E6%99%96%E8%87%AA%E5%B8%A6%E5%8F%8D%E4%BB%A3%E4%B8%BA%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AE%20https%20%28DSM%207.x%29/Untitled.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;本篇文章就以 qBittorrent 的 WebUI 为例，介绍如何添加 https&lt;/p&gt;&#xA;&lt;h1 id=&#34;前期准备&#34;&gt;前期准备&#xA;&lt;/h1&gt;&lt;h2 id=&#34;域名&#34;&gt;域名&#xA;&lt;/h2&gt;&lt;p&gt;要确保你有一个域名访问服务，并绑定了你公网 IP，如果公网IP是变化的，请使用 DDNS。&lt;/p&gt;&#xA;&lt;h2 id=&#34;证书&#34;&gt;证书&#xA;&lt;/h2&gt;&lt;p&gt;你要申请一个与访问域名相匹配的证书，并已经配置好在 控制面板 - 安全性 - 证书 下。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E5%88%A9%E7%94%A8%E7%BE%A4%E6%99%96%E8%87%AA%E5%B8%A6%E5%8F%8D%E4%BB%A3%E4%B8%BA%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AE%20https%20%28DSM%207.x%29/Untitled%201.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;端口&#34;&gt;端口&#xA;&lt;/h2&gt;&lt;p&gt;你还要明确你还想不想通过原来的端口访问服务，如果想，那就要改变原来服务的内网端口。因为来源主机地址的端口不能跟本地端口相同。如果是 Docker 还好办，把映射出来的本地端口改了就行。但如果是套件，控制面板 - 登陆门户 里又没有端口设置，就只能更换访问端口了。&lt;/p&gt;&#xA;&lt;h1 id=&#34;配置过程&#34;&gt;配置过程&#xA;&lt;/h1&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;确认网络服务的本地端口，正如之前提到的，后面是不会通过这个端口访问的。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E5%88%A9%E7%94%A8%E7%BE%A4%E6%99%96%E8%87%AA%E5%B8%A6%E5%8F%8D%E4%BB%A3%E4%B8%BA%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AE%20https%20%28DSM%207.x%29/Untitled%202.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;打开 控制面板 - 登陆门户 - 高级 - 反向代理服务器，点 新增&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E5%88%A9%E7%94%A8%E7%BE%A4%E6%99%96%E8%87%AA%E5%B8%A6%E5%8F%8D%E4%BB%A3%E4%B8%BA%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AE%20https%20%28DSM%207.x%29/Untitled%203.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;这里有一些内容需要填写，一项一项来&lt;/p&gt;&#xA;&lt;p&gt;描述 - 随便填一个名字&lt;/p&gt;&#xA;&lt;p&gt;来源协议 - HTTPS&lt;/p&gt;&#xA;&lt;p&gt;来源主机名 - 看你自己想设置的域名，只要保证你有对应域名的 ssl 证书就行&lt;/p&gt;&#xA;&lt;p&gt;来源端口 - 这就是你想访问的那个端口，设置为你自己需要的&lt;/p&gt;&#xA;&lt;p&gt;上面这两个设置完后，你在公网访问的地址就是 https://&amp;lt;来源主机名&amp;gt;:&amp;lt;来源端口&amp;gt;&lt;/p&gt;&#xA;&lt;p&gt;启动 HSTS - 简单来说就是强制 https 访问，可以开&lt;/p&gt;&#xA;&lt;p&gt;启用访问控制 - 可以先不开，有需求自己研究下&lt;/p&gt;&#xA;&lt;p&gt;目的地协议 - HTTP&lt;/p&gt;&#xA;&lt;p&gt;目的地主机名 - localhost 或者 NAS 本机 IP，如果需要反代其他机器的服务，就填对应机器的 IP&lt;/p&gt;&#xA;&lt;p&gt;目的地端口 - 服务的本地端口，qbittorrent 我这里设置的 Web UI IP 是 8844，这里就填 8844&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E5%88%A9%E7%94%A8%E7%BE%A4%E6%99%96%E8%87%AA%E5%B8%A6%E5%8F%8D%E4%BB%A3%E4%B8%BA%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AE%20https%20%28DSM%207.x%29/Untitled%204.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;路由器 NAT 设置一下，看你来源端口设置的什么，以上面为例。那就设置这台机器 IP 的 4433 对公网 4433&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;打开 控制面板 - 安全性 - 证书 - 设置，把刚才创建的这一项的证书，选择你前面导入的&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E5%88%A9%E7%94%A8%E7%BE%A4%E6%99%96%E8%87%AA%E5%B8%A6%E5%8F%8D%E4%BB%A3%E4%B8%BA%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AE%20https%20%28DSM%207.x%29/Untitled%205.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;使用 &lt;a class=&#34;link&#34; href=&#34;https://pt.xxx.com:4433&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://pt.xxx.com:4433&lt;/a&gt; 访问即可&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@johnnzhou?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;John Zhou&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/photos/the-night-sky-with-stars-moving-across-the-sky-FrzN1-ENO3Q?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>群晖 Docker 安装 qBittorrent (DSM 7.2)</title>
            <link>https://blog.mitsea.com/f34d4a3f981846469cac041c1df0881d/</link>
            <pubDate>Thu, 17 Aug 2023 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/f34d4a3f981846469cac041c1df0881d/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/philip-oroni-mb_VqCIOTiU-unsplash.avif&#34; alt=&#34;Featured image of post 群晖 Docker 安装 qBittorrent (DSM 7.2)&#34; /&gt;&lt;h2 id=&#34;准备工作&#34;&gt;准备工作&#xA;&lt;/h2&gt;&lt;h3 id=&#34;下载镜像&#34;&gt;下载镜像&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;打开 Container Manager，左边点开 注册表，搜索 qbittorrent。找到 linuxserver/qbittorrent 后，双击。标签保持 latest，点击 应用 开始下载镜像&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/Untitled.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;转到 映像，等待下载完毕&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/Untitled%201.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;创建文件夹&#34;&gt;创建文件夹&#xA;&lt;/h3&gt;&lt;p&gt;需要创建至少两个文件夹，一个文件夹用来保存 qbittorrent 运行时使用的配置文件，一个用来保存下载的内容&lt;/p&gt;&#xA;&lt;p&gt;我这边按照自己的习惯分别在两个不同的共享文件夹中创建了两个文件夹&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/Untitled%202.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/Untitled%203.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;查找当前用户的-uid-与管理员用户组的-gid&#34;&gt;查找当前用户的 uid 与管理员用户组的 gid&#xA;&lt;/h3&gt;&lt;p&gt;为了保证 qbittorrent 的容器对于我们创建的文件夹有正常的读写权限，避免需要对文件夹无脑 chmod 777，后面在启动容器时需要指定所使用的 uid (User ID) 和 gid (Group ID)。&lt;/p&gt;&#xA;&lt;p&gt;一般来说群晖第一个账号的 &lt;strong&gt;uid 为 1026&lt;/strong&gt;，管理员用户组的 &lt;strong&gt;gid 为 101&lt;/strong&gt;。你也可以按照下面的步骤检查：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在 控制面板 - 终端机和 SNMP - 终端机 中勾选 启动 SSH 功能，并修改端口为非 22 的其他端口，最后点击应用&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/Untitled%204.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;打开电脑上的 Terminal。Windows 10 可以右键开始菜单，然后点击 Windows PowerShell；Windows 11 可以右键开始菜单，然后点击 终端；macOS 可以打开 终端 App。&lt;/p&gt;&#xA;&lt;p&gt;输入下面的命令通过 SSH 连接到群晖&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh &amp;lt;你的用户名&amp;gt;@&amp;lt;你的群晖IP地址&amp;gt; -p &amp;lt;你设置的端口&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/Untitled%205.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;第一次链接会让你确认连接的设备，输入 yes。然后输入你的密码，输入时不会显示任何内容，输入完直接回车就行。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/Untitled%206.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;能看到 NAS 的账号名称和计算机名称后，说明就连到了 DSM 的 Shell 了&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;此时输入 &lt;code&gt;id&lt;/code&gt; 并回车，就可以看到当前用户的 uid （1026）和管理员组的 gid 了（101）&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/Untitled%207.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;启动容器&#34;&gt;启动容器&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;点击 映像 中刚下好的镜像，然后点击运行&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/Untitled%208.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;容器名称可以改一改，我自己的习惯是在前面加上这个容器的 Web UI 所用的端口。如果想要启动 DSM 时能够自动启动 qBittorrent，就勾上 启动自动重新启动。然后点击 下一步。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/Untitled%209.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;群晖的 Docker bridge 网络默认是没有 ipv6 的。修改起来也比较麻烦，需要改 Docker 的配置文件，要添加 &lt;code&gt;fixed-cidr-v6&lt;/code&gt; 参数以设置 ipv6 子网。由于本次教程选用的 qBittorrent 镜像本身可以通过修改环境变量以设置启动时使用的端口，所以可以直接使用 host 网络。&lt;/p&gt;&#xA;&lt;p&gt;选用 host 网络就不需要额外配置映射，这两条可以删除。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/Untitled%2010.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;设置映射刚才创建的两个文件夹。保存配置文件的文件夹映射容器的路径为 &lt;code&gt;/config/qBittorrent&lt;/code&gt; ；保存下载内容的文件夹映射容器的路径为 &lt;code&gt;/downloads&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/Untitled%2011.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;配置文件夹不建议按照官方说明直接映射 /config ，否则会出现套娃的现象。而若映射上一层的文件夹又并不够安全。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/Untitled%2012.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;环境 这里创建四个变量。PUID 和 PGID 分别输入刚才找到的 uid 和 gid；TZ 输入 &lt;code&gt;Asia/Shanghai&lt;/code&gt; ；WEBUI_PORT 输入你要设置的 Web UI 端口&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/Untitled%2013.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;网络 修改为 host，然后 下一步&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/Untitled%2014.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;确认下没什么问题就点 完成&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/Untitled%2015.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;qBittorrent 新版本默认密码不再是 adminadmin，而是默认生成的密码，所以需要打开日志找到密码。先点一下容器名字进入容器详情&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/CleanShot%202024-03-27%20at%2018.12.54%402x.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;然后找到这行日志，他会告诉你默认密码是多少，用这个密码登录&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/CleanShot%202024-03-27%20at%2018.10.40%402x.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;设置-qbittorrent&#34;&gt;设置 qBittorrent&#xA;&lt;/h2&gt;&lt;h3 id=&#34;语言和密码&#34;&gt;语言和密码&#xA;&lt;/h3&gt;&lt;p&gt;根据你自己设置的端口，打开 Web UI。默认账号密码分别为 admin 和 adminadmin。登录后打开设置，先把界面语言和密码改了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/Untitled%2017.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;下载与上传设置&#34;&gt;下载与上传设置&#xA;&lt;/h3&gt;&lt;p&gt;监听端口就是上传的端口，需要在路由器中配置端口映射。不建议使用 UPnP 映射，大部分路由器后台对于 UPnP 的映射管理都非常不好。&lt;/p&gt;&#xA;&lt;p&gt;连接限制我因为是 SSD 刷 pt，所以我全部都关了。如果使用 HDD，完全取消限制并不能使速度最大化，反而会增加随机读写的I/O队列，让上传和下载速度更慢，需要自己根据情况设置。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/Untitled%2018.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Torrent 排队 同理，需要根据自己的条件设置&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/Untitled%2019.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;此外，高级 选项卡中还有更多设置项，具体可以参考下别人的教程。&lt;/p&gt;&#xA;&lt;h3 id=&#34;https-设置&#34;&gt;HTTPS 设置&#xA;&lt;/h3&gt;&lt;p&gt;原则上不推荐直接将 Web UI 反代到公网，自用推荐使用 Tailscale 组网后，使用提供的 overlay IP 访问。下面介绍下如何配置 https 访问。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;关闭 启用 Host header 属性验证&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/08/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qBittorrent%20%28DSM%207.2%29/Untitled%2020.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;按照&lt;a class=&#34;link&#34; href=&#34;https://blog.mitsea.com/3a0b40567ffe42e999eade2fdaf775b0/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;这篇教程&lt;/a&gt;设置反代&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@philipsfuture?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Philip Oroni&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/photos/a-close-up-of-a-black-and-blue-background-mb_VqCIOTiU?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>群晖 DS1621&#43; 添加 E10M20-T1 的支持</title>
            <link>https://blog.mitsea.com/b3d944ff0c02498c9c341a620b323f1a/</link>
            <pubDate>Sun, 25 Jun 2023 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/b3d944ff0c02498c9c341a620b323f1a/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2023/06/%E7%BE%A4%E6%99%96%20DS1621%2B%20%E6%B7%BB%E5%8A%A0%20E10M20-T1%20%E7%9A%84%E6%94%AF%E6%8C%81/johannes-mandle-r_FNlKOxxos-unsplash.avif&#34; alt=&#34;Featured image of post 群晖 DS1621+ 添加 E10M20-T1 的支持&#34; /&gt;&lt;h2 id=&#34;起因&#34;&gt;起因&#xA;&lt;/h2&gt;&lt;p&gt;实际上群晖官方并没有让 DS1621+ 支持 E10M20-T1，我买他主要是有两个原因：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;根据 Reddit 上用户的&lt;a class=&#34;link&#34; href=&#34;https://www.reddit.com/r/synology/comments/ksaw7s/comment/gif30av/?utm_source=share&amp;amp;utm_medium=web2x&amp;amp;context=3&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;提醒&lt;/a&gt;，相同 CPU 和 PCIe x4 的 RS1221+ 是支持这款扩展卡的。所以硬件上应该是没有障碍的。实际上卡到手后也证明了这一点，这就是个使用 ASM PCIe 交换芯片的 plx 卡，插在 PCIe x4 的 Windows 电脑上所有功能都可以正常使用。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/007revad/Synology_HDD_db&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://github.com/007revad/Synology_HDD_db&lt;/a&gt;这个 GitHub 脚本 Readme 说该脚本可以 “Optionally enables M2D20, M2D18, M2D17 and E10M20-T1 on Synology NAS that don&amp;rsquo;t officially support them.”&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;折腾历程&#34;&gt;折腾历程&#xA;&lt;/h2&gt;&lt;h3 id=&#34;尝试脚本&#34;&gt;尝试脚本&#xA;&lt;/h3&gt;&lt;p&gt;既然硬件没限制，又有脚本号称可以支持，那我直接进行一个冲动消费，1575，卡就到手上了&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/06/%E7%BE%A4%E6%99%96%20DS1621%2B%20%E6%B7%BB%E5%8A%A0%20E10M20-T1%20%E7%9A%84%E6%94%AF%E6%8C%81/IMG_2186.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;结果是，脚本 log 认出了这张卡，也认到了卡上的 nvme SSD，但就是在 WebGUI 里看不到，无法管理，网卡也用不了。但我觉得硬件上肯定是没限制，只是这个卡没什么大冤种会买，用的人比较少罢了，所以作者的脚本没有适配全面。我就继续研究。&lt;/p&gt;&#xA;&lt;h3 id=&#34;启用网卡&#34;&gt;启用网卡&#xA;&lt;/h3&gt;&lt;p&gt;脚本解决不了问题第一时间是搜 issue，找到了这条讨论记录&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/007revad/Synology_HDD_db/issues/87#issuecomment-1595386455&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unrecognized firmware DS1823xs+? · Issue #87 · 007revad/Synology_HDD_db&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;根据描述 &lt;code&gt;/usr/syno/etc.defaults/adapter_cards.conf&lt;/code&gt; 文件似乎控制着扩展卡的功能，发现关于这个扩展卡的有三段：&lt;code&gt;[E10M20-T1_sup_nic]&lt;/code&gt;、&lt;code&gt;[E10M20-T1_sup_nvme]&lt;/code&gt;和&lt;code&gt;[E10M20-T1_sup_sata]&lt;/code&gt;。根据名称，应该就是限制这张卡的网卡、nvme SSD 支持和 ngff SSD 支持所适用的机型。&lt;/p&gt;&#xA;&lt;p&gt;我就把这三个项目里都加上了 &lt;code&gt;DS1621+=yes&lt;/code&gt; ，重启后 nvme SSD 还是识别不了，但是网卡识别了。至此，问题解决了一部分。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/06/%E7%BE%A4%E6%99%96%20DS1621%2B%20%E6%B7%BB%E5%8A%A0%20E10M20-T1%20%E7%9A%84%E6%94%AF%E6%8C%81/%25E6%2588%25AA%25E5%25B1%258F2023-06-25_15.38.58.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;手动创建存储池&#34;&gt;手动创建存储池？&#xA;&lt;/h3&gt;&lt;p&gt;虽然 WebGUI 里看不到硬盘，但是 /dev 下还是能看到的。考虑到之前 nvme 不能做存储池的时候，都是可以先格式化硬盘然后用 mdadm 命令手动创建一个存储池。具体创建方法一搜一大堆，我这边随便贴一个帖子，步骤其实都一样的&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.reddit.com/r/synology/comments/a7o44l/guide_use_nvme_ssd_as_storage_volume_instead_of/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;[Guide] Use NVME SSD as storage volume instead of cache in DS918&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;然而并不行，比如我创建了个 md9 出来，但是重启后这个 md9 就消失了，存储管理器里也看不到任何存储池。&lt;/p&gt;&#xA;&lt;h3 id=&#34;extensionports&#34;&gt;extensionPorts？&#xA;&lt;/h3&gt;&lt;p&gt;我记得之前看过关于黑群晖启用 nvme 存储池的帖子，里面是要修改一个叫 extensionPorts 的文件。内容类似于这篇帖子的回复&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://xpenology.com/forum/topic/13342-nvme-cache-support/page/9/#comment-308677&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;NVMe cache support&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;然而并没用，我系统里这个文件里已经有了&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/06/%E7%BE%A4%E6%99%96%20DS1621%2B%20%E6%B7%BB%E5%8A%A0%20E10M20-T1%20%E7%9A%84%E6%94%AF%E6%8C%81/%25E6%2588%25AA%25E5%25B1%258F2023-06-25_15.47.55.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;device-tree&#34;&gt;Device Tree&#xA;&lt;/h3&gt;&lt;p&gt;遇到难题后，我自己也提了个 issue&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/007revad/Synology_HDD_db/issues/97#issuecomment-1605868704&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Can not enable E10M20-T1 on DS1621+ · Issue #97 · 007revad/Synology_HDD_db&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;出乎意料的是，&lt;a class=&#34;link&#34; href=&#34;https://github.com/007revad&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;@007revad&lt;/a&gt; 大佬真的非常认真，他帮忙比对了 1621+ 和 1221+ 设备的相关文件。他认为应该是设备树文件导致的差异，不过他不确定群晖是否校验 Device Tree Blob 文件，似乎也没有条件尝试。但他帮我从 1221+ 的 pat 文件里提取了 dtb 文件供我参考，真的超级好。我对 Linux 和 DSM 也就是略懂，所以我又去请教了 &lt;a class=&#34;link&#34; href=&#34;https://github.com/jim3ma&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Jim&lt;/a&gt; 大佬，他说 DSM 的设备树文件是可以改的，不校验的。考虑到我的情况，他建议我直接看我机器的 dtb 文件。通过执行 &lt;code&gt;dtc -I dtb -O dts -o - /run/model.dtb&lt;/code&gt;，我对比了两个设备的 dtb 文件发现主要就是缺少一段&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-dts&#34; data-lang=&#34;dts&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;E10M20-T1&lt;/span&gt;&lt;span class=&#34;cm&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#x9;&#x9;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;compatible&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Synology&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#x9;&#x9;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;model&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;synology_e10m20-t1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#x9;&#x9;&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;m2_card&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cm&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#x9;&#x9;&#x9;&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;nvme&lt;/span&gt;&lt;span class=&#34;cm&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#x9;&#x9;&#x9;&#x9;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;pcie_postfix&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;00.0,08.0,00.0&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#x9;&#x9;&#x9;&#x9;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;port_type&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;ssdcache&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#x9;&#x9;&#x9;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#x9;&#x9;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#x9;&#x9;&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;m2_card&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;cm&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#x9;&#x9;&#x9;&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;nvme&lt;/span&gt;&lt;span class=&#34;cm&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#x9;&#x9;&#x9;&#x9;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;pcie_postfix&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;00.0,04.0,00.0&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#x9;&#x9;&#x9;&#x9;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;port_type&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;ssdcache&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#x9;&#x9;&#x9;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#x9;&#x9;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#x9;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;但是如果添加到 1621+ 里的话，&lt;code&gt;pcie_postfix&lt;/code&gt; 不知道写什么。这个是群晖自己创造的东西，不懂他的含义。不过考虑到现在扩展卡里的硬盘 PCIe 信息正好符合这个后缀规律，所以我觉得这里应该不用改，就应该是 &lt;code&gt;00.0,08.0,00.0&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/06/%E7%BE%A4%E6%99%96%20DS1621%2B%20%E6%B7%BB%E5%8A%A0%20E10M20-T1%20%E7%9A%84%E6%94%AF%E6%8C%81/%25E6%2588%25AA%25E5%25B1%258F2023-06-25_16.04.28.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;下面开始修改。把 model.dtb 文件搞出来后，使用下面的命令反编译 dtb 文件为可编辑的 dts 文件&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;dtc -I dtb -O dts -o model.dts model.dtb&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;添加缺失的 E10M20-T1 支持&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/06/%E7%BE%A4%E6%99%96%20DS1621%2B%20%E6%B7%BB%E5%8A%A0%20E10M20-T1%20%E7%9A%84%E6%94%AF%E6%8C%81/%25E6%2588%25AA%25E5%25B1%258F2023-06-25_17.04.23.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;将修改好的 dts 文件重新编译为 dtb 文件&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;dtc -I dts -O dtb -o model.dtb model.dts&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;保存好源文件，替换掉 &lt;code&gt;/etc.defaults/model.dtb&lt;/code&gt; 文件即可，&lt;code&gt;/run&lt;/code&gt; 下面的同名文件不用管，&lt;code&gt;/run&lt;/code&gt; 是个临时目录&lt;/p&gt;&#xA;&lt;h2 id=&#34;修改效果&#34;&gt;修改效果&#xA;&lt;/h2&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/06/%E7%BE%A4%E6%99%96%20DS1621%2B%20%E6%B7%BB%E5%8A%A0%20E10M20-T1%20%E7%9A%84%E6%94%AF%E6%8C%81/%25E6%2588%25AA%25E5%25B1%258F2023-06-25_17.28.26.avif&#34;&gt;&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@leonardo_64?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Johannes Mändle&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>集中监测多台设备的硬盘 SMART 信息</title>
            <link>https://blog.mitsea.com/4b50404f8a384310a45490ae6568f257/</link>
            <pubDate>Thu, 01 Jun 2023 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/4b50404f8a384310a45490ae6568f257/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2023/06/%E9%9B%86%E4%B8%AD%E7%9B%91%E6%B5%8B%E5%A4%9A%E5%8F%B0%E8%AE%BE%E5%A4%87%E7%9A%84%E7%A1%AC%E7%9B%98%20SMART%20%E4%BF%A1%E6%81%AF/jaredd-craig-9kTHBEaFmhU-unsplash.avif&#34; alt=&#34;Featured image of post 集中监测多台设备的硬盘 SMART 信息&#34; /&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://disks.mitsea.com/web/dashboard&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Demo Site&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;只说思路，具体操作可以自行 GPT&lt;/p&gt;&#xA;&lt;h2 id=&#34;概要&#34;&gt;概要&#xA;&lt;/h2&gt;&lt;p&gt;用的工具是下面这个&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/AnalogJ/scrutiny&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://github.com/AnalogJ/scrutiny&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;根据&lt;a class=&#34;link&#34; href=&#34;https://github.com/AnalogJ/scrutiny/blob/master/docker/example.hubspoke.docker-compose.yml&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;这个容器编排文档&lt;/a&gt;可以看到它分为 web、数据库、collector。原理就是把 web+数据库 部署在一台服务器上以供访问，collector 分别部署到每个机器上，然后通过 web 的 API 传回硬盘信息。&lt;/p&gt;&#xA;&lt;h2 id=&#34;注意点&#34;&gt;注意点&#xA;&lt;/h2&gt;&lt;h3 id=&#34;执行-collector&#34;&gt;执行 collector&#xA;&lt;/h3&gt;&lt;p&gt;collector 容器部署完后创建了一个计划任务，但不会立即执行一次，需要手动执行容器里面的一个二进制程序&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker &lt;span class=&#34;nb&#34;&gt;exec&lt;/span&gt; scrutiny-collector /opt/scrutiny/bin/scrutiny-collector-metrics run&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;群晖的-dev&#34;&gt;群晖的 /dev&#xA;&lt;/h3&gt;&lt;p&gt;使用设备树的群晖机型，SATA 硬盘在 /dev 下面叫 sata1、sata2… 不是 sda、sdb…，collector 是不会主动去扫描这些设备的，所以除了在创建容器时映射设备，还要写一个 collector 的 config 文件&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;version&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;devices&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;device&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;/dev/sata1&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;sat&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;device&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;/dev/sata2&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;sat&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;device&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;/dev/sata3&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;sat&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;device&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;/dev/sata4&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;sat&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;nvme 设备不用写，因为即便没有配置文件，collector 也会读 nvme 设备，然后你创建容器的时候映射一下文件。collector 在启动时会先读这个配置文件&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-v /xxx/collector.yaml:/opt/scrutiny/config/collector.yaml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;如果硬盘名字就叫 sda、sdb…就可以不用准备这个文件&lt;/p&gt;&#xA;&lt;h3 id=&#34;设备分组&#34;&gt;设备分组&#xA;&lt;/h3&gt;&lt;p&gt;我的页面里你可以看到每个机器都是有名字分组的，这个在创建容器时设置一个环境变量即可&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;COLLECTOR_HOST_ID&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;HKT Proxmox”&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;保护站点&#34;&gt;保护站点&#xA;&lt;/h3&gt;&lt;p&gt;站点实际上也是个 API 后端，collector 都是通过 web 的 API 添加硬盘。网页上也是可以删除硬盘。为了阻止他人恶意往你的站点添加硬盘或者删除硬盘，可以在 nginx 配置中把这些都拒绝掉&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;location /api/devices/register &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    deny all&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$request_method&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; DELETE&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; 444&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;为了不影响自己使用，可以再创建个自用的 vhost，然后在 nginx 上加上访问密码，这样你 collector 容器里的环境变量可以设置为这样子的形式&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-e &lt;span class=&#34;nv&#34;&gt;COLLECTOR_API_ENDPOINT&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;https://xxx:xxx@xxx.xxx.xxx&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@jareddc?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Jaredd Craig&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>群晖外接 u.2 nvme 可行性验证</title>
            <link>https://blog.mitsea.com/9e866c458c9b48819386331eb7a68c57/</link>
            <pubDate>Tue, 25 Apr 2023 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/9e866c458c9b48819386331eb7a68c57/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2023/04/%E7%BE%A4%E6%99%96%E5%A4%96%E6%8E%A5%20u.2%20nvme%20%E5%8F%AF%E8%A1%8C%E6%80%A7%E9%AA%8C%E8%AF%81/jorgen-haland-fu0z-_iPa4M-unsplash.avif&#34; alt=&#34;Featured image of post 群晖外接 u.2 nvme 可行性验证&#34; /&gt;&lt;p&gt;最近 SSD 很便宜，但是普通消费级一般是 2T 居多，想看便宜大盘只能买 u.2 nvme 盘。最近全新铠侠 CD6 7.68T 只要 2000 左右，加上手里有一块去年买的 3.84T 的小海豚 PB5，打算把这俩盘直接装到群晖里做存储池。解决思路其实很简单，第一是要把群晖内部 m.2 引出来并转接成 u.2 接口；第二是要外接 u.2 的 12V 供电。我就把配件买一买，试试看能不能用。&lt;/p&gt;&#xA;&lt;p&gt;我的机器是 DS1621+，m.2 在机器内部，反而没有四盘位的 DS420+ 这种方便。&lt;/p&gt;&#xA;&lt;h2 id=&#34;m2-延长线&#34;&gt;m.2 延长线&#xA;&lt;/h2&gt;&lt;p&gt;延长线我买的 ADTLink 的延长线，买了两种材质，都可以用&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/%E7%BE%A4%E6%99%96%E5%A4%96%E6%8E%A5%20u.2%20nvme%20%E5%8F%AF%E8%A1%8C%E6%80%A7%E9%AA%8C%E8%AF%81/IMG_1097.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;到手后按照下图插上后延长到机身外&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/%E7%BE%A4%E6%99%96%E5%A4%96%E6%8E%A5%20u.2%20nvme%20%E5%8F%AF%E8%A1%8C%E6%80%A7%E9%AA%8C%E8%AF%81/IMG_1047.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/%E7%BE%A4%E6%99%96%E5%A4%96%E6%8E%A5%20u.2%20nvme%20%E5%8F%AF%E8%A1%8C%E6%80%A7%E9%AA%8C%E8%AF%81/IMG_1048.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/%E7%BE%A4%E6%99%96%E5%A4%96%E6%8E%A5%20u.2%20nvme%20%E5%8F%AF%E8%A1%8C%E6%80%A7%E9%AA%8C%E8%AF%81/IMG_1049.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;m2-转-u2-转接线&#34;&gt;m.2 转 u.2 转接线&#xA;&lt;/h2&gt;&lt;p&gt;注意如果是 CD6 这种盘，最好是买这种先转 8639 再转 u.2 的线。安费诺原厂的线似乎不支持 4.0，卖家说是无法使用，我也不确定是会降速还是不能用。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/%E7%BE%A4%E6%99%96%E5%A4%96%E6%8E%A5%20u.2%20nvme%20%E5%8F%AF%E8%A1%8C%E6%80%A7%E9%AA%8C%E8%AF%81/IMG_1098.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;12v-供电&#34;&gt;12V 供电&#xA;&lt;/h2&gt;&lt;p&gt;12V 供电可以买普通 12V 圆口电源提供&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/%E7%BE%A4%E6%99%96%E5%A4%96%E6%8E%A5%20u.2%20nvme%20%E5%8F%AF%E8%A1%8C%E6%80%A7%E9%AA%8C%E8%AF%81/IMG_1102.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;但是这样会非常扭曲，因为我没找到 DC 转 SATA 供电的，只找到 SATA 转 DC 供电的。所以如果这样的话就是 电源转大4pin转SATA供电，不过我试过，能用的，没问题。&lt;/p&gt;&#xA;&lt;p&gt;买 DC 转大 4pin 时注意它接的引脚，一定要接 12V 的。电源也要注意最大电流，CD6 最大电流是 2.6A，这导致 PASS 了很多直接提供大4pin供电的 DC 电源。&lt;/p&gt;&#xA;&lt;p&gt;我最后采用的是 ATX 电源供电方案，因为我正好闲置一个电源。&lt;/p&gt;&#xA;&lt;p&gt;配合开机线，最后就像这样子。（忽略左下的 eSATA 扩展柜）&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/%E7%BE%A4%E6%99%96%E5%A4%96%E6%8E%A5%20u.2%20nvme%20%E5%8F%AF%E8%A1%8C%E6%80%A7%E9%AA%8C%E8%AF%81/IMG_1004.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;成果&#34;&gt;成果&#xA;&lt;/h2&gt;&lt;p&gt;简单整理一下，再加一个风扇，最后效果就像这样。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/%E7%BE%A4%E6%99%96%E5%A4%96%E6%8E%A5%20u.2%20nvme%20%E5%8F%AF%E8%A1%8C%E6%80%A7%E9%AA%8C%E8%AF%81/IMG_1050.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/%E7%BE%A4%E6%99%96%E5%A4%96%E6%8E%A5%20u.2%20nvme%20%E5%8F%AF%E8%A1%8C%E6%80%A7%E9%AA%8C%E8%AF%81/Untitled.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;至于 nvme 做存储池，网上教程一大把，按照步骤创建存储池即可。&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@jhaland?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Jørgen Håland&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>TrueNAS Core 使用 Jail 安装 qBittorrent</title>
            <link>https://blog.mitsea.com/c238b4270ebf4e3eb668853182c2c173/</link>
            <pubDate>Tue, 04 Apr 2023 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/c238b4270ebf4e3eb668853182c2c173/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2023/04/TrueNAS%20Core%20%E4%BD%BF%E7%94%A8%20Jail%20%E5%AE%89%E8%A3%85%20qBittorrent/marek-piwnicki-i5AF9bW10p0-unsplash.avif&#34; alt=&#34;Featured image of post TrueNAS Core 使用 Jail 安装 qBittorrent&#34; /&gt;&lt;h2 id=&#34;开头&#34;&gt;开头&#xA;&lt;/h2&gt;&lt;p&gt;TrueNAS Core 由于使用 FreeBSD，zfs 的性能似乎比在 Linux 上好不少。不过也导致了没有 Docker 和 k3s 的问题，安装程序多有不便。&lt;/p&gt;&#xA;&lt;p&gt;虽然 Core 提供了一个商店，但是在安装时由于国内网络原因，我即便设置了系统的 http 代理安装也会失败。不过 FreeBSD 有个 Jail 的功能，倒是可以拿来安装 qBittorrent。Jail 我觉得倒不像 Docker，反倒像 lxc，下面的步骤中，需要先创建一个 Jail，然后像在空白系统里一样下载并启动 qBittorrent。&lt;/p&gt;&#xA;&lt;h2 id=&#34;步骤&#34;&gt;步骤&#xA;&lt;/h2&gt;&lt;h3 id=&#34;准备安装所需文件夹&#34;&gt;准备安装所需文件夹&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;创建一个存放 qBittorrent 配置文件的文件夹，和下载文件夹。比如我用 AppData 存放配置文件，Downloads 存放下载文件。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/TrueNAS%20Core%20%E4%BD%BF%E7%94%A8%20Jail%20%E5%AE%89%E8%A3%85%20qBittorrent/Untitled.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;记下两个文件夹的路径，TrueNAS Core 的路径是 /mnt/&amp;lt;Pool名&amp;gt;/&amp;lt;dataset名&amp;gt;/……。我的话，配置文件的路径是 /mnt/pool0/AppData/qbittorrent，下载路径是 /mnt/pool0/Downloads&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;配置 ACL，这里不需要给 Jail 额外配置什么权限，给你自己 smb 访问的账户配好权限就行&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;创建和配置-jail&#34;&gt;创建和配置 Jail&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;创建 Jail，点击高级设置&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/TrueNAS%20Core%20%E4%BD%BF%E7%94%A8%20Jail%20%E5%AE%89%E8%A3%85%20qBittorrent/Untitled%201.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Basic Properties 这里有几个地方修改一下：① 填写一个名称；② Release 选择一个最新版；③ 勾选 DHCP，此时下方的 VNET 和 Berkeley Packet Filter 会被自动勾选；④ 选择联网的网口&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/TrueNAS%20Core%20%E4%BD%BF%E7%94%A8%20Jail%20%E5%AE%89%E8%A3%85%20qBittorrent/Untitled%202.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;其他地方不用动，点击 Next&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Jail Properties 一个都不需要动，直接 Next&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/TrueNAS%20Core%20%E4%BD%BF%E7%94%A8%20Jail%20%E5%AE%89%E8%A3%85%20qBittorrent/Untitled%203.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Network Properties 这里都不需要动，直接 Next&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/TrueNAS%20Core%20%E4%BD%BF%E7%94%A8%20Jail%20%E5%AE%89%E8%A3%85%20qBittorrent/Untitled%204.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Custom Properties 这里都不需要动，直接 Save&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/TrueNAS%20Core%20%E4%BD%BF%E7%94%A8%20Jail%20%E5%AE%89%E8%A3%85%20qBittorrent/Untitled%205.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;保存后，回到 Jails 管理画面，展开刚才创建的 Jail，启动它。然后点击 Shell 进入 Jail，这里需要先把 qBittorrent 的 config 和下载文件夹创建好&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/TrueNAS%20Core%20%E4%BD%BF%E7%94%A8%20Jail%20%E5%AE%89%E8%A3%85%20qBittorrent/Untitled%206.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;创建文件夹&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/TrueNAS%20Core%20%E4%BD%BF%E7%94%A8%20Jail%20%E5%AE%89%E8%A3%85%20qBittorrent/Untitled%207.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;关闭 Shell，再把 Jail 也停止。停止后，点击 Mount Points&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/TrueNAS%20Core%20%E4%BD%BF%E7%94%A8%20Jail%20%E5%AE%89%E8%A3%85%20qBittorrent/Untitled%208.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;新建文件夹映射，这里上面是 NAS 的文件目录，下面是 Jail 内的。这里映射的是配置文件夹的，下载文件夹同理&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/TrueNAS%20Core%20%E4%BD%BF%E7%94%A8%20Jail%20%E5%AE%89%E8%A3%85%20qBittorrent/Untitled%209.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;配置好后大概是这样&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/TrueNAS%20Core%20%E4%BD%BF%E7%94%A8%20Jail%20%E5%AE%89%E8%A3%85%20qBittorrent/Untitled%2010.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;安装并启动-qbittorrent&#34;&gt;安装并启动 qBittorrent&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;启动刚才的 Jail，并进入 Shell，更新软件包目录&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg update &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; pkg upgrade&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;如果网络原因卡住或者报错，可以参考这篇文章修改软件源&lt;a class=&#34;link&#34; href=&#34;https://blog.mitsea.com/c877a212f3e347d8b414c2c3afe4e001/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;FreeBSD 更换中科大软件包源&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;安装 qBittorrent&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg install qbittorrent-nox&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;配置服务&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sysrc &lt;span class=&#34;nv&#34;&gt;qbittorrent_enable&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;YES&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;配置 qBittorrent 使用的配置文件夹&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sysrc &lt;span class=&#34;nv&#34;&gt;qbittorrent_conf_dir&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/mnt/config&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;设置读写权限，我这边偷懒了，下载文件也没啥重要的，就直接 777 了&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod -R &lt;span class=&#34;m&#34;&gt;777&lt;/span&gt; /mnt/config&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod -R &lt;span class=&#34;m&#34;&gt;777&lt;/span&gt; /mnt/downloads&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;启动 qBittorrent&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;service qbittorrent start&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;访问-qbittorrent&#34;&gt;访问 qBittorrent&#xA;&lt;/h3&gt;&lt;p&gt;前面说了，Jail 类似与 lxc，或者是虚拟机，所以他默认是桥接本机网络，Jail 获得了一个内网 IP。在管理页面可以看到&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/TrueNAS%20Core%20%E4%BD%BF%E7%94%A8%20Jail%20%E5%AE%89%E8%A3%85%20qBittorrent/Untitled%2011.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;我这边就是打开 &lt;a class=&#34;link&#34; href=&#34;http://192.168.2.121:8080/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;http://192.168.2.121:8080/&lt;/a&gt; 即可&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/04/TrueNAS%20Core%20%E4%BD%BF%E7%94%A8%20Jail%20%E5%AE%89%E8%A3%85%20qBittorrent/Untitled%2012.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;默认用户是 admin，默认密码是 adminadmin&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@marekpiwnicki?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Marek Piwnicki&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>NAS 只用后台网页 SSH 本机 Shell</title>
            <link>https://blog.mitsea.com/76f452a4f64e45e081d4c282f754ee93/</link>
            <pubDate>Mon, 23 Jan 2023 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/76f452a4f64e45e081d4c282f754ee93/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2023/01/NAS%20%E5%8F%AA%E7%94%A8%E5%90%8E%E5%8F%B0%E7%BD%91%E9%A1%B5%20SSH%20%E6%9C%AC%E6%9C%BA%20Shell/thai-an-7esp-3K0z28-unsplash.avif&#34; alt=&#34;Featured image of post NAS 只用后台网页 SSH 本机 Shell&#34; /&gt;&lt;p&gt;有的人 NAS 远程可能只用了官方提供的网页穿透或者只映射了后台网页，此时如果有临时访问 NAS Shell 命令行的话就麻烦了，毕竟没有映射 22 SSH 端口。本篇文章介绍下解决方法，并在 QNAP 和 Synology 上实际演示操作。该方法需要用到 Docker。&lt;/p&gt;&#xA;&lt;h2 id=&#34;原理&#34;&gt;原理&#xA;&lt;/h2&gt;&lt;p&gt;Docker 的子网实际上是从 NAS 自己桥接出来的，你可以理解 NAS 自己是一个路由器，Docker 每个容器都是一个子网设备。那子网设备去连接网关设备，实际上就连接到了 NAS 本身。&lt;/p&gt;&#xA;&lt;h2 id=&#34;实际操作演示&#34;&gt;实际操作演示&#xA;&lt;/h2&gt;&lt;h3 id=&#34;qnap&#34;&gt;QNAP&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;安装 Container Station 容器工作站。需要设备至少有 4G 内存，arm64 和 x86_64 都可以。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在 创建 选项卡里搜索 &lt;code&gt;arangodb/ssh-client&lt;/code&gt; 这个镜像，然后点 安装。这个镜像是 arm64 和 x86_64 都兼容的。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/NAS%20%E5%8F%AA%E7%94%A8%E5%90%8E%E5%8F%B0%E7%BD%91%E9%A1%B5%20SSH%20%E6%9C%AC%E6%9C%BA%20Shell/Untitled.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;命令 这里一定要改，它原来是 ssh，要改成 /bin/sh。他原来的意思是我们直接在 进入点 那里输入 ssh 参数直接连接，但是在 QNAP WebUI 上不好操作，所以我们先从它的 shell 启动起来。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/NAS%20%E5%8F%AA%E7%94%A8%E5%90%8E%E5%8F%B0%E7%BD%91%E9%A1%B5%20SSH%20%E6%9C%AC%E6%9C%BA%20Shell/Untitled%201.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;回到 总览，点击启动的容器右侧的 终端机 图标&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/NAS%20%E5%8F%AA%E7%94%A8%E5%90%8E%E5%8F%B0%E7%BD%91%E9%A1%B5%20SSH%20%E6%9C%AC%E6%9C%BA%20Shell/Untitled%202.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;命令你可以直接写 ssh 的命令，不过我这里先进 shell，一样的&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/NAS%20%E5%8F%AA%E7%94%A8%E5%90%8E%E5%8F%B0%E7%BD%91%E9%A1%B5%20SSH%20%E6%9C%AC%E6%9C%BA%20Shell/Untitled%203.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;点击连接后，就会新打开一个标签页，这个无论你是用的 QNAP 自己的穿透，还是自己通过 nginx 反代到公网都是可以打开的。打开就是这个容器内部的 shell。&lt;/p&gt;&#xA;&lt;p&gt;💡 如果是自己使用 nginx 将 NAS 后台反代到公网，请务必确保已启用 websocket 支持&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/NAS%20%E5%8F%AA%E7%94%A8%E5%90%8E%E5%8F%B0%E7%BD%91%E9%A1%B5%20SSH%20%E6%9C%AC%E6%9C%BA%20Shell/Untitled%204.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在 SSH 至本机前，要先找一下 Docker 容器的网关地址是什么。在 属性 - 网络设置 - docker0 可以看到。我的是 10.0.5.1。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/NAS%20%E5%8F%AA%E7%94%A8%E5%90%8E%E5%8F%B0%E7%BD%91%E9%A1%B5%20SSH%20%E6%9C%AC%E6%9C%BA%20Shell/Untitled%205.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;回到刚才的终端，ssh 这个地址，就进入到了 NAS 自己的 shell 了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/NAS%20%E5%8F%AA%E7%94%A8%E5%90%8E%E5%8F%B0%E7%BD%91%E9%A1%B5%20SSH%20%E6%9C%AC%E6%9C%BA%20Shell/Untitled%206.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;synology&#34;&gt;Synology&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在 Docker - 注册表 中搜索 &lt;code&gt;arangodb/ssh-client&lt;/code&gt; 并双击，选择 latest 下载镜像&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/NAS%20%E5%8F%AA%E7%94%A8%E5%90%8E%E5%8F%B0%E7%BD%91%E9%A1%B5%20SSH%20%E6%9C%AC%E6%9C%BA%20Shell/Untitled%207.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;下载完后在 映像 里找到，双击启动，网络选择默认的 bridge&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/NAS%20%E5%8F%AA%E7%94%A8%E5%90%8E%E5%8F%B0%E7%BD%91%E9%A1%B5%20SSH%20%E6%9C%AC%E6%9C%BA%20Shell/Untitled%208.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;高级设置 - 执行命令 - 命令 这里改成 &lt;code&gt;/bin/sh&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/NAS%20%E5%8F%AA%E7%94%A8%E5%90%8E%E5%8F%B0%E7%BD%91%E9%A1%B5%20SSH%20%E6%9C%AC%E6%9C%BA%20Shell/Untitled%209.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;其他不用动，一路下一步启动容器&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/NAS%20%E5%8F%AA%E7%94%A8%E5%90%8E%E5%8F%B0%E7%BD%91%E9%A1%B5%20SSH%20%E6%9C%AC%E6%9C%BA%20Shell/Untitled%2010.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;启动后，打开容器详情，在 终端机 就可以进入容器的 shell 了。&lt;/p&gt;&#xA;&lt;p&gt;💡 在老版本的 DSM 中默认可能没有 shell，需要手动创建，点击 新建 右侧的 通过命令启动，命令输入 &lt;code&gt;/bin/sh&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/NAS%20%E5%8F%AA%E7%94%A8%E5%90%8E%E5%8F%B0%E7%BD%91%E9%A1%B5%20SSH%20%E6%9C%AC%E6%9C%BA%20Shell/Untitled%2011.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;💡 如果是自己使用 nginx 将 NAS 后台反代到公网，请务必确保已启用 websocket 支持&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;连接前，需要找一下容器网关地址，在 网络 - bridge 展开后可以看到。我这边是 172.17.0.1。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/NAS%20%E5%8F%AA%E7%94%A8%E5%90%8E%E5%8F%B0%E7%BD%91%E9%A1%B5%20SSH%20%E6%9C%AC%E6%9C%BA%20Shell/Untitled%2012.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在刚才打开的容器 Shell 窗口中 ssh 网关，就连接到了本机 Shell&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/NAS%20%E5%8F%AA%E7%94%A8%E5%90%8E%E5%8F%B0%E7%BD%91%E9%A1%B5%20SSH%20%E6%9C%AC%E6%9C%BA%20Shell/Untitled%2013.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;💡 你的 SSH 端口有可能因为某次安全提示修改了端口。如果需要指定端口，在地址后面加上  &lt;code&gt;-p &amp;lt;端口号&amp;gt;&lt;/code&gt; 即可&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@johnn21?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Thái An&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>群晖 SMB 多通道官方更新观察</title>
            <link>https://blog.mitsea.com/6d750e1c5eb7452490d1476e9d73ab45/</link>
            <pubDate>Thu, 12 Jan 2023 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/6d750e1c5eb7452490d1476e9d73ab45/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2023/01/%E7%BE%A4%E6%99%96%20SMB%20%E5%A4%9A%E9%80%9A%E9%81%93%E5%AE%98%E6%96%B9%E6%9B%B4%E6%96%B0%E8%A7%82%E5%AF%9F/shubham-dhage-GG0IQLqOLyA-unsplash.avif&#34; alt=&#34;Featured image of post 群晖 SMB 多通道官方更新观察&#34; /&gt;&lt;p&gt;群晖最近更新了 SMB Server，官方支持了 SMB 多通道，原先只能通过修改 SMB config 文件启用，更新系统还会失效，不是很方便。这对于有两个 1GbE 口的群晖还是比较实用的。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/%E7%BE%A4%E6%99%96%20SMB%20%E5%A4%9A%E9%80%9A%E9%81%93%E5%AE%98%E6%96%B9%E6%9B%B4%E6%96%B0%E8%A7%82%E5%AF%9F/Untitled.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;准备工作&#34;&gt;准备工作&#xA;&lt;/h2&gt;&lt;h3 id=&#34;硬件配置&#34;&gt;硬件配置&#xA;&lt;/h3&gt;&lt;p&gt;如果你的环境是千兆，那你的 PC 需要有至少两个网口，然后按照下图连接网线&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/%E7%BE%A4%E6%99%96%20SMB%20%E5%A4%9A%E9%80%9A%E9%81%93%E5%AE%98%E6%96%B9%E6%9B%B4%E6%96%B0%E8%A7%82%E5%AF%9F/Untitled%201.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;如果环境是 2.5G 或者 10G，电脑就不需要插两根网线了&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/%E7%BE%A4%E6%99%96%20SMB%20%E5%A4%9A%E9%80%9A%E9%81%93%E5%AE%98%E6%96%B9%E6%9B%B4%E6%96%B0%E8%A7%82%E5%AF%9F/Untitled%202.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;当然如果有多个交换机，下面这样也是可以的，我就是这么用的&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/%E7%BE%A4%E6%99%96%20SMB%20%E5%A4%9A%E9%80%9A%E9%81%93%E5%AE%98%E6%96%B9%E6%9B%B4%E6%96%B0%E8%A7%82%E5%AF%9F/Untitled%203.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;软件配置&#34;&gt;软件配置&#xA;&lt;/h3&gt;&lt;p&gt;群晖在控制面板 - SMB选项卡 - 高级设置 - 其他选项卡 - 启用SMB3多通道&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/%E7%BE%A4%E6%99%96%20SMB%20%E5%A4%9A%E9%80%9A%E9%81%93%E5%AE%98%E6%96%B9%E6%9B%B4%E6%96%B0%E8%A7%82%E5%AF%9F/Untitled%204.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Windows 应该不用设置，默认是开启的。可以通过 &lt;code&gt;Get-SmbServerConfiguration&lt;/code&gt; 在 PowerShell 里检查一下是否开启。如果没开启，可以通过 &lt;code&gt;Set-SmbServerConfiguration -EnableMultiChannel 1&lt;/code&gt; 开启。&lt;/p&gt;&#xA;&lt;h2 id=&#34;测试&#34;&gt;测试&#xA;&lt;/h2&gt;&lt;h3 id=&#34;上传&#34;&gt;上传&#xA;&lt;/h3&gt;&lt;p&gt;大概 210MB/s 左右&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/%E7%BE%A4%E6%99%96%20SMB%20%E5%A4%9A%E9%80%9A%E9%81%93%E5%AE%98%E6%96%B9%E6%9B%B4%E6%96%B0%E8%A7%82%E5%AF%9F/Untitled%205.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;下载&#34;&gt;下载&#xA;&lt;/h3&gt;&lt;p&gt;大概 210MB/s 左右&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/%E7%BE%A4%E6%99%96%20SMB%20%E5%A4%9A%E9%80%9A%E9%81%93%E5%AE%98%E6%96%B9%E6%9B%B4%E6%96%B0%E8%A7%82%E5%AF%9F/Untitled%206.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;大量中等文件混合下载&#34;&gt;大量中等文件混合下载&#xA;&lt;/h3&gt;&lt;p&gt;有正常的波动，总体比 1Gbps 快不少&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/%E7%BE%A4%E6%99%96%20SMB%20%E5%A4%9A%E9%80%9A%E9%81%93%E5%AE%98%E6%96%B9%E6%9B%B4%E6%96%B0%E8%A7%82%E5%AF%9F/Untitled%207.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;其他&#34;&gt;其他&#xA;&lt;/h2&gt;&lt;p&gt;细心的应该观察到了，我下载时使用的是 Directory Opus，上传时使用的是自带 Explorer。这是因为如果下载使用 Explorer，上传使用 DO，速度都只有千兆。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2023/01/%E7%BE%A4%E6%99%96%20SMB%20%E5%A4%9A%E9%80%9A%E9%81%93%E5%AE%98%E6%96%B9%E6%9B%B4%E6%96%B0%E8%A7%82%E5%AF%9F/Untitled%208.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;可能是目前还有兼容性问题和bug，不过感觉问题不大。&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>老平台迁移系统至 nvme SSD 并启动</title>
            <link>https://blog.mitsea.com/9fd5b88b432442358afb90469768679b/</link>
            <pubDate>Sun, 27 Nov 2022 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/9fd5b88b432442358afb90469768679b/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E8%80%81%E5%B9%B3%E5%8F%B0%E8%BF%81%E7%A7%BB%E7%B3%BB%E7%BB%9F%E8%87%B3%20nvme%20SSD%20%E5%B9%B6%E5%90%AF%E5%8A%A8/philip-oroni-DsKJeR1DJxc-unsplash.avif&#34; alt=&#34;Featured image of post 老平台迁移系统至 nvme SSD 并启动&#34; /&gt;&lt;p&gt;公司里电脑比较老，是 Dell 的 Optiplex 790，2 代 i5。硬盘是很慢的机械硬盘，手头正好有个闲置的 SN750 256G，打算迁移系统到这个 SSD 上。&lt;/p&gt;&#xA;&lt;p&gt;但是老平台不支持从 nvme 启动，所以除了迁移还需要其他的操作。这次主要干了两件事：借助 Clover 启动 nvme 硬盘里的系统；解决 Windows 从 SATA HDD 迁移到 nvme SSD 后无法启动的问题。&lt;/p&gt;&#xA;&lt;p&gt;本来这种老电脑升级硬盘应该是用 SATA SSD，快捷方便，但是经常 SATA SSD 比 nvme SSD 还贵，所以这么操作还是有一定价值的。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E8%80%81%E5%B9%B3%E5%8F%B0%E8%BF%81%E7%A7%BB%E7%B3%BB%E7%BB%9F%E8%87%B3%20nvme%20SSD%20%E5%B9%B6%E5%90%AF%E5%8A%A8/Untitled.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;迁移系统&#34;&gt;迁移系统&#xA;&lt;/h2&gt;&lt;p&gt;把 nvme 通过转接板插到电脑上后，用你所熟悉的任何工具把原来硬盘的所有分区搬到新硬盘上。我是用的 Ghost 先备份后再还原到新硬盘上的，这样万一折腾坏了还能再还原。&lt;/p&gt;&#xA;&lt;p&gt;迁移好后把原来硬盘里的分区都删了，最后大概就是这样。第一块是原来的 HDD，第二块是追加的 SSD。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E8%80%81%E5%B9%B3%E5%8F%B0%E8%BF%81%E7%A7%BB%E7%B3%BB%E7%BB%9F%E8%87%B3%20nvme%20SSD%20%E5%B9%B6%E5%90%AF%E5%8A%A8/Untitled.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;处理原系统&#34;&gt;处理原系统&#xA;&lt;/h2&gt;&lt;p&gt;首先要检查下迁移完后的 BCD 是否正确指向新分区。步骤如下&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;打开 BOOTICE&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;打开 BCD 编辑 选项卡，选择已经在 SSD 里的 EFI 分区中的 BCD 文件后（在 EFI\Microsoft\Boot 里），用 智能编辑模式 打开。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;这里检查下是不是 SSD 里的系统盘&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E8%80%81%E5%B9%B3%E5%8F%B0%E8%BF%81%E7%A7%BB%E7%B3%BB%E7%BB%9F%E8%87%B3%20nvme%20SSD%20%E5%B9%B6%E5%90%AF%E5%8A%A8/6.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;因为之前是 SATA 启动，所以系统引导时不会从 nvme 硬盘里找系统，会报一个 &lt;strong&gt;INACCESSIBLE_BOOT_DEVICE&lt;/strong&gt; 的错误。我们要把之前留下的设置给删掉，步骤如下&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;打开注册表编辑器&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;点选 HKEY_LOCAL_MACHINE 后，点击 文件 - 加载配置单元&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E8%80%81%E5%B9%B3%E5%8F%B0%E8%BF%81%E7%A7%BB%E7%B3%BB%E7%BB%9F%E8%87%B3%20nvme%20SSD%20%E5%B9%B6%E5%90%AF%E5%8A%A8/7.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;这里选择打开 SSD 里系统盘 Windows\System32\config\SYSTEM 文件&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E8%80%81%E5%B9%B3%E5%8F%B0%E8%BF%81%E7%A7%BB%E7%B3%BB%E7%BB%9F%E8%87%B3%20nvme%20SSD%20%E5%B9%B6%E5%90%AF%E5%8A%A8/8.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;名字随便写&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E8%80%81%E5%B9%B3%E5%8F%B0%E8%BF%81%E7%A7%BB%E7%B3%BB%E7%BB%9F%E8%87%B3%20nvme%20SSD%20%E5%B9%B6%E5%90%AF%E5%8A%A8/9.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;找到 ControlSet001\Services\stornvme\StartOverride，把他删掉&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E8%80%81%E5%B9%B3%E5%8F%B0%E8%BF%81%E7%A7%BB%E7%B3%BB%E7%BB%9F%E8%87%B3%20nvme%20SSD%20%E5%B9%B6%E5%90%AF%E5%8A%A8/10.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;删完后，还选择刚才挂载的文件夹，比如我这里是 fix。然后 文件 - 卸载配置单元。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E8%80%81%E5%B9%B3%E5%8F%B0%E8%BF%81%E7%A7%BB%E7%B3%BB%E7%BB%9F%E8%87%B3%20nvme%20SSD%20%E5%B9%B6%E5%90%AF%E5%8A%A8/11.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;配置-clover&#34;&gt;配置 Clover&#xA;&lt;/h2&gt;&lt;p&gt;Clover 是一个引导工具，装黑苹果用的比较多。不过它即便仅作为多系统环境引导也很好用。本次就需要借助 Clover 来启动 nvme 里的系统。&lt;/p&gt;&#xA;&lt;p&gt;OpenCore 应该也可以，但是 OpenCore 需要先编辑好一个正确的配置文件才能用，比较麻烦。Clover 不需要特别去配置 config，直接用就行。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;从&lt;a class=&#34;link&#34; href=&#34;https://github.com/CloverHackyColor/CloverBootloader/releases/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;这里&lt;/a&gt;下载 Clover。下这个 zip 文件，版本号可能不一样，但一般就是最大的这个 zip 文件。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E8%80%81%E5%B9%B3%E5%8F%B0%E8%BF%81%E7%A7%BB%E7%B3%BB%E7%BB%9F%E8%87%B3%20nvme%20SSD%20%E5%B9%B6%E5%90%AF%E5%8A%A8/Untitled%201.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;解压后，为了让 Clover 能识别到 nvme 硬盘，需要把这里的 NvmExpressDxe.efi 驱动挪到 drivers 的 UEFI 文件夹里&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E8%80%81%E5%B9%B3%E5%8F%B0%E8%BF%81%E7%A7%BB%E7%B3%BB%E7%BB%9F%E8%87%B3%20nvme%20SSD%20%E5%B9%B6%E5%90%AF%E5%8A%A8/Untitled%202.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;对原机械硬盘执行快速格式化，分区选一个就行。这样我们就获得了一个 EFI 分区和一个 NTFS 主分区。前者拿来装 Clover，后者之后进系统可以拿来放放文件。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E8%80%81%E5%B9%B3%E5%8F%B0%E8%BF%81%E7%A7%BB%E7%B3%BB%E7%BB%9F%E8%87%B3%20nvme%20SSD%20%E5%B9%B6%E5%90%AF%E5%8A%A8/2.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;点击 EFI 分区，然后查看文件。把刚才准备的 Clover 里这个 EFI 文件拖进去&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E8%80%81%E5%B9%B3%E5%8F%B0%E8%BF%81%E7%A7%BB%E7%B3%BB%E7%BB%9F%E8%87%B3%20nvme%20SSD%20%E5%B9%B6%E5%90%AF%E5%8A%A8/Untitled%203.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;为了避免老主板加载启动项的时候识别不出来这个 EFI 分区，最好再去 BOOTICE 里把 Clover 加上。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E8%80%81%E5%B9%B3%E5%8F%B0%E8%BF%81%E7%A7%BB%E7%B3%BB%E7%BB%9F%E8%87%B3%20nvme%20SSD%20%E5%B9%B6%E5%90%AF%E5%8A%A8/4.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;启动系统&#34;&gt;启动系统&#xA;&lt;/h2&gt;&lt;p&gt;启动项里可以看到刚才添加的 Clover&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E8%80%81%E5%B9%B3%E5%8F%B0%E8%BF%81%E7%A7%BB%E7%B3%BB%E7%BB%9F%E8%87%B3%20nvme%20SSD%20%E5%B9%B6%E5%90%AF%E5%8A%A8/35E8125C-C342-4FA1-818F-4873DE188651_1_105_c.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;进到 Clover 后，就可以看到 Windows 引导项目了，一般就是第一个 Boot Microsoft EFI Boot from EFI&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E8%80%81%E5%B9%B3%E5%8F%B0%E8%BF%81%E7%A7%BB%E7%B3%BB%E7%BB%9F%E8%87%B3%20nvme%20SSD%20%E5%B9%B6%E5%90%AF%E5%8A%A8/5351610F-C865-49EB-AF2C-2D7E6EA3029F_1_105_c.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;成功启动&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E8%80%81%E5%B9%B3%E5%8F%B0%E8%BF%81%E7%A7%BB%E7%B3%BB%E7%BB%9F%E8%87%B3%20nvme%20SSD%20%E5%B9%B6%E5%90%AF%E5%8A%A8/B34D3A72-FDE8-4CD1-B266-349D57BBBD6E_1_105_c.avif&#34;&gt;&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@philipsfuture?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Philip Oroni&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>群晖 btrfs 关于 cow 的观察</title>
            <link>https://blog.mitsea.com/164dd22cef594dbcbeccf8b839a455c6/</link>
            <pubDate>Sun, 06 Nov 2022 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/164dd22cef594dbcbeccf8b839a455c6/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E7%BE%A4%E6%99%96%20btrfs%20%E5%85%B3%E4%BA%8E%20cow%20%E7%9A%84%E8%A7%82%E5%AF%9F/title.avif&#34; alt=&#34;Featured image of post 群晖 btrfs 关于 cow 的观察&#34; /&gt;&lt;h2 id=&#34;关于-btrfs-的-cow&#34;&gt;关于 btrfs 的 cow&#xA;&lt;/h2&gt;&lt;p&gt;群晖 DSM 默认使用 btrfs 文件系统，这个fs的一大特性就是支持 cow。cow 使得在复制一份文件时不会额外占用重复的空间。&lt;/p&gt;&#xA;&lt;p&gt;在系统设置中，打开这个开关即可启用该功能&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E7%BE%A4%E6%99%96%20btrfs%20%E5%85%B3%E4%BA%8E%20cow%20%E7%9A%84%E8%A7%82%E5%AF%9F/1.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;这个本质上是在复制文件的时候在 cp 命令后追加 &lt;code&gt;--reflink=always&lt;/code&gt; 参数。此外，cow 支持 smb，通过 smb 进行复制的操作同样有效，与硬链接相比有无可比拟的便利性。&lt;/p&gt;&#xA;&lt;h2 id=&#34;小实验&#34;&gt;小实验&#xA;&lt;/h2&gt;&lt;p&gt;这里有一个文件夹，里面有一个大小为 11.55GB 的文件。此时存储空间用量为 7.3 TB&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E7%BE%A4%E6%99%96%20btrfs%20%E5%85%B3%E4%BA%8E%20cow%20%E7%9A%84%E8%A7%82%E5%AF%9F/2.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;在启用快速复制后，再复制出来 10 份相同文件，仅仅是文件名不同&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E7%BE%A4%E6%99%96%20btrfs%20%E5%85%B3%E4%BA%8E%20cow%20%E7%9A%84%E8%A7%82%E5%AF%9F/3.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;此时发现存储空间用量还是 7.3TB，说明多复制出来的 10 个文件没有额外占用空间。这个很好理解，毕竟虽然文件名不同，但是这些文件的 md5 值都是一样的，本质还是同一个文件。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E7%BE%A4%E6%99%96%20btrfs%20%E5%85%B3%E4%BA%8E%20cow%20%E7%9A%84%E8%A7%82%E5%AF%9F/4.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E7%BE%A4%E6%99%96%20btrfs%20%E5%85%B3%E4%BA%8E%20cow%20%E7%9A%84%E8%A7%82%E5%AF%9F/5.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;应用&#34;&gt;应用&#xA;&lt;/h2&gt;&lt;p&gt;这个特性可以免去手动做硬链接的过程，在保种的时候也比较实用。&lt;/p&gt;&#xA;&lt;p&gt;通常情况下，保种的文件里面也有我们需要的文件，对于这些文件需要放到其他文件夹里。此时就可以利用这一特性，直接复制文件即可。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E7%BE%A4%E6%99%96%20btrfs%20%E5%85%B3%E4%BA%8E%20cow%20%E7%9A%84%E8%A7%82%E5%AF%9F/6.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;比如这两个文件，左侧是在保种的文件夹里，右侧是从保种文件夹复制出来的，在自己整理的文件夹里。这两个文件 md5 一致，那就无需担心复制造成的重复空间占用。&lt;/p&gt;&#xA;&lt;h2 id=&#34;疑惑&#34;&gt;疑惑&#xA;&lt;/h2&gt;&lt;p&gt;测试过程中也发现该特性似乎对文件夹来说是透明的，在统计文件夹大小的时候，仍然会重复计算文件大小&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E7%BE%A4%E6%99%96%20btrfs%20%E5%85%B3%E4%BA%8E%20cow%20%E7%9A%84%E8%A7%82%E5%AF%9F/7.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;在同样支持 cow 的 APFS 中也表现出相同的行为，复制出来的副本虽然实际上不会额外占用空间，但是统计文件夹大小的时候仍然会重复统计。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/11/%E7%BE%A4%E6%99%96%20btrfs%20%E5%85%B3%E4%BA%8E%20cow%20%E7%9A%84%E8%A7%82%E5%AF%9F/8.avif&#34;&gt;&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@lysanderyuen?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Lysander Yuen&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/s/photos/duplicate?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>QNAP 部署 哪吒监控 Agent</title>
            <link>https://blog.mitsea.com/e243ad2e577342098196568ed9df3a36/</link>
            <pubDate>Mon, 24 Oct 2022 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/e243ad2e577342098196568ed9df3a36/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2022/10/QNAP%20%E9%83%A8%E7%BD%B2%20%E5%93%AA%E5%90%92%E7%9B%91%E6%8E%A7%20Agent/title.avif&#34; alt=&#34;Featured image of post QNAP 部署 哪吒监控 Agent&#34; /&gt;&lt;h2 id=&#34;下载-agent&#34;&gt;下载 Agent&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;先去哪吒的下载页下载符合自己 QNAP CPU 架构的 Agent 客户端。我是 212p3，arm64 处理机，下载 nezha-agent_linux_arm64.zip。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/naiba/nezha/releases&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://github.com/naiba/nezha/releases&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;解压后，把里面的二进制文件随便放到一个地方&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/10/QNAP%20%E9%83%A8%E7%BD%B2%20%E5%93%AA%E5%90%92%E7%9B%91%E6%8E%A7%20Agent/Untitled.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;SSH 到 QNAP，使用 &lt;code&gt;sudo -i&lt;/code&gt; 切换到 root 账号。默认进去有个菜单，选择退出即可回到命令行。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;找到刚才放进去的文件，共享文件夹一般在 /share 下面。刚才我是放在了个人账号的 home 共享文件夹里，那二进制文件就在 /share/homes/FlintyLemming 下&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;测试启动&#34;&gt;测试启动&#xA;&lt;/h2&gt;&lt;p&gt;首先要手动执行下二进制文件，确认使用正常。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在 Dashboard 里创建一个新设备，获取链接密码&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;进到 agent 所在文件夹后，通过执行 ./nezha-agent 可以查看使用帮助&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/10/QNAP%20%E9%83%A8%E7%BD%B2%20%E5%93%AA%E5%90%92%E7%9B%91%E6%8E%A7%20Agent/Untitled%201.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;基本上指定一下服务器地址和密码即可，命令为&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./nezha-agent -s &amp;lt;Dashboard服务器地址&amp;gt;:&amp;lt;端口&amp;gt; -p &amp;lt;连接密码&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;执行后，没报错，并且在 Web 上能看到信息就可以&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/10/QNAP%20%E9%83%A8%E7%BD%B2%20%E5%93%AA%E5%90%92%E7%9B%91%E6%8E%A7%20Agent/Untitled%202.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;记下自己的执行命令，并把 &lt;code&gt;./&lt;/code&gt; 替换成绝对路径，比如我的文件放在 &lt;code&gt;/share/homes/FlintyLemming&lt;/code&gt; 下，那我的执行命令就是&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/share/homes/FlintyLemming/nezha-agent -s &amp;lt;Dashboard服务器地址&amp;gt;:&amp;lt;端口&amp;gt; -p &amp;lt;连接密码&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;守护进程&#34;&gt;守护进程&#xA;&lt;/h2&gt;&lt;p&gt;这里是 QTS 比较坑爹的地方。即便内核比隔壁群晖新，已经用上了 5.x，但是它还是用的 SystemV 而不是 SystemD。然后 system、chkconfig 啥的命令通通没有。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/10/QNAP%20%E9%83%A8%E7%BD%B2%20%E5%93%AA%E5%90%92%E7%9B%91%E6%8E%A7%20Agent/Untitled%203.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;因为他也没有 rc.d，init.d 我也不好动。所以我打算直接用计划任务土法守护进程。&lt;/p&gt;&#xA;&lt;h3 id=&#34;新建脚本&#34;&gt;新建脚本&#xA;&lt;/h3&gt;&lt;p&gt;这个我就从之前部署甜糖的脚本抄来用了。找一个地方新建一个 crash_monitor.sh 文件，内容如下&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;#!/bin/bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;d&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;date &lt;span class=&#34;s1&#34;&gt;&amp;#39;+%F %T&amp;#39;&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;num&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;ps fax &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep &lt;span class=&#34;s1&#34;&gt;&amp;#39;/nezha-agent&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; egrep -v &lt;span class=&#34;s1&#34;&gt;&amp;#39;grep|echo|rpm|moni|guard&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; wc -l&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$num&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$num&lt;/span&gt; -lt &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;[&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$d&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;] nezha-agent is dead...restarting&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; /share/homes/FlintyLemming/log.log &lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;[&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$d&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;] nezha-agent is dead...restarting&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; /share/homes/FlintyLemming/nezha-agent --password &amp;lt;连接密码&amp;gt; --server &amp;lt;Dashboard服务器地址&amp;gt;:&amp;lt;端口&amp;gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;echo 那边有一个出 log 的路径，根据实际情况改一下。我把这个脚本还保存在 /share/homes/FlintyLemming 下&lt;/p&gt;&#xA;&lt;h3 id=&#34;配置计划任务&#34;&gt;配置计划任务&#xA;&lt;/h3&gt;&lt;p&gt;计划任务的位置和命令参考 QNAP 官方文档&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://wiki.qnap.com/wiki/Add_items_to_crontab&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Add items to crontab&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;先把刚才那个 sh 文档设置权限为可执行&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod +x /share/homes/FlintyLemming/crash_monitor.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;然后把上面这个脚本添加到计划任务里&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;* * * * * /share/homes/FlintyLemming/crash_monitor.sh&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; /etc/config/crontab&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;重启计划任务&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;crontab /etc/config/crontab &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; /etc/init.d/crond.sh restart&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;检查运行&#34;&gt;检查运行&#xA;&lt;/h3&gt;&lt;p&gt;执行下面的命令查看是否有进程&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ps -ef&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;grep nezha&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/es/@vallibo?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Valentin Bolder&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>PVE 安装 QuTScloud</title>
            <link>https://blog.mitsea.com/81b4139253bd445eba19bd84c4b0ebde/</link>
            <pubDate>Sun, 09 Oct 2022 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/81b4139253bd445eba19bd84c4b0ebde/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2022/10/PVE%20%E5%AE%89%E8%A3%85%20QuTScloud/mert-toker-_I6dvFGseA8-unsplash.avif&#34; alt=&#34;Featured image of post PVE 安装 QuTScloud&#34; /&gt;&lt;p&gt;本文是参考下面文章的内容，我自己记录一下方便后续安装&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://jxcn.org/2022/03/qnap-simple-install/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://jxcn.org/2022/03/qnap-simple-install/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;下载qutscloud映像文件&#34;&gt;下载 QuTScloud 映像文件&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;转到 &lt;a class=&#34;link&#34; href=&#34;https://www.qnap.com/download&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://www.qnap.com/download&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;在“&lt;strong&gt;Product Type&lt;/strong&gt;”（产品类型）下，选择 QuTScloud&lt;/li&gt;&#xA;&lt;li&gt;下载 QuTScloud QCOW2 映像文件&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;上传qutscloud映像&#34;&gt;上传 QuTScloud 映像&#xA;&lt;/h2&gt;&lt;p&gt;使用任意 sftp 工具将 qcow2 文件丢到 pve 的某个地方，比如 &lt;code&gt;/tmp&lt;/code&gt; 下&lt;/p&gt;&#xA;&lt;h2 id=&#34;部署qutscloud映像&#34;&gt;部署 QuTScloud 映像&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;创建一个虚拟机，记住 VM ID&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/10/PVE%20%E5%AE%89%E8%A3%85%20QuTScloud/Untitled.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;操作系统选择 不使用任何介质&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/10/PVE%20%E5%AE%89%E8%A3%85%20QuTScloud/Untitled%201.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;系统 保持默认&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/10/PVE%20%E5%AE%89%E8%A3%85%20QuTScloud/Untitled%202.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;磁盘 点击删除图标把自带的空白磁盘删了&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/10/PVE%20%E5%AE%89%E8%A3%85%20QuTScloud/Untitled%203.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;CPU、内存和网络自己根据实际情况选择&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;以 root 身份进入 shell，执行下面的命令添加刚才放进去的 qcow2 镜像到虚拟机里。命令格式为 &lt;code&gt;qm importdisk &amp;lt;vm id&amp;gt; &amp;lt;qcow2 文件绝对路径&amp;gt; local-lvm&lt;/code&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;qm importdisk &lt;span class=&#34;m&#34;&gt;100&lt;/span&gt; /tmp/QuTScloud_c5.0.1.2148.qcow2 local-lvm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;添加完后，在虚拟机的 硬件 里，可以看到一个 未使用的磁盘&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/10/PVE%20%E5%AE%89%E8%A3%85%20QuTScloud/CleanShot_2022-10-09_at_19.54.542x.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;双击它，然后点 添加&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/10/PVE%20%E5%AE%89%E8%A3%85%20QuTScloud/CleanShot_2022-10-09_at_19.55.082x.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;再添加若干磁盘作为数据盘，我这边又直通了两个硬盘。光驱什么的也可以删掉。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/10/PVE%20%E5%AE%89%E8%A3%85%20QuTScloud/Untitled%204.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;修改引导顺序后即可启动&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/10/PVE%20%E5%AE%89%E8%A3%85%20QuTScloud/Untitled%205.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;破解系统&#34;&gt;破解系统&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;启动后，会告诉你 MAC 地址和 IP 地址&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/10/PVE%20%E5%AE%89%E8%A3%85%20QuTScloud/Untitled%206.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;通过默认管理员账号 SSH 登录系统。用户名为 admin；密码为MAC地址，不包含特殊字符，所有字母都要大写。然后执行下面的命令&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo curl -k https://jxcn.org/file/active2.sh &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/10/PVE%20%E5%AE%89%E8%A3%85%20QuTScloud/Untitled%207.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;重启后继续安装即可&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/10/PVE%20%E5%AE%89%E8%A3%85%20QuTScloud/Untitled%208.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@merttoker?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Mert Toker&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>群晖 DSM 7.x 安装 哪吒监控 Agent</title>
            <link>https://blog.mitsea.com/3929551d08bd4bb0a8baa453e2d92b0c/</link>
            <pubDate>Sat, 08 Oct 2022 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/3929551d08bd4bb0a8baa453e2d92b0c/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2022/10/%E7%BE%A4%E6%99%96%20DSM%207.x%20%E5%AE%89%E8%A3%85%20%E5%93%AA%E5%90%92%E7%9B%91%E6%8E%A7%20Agent/title.avif&#34; alt=&#34;Featured image of post 群晖 DSM 7.x 安装 哪吒监控 Agent&#34; /&gt;&lt;h2 id=&#34;下载-agent&#34;&gt;下载 Agent&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;先去哪吒的下载页下载符合自己群晖 CPU 架构的 Agent 客户端。我是 DS420+，Intel CPU，下载 nezha-agent_linux_amd64.zip。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/nezhahq/agent/releases&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://github.com/nezhahq/agent/releases&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;解压后，把里面的二进制文件随便放到一个地方&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/10/%E7%BE%A4%E6%99%96%20DSM%207.x%20%E5%AE%89%E8%A3%85%20%E5%93%AA%E5%90%92%E7%9B%91%E6%8E%A7%20Agent/1.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;SSH 到群晖，使用 &lt;code&gt;sudo -i&lt;/code&gt; 切换到 root 账号&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;找到刚才放进去的文件，共享文件夹一般在 /volume1 下面。刚才我是放在了 AppData 这个共享文件夹里，那二进制文件就在 /volume1/AppData 下&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/10/%E7%BE%A4%E6%99%96%20DSM%207.x%20%E5%AE%89%E8%A3%85%20%E5%93%AA%E5%90%92%E7%9B%91%E6%8E%A7%20Agent/2.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;测试启动&#34;&gt;测试启动&#xA;&lt;/h2&gt;&lt;p&gt;首先要手动执行下二进制文件，确认使用正常。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在 Dashboard 里创建一个新设备，获取链接密码&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;进到 agent 所在文件夹后，通过执行 ./nezha-agent 可以查看使用帮助&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/10/%E7%BE%A4%E6%99%96%20DSM%207.x%20%E5%AE%89%E8%A3%85%20%E5%93%AA%E5%90%92%E7%9B%91%E6%8E%A7%20Agent/3.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;基本上指定一下服务器地址和密码即可，命令为&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./nezha-agent -s &amp;lt;Dashboard服务器地址&amp;gt;:&amp;lt;端口&amp;gt; -p &amp;lt;连接密码&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;执行后，没报错，并且在 Web 上能看到信息就可以&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/10/%E7%BE%A4%E6%99%96%20DSM%207.x%20%E5%AE%89%E8%A3%85%20%E5%93%AA%E5%90%92%E7%9B%91%E6%8E%A7%20Agent/4.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;记下自己的执行命令，并把 &lt;code&gt;./&lt;/code&gt; 替换成绝对路径，比如我的文件放在 &lt;code&gt;/volume1/AppData&lt;/code&gt; 下，那我的执行命令就是&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/volume1/AppData/nezha-agent -s &amp;lt;Dashboard服务器地址&amp;gt;:&amp;lt;端口&amp;gt; -p &amp;lt;连接密码&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;配置服务&#34;&gt;配置服务&#xA;&lt;/h2&gt;&lt;p&gt;直接执行命令虽然能用，但是一关窗口就停止运行了。丢到 screen 里也不行，因为 Agent 会自动更新，更新时会停止进程。DSM 7 内置 systemctl 命令，可以很方便设置为系统服务，保活进程。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在 &lt;code&gt;/usr/lib/systemd/system&lt;/code&gt; 下创建一个 &lt;code&gt;nezha-agent.service&lt;/code&gt; 文本文件&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim /usr/lib/systemd/system/nezha-agent.service&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;内容如下&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;Unit&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;Description&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;Nezha Agent&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;After&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;syslog.target&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;Service&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;Type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;simple&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;User&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;root&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;Group&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;root&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;ExecStart&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&amp;lt;刚才记下的执行命令&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;Restart&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;always&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;Install&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;WantedBy&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;multi-user.target&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;加载配置文件&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl daemon-reload&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;启动服务&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl &lt;span class=&#34;nb&#34;&gt;enable&lt;/span&gt; nezha-agent&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl start nezha-agent&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;查看状态&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl status nezha-agent&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/10/%E7%BE%A4%E6%99%96%20DSM%207.x%20%E5%AE%89%E8%A3%85%20%E5%93%AA%E5%90%92%E7%9B%91%E6%8E%A7%20Agent/5.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@steve_j?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Steve Johnson&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>群晖 Active Backup for Business 恢复 Windows 设备</title>
            <link>https://blog.mitsea.com/1e8e853395ff4142ac422e058e0178a9/</link>
            <pubDate>Mon, 26 Sep 2022 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/1e8e853395ff4142ac422e058e0178a9/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2022/09/%E7%BE%A4%E6%99%96%20Active%20Backup%20for%20Business%20%E6%81%A2%E5%A4%8D%20Windows%20%E8%AE%BE%E5%A4%87/title.avif&#34; alt=&#34;Featured image of post 群晖 Active Backup for Business 恢复 Windows 设备&#34; /&gt;&lt;p&gt;当使用 Active Backup for Business 备份一台机器的系统卷或者全部设备后，机器挂掉之后可以通过已有的备份来恢复。&lt;/p&gt;&#xA;&lt;h2 id=&#34;注意点&#34;&gt;注意点&#xA;&lt;/h2&gt;&lt;p&gt;在介绍恢复方法前，简要说一下 Active Backup for Business 恢复的一些特性和注意点。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;要恢复的硬盘大小必须大于等于原硬盘的大小&lt;/li&gt;&#xA;&lt;li&gt;需要准备一个U盘&lt;/li&gt;&#xA;&lt;li&gt;如果你还没有恢复镜像，你需要一个 Windows 的环境&lt;/li&gt;&#xA;&lt;li&gt;只要群晖有公网，群晖和恢复的机器可以不在同一个局域网内&lt;/li&gt;&#xA;&lt;li&gt;可以拿来迁移系统到其他设备，一般情况下都可以修复引导并正常启动&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;恢复方法&#34;&gt;恢复方法&#xA;&lt;/h2&gt;&lt;h3 id=&#34;准备恢复镜像&#34;&gt;准备恢复镜像&#xA;&lt;/h3&gt;&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML omitted --&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;NAS 中打开 Active Backup for Business，找到 还原 - 整台设备&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/09/%E7%BE%A4%E6%99%96%20Active%20Backup%20for%20Business%20%E6%81%A2%E5%A4%8D%20Windows%20%E8%AE%BE%E5%A4%87/1.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;下载这里第一个 恢复介质创建程序&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/09/%E7%BE%A4%E6%99%96%20Active%20Backup%20for%20Business%20%E6%81%A2%E5%A4%8D%20Windows%20%E8%AE%BE%E5%A4%87/2.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;第一次创建时，提示需要下载并安装 Windows ADK，这里点击下载&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/09/%E7%BE%A4%E6%99%96%20Active%20Backup%20for%20Business%20%E6%81%A2%E5%A4%8D%20Windows%20%E8%AE%BE%E5%A4%87/3.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Windows ADK 的安装程序会自动打开，一路默认下一步。到这一步的时候，只需要勾选“部署工具”和“Windows 预安装环境 (Windows PE)”&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/09/%E7%BE%A4%E6%99%96%20Active%20Backup%20for%20Business%20%E6%81%A2%E5%A4%8D%20Windows%20%E8%AE%BE%E5%A4%87/4.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;选择 U 盘，点击创建&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/09/%E7%BE%A4%E6%99%96%20Active%20Backup%20for%20Business%20%E6%81%A2%E5%A4%8D%20Windows%20%E8%AE%BE%E5%A4%87/5.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;等他完成就可以拔掉U盘了&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/09/%E7%BE%A4%E6%99%96%20Active%20Backup%20for%20Business%20%E6%81%A2%E5%A4%8D%20Windows%20%E8%AE%BE%E5%A4%87/6.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;恢复系统&#34;&gt;恢复系统&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;用U盘启动，会进到这里&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/09/%E7%BE%A4%E6%99%96%20Active%20Backup%20for%20Business%20%E6%81%A2%E5%A4%8D%20Windows%20%E8%AE%BE%E5%A4%87/7.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;连接 NAS，地址公网和内网都可以&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/09/%E7%BE%A4%E6%99%96%20Active%20Backup%20for%20Business%20%E6%81%A2%E5%A4%8D%20Windows%20%E8%AE%BE%E5%A4%87/8.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;选择备份&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/09/%E7%BE%A4%E6%99%96%20Active%20Backup%20for%20Business%20%E6%81%A2%E5%A4%8D%20Windows%20%E8%AE%BE%E5%A4%87/9.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;这里的话，如果你的电脑只有一个盘，或者你能保证要恢复的硬盘是第一个硬盘，那就根据备份类型选前两个。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/09/%E7%BE%A4%E6%99%96%20Active%20Backup%20for%20Business%20%E6%81%A2%E5%A4%8D%20Windows%20%E8%AE%BE%E5%A4%87/10.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;否则他会默认恢复到第一个空闲的硬盘，如果空间不够大会报错。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/09/%E7%BE%A4%E6%99%96%20Active%20Backup%20for%20Business%20%E6%81%A2%E5%A4%8D%20Windows%20%E8%AE%BE%E5%A4%87/11.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;所以后面的步骤是选择第三个&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;这里直接点 自定义硬盘映射&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/09/%E7%BE%A4%E6%99%96%20Active%20Backup%20for%20Business%20%E6%81%A2%E5%A4%8D%20Windows%20%E8%AE%BE%E5%A4%87/12.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;这里右键需要恢复的硬盘，依次恢复所有分区。推荐把C盘放到最后一个，这样以后如果要修改C盘空间会比较方便。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/09/%E7%BE%A4%E6%99%96%20Active%20Backup%20for%20Business%20%E6%81%A2%E5%A4%8D%20Windows%20%E8%AE%BE%E5%A4%87/13.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;都分完就是这样，如果新硬盘比原来的大，会多出一部分空间。这一部分可以进系统后加到C盘里。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/09/%E7%BE%A4%E6%99%96%20Active%20Backup%20for%20Business%20%E6%81%A2%E5%A4%8D%20Windows%20%E8%AE%BE%E5%A4%87/14.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;点击确定后，可以看到这边备份的分区都分好了，点击下一步&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/09/%E7%BE%A4%E6%99%96%20Active%20Backup%20for%20Business%20%E6%81%A2%E5%A4%8D%20Windows%20%E8%AE%BE%E5%A4%87/15.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;确认无误后，就可以点击确定开始恢复了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/09/%E7%BE%A4%E6%99%96%20Active%20Backup%20for%20Business%20%E6%81%A2%E5%A4%8D%20Windows%20%E8%AE%BE%E5%A4%87/16.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;恢复时间不是很准，他是假设整个分区都有内容估算的时间。如果你原来C盘只用了一半，那实际时间大概就是它估算的一半。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/09/%E7%BE%A4%E6%99%96%20Active%20Backup%20for%20Business%20%E6%81%A2%E5%A4%8D%20Windows%20%E8%AE%BE%E5%A4%87/17.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;恢复成功后，重启就可以进系统了&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2022/09/%E7%BE%A4%E6%99%96%20Active%20Backup%20for%20Business%20%E6%81%A2%E5%A4%8D%20Windows%20%E8%AE%BE%E5%A4%87/18.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;</description>
        </item><item>
            <title>QNAP 设置桥接</title>
            <link>https://blog.mitsea.com/61e42de30de34c3f93bd30e2dc4403c5/</link>
            <pubDate>Fri, 02 Apr 2021 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/61e42de30de34c3f93bd30e2dc4403c5/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2021/04/QNAP%20%E8%AE%BE%E7%BD%AE%E6%A1%A5%E6%8E%A5/title.avif&#34; alt=&#34;Featured image of post QNAP 设置桥接&#34; /&gt;&lt;p&gt;最近购入了一台 QNAP TS-532X NAS，这是一台万兆交换机。想要两个设备之间以万兆的速度连接，除了两个设备都要有万兆网卡，往往会认为他们必须要接到一个万兆交换机上才能用，就像这样。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2021/04/QNAP%20%E8%AE%BE%E7%BD%AE%E6%A1%A5%E6%8E%A5/1.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;但其实不必，通过桥接 NAS 的 1GbE 和 10GbE 两个网口，就可以让 NAS 直接以 10Gbps 承载另一个有万兆网卡的设备，就像这样。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2021/04/QNAP%20%E8%AE%BE%E7%BD%AE%E6%A1%A5%E6%8E%A5/2.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;按照我的理解（可能不正确），TS-532X 首先自己内部生成了一个虚拟交换机，交换机的上联口是到路由器，绑定 1GbE 网口。下联口一个是内部虚拟的，通给 NAS 本身，另一个绑定 10GbE 网口，通给另一台万兆设备。&lt;/p&gt;&#xA;&lt;p&gt;下面介绍下如何设置：&lt;/p&gt;&#xA;&lt;h2 id=&#34;nas-设置&#34;&gt;NAS 设置&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;打开 网络与虚拟交换机，左下角，切换到 高级，点击 新增&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2021/04/QNAP%20%E8%AE%BE%E7%BD%AE%E6%A1%A5%E6%8E%A5/3.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;点击 基本模式&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2021/04/QNAP%20%E8%AE%BE%E7%BD%AE%E6%A1%A5%E6%8E%A5/4.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;分别勾选 1GbE 和 10GbE 两个网口，勾选下方的”启用扩展树协议“，点 应用&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2021/04/QNAP%20%E8%AE%BE%E7%BD%AE%E6%A1%A5%E6%8E%A5/5.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;回到 总览，就可以看到桥接成功了。不过这里的拓补图讲道理有点迷惑，比如他这个交换机也有 IP（按理说他这个应该算是无网管交换机，应该没有 IP），然后 10GbE 的那个口 IP 跟 NAS 是一样的，总之有点迷惑，不用管它。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2021/04/QNAP%20%E8%AE%BE%E7%BD%AE%E6%A1%A5%E6%8E%A5/6.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;pc-设置&#34;&gt;PC 设置&#xA;&lt;/h2&gt;&lt;p&gt;按理说此时直接用 10G 网线连接 PC 和 NAS 就可以直接用了，但是 QNAP 这个我不知道为什么，如果你不对这个虚拟交换机设置 DHCP 服务器，PC 就没法自动获取 IP 并联网。我担心设置 DHCP 服务器后跟路由器里的 DHCP 服务冲突，就没有开了。但这样的话，需要给 PC 手动指定一个 IP 地址。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;打开 控制面板 - 网络和 Internet - 网络和共享中心 - 更改适配器设置，可以看到 10GbE 的口已经启用了。当然一开始这边可能显示无网络权限啥的，我这边是已经配置好了的。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2021/04/QNAP%20%E8%AE%BE%E7%BD%AE%E6%A1%A5%E6%8E%A5/7.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;双击打开这个网络连接，然后点击 属性 - Internet 协议版本 4&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2021/04/QNAP%20%E8%AE%BE%E7%BD%AE%E6%A1%A5%E6%8E%A5/8.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;IP 地址设置一个跟内网其他设备不冲突的 IP 地址，子网掩码、网关、默认DNS地址和内网中其他设备一致&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2021/04/QNAP%20%E8%AE%BE%E7%BD%AE%E6%A1%A5%E6%8E%A5/9.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;设置完毕&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2021/04/QNAP%20%E8%AE%BE%E7%BD%AE%E6%A1%A5%E6%8E%A5/10.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;</description>
        </item><item>
            <title>小米 AX6000 测试</title>
            <link>https://blog.mitsea.com/2be374e3b51144f290c268643819cc06/</link>
            <pubDate>Mon, 01 Feb 2021 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/2be374e3b51144f290c268643819cc06/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2021/02/%E5%B0%8F%E7%B1%B3%20AX6000%20%E6%B5%8B%E8%AF%95/jorge-salvador-c6hEUfgiwnw-unsplash.avif&#34; alt=&#34;Featured image of post 小米 AX6000 测试&#34; /&gt;&lt;h2 id=&#34;测试环境&#34;&gt;测试环境&#xA;&lt;/h2&gt;&lt;p&gt;小米商城开卖当天 599 原价购得，第二天就到了，现在来做个简单的测试。首先介绍下设备&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;路由器&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;AX6000，我不用任何软路由设备，就一个主路由&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;有线设备&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;台式机 Z390 + 9900ES + 96G，测试时使用的硬盘是三星 pm981a&lt;/p&gt;&#xA;&lt;p&gt;MacBook Pro 2018 13寸，使用 USB 2.5G 网卡，芯片是螃蟹的8156&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;无线设备&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;【2.4Gbps】上面那个台式机 + AX200 + 华硕鲨鱼鳍天线&lt;/p&gt;&#xA;&lt;p&gt;【1.3Gbps】上面那个笔记本&lt;/p&gt;&#xA;&lt;p&gt;【1.2Gbps】小米手机 10 Pro，支持 Wi-Fi 6 80MHz 握手速度 1.2Gbps&lt;/p&gt;&#xA;&lt;p&gt;【1.2Gbps】iPhone SE Gen2，同上&lt;/p&gt;&#xA;&lt;h2 id=&#34;日常环境内网测试&#34;&gt;日常环境内网测试&#xA;&lt;/h2&gt;&lt;p&gt;日常环境测试就是指除了上述设备全部连接外，还有其他不少 2.4G 的智能家居产品也连接。比较复杂的环境。连接设备一览：&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2021/02/%E5%B0%8F%E7%B1%B3%20AX6000%20%E6%B5%8B%E8%AF%95/STIIITCH_2021_02_07_01_04_36.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;wi-fi-6-160mhz-2x2-24gbps&#34;&gt;Wi-Fi 6 160MHz 2x2 2.4Gbps&#xA;&lt;/h3&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2021/02/%E5%B0%8F%E7%B1%B3%20AX6000%20%E6%B5%8B%E8%AF%95/Untitled.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;25g有线--无线--200mbs&#34;&gt;2.5G有线 → 无线  200MB/s&#xA;&lt;/h4&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2021/02/%E5%B0%8F%E7%B1%B3%20AX6000%20%E6%B5%8B%E8%AF%95/Untitled%201.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;无线--25g有线-185mbs&#34;&gt;无线 → 2.5G有线 185MB/s&#xA;&lt;/h4&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2021/02/%E5%B0%8F%E7%B1%B3%20AX6000%20%E6%B5%8B%E8%AF%95/Untitled%202.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;wi-fi-5-80mhz-3x3-13gbps&#34;&gt;Wi-Fi 5 80MHz 3x3 1.3Gbps&#xA;&lt;/h3&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2021/02/%E5%B0%8F%E7%B1%B3%20AX6000%20%E6%B5%8B%E8%AF%95/Untitled%203.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;25g有线--无线--100mbs&#34;&gt;2.5G有线 → 无线  100MB/s&#xA;&lt;/h4&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2021/02/%E5%B0%8F%E7%B1%B3%20AX6000%20%E6%B5%8B%E8%AF%95/Untitled%204.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;无线--25g有线-91mbs&#34;&gt;无线 → 2.5G有线 91MB/s&#xA;&lt;/h4&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2021/02/%E5%B0%8F%E7%B1%B3%20AX6000%20%E6%B5%8B%E8%AF%95/Untitled%205.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;wi-fi-6-80mhz-2x2-12gbps&#34;&gt;Wi-Fi 6 80MHz 2x2 1.2Gbps&#xA;&lt;/h3&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2021/02/%E5%B0%8F%E7%B1%B3%20AX6000%20%E6%B5%8B%E8%AF%95/1612672600884.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;25g有线--无线--100mbs-1&#34;&gt;2.5G有线 → 无线  100MB/s&#xA;&lt;/h4&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2021/02/%E5%B0%8F%E7%B1%B3%20AX6000%20%E6%B5%8B%E8%AF%95/1612672464488.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;无线--25g有线-110mbs&#34;&gt;无线 → 2.5G有线 110MB/s&#xA;&lt;/h4&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2021/02/%E5%B0%8F%E7%B1%B3%20AX6000%20%E6%B5%8B%E8%AF%95/1612672464486.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;iPhone 类似&lt;/p&gt;&#xA;&lt;h2 id=&#34;日常环境外网测试&#34;&gt;日常环境外网测试&#xA;&lt;/h2&gt;&lt;p&gt;正常发挥，基本跑满了带宽&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2021/02/%E5%B0%8F%E7%B1%B3%20AX6000%20%E6%B5%8B%E8%AF%95/1612672904447.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;购买建议&#34;&gt;购买建议&#xA;&lt;/h2&gt;&lt;p&gt;我是因为 AX3600 Wi-Fi 容量不够我用，所以我换成了 AX6000。Wi-Fi 容量就是当我这么多无线设备一起连接的时候，那个 Wi-Fi 6 160MHz 2x2 实际上是跑不到 2x2 的，会掉到 1x1，也就是 1.2Gbps。所以我觉得你可以自己观察下，看看你的设备平时使用时是否会掉握手速度。&lt;/p&gt;&#xA;&lt;p&gt;不过整体来说，如果你已经有一台 Wi-Fi 6 路由器，倒是没有太大必要更换。&lt;/p&gt;&#xA;&lt;p&gt;至于一台 Wi-Fi 6 路由器都没有的小伙伴，还是要考虑你日常使用的习惯。如果你平时无线就是上上网，看看视频，玩玩游戏，我倒是觉得没啥必要。毕竟你宽带和 Wi-Fi 速度再快，游戏更新下载速度还是那么多。结合自己的需求吧。&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@jsshotz?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Jorge Salvador&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/s/photos/signal?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>蜗牛星际A款更换电源</title>
            <link>https://blog.mitsea.com/66c80801f93043e9b964ed612a93abc0/</link>
            <pubDate>Sun, 13 Dec 2020 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/66c80801f93043e9b964ed612a93abc0/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2020/12/%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85A%E6%AC%BE%E6%9B%B4%E6%8D%A2%E7%94%B5%E6%BA%90/title.avif&#34; alt=&#34;Featured image of post 蜗牛星际A款更换电源&#34; /&gt;&lt;p&gt;2019 年购入的蜗牛星际 A 款，当时很便宜，才 240。这个设备好是好，就是有点吵，机箱风扇和电源风扇都挺吵的。&lt;/p&gt;&#xA;&lt;p&gt;机箱风扇比较好搞，加个减速线就行，我是加了个47欧的电阻，声音就好很多了，也不影响散热。但是电源都很麻烦了，而且这个东西我也不敢拆，之前拆过相机，被电容电过。&lt;/p&gt;&#xA;&lt;p&gt;所以索性我就换个电源，一步到位，买了个海韵 250w Flex 电源，淘宝 365 入手，真不便宜，比当时买整个设备都贵了。&lt;/p&gt;&#xA;&lt;p&gt;下面放下电源的实拍照&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/12/%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85A%E6%AC%BE%E6%9B%B4%E6%8D%A2%E7%94%B5%E6%BA%90/1.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/12/%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85A%E6%AC%BE%E6%9B%B4%E6%8D%A2%E7%94%B5%E6%BA%90/2.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;是支持全模组的，还是比较不错的。&lt;/p&gt;&#xA;&lt;p&gt;下面拆机，换电源&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;拧下及其后侧的四颗紫色螺丝&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/12/%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85A%E6%AC%BE%E6%9B%B4%E6%8D%A2%E7%94%B5%E6%BA%90/3.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;然后就能在侧面看到电源了，很脏…&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/12/%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85A%E6%AC%BE%E6%9B%B4%E6%8D%A2%E7%94%B5%E6%BA%90/4.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;卸下支架上的一颗螺丝，和机箱后侧的四个螺丝&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/12/%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85A%E6%AC%BE%E6%9B%B4%E6%8D%A2%E7%94%B5%E6%BA%90/5.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/12/%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85A%E6%AC%BE%E6%9B%B4%E6%8D%A2%E7%94%B5%E6%BA%90/6.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;以及上方的大4pin供电线（这个线插得非常紧……），就可以取下自带电源了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/12/%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85A%E6%AC%BE%E6%9B%B4%E6%8D%A2%E7%94%B5%E6%BA%90/7.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;接着换上新电源，然后就发现一个问题，这里的支架够不到。这里应该是转为自带电源设计的，所以我这种电源应该是没法用了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/12/%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85A%E6%AC%BE%E6%9B%B4%E6%8D%A2%E7%94%B5%E6%BA%90/8.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;那没办法，只能用双面胶了…我这边选用比较厚的这种，贴上两层，顺便把电源稍稍垫起。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/12/%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85A%E6%AC%BE%E6%9B%B4%E6%8D%A2%E7%94%B5%E6%BA%90/9.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/12/%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85A%E6%AC%BE%E6%9B%B4%E6%8D%A2%E7%94%B5%E6%BA%90/10.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;最后，接上主板、CPU、硬盘供电线&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/12/%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85A%E6%AC%BE%E6%9B%B4%E6%8D%A2%E7%94%B5%E6%BA%90/11.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/12/%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85A%E6%AC%BE%E6%9B%B4%E6%8D%A2%E7%94%B5%E6%BA%90/12.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/12/%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85A%E6%AC%BE%E6%9B%B4%E6%8D%A2%E7%94%B5%E6%BA%90/13.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;最后就是这样&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/12/%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85A%E6%AC%BE%E6%9B%B4%E6%8D%A2%E7%94%B5%E6%BA%90/14.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;strong&gt;然后出了大问题！这么多线我塞不好，盖子盖不上！&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;于是过了一周，定制线搞定…这成本可真不低……&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/12/%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85A%E6%AC%BE%E6%9B%B4%E6%8D%A2%E7%94%B5%E6%BA%90/15.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@alexcpl?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Alex Cheung&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/s/photos/nas?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>在群晖上配置 iSCSI 并在 Windows 下使用</title>
            <link>https://blog.mitsea.com/00187875246c440fb8f50bb1354ce81b/</link>
            <pubDate>Sun, 31 May 2020 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/00187875246c440fb8f50bb1354ce81b/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2020/05/%E5%9C%A8%E7%BE%A4%E6%99%96%E4%B8%8A%E9%85%8D%E7%BD%AE%20iSCSI%20%E5%B9%B6%E5%9C%A8%20Windows%20%E4%B8%8B%E4%BD%BF%E7%94%A8/title.avif&#34; alt=&#34;Featured image of post 在群晖上配置 iSCSI 并在 Windows 下使用&#34; /&gt;&lt;p&gt;最近电脑的硬盘不够啦，但我有个 NAS，里边好几块硬盘，存储是没问题，但是如果想跟电脑内置的硬盘一样用就有困难了。无论是直接安装在网络上的硬盘里的程序还是游戏，经常会有问题，于是经人提醒有一个 iSCSI 的功能。&lt;/p&gt;&#xA;&lt;p&gt;于是就拿今天刚到的 2T 西数蓝盘试试水。关于机械硬盘这个问题，我觉得一般人来说买个西数蓝盘差不多了，同等级的希捷和东芝我都有接触过坏盘。说回 iSCSI，听说性能不是太好，不过我寻思着机械硬盘性能本来就那样，我就试试看呗，想看性能表现的直接看到最后就好。下面介绍配置步骤。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在应用程序中找到 iSCSI Manager，打开&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/05/%E5%9C%A8%E7%BE%A4%E6%99%96%E4%B8%8A%E9%85%8D%E7%BD%AE%20iSCSI%20%E5%B9%B6%E5%9C%A8%20Windows%20%E4%B8%8B%E4%BD%BF%E7%94%A8/1.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;点击左侧的 Target，点击后新增一个 iSCSI target，在第一步中什么都不用改，直接下一步&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/05/%E5%9C%A8%E7%BE%A4%E6%99%96%E4%B8%8A%E9%85%8D%E7%BD%AE%20iSCSI%20%E5%B9%B6%E5%9C%A8%20Windows%20%E4%B8%8B%E4%BD%BF%E7%94%A8/2.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;这里也什么都不用改，直接新增一个 LUN&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/05/%E5%9C%A8%E7%BE%A4%E6%99%96%E4%B8%8A%E9%85%8D%E7%BD%AE%20iSCSI%20%E5%B9%B6%E5%9C%A8%20Windows%20%E4%B8%8B%E4%BD%BF%E7%94%A8/3.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;这里先选择一个存储位置，再根据实际情况选择给这个服务分配多少空间，我这里就将这块 2T 的硬盘全部分配给这个服务&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/05/%E5%9C%A8%E7%BE%A4%E6%99%96%E4%B8%8A%E9%85%8D%E7%BD%AE%20iSCSI%20%E5%B9%B6%E5%9C%A8%20Windows%20%E4%B8%8B%E4%BD%BF%E7%94%A8/4.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;检查一下，没什么问题后点应用就可以了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/05/%E5%9C%A8%E7%BE%A4%E6%99%96%E4%B8%8A%E9%85%8D%E7%BD%AE%20iSCSI%20%E5%B9%B6%E5%9C%A8%20Windows%20%E4%B8%8B%E4%BD%BF%E7%94%A8/5.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;然后我们需要开启 Windows 里的 iSCSI 服务，直接使用搜索功能就可以搜索到配置工具&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/05/%E5%9C%A8%E7%BE%A4%E6%99%96%E4%B8%8A%E9%85%8D%E7%BD%AE%20iSCSI%20%E5%B9%B6%E5%9C%A8%20Windows%20%E4%B8%8B%E4%BD%BF%E7%94%A8/6.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;第一次使用会让我们先把服务起起来，顺便会帮我们设置开机自启&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/05/%E5%9C%A8%E7%BE%A4%E6%99%96%E4%B8%8A%E9%85%8D%E7%BD%AE%20iSCSI%20%E5%B9%B6%E5%9C%A8%20Windows%20%E4%B8%8B%E4%BD%BF%E7%94%A8/7.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在“目标”里填上 NAS 的本地 IP 地址，然后点击“快速连接”&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/05/%E5%9C%A8%E7%BE%A4%E6%99%96%E4%B8%8A%E9%85%8D%E7%BD%AE%20iSCSI%20%E5%B9%B6%E5%9C%A8%20Windows%20%E4%B8%8B%E4%BD%BF%E7%94%A8/8.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;这样就自动连上 NAS 的 iSCSI 服务了，点完成并确定上一级设置。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/05/%E5%9C%A8%E7%BE%A4%E6%99%96%E4%B8%8A%E9%85%8D%E7%BD%AE%20iSCSI%20%E5%B9%B6%E5%9C%A8%20Windows%20%E4%B8%8B%E4%BD%BF%E7%94%A8/9.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;然后我们需要挂载这个分区，通过搜索或者右键 Windows 菜单按钮，打开 磁盘管理 工具&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/05/%E5%9C%A8%E7%BE%A4%E6%99%96%E4%B8%8A%E9%85%8D%E7%BD%AE%20iSCSI%20%E5%B9%B6%E5%9C%A8%20Windows%20%E4%B8%8B%E4%BD%BF%E7%94%A8/10.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;这里就直接出现了引导挂在新分区的窗口，保留为 GPT 格式的分区，不需要更改，直接点确定&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/05/%E5%9C%A8%E7%BE%A4%E6%99%96%E4%B8%8A%E9%85%8D%E7%BD%AE%20iSCSI%20%E5%B9%B6%E5%9C%A8%20Windows%20%E4%B8%8B%E4%BD%BF%E7%94%A8/11.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;之后直接和计算机内的物理磁盘一样的操作，对着新挂载的硬盘直接新建简单卷&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/05/%E5%9C%A8%E7%BE%A4%E6%99%96%E4%B8%8A%E9%85%8D%E7%BD%AE%20iSCSI%20%E5%B9%B6%E5%9C%A8%20Windows%20%E4%B8%8B%E4%BD%BF%E7%94%A8/12.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;具体过程不赘述了，自己根据情况分配空间，我这里就分一个区了&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/05/%E5%9C%A8%E7%BE%A4%E6%99%96%E4%B8%8A%E9%85%8D%E7%BD%AE%20iSCSI%20%E5%B9%B6%E5%9C%A8%20Windows%20%E4%B8%8B%E4%BD%BF%E7%94%A8/13.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;之后在资源管理器中就可以看到新盘符了，跟在电脑里的物理磁盘一样&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/05/%E5%9C%A8%E7%BE%A4%E6%99%96%E4%B8%8A%E9%85%8D%E7%BD%AE%20iSCSI%20%E5%B9%B6%E5%9C%A8%20Windows%20%E4%B8%8B%E4%BD%BF%E7%94%A8/14.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;下面是关心的性能表现，我安装了一个大型程序，模拟硬盘满负载时候的表现，好像还不错呢&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/05/%E5%9C%A8%E7%BE%A4%E6%99%96%E4%B8%8A%E9%85%8D%E7%BD%AE%20iSCSI%20%E5%B9%B6%E5%9C%A8%20Windows%20%E4%B8%8B%E4%BD%BF%E7%94%A8/15.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Photo by &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/@heapdump?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Patrick Lindenberg&lt;/a&gt; on &lt;a class=&#34;link&#34; href=&#34;https://unsplash.com/s/photos/disk?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Unsplash&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>使用 Active Backup for Business 备份虚拟机（Hyper-V）</title>
            <link>https://blog.mitsea.com/eec7801069a649c29907229cc29044fb/</link>
            <pubDate>Wed, 26 Feb 2020 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/eec7801069a649c29907229cc29044fb/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E4%BD%BF%E7%94%A8%20Active%20Backup%20for%20Business%20%E5%A4%87%E4%BB%BD%E8%99%9A%E6%8B%9F%E6%9C%BA%EF%BC%88Hyper-V%EF%BC%89/title.avif&#34; alt=&#34;Featured image of post 使用 Active Backup for Business 备份虚拟机（Hyper-V）&#34; /&gt;&lt;p&gt;在生产环境中，虚拟机集群是经常被采用的方式。通过群晖附带的 Active Backup for Business 可以可靠并高效的备份以及还原这些虚拟机，并尽量减少存储开销，这是他最大的亮点。同时，它还可以拿来备份实体机器和服务器，通过下面的基础设置，可以快速使用起这些功能。&lt;/p&gt;&#xA;&lt;h2 id=&#34;windows-端配置&#34;&gt;Windows 端配置&#xA;&lt;/h2&gt;&lt;h3 id=&#34;配置-windows-rm&#34;&gt;配置 Windows RM&#xA;&lt;/h3&gt;&lt;p&gt;首先确保 Windows RM（Windows Remote Management）是否已经启用，打开 PowerShell，输入下面的命令查看服务状态&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;winrm enumerate winrm/config/listener&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;如果返回如下内容，则表示没有启用&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E4%BD%BF%E7%94%A8%20Active%20Backup%20for%20Business%20%E5%A4%87%E4%BB%BD%E8%99%9A%E6%8B%9F%E6%9C%BA%EF%BC%88Hyper-V%EF%BC%89/1.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;下面以默认配置启用 Windows RM&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;使用管理员身份运行 PowerShell&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E4%BD%BF%E7%94%A8%20Active%20Backup%20for%20Business%20%E5%A4%87%E4%BB%BD%E8%99%9A%E6%8B%9F%E6%9C%BA%EF%BC%88Hyper-V%EF%BC%89/2.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;输入如下命令开始 Windows RM 的配置&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt; Winrm quickconfig&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;询问是否启动服务，输入 y，然后按回车&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E4%BD%BF%E7%94%A8%20Active%20Backup%20for%20Business%20%E5%A4%87%E4%BB%BD%E8%99%9A%E6%8B%9F%E6%9C%BA%EF%BC%88Hyper-V%EF%BC%89/3.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;然后提示启动成功。但如果提示下面的错误，会导致群晖无法通过 http 连接 Windows。请按照下面的方法将网络位置修改为 专用网络。&lt;strong&gt;并再次执行第 2 步的配置操作。&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E4%BD%BF%E7%94%A8%20Active%20Backup%20for%20Business%20%E5%A4%87%E4%BB%BD%E8%99%9A%E6%8B%9F%E6%9C%BA%EF%BC%88Hyper-V%EF%BC%89/4.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;输入下面的命令查看服务的连接信息&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt; winrm e winrm/config/listener&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;配置脚本执行策略&#34;&gt;配置脚本执行策略&#xA;&lt;/h3&gt;&lt;p&gt;此外，还需要配置 PowerShell 的脚本执行策略，否则将会出现下面的错误&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E4%BD%BF%E7%94%A8%20Active%20Backup%20for%20Business%20%E5%A4%87%E4%BB%BD%E8%99%9A%E6%8B%9F%E6%9C%BA%EF%BC%88Hyper-V%EF%BC%89/5.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;查看当前策略，PowerShell 中执行&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt; get-executionpolicy&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;默认应该是 Unrestricted，通过执行下面的命令修改为 RemoteSigned&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt; set-executionpolicy remotesigned&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;最后查看一下修改状态，确认已经修改完毕&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E4%BD%BF%E7%94%A8%20Active%20Backup%20for%20Business%20%E5%A4%87%E4%BB%BD%E8%99%9A%E6%8B%9F%E6%9C%BA%EF%BC%88Hyper-V%EF%BC%89/6.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;dsm-端配置&#34;&gt;DSM 端配置&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;打开 Active Backup for Business，按照下图打开 &lt;strong&gt;添加 Hypervisor&lt;/strong&gt; 窗口&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E4%BD%BF%E7%94%A8%20Active%20Backup%20for%20Business%20%E5%A4%87%E4%BB%BD%E8%99%9A%E6%8B%9F%E6%9C%BA%EF%BC%88Hyper-V%EF%BC%89/7.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;地址填写 Windows 机器的 IP 地址，账号密码就是 Windows 的登录账号密码。应用后可以查看 Windows 计算机的状态，确认无误后关闭窗口。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E4%BD%BF%E7%94%A8%20Active%20Backup%20for%20Business%20%E5%A4%87%E4%BB%BD%E8%99%9A%E6%8B%9F%E6%9C%BA%EF%BC%88Hyper-V%EF%BC%89/8.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;这边就能查询到我的两台 Hyper-V 虚拟机了&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E4%BD%BF%E7%94%A8%20Active%20Backup%20for%20Business%20%E5%A4%87%E4%BB%BD%E8%99%9A%E6%8B%9F%E6%9C%BA%EF%BC%88Hyper-V%EF%BC%89/9.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;之后，通过点按 创建任务 按钮即可设置备份计划。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;</description>
        </item><item>
            <title>群晖 Docker 安装 qbittorrent 含 https 设置</title>
            <link>https://blog.mitsea.com/07dbeb35868e46f5a3cc465742c029d8/</link>
            <pubDate>Thu, 13 Feb 2020 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/07dbeb35868e46f5a3cc465742c029d8/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/title.avif&#34; alt=&#34;Featured image of post 群晖 Docker 安装 qbittorrent 含 https 设置&#34; /&gt;&lt;p&gt;&lt;strong&gt;教程已更新 DSM 7.2，请移步&lt;a class=&#34;link&#34; href=&#34;https://blog.mitsea.com/f34d4a3f981846469cac041c1df0881d/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;这里&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;速查&#34;&gt;速查&#xA;&lt;/h2&gt;&lt;h3 id=&#34;镜像名&#34;&gt;镜像名&#xA;&lt;/h3&gt;&lt;p&gt;linuxserver/qbittorrent&lt;/p&gt;&#xA;&lt;h3 id=&#34;文件夹映射&#34;&gt;文件夹映射&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;/path/to/appdata/config:/config&#xA;/path/to/downloads:/downloads&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;端口映射&#34;&gt;端口映射&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;-p 6881:6881 \&#xA;-p 6881:6881/udp \&#xA;-p 8080:8080 \&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;环境变量&#34;&gt;环境变量&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;-e WEBUI_PORT=8080 \&#xA;-e TempPath=/downloads \&#xA;-e SavePath=/downloads \&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;具体步骤&#34;&gt;具体步骤&#xA;&lt;/h2&gt;&lt;h3 id=&#34;安装-docker&#34;&gt;安装 Docker&#xA;&lt;/h3&gt;&lt;p&gt;在 套件中心 找到并安装 Docker。注意，ARM 架构处理的群晖设备不支持 Docker&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;准备下载文件夹&#34;&gt;准备下载文件夹&#xA;&lt;/h3&gt;&lt;p&gt;实际上，需要准备一个下载文件夹和一个存储配置文件的文件夹。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;打开 File Station，找到一个合适的位置，创建一个名为 qbittorrent 的文件夹。然后在文件夹里面创建名为 config 和 downloads 文件夹。文件夹名字可以不跟我的一样，只要保证后面设置映射的时候能分清楚即可。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%201.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;右键 qbitorrent 这个文件夹，打开属性&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%202.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;点击 权限 选项卡，然后点击 新增 按钮，打开 权限编辑器&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%203.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;用户或组 选择 Everyone；下面的权限都勾上，然后点击确定&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%204.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;然后勾选 应用到这个文件夹、子文件夹及文件，最后点击 确定 即可。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%205.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;下载并配置镜像&#34;&gt;下载并配置镜像&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;打开 Docker，左边打开 注册表，搜索 qbittorrent，找到 linuxserver/qbittorrent 这个镜像&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%206.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;双击，稍等后会让你选择版本，保持默认的 latest，最新的版本&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%207.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在左侧 映像 选项卡里可以看到正在下载镜像，等图标不再闪烁后，或 启动 按钮可点击时，则表示下载好。由于服务器不在中国大陆，所以可能需要等较长一段时间，完整大小大约 310M。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%208.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;下载完毕后，双击，或者点击 启动 按钮。进入启动前的配置页面&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%209.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;容器名称 可以自定义一个好认的名字。然后点击 高级设置。（不要点下一步）&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;打开 卷 选项卡，这里要设置目录的映射。即运行时，容器内部的文件夹映射到外面，即实际文件目录的位置。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%2010.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;要创建两个文件夹映射，分别对应之前创建的两个文件夹。先创建 config 文件夹的映射。点击 添加文件夹 按钮，在弹出的窗口选择刚才创建的 config 文件夹&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%2011.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;选中后，点击 选择 按钮。然后在 装载路径 里填写&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt; /config&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%2012.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;至于为什么填写 /config，可以在这个镜像的&lt;a class=&#34;link&#34; href=&#34;https://registry.hub.docker.com/r/linuxserver/qbittorrent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;说明页面&lt;/a&gt;里查到&lt;/p&gt;&#xA;&lt;p&gt;其中写到&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  volumes:&#xA;        - /path/to/appdata/config:/config&#xA;        - /path/to/downloads:/downloads&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;docker 配置中，冒号左边的是外面的目录，冒号右边的是容器里面的目录，所以我们这里要填写 /config&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;同理，按照相同的方式，建立 downloads 文件的映射，最后就是这样子&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%2013.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;点击 端口设置 选项卡，修改端口设置&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%2014.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;这里可以看到，容器里默认配置了 6881 和 8080，这分别是 bt 端口和 WebUI 端口。由于 6881 这个端口作为默认端口可能被封，所以应该换成别的端口。之前看教程别人用的 52000，我用着没问题，所以就改成 52000。8080 的 WebUI 端口也可以换一个自己需要的，我这里设置为 8848。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%2015.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;bt 端口改的话，最好内外都改，不然客户端汇报给 tracker 的端口和实际的不一致，可能会出问题。WebUI 端口可以只设置个映射出来的本地端口，但这样的话，你后面配置环境变量的时候，WEBUI_PORT 参数就还保持原来的 8080。不过我这边保持统一就都改了。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;点击 环境 选项卡，设置环境变量。这里要添加三个环境变量，内容如下。&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt; 可变          值&#xA; TempPath     /downloads&#xA; SavePath     /downloads&#xA; WEBUI_PORT   8848&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%2016.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;最后点击应用&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;点击 下一步，简单确认下设置项，没问题就可以点 应用，启动容器了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%2017.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;使用-qbittorrent&#34;&gt;使用 qbittorrent&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;启动后，就可以在 容器 选项卡看到正在运行的容器了&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%2018.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;点击它，然后点击 详情，点开 日志 选项卡，查看日志&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%2019.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;如果你配置时出现问题导致 qbittorrent 无法启动，会在这里显示错误信息。如果一切正常，则会看到进入 qbittorrent 的 WebUI 的地址、用户名和密码。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;打开 &amp;lt;NAS的本地IP&amp;gt;:8848，即可打开 qbittorrent 的 WebUI 后台登录界面&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%2020.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;输入在 log 里看到的默认账号 admin，密码 adminadmin，即可进入后台。第一件事就是改密码。打开设置 - Web UI，在 Authentication 里，Password 填写新密码即可&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%2021.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;同时，还可以在 Language 里修改显示语言&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%2022.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;之后就可以正常使用了&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;其他&#34;&gt;其他&#xA;&lt;/h2&gt;&lt;h3 id=&#34;设置-https&#34;&gt;设置 https&#xA;&lt;/h3&gt;&lt;h4 id=&#34;内置-https-设置&#34;&gt;内置 https 设置&#xA;&lt;/h4&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;设置 - WebUI - Web 用户界面（远程控制），勾选 使用 HTTPS 而不是 HTTP&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;打开下面的 证书信息 链接，可以看到跳到了 Apache 的说明页面。通过查看说明&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt; SSLCertificateFile    &amp;quot;/path/to/this/server.crt&amp;quot;&#xA; SSLCertificateKeyFile &amp;quot;/path/to/this/server.key&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;可以看到需要 .crt 和 .key 两个格式的证书。这就看你证书颁发商给你什么格式的了，如果给的是 Nginx 用的那种，crt 文件内容是多的，需要自己处理下，这里就不详细讲了。我是腾讯云弄的证书，直接给了 Apache 使用的证书。包含如下三个文件，这里只需要后两个。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%2023.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;将这两个文件放到 config 文件夹里&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%2024.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;qbittorrent 设置里，对应填写如下内容&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt; 证书  /config/2_domain.crt&#xA; 秘钥  /config/3_domain.key&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%2025.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;保存后，试一下通过 https + 域名 + 端口 的方式访问下，没问题&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%2026.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h4 id=&#34;群晖内置的反代工具设置&#34;&gt;群晖内置的反代工具设置&#xA;&lt;/h4&gt;&lt;p&gt;其实我更推荐这种方式，因为这样方便管理。不过你通过 https 访问的端口就必须和 WebUI 的端口不一样了，不然会冲突。具体设置方法，可以参考我&lt;a class=&#34;link&#34; href=&#34;https://blog.mitsea.com/4a08e5064d834921b206bf128e463d1a/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;另一篇教程&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/02/%E7%BE%A4%E6%99%96%20Docker%20%E5%AE%89%E8%A3%85%20qbittorrent%20%E5%90%AB%20https%20%E8%AE%BE%E7%BD%AE/Untitled%2027.avif&#34;&gt;&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>利用群晖自带反代为网络服务配置 https</title>
            <link>https://blog.mitsea.com/4a08e5064d834921b206bf128e463d1a/</link>
            <pubDate>Tue, 28 Jan 2020 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/4a08e5064d834921b206bf128e463d1a/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2020/01/%E5%88%A9%E7%94%A8%E7%BE%A4%E6%99%96%E8%87%AA%E5%B8%A6%E5%8F%8D%E4%BB%A3%E4%B8%BA%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AE%20https/title.avif&#34; alt=&#34;Featured image of post 利用群晖自带反代为网络服务配置 https&#34; /&gt;&lt;p&gt;群晖无论是商店的套件还是 Docker 都可以自行安装很多网络服务，有的比如 qbittorrent、Jellyfin 都是内置 https 配置选项的。那对于其他安装的服务应该如何配置 https 呢？在常规 Linux 系统上，一般通过 Nginx、Apache 解决，但群晖内置了基于 Nginx 的图形化反代工具，一切都变得非常简单。&lt;/p&gt;&#xA;&lt;p&gt;本篇文章就以 Aria2 的 WebUI 为例，介绍如何添加 https&lt;/p&gt;&#xA;&lt;h2 id=&#34;前期准备&#34;&gt;前期准备&#xA;&lt;/h2&gt;&lt;h3 id=&#34;域名&#34;&gt;域名&#xA;&lt;/h3&gt;&lt;p&gt;要确保你有一个域名访问服务，并绑定了你公网 IP，如果公网IP是变化的，请使用 DDNS。&lt;/p&gt;&#xA;&lt;h3 id=&#34;证书&#34;&gt;证书&#xA;&lt;/h3&gt;&lt;p&gt;你要申请一个与访问域名相匹配的证书，并已经配置好在 控制面板 - 安全性 - 证书 下。具体如何获取证书和装载证书，百度教程一大堆。&lt;/p&gt;&#xA;&lt;h3 id=&#34;端口&#34;&gt;端口&#xA;&lt;/h3&gt;&lt;p&gt;你还要明确你还想不想通过原来的端口访问服务，如果想，那就要改变原来服务的内网端口。因为来源主机地址的端口不能跟本地端口相同。如果是 Docker 还好办，把映射出来的本地端口改了就行。但如果是套件，控制面板 - Synology 应用程序门户 - 应用程序 里又没有端口设置，就只能更换访问端口了。&lt;/p&gt;&#xA;&lt;h2 id=&#34;配置过程&#34;&gt;配置过程&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;确认网络服务的本地端口，正如之前提到的，后面是不会通过这个端口访问的。Docker 这里的话，最好也别用默认端口 8080，因为默认 8080 端口的服务一大堆，这里随便填个比如 8000。至于上面的那个端口是其他作用，与本例无关，请忽略。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/01/%E5%88%A9%E7%94%A8%E7%BE%A4%E6%99%96%E8%87%AA%E5%B8%A6%E5%8F%8D%E4%BB%A3%E4%B8%BA%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AE%20https/1.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;打开 控制面板 - Synology 应用程序门户 - 反向代理服务器，点 新增&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/01/%E5%88%A9%E7%94%A8%E7%BE%A4%E6%99%96%E8%87%AA%E5%B8%A6%E5%8F%8D%E4%BB%A3%E4%B8%BA%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AE%20https/2.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;这里有一些内容需要填写，一项一项来&lt;/p&gt;&#xA;&lt;p&gt;描述 - 随便填一个名字&lt;/p&gt;&#xA;&lt;p&gt;来源协议 - HTTPS&lt;/p&gt;&#xA;&lt;p&gt;来源主机名 - 留空，默认为 *&lt;/p&gt;&#xA;&lt;p&gt;来源端口 - 这就是你想访问的那个端口，设置为你自己需要的&lt;/p&gt;&#xA;&lt;p&gt;启动 HSTS - 因为来源主机名没有指明，所以这里开不开没有用，就不开吧&lt;/p&gt;&#xA;&lt;p&gt;启用 HTTP/2 - 建议开启，对于带宽比较小的网络环境加载静态页面提升比较大&lt;/p&gt;&#xA;&lt;p&gt;启用访问控制 - 可以先不开，有需求自己研究下&lt;/p&gt;&#xA;&lt;p&gt;目的地协议 - HTTP&lt;/p&gt;&#xA;&lt;p&gt;目的地主机名 - localhost&lt;/p&gt;&#xA;&lt;p&gt;目的地端口 - 服务的本地端口，刚才设置的是 8000，这里就填 8000&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/01/%E5%88%A9%E7%94%A8%E7%BE%A4%E6%99%96%E8%87%AA%E5%B8%A6%E5%8F%8D%E4%BB%A3%E4%B8%BA%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AE%20https/3.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;路由器 NAT 设置一下，内网 8857 对公网的 8857&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;尝试通过 https://&amp;lt;子域名&amp;gt;:8857 访问，成功&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/01/%E5%88%A9%E7%94%A8%E7%BE%A4%E6%99%96%E8%87%AA%E5%B8%A6%E5%8F%8D%E4%BB%A3%E4%B8%BA%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AE%20https/4.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;如果收藏夹存了地址，并且端口没变，记得把原来的地址从 http 改成 https&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;延伸&#34;&gt;延伸&#xA;&lt;/h2&gt;&lt;p&gt;既然群晖配置反代如此简单，那是不是可以为运行在内网的其他机器上的服务配置呢，你可以自己去尝试一下&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>家有公网IP 利用frp远程无公网IP的电脑</title>
            <link>https://blog.mitsea.com/44d6d6d57def49979f7fb4af095ad1bc/</link>
            <pubDate>Sat, 11 Jan 2020 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/44d6d6d57def49979f7fb4af095ad1bc/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2020/01/%E5%AE%B6%E6%9C%89%E5%85%AC%E7%BD%91IP%20%E5%88%A9%E7%94%A8frp%E8%BF%9C%E7%A8%8B%E6%97%A0%E5%85%AC%E7%BD%91IP%E7%9A%84%E7%94%B5%E8%84%91/title.avif&#34; alt=&#34;Featured image of post 家有公网IP 利用frp远程无公网IP的电脑&#34; /&gt;&lt;p&gt;这里我原来真是蠢到家了，明明自己的宽带有公网 IP，还去找机房做 frp 服务器，明明本地就能解决。下面说下步骤吧&lt;/p&gt;&#xA;&lt;h2 id=&#34;在家中的网络搭建服务端&#34;&gt;在家中的网络搭建服务端&#xA;&lt;/h2&gt;&lt;p&gt;这边我建议是弄个常开的设备搭建服务，我这里是用的 NAS 里的 docker&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;搜索一下可以看到很多关于 frp 服务的镜像&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/01/%E5%AE%B6%E6%9C%89%E5%85%AC%E7%BD%91IP%20%E5%88%A9%E7%94%A8frp%E8%BF%9C%E7%A8%8B%E6%97%A0%E5%85%AC%E7%BD%91IP%E7%9A%84%E7%94%B5%E8%84%91/1.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;注意不要下载客户端，也就是那个 frpc，要下载服务端，frps，server&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;下载完后配置镜像，这里可能还是有人不会配置下载好的镜像哈，其实 docker 使用主要特点就是方便，所以并不困难。配置docker主要就是 目录、端口和环境变量。前两个讲究的是一一对应，比如 docker 内的目录对应的是外面的哪个目录，端口同理；而环境变量主要是要查询说明文档看看有什么变量可以修改的。下面来看下如何配置。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;首先先点击刚才查到的镜像右边的按钮，在 docker hub 中找到这个镜像说明&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://registry.hub.docker.com/r/cloverzrg/frps-docker&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Docker Hub&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;看下运行需要什么东西，首先看下运行命令&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt; docker run -d --name frp-server -p &amp;lt;HOST_PORT&amp;gt;:&amp;lt;CONTAINER_PORT&amp;gt; -v &amp;lt;ABSOLUTE_PATH&amp;gt;/conf:/conf --restart=always cloverzrg/frps-docker&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;然后可以看到下面还给了一个配置文件的示例，运行命令里也需要这个配置文件，路径为 /conf。&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt; # vi /root/conf/frps.ini&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;那基本就可以确定了，这个程序基于这个配置文件运行。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;然后我们要取得这个配置文件，就需要把这个路径从 docker 里面的路径，映射到外部我们方便编辑的路径&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/01/%E5%AE%B6%E6%9C%89%E5%85%AC%E7%BD%91IP%20%E5%88%A9%E7%94%A8frp%E8%BF%9C%E7%A8%8B%E6%97%A0%E5%85%AC%E7%BD%91IP%E7%9A%84%E7%94%B5%E8%84%91/2.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;左边就是实际存在的路径，这个随便写一个地方，好管理就行。右边就是 docker 里面的路径。也就是我们能在左边的路径里，看到右边路径里的文件，这样就很方便的编辑 docker 里面的文件了。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;继续看文档，文档一定要仔细看，发现配置文件里用到一些端口，最基本的就是这个&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt; [common]&#xA; bind_port = 7700&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;看起来我们要设置一个frp服务端口，他默认是 7700，可以改可以不改。因为之前说了，这是 docker 里面的端口，要映射出来才能用。如果需要自定义端口，只需要设置映射出来的端口就行。那我这里想自定义端口为 8851，就在 端口设置 里这样填写。然后，还要填写个你在客户端上可能用到的服务的端口，比如我要用 rdp ，转发端口是 8847。为什么要加这一条，后面会提到。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/01/%E5%AE%B6%E6%9C%89%E5%85%AC%E7%BD%91IP%20%E5%88%A9%E7%94%A8frp%E8%BF%9C%E7%A8%8B%E6%97%A0%E5%85%AC%E7%BD%91IP%E7%9A%84%E7%94%B5%E8%84%91/3.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;保存完毕后先别着急运行，先编辑下配置文件。进入到刚才映射出来的目录，发现甚至连预设文件都没给一个&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/01/%E5%AE%B6%E6%9C%89%E5%85%AC%E7%BD%91IP%20%E5%88%A9%E7%94%A8frp%E8%BF%9C%E7%A8%8B%E6%97%A0%E5%85%AC%E7%BD%91IP%E7%9A%84%E7%94%B5%E8%84%91/4.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;创建一个 frps.ini 文件，填写如下内容。因为这次功能要求不多，只要能转发就行。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/01/%E5%AE%B6%E6%9C%89%E5%85%AC%E7%BD%91IP%20%E5%88%A9%E7%94%A8frp%E8%BF%9C%E7%A8%8B%E6%97%A0%E5%85%AC%E7%BD%91IP%E7%9A%84%E7%94%B5%E8%84%91/5.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;你甚至连 token 都可以不写，不过我觉得不太安全&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;保存后，尝试运行镜像，看下 log，哎可以了&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/01/%E5%AE%B6%E6%9C%89%E5%85%AC%E7%BD%91IP%20%E5%88%A9%E7%94%A8frp%E8%BF%9C%E7%A8%8B%E6%97%A0%E5%85%AC%E7%BD%91IP%E7%9A%84%E7%94%B5%E8%84%91/6.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;在路由器设置-nat&#34;&gt;在路由器设置 NAT&#xA;&lt;/h2&gt;&lt;p&gt;要想使得无公网IP的电脑能连上你的 frp 服务，你需要映射你的服务端口到公网，这个用过公网 IP 服务的应该都熟悉了。我这边在路由器上就是这么设置的。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/01/%E5%AE%B6%E6%9C%89%E5%85%AC%E7%BD%91IP%20%E5%88%A9%E7%94%A8frp%E8%BF%9C%E7%A8%8B%E6%97%A0%E5%85%AC%E7%BD%91IP%E7%9A%84%E7%94%B5%E8%84%91/7.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;在无公网ip的电脑配置客户端&#34;&gt;在无公网IP的电脑配置客户端&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;从 frp 的 GitHub &lt;a class=&#34;link&#34; href=&#34;https://github.com/fatedier/frp/releases&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;release 页面&lt;/a&gt;下载 frp，无公网IP的电脑是 Windows，那就下载 frp_0.31.1_windows_amd64.zip&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;下载完后解压，然后我们用的是客户端，那就先编辑 frpc.ini 文件&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;基本也就用个远程访问，那就按照下面配置&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt; [common]&#xA; server_addr = &amp;lt;你家公网IP地址或者ddns域名&amp;gt;&#xA; server_port = &amp;lt;路由器中设置 NAT 转发出来的端口&amp;gt;&#xA; token = &amp;lt;刚才设置的密码&amp;gt;&#xA;&#xA; [rdp]&#xA; type = tcp&#xA; local_ip = 0.0.0.0&#xA; local_port = 3389 #这是 rdp 的默认端口&#xA; remote_port = 8847 #相当于 NAT，也就是你实际会访问的端口&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;注意这个 remote_port 就是为什么我刚才 docker 配置时说要再加一条&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;然后 cd 到 frp 的目录，输入  frpc.exe 运行&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/01/%E5%AE%B6%E6%9C%89%E5%85%AC%E7%BD%91IP%20%E5%88%A9%E7%94%A8frp%E8%BF%9C%E7%A8%8B%E6%97%A0%E5%85%AC%E7%BD%91IP%E7%9A%84%E7%94%B5%E8%84%91/8.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;可以看到运行成功&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;在家中电脑使用&#34;&gt;在家中电脑使用&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;打开远程桌面链接，搜索框中搜索 rdp 即可找到。&lt;/p&gt;&#xA;&lt;p&gt;计算机 填写 &amp;lt;服务端本地地址&amp;gt;:&amp;lt;刚才设置的 remote_port 端口&amp;gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/01/%E5%AE%B6%E6%9C%89%E5%85%AC%E7%BD%91IP%20%E5%88%A9%E7%94%A8frp%E8%BF%9C%E7%A8%8B%E6%97%A0%E5%85%AC%E7%BD%91IP%E7%9A%84%E7%94%B5%E8%84%91/9.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;成功远程&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/01/%E5%AE%B6%E6%9C%89%E5%85%AC%E7%BD%91IP%20%E5%88%A9%E7%94%A8frp%E8%BF%9C%E7%A8%8B%E6%97%A0%E5%85%AC%E7%BD%91IP%E7%9A%84%E7%94%B5%E8%84%91/10.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;在外使用&#34;&gt;在外使用&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在家里路由器上配置 NAT，转发那个 remote_port 端口&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2020/01/%E5%AE%B6%E6%9C%89%E5%85%AC%E7%BD%91IP%20%E5%88%A9%E7%94%A8frp%E8%BF%9C%E7%A8%8B%E6%97%A0%E5%85%AC%E7%BD%91IP%E7%9A%84%E7%94%B5%E8%84%91/11.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;然后就可以用 &amp;lt;公网IP地址或DDNS域名&amp;gt;:&amp;lt;remote_port 端口&amp;gt; 访问了&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;</description>
        </item><item>
            <title>借助宽带公网 IP 分发内网内容</title>
            <link>https://blog.mitsea.com/027af4dd9eba4315a0d3707178080d4c/</link>
            <pubDate>Thu, 10 Oct 2019 00:00:00 +0000</pubDate>
            <guid>https://blog.mitsea.com/027af4dd9eba4315a0d3707178080d4c/</guid>
            <description>&lt;img src=&#34;https://assets.flinty.moe/blog/posts/2019/10/%E5%80%9F%E5%8A%A9%E5%AE%BD%E5%B8%A6%E5%85%AC%E7%BD%91%20IP%20%E5%88%86%E5%8F%91%E5%86%85%E7%BD%91%E5%86%85%E5%AE%B9/title.avif&#34; alt=&#34;Featured image of post 借助宽带公网 IP 分发内网内容&#34; /&gt;&lt;p&gt;网上有不少将内网内容上到公网的方法，大多都是借助frp。不过随着宽带提供商对于公网IP的放宽，如果有公网IP就可以方便得解决这个问题。&lt;/p&gt;&#xA;&lt;h2 id=&#34;获取公网-ip&#34;&gt;获取公网 IP&#xA;&lt;/h2&gt;&lt;p&gt;打电话给宽带提供商，比如我这边的电信，告诉客服需要打开公网IP，一般客服就会给你打开&lt;/p&gt;&#xA;&lt;h2 id=&#34;启动项目&#34;&gt;启动项目&#xA;&lt;/h2&gt;&lt;p&gt;启动你需要的项目，我这里随便起一个网页端服务。但是端口选择要注意，常用端口一般会被屏蔽，包括 8080。比如我 8848 端口起了个 qbittorrent 服务&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2019/10/%E5%80%9F%E5%8A%A9%E5%AE%BD%E5%B8%A6%E5%85%AC%E7%BD%91%20IP%20%E5%88%86%E5%8F%91%E5%86%85%E7%BD%91%E5%86%85%E5%AE%B9/1.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;8849 端口起了个 jellyfin&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2019/10/%E5%80%9F%E5%8A%A9%E5%AE%BD%E5%B8%A6%E5%85%AC%E7%BD%91%20IP%20%E5%88%86%E5%8F%91%E5%86%85%E7%BD%91%E5%86%85%E5%AE%B9/2.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;路由器设置&#34;&gt;路由器设置&#xA;&lt;/h2&gt;&lt;p&gt;首先你要保证你是在路由器拨号上的网，而不是光猫上拨号，路由器通过DHCP分发网络。可以把网线直接插在光猫上，或者移动设备连接光猫的Wi-Fi（如果有），如果没有网络，则说明确实是通过路由器拨号。我的路由器里有两个可以上公网的方式，分别是 NAT 和 DMZ 功能。如果你的所有服务都在一个设备上，那 NAT 和 DMZ 都可以；如果所有服务分布在内网的不同设备上，就用 NAT 功能。当然，设置前，务必关闭路由器里的防火墙功能。&lt;/p&gt;&#xA;&lt;h3 id=&#34;nat-服务&#34;&gt;NAT 服务&#xA;&lt;/h3&gt;&lt;p&gt;进入路由器的 NAT 服务功能&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2019/10/%E5%80%9F%E5%8A%A9%E5%AE%BD%E5%B8%A6%E5%85%AC%E7%BD%91%20IP%20%E5%88%86%E5%8F%91%E5%86%85%E7%BD%91%E5%86%85%E5%AE%B9/3.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;端口映射里，ip选择你启动项目的设备内网IP，内外端口都填你设定的端口&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2019/10/%E5%80%9F%E5%8A%A9%E5%AE%BD%E5%B8%A6%E5%85%AC%E7%BD%91%20IP%20%E5%88%86%E5%8F%91%E5%86%85%E7%BD%91%E5%86%85%E5%AE%B9/4.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;端口触发里设置类似&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2019/10/%E5%80%9F%E5%8A%A9%E5%AE%BD%E5%B8%A6%E5%85%AC%E7%BD%91%20IP%20%E5%88%86%E5%8F%91%E5%86%85%E7%BD%91%E5%86%85%E5%AE%B9/5.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;如果没什么问题了，公网访问你的IP跟上端口号即可访问。如果还有别的服务和设备，就多添加几条。&lt;/p&gt;&#xA;&lt;h3 id=&#34;dmz-主机&#34;&gt;DMZ 主机&#xA;&lt;/h3&gt;&lt;p&gt;填写运行项目的主机内网IP地址即可&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2019/10/%E5%80%9F%E5%8A%A9%E5%AE%BD%E5%B8%A6%E5%85%AC%E7%BD%91%20IP%20%E5%88%86%E5%8F%91%E5%86%85%E7%BD%91%E5%86%85%E5%AE%B9/6.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;配置-ddns&#34;&gt;配置 DDNS&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在 he 官网注册账号 &lt;a class=&#34;link&#34; href=&#34;https://dns.he.net/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://dns.he.net/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;注册完毕后，在 &lt;a class=&#34;link&#34; href=&#34;https://dns.he.net/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://dns.he.net&lt;/a&gt; 这里设置 DNS，他会给你几个 he 的 NS 地址，把这个填到你现在的 NS 服务里解析（需要 NS 服务商支持 NS 记录）&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2019/10/%E5%80%9F%E5%8A%A9%E5%AE%BD%E5%B8%A6%E5%85%AC%E7%BD%91%20IP%20%E5%88%86%E5%8F%91%E5%86%85%E7%BD%91%E5%86%85%E5%AE%B9/7.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在 he 的 DNS 设置里添加这个子域名&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2019/10/%E5%80%9F%E5%8A%A9%E5%AE%BD%E5%B8%A6%E5%85%AC%E7%BD%91%20IP%20%E5%88%86%E5%8F%91%E5%86%85%E7%BD%91%E5%86%85%E5%AE%B9/8.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;点击 Edit Zone 查看记录&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2019/10/%E5%80%9F%E5%8A%A9%E5%AE%BD%E5%B8%A6%E5%85%AC%E7%BD%91%20IP%20%E5%88%86%E5%8F%91%E5%86%85%E7%BD%91%E5%86%85%E5%AE%B9/9.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;为了避免麻烦，先把默认的几条记录的 TTL 改成五分钟，300秒&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2019/10/%E5%80%9F%E5%8A%A9%E5%AE%BD%E5%B8%A6%E5%85%AC%E7%BD%91%20IP%20%E5%88%86%E5%8F%91%E5%86%85%E7%BD%91%E5%86%85%E5%AE%B9/10.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;新建一个 A 记录。Name 就填用于 ddns 的域名；IP 地址随便填写一个，这样如果到时还能正确访问自己的公网地址，就说明 ddns 成功生效了；TTL 选择 5 分钟；下面的 Enable entry for dynamic dns 一定要勾选上&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2019/10/%E5%80%9F%E5%8A%A9%E5%AE%BD%E5%B8%A6%E5%85%AC%E7%BD%91%20IP%20%E5%88%86%E5%8F%91%E5%86%85%E7%BD%91%E5%86%85%E5%AE%B9/11.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;点击这个图标，生成一个 DDNS Key&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2019/10/%E5%80%9F%E5%8A%A9%E5%AE%BD%E5%B8%A6%E5%85%AC%E7%BD%91%20IP%20%E5%88%86%E5%8F%91%E5%86%85%E7%BD%91%E5%86%85%E5%AE%B9/12.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;可以随机生成一个&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2019/10/%E5%80%9F%E5%8A%A9%E5%AE%BD%E5%B8%A6%E5%85%AC%E7%BD%91%20IP%20%E5%88%86%E5%8F%91%E5%86%85%E7%BD%91%E5%86%85%E5%AE%B9/13.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在设备后台运行下面的命令设置 DDNS，注意修改下域名和密码&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt; curl -4 &amp;quot;https://xxx.xxx.xxx:password@dyn.dns.he.net/nic/update?hostname=xxx.xxx.xxx&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;提示 good 即为成功，此时，访问 域名+端口 即可访问页面&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://assets.flinty.moe/blog/posts/2019/10/%E5%80%9F%E5%8A%A9%E5%AE%BD%E5%B8%A6%E5%85%AC%E7%BD%91%20IP%20%E5%88%86%E5%8F%91%E5%86%85%E7%BD%91%E5%86%85%E5%AE%B9/14.avif&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;现在需要创建一个计划任务让设备几分钟就执行下这句话。但由于群晖不能直接通过 crontab 命令创建任务。首先需要切换到 root 账户，然后编辑计划任务的文件&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;root@DS918Plus:~# vim /etc/crontab&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;新建一条计划任务&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;#minute    hour    mday    month   wday    who    command&#xA;5    *    *    *    *    root curl -4 &amp;quot;[https://ddns.flinty.moe:4CBbvDalUOfxvXr0@dyn.dns.he.net/nic/update?hostname=ddns.flinty.moe](https://ddns.flinty.moe:4CBbvDalUOfxvXr0@dyn.dns.he.net/nic/update?hostname=ddns.flinty.moe)&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;修改后，重启服务&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;root@DS918Plus:~# synoservice -restart crond&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;此时，在外网访问 ddns 域名+端口号即可访问服务页面。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;</description>
        </item></channel>
</rss>
