Ahao's Studio.

TrueNAS Scale 从入门到入土

2023/08/10
  • 本文章基于视频教程,文字部分是对视频内容的扩展和概念补充,加个人经验
  • 如初次入门,建议看完视频前三课。

详细系列教程:

Sagit - Blog 详尽的博客,也有视频

或者司波图的视频教程

视频教程内容涵括以下几点:

TrueNAS_Scale从入门到入土-0eTrueNAS_Scale从入门到入土-1TrueNAS_Scale从入门到入土-2ale从入门到入土-1.png)
TrueNAS_Scale从入门到入土-2

前身 & 优势和功能

  • TrueNAS Scale前身为 iXsystems推出的FreeNAS(因基于FreeBSD而得名);
  • FreeNAS的主要优点是使用ZFS(提升了文件的安全性,并且支持快照和写时复制功能,方便地进行读写操作,同时还可以对文件进行分块校验以去重,节约存储空间)FreeNAS更名为TrueNAS Core;不足之处:硬件支持更新较慢,无法原生支持Docker应用。
  • TrueNAS Scale是在TrueNAS Core的基础上,基于Debian Linux内核进一步开发的版本,它增加了对Docker的支持,并且换了基于KVM的虚拟化功能,对硬件直通和显卡调用、社区软件支持度都不错

那么古尔丹,代价是什么?
ZFS数据恢复难度高价格更贵;且储存池加密后损坏无法恢复数据
所以务必做好阵列冗余,别TrueNAS_Scale从入门到入土-3om/docs/scale/gettingstarted/scalehardwareguide/))
TrueNAS_Scale从入门到入土-3

  • 强烈建议使用ECC(或RECC)来避免在使用内存缓存时造成的数据损坏
  • 如需使用jellyfin emby plex等作为媒体服务器播放视频需要考虑硬件解码问题;建议提前了解 各个显卡对H265/VP9/AV1等硬件解码支持情况50ti 4G,可支持4K电影原盘 HEVC硬解(测试使用电影。。。)实际表现 /s

理论部分

TrueNAS基本使用架构:

自制的示例图:
TrueNAS_Scale从入门到入土-4

ZFS

阵列类型:RAID 和 RAID-Z

RAID

  • 独立硬盘冗余阵列RAID, Redundant Array of Independent Disks)
  • 简称磁盘阵列。利用虚拟化存储技术把多个硬盘组合起来,成为一个或多个硬盘阵列组,目的为提升性能或资料冗余,或是两者同时提升。

详见 wikipedia.org(左边菜单栏最下面可切换中文)

RAID-Z (TrueNAS中使用)

  • 是一种使用 ZFS 文件系统的非标准 RAID;该阵列不能使用其他文件系统。注:目前还没有一种硬件控制器能实现 RAID-Z

详见 ** **diskinternals.com
RAID-Z容量计算器:https://raidcalculators.com/zfs-raidz-capacity.php

Mirror

  • 镜像,指两个硬盘存储同样的文件,但读写速度没有提升(实测)

Stripe

  • 条带,将所有硬盘组成一个Vdev,利用所有空间,但单个硬盘损坏就会导致整个vdev损毁且无法恢复(每个文件分成多份存在每一个硬盘中)
  • 单个硬盘也算Stripe

Vdev

  • 是Vitural Device 的简写,译为虚拟设备,这些虚拟设备可以是原始磁盘,也可能是一个组成阵列的多磁盘组

储存池

  • 由 Vdev 组成(可以多个)
  • 当储存池中由两个或以上的Vdev组成时,他们的阵列类型必须相同
  • 可在有多组不同容量物理磁盘时使用按容量分组Vdev再创建储存池,可避免按最小容量的盘计算总大小造成的容量损失

例如: 四个 3.64T 和 四个 5.46T,两种容量分别组Vdev 并同样划分RAID-Z;
实际容量 27.28TiB (3.643+5.463),而非21.84(3.64*6)

  • 储存池中的Vdev之间以条带Stripe(类似RAID0)连接 组成存储池,所以当储存池有大于一个Vdev时,任一Vdev在故障盘超过对应阵列类型的安全冗余数量将造成储存池损毁。

降级

别慌,降级指vdev因为硬盘损坏导致安全等级下降但因为冗余仍可保证数据安全。
(此处“恢复指安全等级恢复,并非指数据恢复。因为数据并未丢失)

  • 此时重新连TrueNAS_Scale从入门到入土-5重新连接的盘中
  • resilver过程中掉了另一个盘的话,resilver和写入的数据都会挂掉)

