分享一下 Mac mini 和 NAS 搭配使用的折腾记录 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ahdw
V2EX    Mac mini

分享一下 Mac mini 和 NAS 搭配使用的折腾记录

  •  
  •   ahdw 23 天前 897 次点击

    背景

    NAS 是双盘位的低功耗 ARM 芯片千兆网机型,1.4 GHz ,只有 1 GB RAM 。Mac mini 就是丐版的 M4 Mac mini ,16 GB RAM ,千兆网口,256 GB SSD 。家里是千兆局域网环境,iperf3 测速能跑到 800-900 Mbps 。

    问题描述

    之前在 NAS 上用 Docker 跑 Transmission ,下载 2-3 个种子 UI就会卡死,而且下载速度远远达不到家里宽带的上限( 500 Mbps )。

    折腾方案

    现在的做法是,所有的文件依然保留在 NAS ,但是把 Transmission 跑在 Mac mini 上。写了个小脚本,用 transmissionrpc 把种子重新添加到新的 Transmission ,并指定文件路径、校验本地数据,继续做种。

    有一块闲置的 500 GB NVMe M.2 SSD ,搞了个 USB 3.1 Gen 2 的硬盘盒,插在 Mac mini 上。Transmission 直接下载到这块 SSD 上,5 个热门种子同时下载,跑满了家宽下行( 69 MB/s ),UI 不卡,也不影响用 Mac mini 干别的事(废话!)。

    在 transmission 的 settings.json 里面启用 script-torrent-done-enabled 并且在 script-torrent-done-filename 指定了用 python 写的一个脚本:

    1. 用 Bark 推送消息到 iPhone ,包含种子名字、大小、平均下载速度 2. 识别当前种子路径,如果是 SSD Cache 目录,就往 RabbitMQ 发送一个 rsync 任务 3. 等待 rsync 完成,发送通知,包含文件大小、等待时间、同步时间 4. 更新种子路径到 NAS ,并校验本地数据,确保继续做种 5. 根据类别和文件名(只考虑视频文件)在对应目录创建硬链接,并发送通知 

    之所以用 RabbitMQ ,是为了确保多个种子先后完成的时候,往 NAS 同步是串行写入,避免并行写入降速。毕竟 NAS 的 CPU 和 HDD I/O 都是瓶颈。

    刮削还是 TinyMediaPlayer 好用,但是需要手工操作。为了能远程使用,是在 Mac mini 上用 Docker 跑的。刮削涉及小文件读写,所以 NAS 不用 SMB ,而是用 NFS 挂载在 Mac mini 上的。这样做也方便统一 Transmission 和 TMM 的 PUID 以及 PGID ,防止权限混乱。

    Jellyfin 是跑在 Mac mini 上的,刮削完几乎立即就能识别到媒体库,而且在不同设备上播放的时候,在 Mac mini 上能实时转码太爽了。

    最后

    Mac mini 搭配 NAS 使用,前者能为后者提供超强算力(硬件解码等等),后者能为前者提供超大容量存储。折腾一番,心满意足。

    分享给大家。

    2 条回复    2025-09-16 15:11:13 +08:00
    stinkytofux
        1
    stinkytofux  
       23 天前
    闲的蛋疼, 你这方案既复杂又不方便. 又没有发挥 NAS 的作用, 直接用 NAS 开一个 SMB 或者 NFS 共享, 文件直接下载到 nas 上不就行了. 下载和做种工具建议用 docker 装 qBittorrent.

    如果你的 NAS CPU 连 SMB 这种协议都跑不满的话, 还不如直接扔掉算了.
    ahdw
        2
    ahdw  
    OP
       23 天前
    @stinkytofux 不管是 SMB 还是 NFS ,NAS 上都有协议开销+局域网传输+HDD I/O 太慢,试过直接下载到 NAS ,速度上不去。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1938 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 16:12 PVG 00:12 LAX 09:12 JFK 12:12
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86