blog/source/_posts/omv-data-to-truenas.md

109 lines
3.9 KiB
Markdown
Raw Normal View History

2023-04-06 16:40:05 +08:00
title: TrueNAS成型记
tags: []
categories: []
date: 2023-04-06 15:05:48
---
# 背景
本人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也支持SFTPFTP等
OMV配置好SFTP然后开始迁移观察了一下速度**30MB/s**什么鬼链路是千兆的这连一半都没达到然后去OMV看了一下CPU99%。这玩意是SSH加解密性能要求会高不少。然后去折腾FTP发现OMV启用不了一直报错。无果后想尝试其他方法突然看到了TrueNAS支持web dav。用docker再OMV搭建一个web dav的服务端然后迁移毕竟是基于HTTP的少了一层的加解密性能要求会低很多。
1. 老NAS搭建web dav
```bash
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. 开始手动同步
速度:
2023-11-30 14:52:02 +08:00
![](https://blog-image.lianglianglee.com/assets/20230406_155750.png)
2023-04-06 16:40:05 +08:00
基本能跑到850Mbps以上
老NAS的CPU占用
2023-11-30 14:52:02 +08:00
![](https://blog-image.lianglianglee.com/assets/old_nas_cpu_use.png)
2023-04-06 16:40:05 +08:00
## 应用迁移
应用迁移本着能用应用自带的迁移就不用文件复制。最先迁移的就是思源笔记。其本身支持S3备份所以部署一个新的docker然后S3同步过去即可
## 新Nas部署docker
进入应用,点击`启动Docker镜像`
需要注意在portainer中的CMD 对应TrueNAS的Container Args而且有空格就要隔开比如`-mode prod -workspace /siyuanworkspace -accessAuthCode password`,就要按照空格一个一个拆开
2023-11-30 14:52:02 +08:00
![](https://blog-image.lianglianglee.com/assets/20230406_162245.png)
2023-04-06 16:40:05 +08:00
因为我需要独立的IP所以在网络使用了独立的静态IP
2023-11-30 14:52:02 +08:00
![](https://blog-image.lianglianglee.com/assets/20230406_161755.png)
2023-04-06 16:40:05 +08:00
映射一下文件夹
访问http://{ip}:6806
**关于文件夹权限**
我习惯将Dock挂载的目录也SMB共享出来,方便修改配置之类的TrueNAS默认不允许这样干则需要进入`应用`-> `设置`-> `高级设置` 关闭`Enable Host Path Safety Checks`
2023-11-30 14:52:02 +08:00
![](https://blog-image.lianglianglee.com/assets/20230406_162603.png)
2023-04-06 16:40:05 +08:00
同意将docker挂载的目录分到一个docker文件夹下大概目录是这样
```
- docker
- siyuan
- data
- config
- mysql
- data
- config
- shard
- logs
```
方便识别和备份。如果需要共享则会在shard中创建文件夹
## 待折腾
1. 虚拟机与主机通讯(桥接在我这不起作用,还在研究)
2. docker使用显卡硬解(12代似乎还没支持)
3. 攒钱硬盘插满