# TrueNas Scale

本文记录我在使用 TrueNas ScaleTrueNas CoreFreeNas一些记录。目前正在使用基于Debain系统的TrueNas Scale。相关视频如下:

# 一、安装

# 1. 下载镜像

访问官方 (opens new window)下载镜像

# 2. 制作启动U盘

下载安装Etcher (opens new window),这是一款免费开源的工具,可以把镜像写到你的优盘里面。

启动程序,分别选择我们下载的OMV镜像,优盘,然后点Flash将镜像写入优盘。创建好以后插入电脑启动安装即可。 安装过程参考上面视频。几个版本几乎一样。

# 二、SMB

# 2.1、 共享限额

如果我们要针对用户或者用户组进行磁盘配额,需要如下设置:

  1. 高级设置中在VFS Object中加上ixnas属性,默认创建共享是开启该属性的
  2. 高级设置中在Auxiliary Parameters中添加配合设置,如ixnas:base_user_quota = 100M

效果:

ixnas其他属性如下:

  • ixnas:base_user_quota 设置用户可以使用的空间。例如ixnas:base_user_quota = 80G表示限制用户只能使用80G的空间。
  • ixnas:zfs_quota_enabled设置ZFS是否支持用户配额,值为TrueFalse。默认为True,例如:ixnas:zfs_quota_enabled = True
  • ixnas:chown_homedir 将创建了的home目录的所有者改为当前经过身份验证的用户。这里ixnas:zfs_auto_homedir必须设置为True。值为TrueFalse。例如ixnas:chown_homedir = True.
  • ixnas:homedir_quota 设置home目录使用配合。例如ixnas:homedir_quota = 20G设置20G的限额。
  • xnas:zfs_auto_homedir 使用ZFS数据集创建home共享,而不是新增目录。值为TrueFalse,默认为False 例如:ixnas:zfs_auto_homedir = False

# 2.2、卷影副本

启用卷影副本这个功能可以让Windows客户端对文件版本进行还原。默认情况下该功能是开启的(见前面匿名共享的截图,Enable Shadow Copies选项)

开启后我们只要在Storage ➞ Snapshots冲创建我们数据集的快照。在Windows下就可以在以前的版本标签中打开之前的版本文件或者还原他们。

如果禁用该选项,以前的版本标签就不会显示我们快照了的内容。

# 2.3、时光鸡

创建新共享,选择勾选Time Machine即可。

在Mac的时光鸡中选择我们新建的共享目录,然后以正常姿势操作即可。

我们也可以针对时光鸡共享做容量限制,跟前面共享限额一样,属性放在Auxiliary Parameters里面。例如:

fruit:time machine max size = 500G
1

# 2.4、 SMB故障排除

  • Samba是单线程的,因此CPU速度对SMB性能有很大的影响。 所以你的传输速度很慢,也有可能不是网络问题。参考性能调优 (opens new window)
  • 如果SMB服务没起来,可以在Shell运行testparm /usr/local/etc/smb4.conf看看是否有错误的配置。
  • 如果数据集(dataset)是用来做SMB共享的,那么在创建的时候Share type选择SMB,这样可以提高性能
  • 启用ixnas (opens new window) (auxiliary parameter)也可以增加性能
  • share settings设置中越少VFS Objects的配置项越好。
  • 有一些特殊的情况,比如Final Cut Pro X想打开共享上的项目就得做额外的设置。官方文档 (opens new window)上说要设置vfs objects的几个属性catia fruit streams_xattr。此时我们进入高级模式找到vfs objects项,选择对应的属性即可

# 三、Email

进入System ➞ Email进行邮件设置,以QQ邮箱为例。

  • Outgoing Mail Server:smtp.qq.com
  • Mail Server Port:465
  • Security:SSL
  • SMTP Authentication:勾选
  • Password:需要单独在后台生成授权码

# 四、常用命令

获取磁盘序列号 smartctl -a /dev/ada0 | grep Serial.

# 五、处理Docker容器无法访问网络问题

默认情况下TrueNas Scale的Docker配置会把iptables关掉,导致单独启动容器无法访问网络,改了以后每次重启系统也会重置配置,因此我们需要自定义一个配置文件。

复制并创建文件

cd /etc/docker
cp daemon.json my-daemon.json
1
2

my-daemon.json中的iptables改为true

{"data-root": "/mnt/Apps/ix-applications/docker", "exec-opts": ["native.cgroupdriver=cgroupfs"], "iptables": true, "bridge": "none"}
1

修改docker的daemon文件/lib/systemd/system/docker.service 修改ExecStart项,把自己的配置文件参数加进去。结果如下:

xecStart=/usr/bin/dockerd --config-file=/etc/docker/my-daemon.json -H fd:// --containerd=/run/containerd/containerd.sock
1

重启服务即可

systemctl daemon-reload
systemctl restart docker
1
2

# 六、解决中文乱码问题

# 安装locales
apt-get install locales

# 配置编码,选中zh_CN.xxx的编码
dpkg-reconfigure locales

# 安装中文字体
apt-get install fonts-wqy-zenhei

# 配置变量 
export LC_ALL=zh_CN.utf-8
1
2
3
4
5
6
7
8
9
10
11

# ZFS 一些命令

查看池的健康状态

# zpool status -x
1

查看详细信息

# zpool status -v
1

池列表

zpool list -v -H -P
1

清除错误

# zpool clear  pool-xxx
1

倒入损坏的zfs

zpool import -f -m -R /mnt ZL24XFXH
1
更新时间: 7/7/2021, 3:33:11 PM