TrueNAS 25.10 存储池与共享服务配置详解

TrueNAS 25.10 存储池与共享服务配置详解:官方文档溯源的建池向导(RAIDZ/dRAID 分界与命名规则)、数据集四预设 ACL 对照、Sync/压缩/配额/去重官方建议、SMB 共享 Purpose 类型与用户前置、NFS 授权与协议边界、两条官方红线(禁共享池根、zvol 命名)与关键配置速查表;全部标注官方来源(查询日期 2026-10-25),未做本机配置实测。

TrueNASTrueNAS存储2026/10/25

TrueNAS 25.10 存储池与共享服务配置详解

目标:基于官方文档溯源(25.10 分册 Storage/Shares/Datasets 教程:Create Pool、Adding and Managing Datasets、Windows Shares (SMB)、Adding NFS Shares、Shares 总览)系统讲解 TrueNAS 25.10 的 ZFS 存储池创建、数据集规划、SMB/NFS 共享配置与权限模型;本篇为纯官方文档溯源篇,未做本机实测,所有界面字段与默认值均摘自官方文档并标注来源,查询日期 2026-10-25。

一、环境信息(信息基准)

1.1 查询说明

  • 查询日期:2026-10-25。
  • 信息获取方式:纯官方资料溯源(truenas.com 官方文档中心 25.10 分册),不做本机配置实测;文内全部界面路径、字段名、默认值与官方警告均逐处标注官方文档来源。
  • 适用版本:TrueNAS 25.10 线(推荐 25.10.7,2026-09-02 发行);个别特性标注了引入版本(如 Final Cut Pro Storage Share 需 25.10.1+)。

1.2 官方来源清单

来源地址
Create Pool(建池向导,2026-02-12 修订)https://www.truenas.com/docs/scale/25.10/scaletutorials/storage/createpoolwizard/
Adding and Managing Datasets(数据集)https://www.truenas.com/docs/scale/25.10/scaletutorials/datasets/datasetsscale/
Windows Shares (SMB)(2026-05-26 修订)https://www.truenas.com/docs/scale/25.10/scaletutorials/shares/smb/
Adding NFS Shares(2025-10-27 修订)https://www.truenas.com/docs/scale/25.10/scaletutorials/shares/addingnfsshares/
Shares 总览(协议体系与官方警告)https://www.truenas.com/docs/scale/25.10/scaletutorials/shares/
ZFS Primer(官方 ZFS 参考)https://www.truenas.com/docs/references/zfsprimer/
dRAID Primer(官方 dRAID 参考)https://www.truenas.com/docs/references/draidprimer/

二、前置条件与配置总览