实际操作部分

储存池扩展

方法一:新硬盘

在左侧选择”储存”选项卡,点管理未使用的硬盘并选择添加到已存在TrueNAS_Scale从入门到入土-6_Scale从入门到入土/TruTrueNAS_Scale从入门到入土-7 TrueNAS_Scale从入门到入土-8的盘
在左侧选择”储存”选项卡,找到需要扩展的储存池并点击管理设备
TrueNAS_Scale从入门到入土-6
需要注意RAID会以最小的磁盘大小来计算空间,所以需要替换全部原有的硬盘

方法三:新硬盘建立新的储存池

储存池迁移

export,import 其余交给Truenas
TrueNAS_Scale从入门到入土-9

故障恢复:

步骤与替换硬盘类似,需要找到removed的盘然后替换
TrueNAS_Scale从入门到入土-10 TrueNAS_Scale从入门到入土-12TrueNAS_Scale从入门到入土-13鼠一样固执,你得反思一下你的数据有没有懂技术的人觊觎;是否如此重要,以至于你要舍弃那一点数据恢复的可能都要上这一道可悲的锁。(~~~~**加密的 RAID-Z 阵列 在损毁后几乎没TrueNAS_Scale从入门到入土-14
TrueNAS_Scale从入门到入土-15on文件),失去密钥无法恢复

TrueNAS_Scale从入门到入土-11
![TrueNAS_ScalTrueNAS_Scale从入门到入土-17_Scale从入门到入土-12.png)
TrueNA![TrueNAS_Scale从入门到入土-18](TrueNAS_Scale从入门到入土-18.png)rueNAS_Scale![TrueNAS_Scale从入门到入土-19](TrueNAS_Scale从入门到入土-19.png)创建需要使用的用户  并按照权限和访问内容分组
在数据集选中数据集后(或创建时)  权限选项中可编辑
![TrueNAS_Scale从入门到入土-14](TrueNAS_Scale从入门到入土-14.png)
![TrueNAS_Scale从入门到入土-15](TrueNAS_Scale从入门到入土-15.png)![TrueNAS_Scale从入门到入土-20](TrueNAS_Scale从入门到入土-20.png)eNAS_Scale从入门到入土-16

文件快照

添加任务
TrueNAS_Scale从入门到入土-17
设置需要保存快照的数据集,频率和时间,以及快照留存时长
TrueNAS_Scale从入门到入土-18
快照计划也可以自定义
TrueNAS_Scale从入门到入土-19

Docker & 虚拟机

摆烂不想写) 建议参考司波图视频,讲的很详细
后续会写一些自己的实际应用案例(如Jellyfin 等家庭影音、traefik反向代理和ACME证书、alist、 lidarr、 heimdall…….

扩展:社区Docker软件源

  • TrueCharts

在应用–管理目录–添加目录处输入

1
https://github.com/truecharts/catalog 

TrueNAS_Scale从入门到入土-20
TrueCharts各个应用都有官方文档

  • 由于国内访问github速度较慢。可自行使用⬛⬛⬛

! DEBUG

常见问题报错解决方法可参考:
TrueNAS SCALE 常见错误排错(持续更新) - Sagit

CATALOG
  1. 1. 详细系列教程:
    1. 1.1. 视频教程内容涵括以下几点:
  2. 2. 前身 & 优势和功能
  3. 3. 理论部分
    1. 3.1. TrueNAS基本使用架构:
    2. 3.2. ZFS
    3. 3.3. 阵列类型:RAID 和 RAID-Z
      1. 3.3.1. RAID
      2. 3.3.2. RAID-Z (TrueNAS中使用)
      3. 3.3.3. Mirror
      4. 3.3.4. Stripe
    4. 3.4. Vdev
    5. 3.5. 储存池
    6. 3.6. 降级
  4. 4. 实际操作部分
    1. 4.1. 储存池扩展
      1. 4.1.1. 方法一:新硬盘
      2. 4.1.2. 方法三:新硬盘建立新的储存池
    2. 4.2. 储存池迁移
    3. 4.3. 故障恢复:
    4. 4.4. 文件快照
  5. 5. Docker & 虚拟机
  6. 6. 扩展:社区Docker软件源
  7. 7. ! DEBUG