TrueNAS 调优小计

开篇文章存一下 TrueNAS 调优的参数和选项,省的挂了又得重新调一遍。

本文不定期更新,默认是最新 TrueNAS Scale 和配套最新软件环境。对相关配置有疑问建议先自查相关资料,抄炸了我不负责。有想法欢迎一起交流。

Web

/ui/system/advanced

cron

  • 10 0 * * * find /mnt -name "Thumbs.db" -exec rm -f {} \; 2>/dev/null
  • 12 0 * * * find /mnt -name ".DS_Store" -exec rm -rf {} \; 2>/dev/null
  • 0 4 * * * ls -t /mnt/Data/apps/webdav-backup/PPTP/*.zip | tail -n +3 | xargs -I {} rm {}

init

我知道这俩可以写 /etc/modprobe.d/zfs.conf 但是就俩参数偷个懒了,放这跑 PREINIT 也没啥问题。

  • echo 188978561024 > /sys/module/zfs/parameters/zfs_arc_max 176G ARC
  • echo 17179869184 > /sys/module/zfs/parameters/zfs_dirty_data_max 16G Write Cache

sysctl

Key Value 备注
fs.inotify.max_user_watches 1048576
fs.inotify.max_user_instances 1024
net.ipv4.tcp_timestamps 0
net.ipv4.tcp_congestion_control bbr
net.core.default_qdisc fq
net.ipv6.conf.<iface>.accept_ra 2 解决一下拿不住 ipv6 的问题,配合 docker 给容器内用

/ui/data-protection

cloudsync

本机开个 alist ,这样就能方便的配合 cloudsync 备份上云了。

网页上能改的排除加密传输直接改就行,剩下的参数可以用 midclt 命令行注入。

1
midclt call cloudsync.update <task_id> '{ "args": "--timeout 1d --order-by size,mixed,50 --delete-during --buffer-size 1Gi --use-mmap --retries 5 --checkers 4" }'

/ui/apps

新版的基于 docker 的 APP 已经很好用了,自己规划好网段拉个 overlay 也能实现容器内通信和容器与主机通信不上硬件网卡的效果,自己起个仓库全部自己写 compose 也挺方便快速恢复的。

仓库别公开哦,注意保护自己的敏感凭据。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# place planned network for other services

services:
overlay:
image: "rancher/mirrored-pause:3.6"
container_name: "overlay"
restart: "always"
environment:
TZ: "Asia/Shanghai"
networks:
- apps

networks:
apps:
driver: bridge
enable_ipv6: true
name: apps
ipam:
config:
- subnet: "172.26.0.0/22"
- subnet: "fdxx:xxxx:xxxx::/48"

x-notes: "Hold 172.26.0.0/22 for other services"

CLI

zsh

装个 omz 是可以的。

.warning 清空了就可以开终端的时候不出警告了。