TrueNAS成型记
墓灵守护

背景

本人19年买过一个蜗牛星际矿渣,换了电源,换成了8G内存。重装了OMV的系统,一直稳定的跑着。大部分应用都是跑docker版。孱弱的J1900 CPU也在吭哧吭哧运行着。
虽一直不满意其性能问题,但是好歹能用。最近在搞一个文档库,想要上搜索,看了看市面上应该只有ES能拿得出手,这玩意可是吃内存大户,如果搞一个可用的性能,3节点+kibana一部署,其他应用基本不可能跑了,再加上孱弱的CPU,已经远不能满足开发需求,所以另组了一台NAS,蜗牛辛苦工作了那么多年,就先歇歇吧。

新NAS的要求

  • 6盘位起步
  • 外观好看,最好能摆客厅
  • CPU需要功耗小,制程越新越好
  • 内存最少64G,跑各种Java应用
  • 2.5G网口是必须,最好自带多网卡

最后硬件如下

  • 机箱:QNNAS Q8 3D打印机箱
  • 主板:精粤B760I
  • CPU: I3 12300T
  • 内存:威刚32G * 1 后续再扩展
  • 数据盘:老硬盘搬过来
  • 背板:咸鱼个人制作的4硬盘背板*2
  • 系统:TrueNAS-SCALE
  • 系统盘:32G U盘 * 2

过程

组装过程不表了,作为一个垃圾佬没啥难度。

老数据迁移

因为OMV使用的是ext4的文件系统,而TrueNAS使用的ZFS,不可能硬盘搬过来就用,所以就需要数据迁移。TrueNAS自带了 Cloud Sync Tasks,可用于数据迁移。OMV也支持SFTP,FTP等

OMV配置好SFTP,然后开始迁移,观察了一下速度:30MB/s,什么鬼,链路是千兆的,这连一半都没达到,然后去OMV看了一下CPU,99%。这玩意是SSH,加解密性能要求会高不少。然后去折腾FTP,发现OMV启用不了,一直报错。无果后,想尝试其他方法,突然看到了TrueNAS支持web dav。用docker再OMV搭建一个web dav的服务端,然后迁移,毕竟是基于HTTP的,少了一层的加解密性能要求会低很多。

  1. 老NAS搭建web dav

    1
    docker run -d -v /srv/dev-disk-by-uuid-XXXXXX-XXX-XXX-XX/disk1:/var/webdav -e USERNAME=XXX -e PASSWORD=XXXXX -p 8888:80 morrisjobke/webdav
  2. 新NAS配置备份凭据

  3. 新增Cloud Sync Tasks (启用关闭)

  4. 开始手动同步

速度:

基本能跑到850Mbps以上

老NAS的CPU占用:

应用迁移

应用迁移本着能用应用自带的迁移,就不用文件复制。最先迁移的就是思源笔记。其本身支持S3备份,所以部署一个新的docker,然后S3同步过去即可

新Nas部署docker

进入应用,点击启动Docker镜像

需要注意,在portainer中的CMD 对应TrueNAS的Container Args,而且有空格就要隔开,比如-mode prod -workspace /siyuanworkspace -accessAuthCode password,就要按照空格一个一个拆开

因为我需要独立的IP,所以在网络使用了独立的静态IP

映射一下文件夹

访问:http://{ip}:6806

关于文件夹权限
我习惯将Dock挂载的目录也SMB共享出来,方便修改配置之类的,TrueNAS默认不允许这样干,则需要进入应用-> 设置-> 高级设置 关闭Enable Host Path Safety Checks

同意将docker挂载的目录分到一个docker文件夹下,大概目录是这样

1
2
3
4
5
6
7
8
9
- docker
- siyuan
- data
- config
- mysql
- data
- config
- shard
- logs

方便识别和备份。如果需要共享,则会在shard中创建文件夹

待折腾

  1. 虚拟机与主机通讯(桥接在我这不起作用,还在研究)
  2. docker使用显卡硬解(12代似乎还没支持)
  3. 攒钱硬盘插满