1

在TrueNAS中根据官方教程可以非常轻松的安装MinIO。但安装后的MinIO的数据存储的位置直接在Jail中,这使得我开始担心如果有一天TrueNAS的硬件如果哪天出问题的话,如何对MinIO中的文件进行迁移。

带上这个数据迁移的问题问过ChatGPT后,发现过程比较繁琐,而且可能还会发生问题(比如MinIO是做为插件自动安装的)。

本文阐述一种在TrueNAS上通过插件的形式安装MinIO后手动设置MinIO存储路径,并为以后的迁移做准备的方法。

Jail = 监狱

生成快照

为了避免一些误操作可能带来的问题。首先并找到minio所在Jail对应的数据集,手动打个快照。

如果后面不小心把系统弄坏了,手动恢复快照即可。

配置文件

首先需要找到MinIO的配置信息,经查看该配置信息的位置有二:

  1. /etc/rc.conf
  2. /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数据集进行挂载:

image.png

恢复数据

启动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数据进行分离的目的。为以后在极端情况下进行数据恢复做了准备。


潘杰
3.1k 声望239 粉丝

引用和评论

0 条评论