2.1 前置条件

  • 已按本专栏《TrueNAS 25.10 安装规划与硬件选型指南》(https://www.quzuo.net/document/Vvlw5Fcqp5SF )完成系统安装、网络初始化,可登录 Web 管理界面。
  • 已备好作为数据池的磁盘(官方最低要求:两块同容量盘),且引导盘与数据盘物理分离。
  • 管理员账号可用(安装时创建的 truenas_admin,或具备 Full Admin 角色);TrueNAS 管理角色分 Sharing Admin(可建共享/数据集、改 ACL、重启共享服务)与 Full Admin(全量权限),Sharing Admin 不能管理用户或授予他人角色(官方 SMB 文档「Sharing Administrator Access」节)。

2.2 配置动线总览

官方推荐的配置顺序(官方 Datasets 文档原文:「建议先组织好池内数据集再配置共享」):

Storage(建池 Create Pool)
   └─ Datasets(数据集规划:预设类型/压缩/配额/权限)
        ├─ Shares:Windows SMB / Unix NFS / Block iSCSI
        ├─ Apps(应用数据集)
        └─ Data Protection(快照/复制,见本专栏运维篇)

2.3 两条官方红线(建共享前必读)

  • 禁止把池根数据集(pool-level dataset)直接建成共享:必须先在池下新建子数据集再用它建共享,否则「导致存储配置问题」(官方 Shares 总览/SMB/NFS 三篇文档的置顶警告原文)。
  • zvol 命名禁止大写字母与空格:官方 Shares 总览明确——给 iSCSI、NFS 共享用的 zvol 若含大写或空格会引发问题与故障。

三、创建存储池(Pool Creation Wizard)

3.1 布局选型(官方口径)

官方 Create Pool 文档对两种「分布式校验」布局给出明确分界:

布局适用场景(官方原文口径)
RAIDZ1/2/3通用场景首选,尤其数据 vdev 数量 <10、以及以小数据块为主的存储;官方建议「一般默认选 RAIDz,凡 dRAID 数据设备不足 10 块时强烈建议改用 RAIDZ」
dRAID1/2/3特定场景:大盘数(>100 块)阵列、因故障率上升需要更短 resilver(重建)时间、且以大数据块为主
Stripe每盘顺序独立使用,零冗余;单盘故障即不可逆丢失该 vdev 全部数据,官方「不推荐用于存关键数据」
Mirror每盘互为完整副本,至少 2 盘,容量=单盘容量;随机读性能与重建速度最优

数字后缀 1/2/3 表示校验盘数与可容忍故障盘数(如 RAIDZ2 预留 2 块校验、可坏 2 块盘)。

  • dRAID 细节:默认每个 dRAID vdev 最少分配 10 盘(Children);分布式热备(Distributed Hot Spares)官方建议至少设 1,且建池后不可修改;数据设备(Data Devices)数建议取 2 的倍数。
  • 决策辅助:官方提供 ZFS Primer、dRAID Primer、ZFS Capacity Calculator(https://www.truenas.com/docs/references/zfscapacitycalculator/ )与 ZFS Capacity Graph 帮助比较方案。

💡 技术拓展:RAIDZ 与 dRAID 的本质差异——RAIDZ 沿用传统 RAID5/6 思路把校验分散在 vdev 内,重建时必须读全 vdev 所有盘,盘多则重建窗口长;dRAID 把数据与校验预组织成固定宽度的冗余组,重建时全池所有盘并行参与,专治百盘级阵列的重建耗时。代价是 dRAID 配置约束多(数据设备宽度、热备不可改)且小阵列容量/性能利用率低于 RAIDZ——这就是官方把 10 块数据设备设为分界线的原因。

3.2 向导步骤(官方流程转述)

  1. Storage 页点击 Create Pool 打开 Pool Creation Wizard。
  2. 命名:最多 50 个小写字母数字字符,仅限 ZFS 命名约定允许的特殊字符(官方引用 Oracle ZFS 命名规范);池名创建后不可改,且池名长度会占用数据集名的最大字符额度。
  3. 数据 VDEV:
    • 自动选盘(Automated Disk Selection):按 Disk Size(GiB+SSD/HDD 类型)、Treat Disk Size as Minimum(是否允许更大盘)、Width(每组盘数)、Number of VDEVs 生成;dRAID 额外有 Data Devices / Distributed Hot Spares / Children 字段,且取消手动选盘按钮。
    • 手动选盘(Manual Disk Selection):普通布局可在 Advanced Options 里逐盘指定。
    • 可 Next 继续加日志/缓存/热备等可选 VDEV,或直接 Save And Go To Review。
  4. Review → Create Pool 落地。
  5. Enterprise 多扩展柜系统可选 Enclosure 离散策略(不过 / 最大离散 / 限定单柜),社区版无此环节。

3.3 加密的最佳实践(官方原文)

官方 Create Pool 文档明确建议:

四、数据集配置详解

4.1 四种数据集预设(Dataset Preset)

Datasets 页选中池/父数据集后点 Add Dataset,官方文档给出的预设对照表(原文表格,逐项照录):

预设ACL TypeACL ModeCase SensitivityEnable atime用途
GenericPOSIXn/aSensitiveInherit非 SMB 数据集:iSCSI、NFS、虚拟机及与应用无关的数据集
SMBNFSv4RestrictedInsensitiveInheritSMB 共享优化
AppsNFSv4PassthroughSensitiveOff应用数据存储优化(额外授予 568 组 Apps 修改权)
MultiprotocolNFSv4PassthroughSensitiveOffSMB+NFS 双协议共享或纯 NFS 共享
  • 默认 ACL 计算:SMB/Apps/Multiprotocol 无可继承 ACL 时,系统自动生成——owner@、group@、builtin_administrators 组及域管理员获完全控制,builtin_users 其余成员与域用户获修改权(官方原文)。
  • 访问式枚举:NFSv4 ACL 类型数据集在 SMB 客户端上自动启用 access-based enumeration——目录列表只显示客户端有读权限的条目(默认行为,官方注明与 FreeBSD 行为一致)。
  • 不可回改项:Name、Dataset Preset、Case Sensitivity 三项保存后不可修改(官方 Dataset 文档两次强调,务必保存前核对)。
  • 建池部署应用时系统自动创建 ix-apps 数据集承载应用存储,官方建议应用数据另建数据集(选 Apps 预设),先建数据集再部署应用。

4.2 同步策略(Sync)

官方 Dataset 文档对 Advanced Options 的 Sync 给出生产建议原文:关键数据的生产系统用默认 Standard 或提高到 Always;只有能接受断电/崩溃丢数据的场景才允许 Disabled。

4.3 压缩算法选型

官方列出的 Compression Level 选项与官方评价:

算法官方口径
LZ4性能最大化、动态识别可压缩文件,企业客户首选档
ZSTD压缩率高度可配、解码极快
Gzip压缩率最高但 CPU 影响最大,高级别慎用
ZLE只压缩连续零段,普通数据原样保留
LZJBZFS 初代算法,已弃用(LZ4 压缩快约 50%、不可压数据快三倍以上)

4.4 配额与预留

  • Quota for this dataset / for this dataset and all children:设定数据集最大可用空间,填 0 为不限。
  • 配额告警:按百分比设置 Quota warning alert at, % 与 Quota critical alert at, %(可清除 Inherit 单独覆写父级)。
  • 预留空间(Reserved space):为日志类数据集预留额度防止吃满,0 为不限。

4.5 去重(Deduplication)注意

官方在 UI 弹窗即警告「去重是实验性且非完全支持的功能」,且最佳实践是建数据集时就开启——对既有数据集后补开启只对之后写入的数据生效。无专用 dedup/special VDEV 的池会把去重表(DDT)落在普通 VDEV 上。

💡 技术拓展:ZFS 的权限模型有两套——POSIX ACL(传统 Unix 位/ACL,Generic 预设所用)与 NFSv4 ACL(细粒度 allow/deny 条目 + 继承标志,SMB/Apps/Multiprotocol 所用)。选型口诀:纯 Linux/NFS 消费选 POSIX;要跟 Windows 权限语义、SMB 精细授权打交道选 NFSv4;SMB 数据集配 Case Insensitive 大小写不敏感正是为了对齐 Windows 文件名语义,这也是它保存后不可改的原因——改大小写敏感度等于换文件系统语义。

五、SMB 共享配置

5.1 用户与认证前置

  • TrueNAS 必须已加入 Active Directory 或至少有一个本地 SMB 用户才能建 SMB 共享;建用户时勾选 SMB Access(Samba Authentication)。
  • root 与内置账号不能访问 SMB 共享,未启用 Samba Authentication 的账号同样不行(官方原文)。
  • 新用户默认加入内置组 builtin_users,可按组授权;大型环境官方建议 AD 或至少做账号同步。
  • 匿名/guest 访问:技术上可行,官方不推荐——guest 会话无法做签名与加密,主流客户端厂商正在弃用 guest。
  • LDAP Samba Schema 自 22.02 弃用、24.10 起移除;legacy Samba 域需先迁 AD(官方口径)。
  • SMB1(NT1)行业性弃用;自 22.12 起,厂商标记 EOL/EOS 的 SMB 客户端操作系统不再支持连接(官方 SMB 文档原文)。

5.2 创建基本 SMB 共享(官方流程转述)

  1. Credentials > Users 建好 SMB 用户(勾 SMB Access)。
  2. Shares 页 Windows Shares (SMB) 卡片点 Add 打开 Add Share 屏。
  3. Path:浏览选择父数据集(再次强调:不能选池根);可在此屏直接 Create Dataset 建共享专用数据集——数据集名即共享名。
  4. 路径与命名约束:共享路径在 SMB tree connect 时构成路径名,必须 ≤80 字符,禁用 Microsoft MS-FSCC 2.1.6 非法字符。
  5. Purpose(用途预设,锁定对应 Advanced Options):Default Share(基础共享,默认勾选 Browsable to Network Clients)/ Private Datasets Share(替代传统 home share)/ Multi-protocol Share(NFSv4+SMB 双协议;官方注明会关闭部分 SMB 特性换互操作安全,可能降低 SMB 性能)/ Time Machine Share(macOS 备份目标)/ Final Cut Pro Storage Share(25.10.1+,Apple 字符编码 + SMB2/3 Apple 扩展)。
  6. 保存后调数据集 ACL 权限(官方流程第 3 步),再启动 SMB 服务(首个共享保存时系统弹启用服务对话框),最后从客户端挂载验证。
  • 服务发现:macOS 走 mDNS(TrueNAS 默认启用 avahi),Windows 走 WS-Discovery——广播发现只是便利特性,直连 IP 不依赖它(官方说明)。

5.3 进阶形态索引(官方专文)

形态官方文档
管理既有共享与 ACL/shares/smb/managesmbshares/
Time Machine 基础共享/shares/smb/setupbasictimemachinesmbshare/
Final Cut Pro 优化共享/shares/smb/fcpshare/
SMB 影子副本(Windows 前一版本)/shares/smb/addsmbshadowcopies/
Private Datasets Share(替代 home shares)/shares/smb/smbprivatedatasetshare/
SMB Multichannel/shares/smb/smbmultichannel/
macOS 分解 Unicode 字符限制/shares/smb/smbusingdecomposedunicode/

六、NFS 共享配置

6.1 协议行为要点(官方口径)

  • 一个数据集=一个文件系统:NFS 共享指向的数据集即客户端访问的根;若共享父数据集,客户端无法访问其下嵌套的子数据集——需要包含子数据集的共享请改用 SMB(Windows NFS 客户端目前仅支持 NFSv2/v3)。
  • UDP 已弃用且不支持:Linux 内核默认禁用;现代千兆以上网络高负载时 UDP 分片可致数据损坏(官方原文警告)。

6.2 创建 NFS 共享(官方流程转述)

  1. Shares 页 Unix (NFS) Shares 卡片点 Add。
  2. Path 浏览定位数据集(或直接 Create Dataset,数据集名即共享名);填 Description。
  3. Networks/Hosts 授权:Add Networks 按 CIDR 加授权网段、Add Hosts 按主机名/IP 加授权主机——一旦定义即「白名单制」,未列出的网段/主机全部拒绝;留空则全网放行(官方原文逻辑)。
  4. Advanced Options 细化访问:Read-Only(只读);Maproot User/Group(把客户端 root 映射为指定用户/组)、Mapall User/Group(把所有客户端映射为指定身份);Security 选型(KRB5 等 Kerberos 体系或按 ID 认证)。
  5. Save 后系统弹 Enable Service 对话框启用 NFS 服务(可 Cancel 稍后启用),工具栏状态变为 Running。

七、块共享与应用数据集规划

7.1 iSCSI(块共享)要点

  • 官方 Shares 总览与 iSCSI 专章(/shares/iscsi/)覆盖手动建 Target 或走向导、Linux/Windows 客户端接入、zvol/文件 LUN 扩容、Fibre Channel 等场景。
  • 给 iSCSI/NFS 用的 zvol 命名禁止大写与空格(官方红线,见 2.3 节)。
  • iSCSI 共享数据集建议用 Generic 预设(POSIX ACL,见 4.1 表)。

7.2 应用数据集规划

  • 系统为应用自动建 ix-apps 数据集(承载应用存储),官方建议应用数据按应用另建数据集、先建后部署。
  • Apps 预设细节:NFSv4 ACL + Passthrough + 大小写敏感 + atime 关闭 + 568(Apps)组修改权——这一组参数组合是官方为应用负载调好的形态,无特殊理由不要改动。

八、关键配置速查表

配置项官方默认/建议出处
池名≤50 小写字母数字,ZFS 命名约定,建后不可改Create Pool
建池加密池不加密 + 数据集级加密(官方最佳实践)Create Pool
dRAID 适用>100 盘 + 大数据块;数据设备 <10 用 RAIDZCreate Pool
共享数据集禁止用池根数据集建共享Shares/SMB/NFS 置顶警告
Dataset 预设Generic/SMB/Apps/Multiprotocol(ACL 表见 4.1)Datasets
保存后不可改Name、Dataset Preset、Case SensitivityDatasets
Sync生产关键数据 Standard 或 Always;Disabled 仅限可丢数据场景Datasets
压缩LZ4 性能首选;ZSTD 高配比;Gzip 慎用;LZJB 已弃用Datasets
去重实验性功能;建集即开最佳;DDT 落普通 VDEV 需专用 vdev 兜底Datasets
SMB 用户需勾 SMB Access;root/内置账号不可用;guest 不推荐SMB
SMB 共享路径≤80 字符,MS-FSCC 2.1.6 合法字符SMB
NFS 授权Networks(CIDR)/Hosts 白名单,定义即排他NFS
NFS 协议UDP 弃用禁用;父数据集共享不暴露子数据集NFS
zvol 命名禁大写字母与空格Shares 总览

九、常见问题(FAQ)

Q1:为什么不能直接共享整个池? 官方两段口径:一是用根数据集建共享会「导致存储配置问题」(置顶警告);二是共享整池会让后续收权变难(SMB 文档 best practice 原文:用数据集而非整池做共享)。正确姿势:池 → 子数据集 → 共享。

Q2:SMB 建好了但服务起不来? 官方排查口径:SMB 共享配置未生效或处于错误状态、AD 无法绑定都会导致 SMB 服务无法启动——先确认 AD 连接正常无错(SMB 文档 How do I add an SMB Share 前置提示)。

Q3:数据集预设选错了能改吗? 不能。Name、Dataset Preset、Case Sensitivity 保存后均不可修改,只能删掉重建(数据先迁出)。

Q4:NFS 客户端看不到子数据集? 这是协议行为不是故障:NFS 数据集=独立文件系统,父数据集共享不暴露嵌套子数据集;需要子目录形态的共享改用 SMB 或按子数据集逐个建 NFS 共享。

Q5:SMB 匿名访问为什么被劝退? 官方理由:guest 会话无法签名与加密、客户端厂商正在弃用、多管理员系统风险放大。家庭内网确需免密访问时,也应了解这是官方明确不推荐项。

Q6:要不要开去重? 官方在 UI 直接弹警告:实验性、非完全支持。通用文件服务不建议;确有高冗余度数据集需求时按官方路径在专用 vdev 上承载 DDT,并接受其内存与复杂度成本。

Q7:加密应该在池级还是数据集级? 官方最佳实践明确:池级加密是单点故障(丢一把密钥全池不可访问),应在建池时不加密、之后按数据集/zvol 逐个加密。

十、参考链接

  1. Create Pool(官方):https://www.truenas.com/docs/scale/25.10/scaletutorials/storage/createpoolwizard/
  2. Adding and Managing Datasets(官方):https://www.truenas.com/docs/scale/25.10/scaletutorials/datasets/datasetsscale/
  3. Windows Shares (SMB)(官方):https://www.truenas.com/docs/scale/25.10/scaletutorials/shares/smb/
  4. Adding NFS Shares(官方):https://www.truenas.com/docs/scale/25.10/scaletutorials/shares/addingnfsshares/
  5. Shares 总览(官方):https://www.truenas.com/docs/scale/25.10/scaletutorials/shares/
  6. ZFS Primer(官方):https://www.truenas.com/docs/references/zfsprimer/
  7. dRAID Primer(官方):https://www.truenas.com/docs/references/draidprimer/
  8. Dataset Encryption(官方):https://www.truenas.com/docs/scale/25.10/scaletutorials/datasets/encryptionscale/
  9. 本站《TrueNAS 25.10 安装规划与硬件选型指南》(https://www.quzuo.net/document/Vvlw5Fcqp5SF )
  10. 本站《TrueNAS 25.10 介绍与选型指南》(https://www.quzuo.net/document/uvhvwvJjWAdN )