<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>运维 on 远思码技术实验室</title><link>https://yuansima.com/categories/%E8%BF%90%E7%BB%B4/</link><description>Recent content in 运维 on 远思码技术实验室</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Sun, 15 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://yuansima.com/categories/%E8%BF%90%E7%BB%B4/index.xml" rel="self" type="application/rss+xml"/><item><title>小主机大作为：Minisforum N5 Pro 打造 PVE + TrueNAS All-in-One 家庭数据中心</title><link>https://yuansima.com/p/minisforum-pve-truenas/</link><pubDate>Sun, 15 Feb 2026 00:00:00 +0000</pubDate><guid>https://yuansima.com/p/minisforum-pve-truenas/</guid><description>&lt;h2 id="为什么选择-all-in-one"&gt;为什么选择 All-in-One？
&lt;/h2&gt;&lt;p&gt;作为一名量化交易者和开发者，我对家庭数据中心的需求非常明确：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;高性能计算&lt;/strong&gt;：需要运行 DolphinDB 和 Python 策略容器。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;大容量存储&lt;/strong&gt;：海量的 Tick 数据和训练集需要可靠的 ZFS 存储。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;低功耗&lt;/strong&gt;：7x24 小时运行，电费敏感。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Minisforum N5 Pro&lt;/strong&gt; 凭借其优秀的能效比和扩展性（双 2.5G 网口 + 多盘位支持），成为了我构建 &lt;strong&gt;Proxmox VE (PVE)&lt;/strong&gt; 底层 + &lt;strong&gt;TrueNAS Scale&lt;/strong&gt; 存储层的最佳载体。&lt;/p&gt;
&lt;h2 id="架构设计"&gt;架构设计
&lt;/h2&gt;&lt;p&gt;我的 All-in-One (AIO) 架构如下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;底层系统 (Host)&lt;/strong&gt;: Proxmox VE 8.x&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;核心虚拟机 (VM1)&lt;/strong&gt;: TrueNAS Scale (直通 SATA 控制器，管理所有机械硬盘)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;应用虚拟机 (VM2)&lt;/strong&gt;: Ubuntu Server (跑 Docker, ClickHouse, JupyterLab)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;网络&lt;/strong&gt;: OpenWrt (旁路由模式，可选)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="核心步骤记录"&gt;核心步骤记录
&lt;/h2&gt;&lt;h3 id="1-基础环境安装-pve"&gt;1. 基础环境：安装 PVE
&lt;/h3&gt;&lt;p&gt;这步比较常规，下载 PVE ISO 写入 U 盘启动即可。
&lt;strong&gt;注意点&lt;/strong&gt;：
建议将 PVE 安装在独立的 NVMe SSD 上，不要占用 SATA 接口，把 SATA 通道全部留给 TrueNAS。&lt;/p&gt;
&lt;h3 id="2-关键难点sata-控制器直通-pcie-passthrough"&gt;2. 关键难点：SATA 控制器直通 (PCIe Passthrough)
&lt;/h3&gt;&lt;p&gt;为了让 TrueNAS 能够完全掌控硬盘（实现 SMART 监控和硬盘休眠），必须将 SATA 控制器透传给虚拟机，而不是通过虚拟磁盘映射。&lt;/p&gt;
&lt;p&gt;首先，在 PVE 的 Shell 中开启 IOMMU：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nano /etc/default/grub
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 修改 GRUB_CMDLINE_LINUX_DEFAULT 如下&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;GRUB_CMDLINE_LINUX_DEFAULT&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;quiet intel_iommu=on&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 更新 Grub&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;update-grub
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;reboot
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mastering-systemd
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;重启后，在PVE界面创建一个新的虚拟机
(TrueNAS)，在“硬件”选项卡中添加PCI设
备。选择对应的SATA Controller（通常是ASM1166或Intel原生控制器）。
远思提示：如果勾选”所有功能(All
Functions)”导致虚拟机无法启动，请尝试取消勾选、或者检查是否与PVE的系统盘冲突。
3.TrueNAS Scale 配置
TrueNAS启动后，应该能直接识别到所有物理硬盘。
·存储池(Pool)：我组建了一个RAID-Z1池，
兼顾冗余和容量。
·网络共享：开启NFS和SMB。
·数据集(Dataset)：
· /mnt/data/quant （存放CSV/
Parquet原始数据）
·/mnt/data/docker_vol
4.内部万兆互联(VirtlO)
为了让PVE里的Ubuntu虚拟机能以极快速度访问TrueNAS里的数据，我们不需要走物理网线。
在TrueNAS和Ubuntu的网卡设置中，确保模型都选择VirtIO(paravirtualized)。在PVE内部，通过Linux Bridge (vmbrO)，这两台虚拟机之间的通信速度仅受CPU和内存带宽限制，实测可以轻松跑满10Gbps+，这对于加载几百GB的训练数据至关重要。
避坑指南
1.内存分配：ZFS非常吃内存(ARC缓
存)。我的N5Pro插了32GB内存，分了16GB给TrueNAS，保证读取命中率。
2.引导顺序：在PVE的”选项”中，设置
TrueNAS为“开机自启”、并设置30秒的启动延迟给其他依赖存储的虚拟机。
结语
经过一周的压力测试，这套Minisforum N5
Pro + PVE + TrueNAS的组合运行极其稳定。
它不仅是我代码的仓库，更是我量化模型的“核动力“数据底座。&lt;/p&gt;</description></item><item><title>拥抱红队：Docker 下 PyTorch ROCm 深度学习环境避坑指南</title><link>https://yuansima.com/p/pytorch-rocm-setup/</link><pubDate>Sun, 15 Feb 2026 00:00:00 +0000</pubDate><guid>https://yuansima.com/p/pytorch-rocm-setup/</guid><description>&lt;p&gt;众所周知，深度学习领域长期被 CUDA 统治。但随着 AMD ROCm 平台的成熟，以及性价比的诱惑，越来越多的炼丹师开始尝试“红队”方案。&lt;/p&gt;
&lt;p&gt;作为远思技术实验室的基础设施之一，我在配置 &lt;strong&gt;PyTorch + ROCm&lt;/strong&gt; 环境时遇到了不少坑，特此记录，希望能帮到后来人。&lt;/p&gt;
&lt;h2 id="为什么选择-docker"&gt;为什么选择 Docker？
&lt;/h2&gt;&lt;p&gt;直接在宿主机（Host）上安装 ROCm 驱动和编译器极易导致依赖地狱（Dependency Hell）。使用 Docker 可以将环境隔离，随时回滚，是最佳实践。&lt;/p&gt;
&lt;h2 id="核心步骤"&gt;核心步骤
&lt;/h2&gt;&lt;h3 id="1-基础镜像选择"&gt;1. 基础镜像选择
&lt;/h3&gt;&lt;p&gt;不要尝试自己从 scratch 构建，直接拉取 AMD 官方提供的 PyTorch 镜像：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker pull rocm/pytorch:latest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item></channel></rss>