在TrueNAS中根据官方教程可以非常轻松的安装MinIO。但安装后的MinIO的数据存储的位置直接在Jail中,这使得我开始担心如果有一天TrueNAS的硬件如果哪天出问题的话,如何对MinIO中的文件进行迁移。
带上这个数据迁移的问题问过ChatGPT后,发现过程比较繁琐,而且可能还会发生问题(比如MinIO是做为插件自动安装的)。
本文阐述一种在TrueNAS上通过插件的形式安装MinIO后手动设置MinIO存储路径,并为以后的迁移做准备的方法。
Jail = 监狱
生成快照
为了避免一些误操作可能带来的问题。首先并找到minio
所在Jail对应的数据集,手动打个快照。
如果后面不小心把系统弄坏了,手动恢复快照即可。
配置文件
首先需要找到MinIO的配置信息,经查看该配置信息的位置有二:
/etc/rc.conf
/usr/local/etc/rc.d/minio
其中存储的相关信息位于 /usr/local/etc/rc.d/minio
中,其中有一项为:minio_disks
的,即为存储所在位置。
minio_disks
的默认值为:/var/db/minio
。
清空备份原数据
首先使用server minio stop
来停止minio
,然后执行mv /var/db/minio /var/db/mini.bak
完成数据备份。最后执行 mkdir /var/db/minio
创建一个空文件夹。
最后找到minio
所在Jail,停止该Jail。
挂载数据盘
在存储中创建一个用于存储minio的数据集,接着找到minio
所在Jail,选择挂载点
,将用于存储minio的数据集挂载到该Jail的/var/db/minio
上。比如我将S3
数据集进行挂载:
恢复数据
启动Jail,进入命令行,然后先安装一下rsync
:
$ pkg install rsync
安装完成后,执行:rsync -av /var/db/minio.bak /var/db/minio
即可快速进行文件夹的复制。
同时由于在系统启动时/var/db/minio
文件夹为空,所以minio
并未启动成功,此时在执行service minio status
时将看到服务并未运行的提示。
复制完配置文件后,执行service minio start
来启动minio即可。
最后执行service minio status
来确认运行状态。
总结
本文通过查看MinIO配置,确认文件存储所在路径。并重新进行路径的挂载,达到了装MinIO服务与MinIO数据进行分离的目的。为以后在极端情况下进行数据恢复做了准备。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。