CentOS7部署MinIO服务器&VPS使用MinIO Client备份数据
CentOS7部署MinIO服务器&VPS使用MinIO Client备份数据
重要数据备份是很重要的,本博客也遇到了几次意外,但是都从备份中恢复了。以往都是定期手动备份站点目录和数据库,耗时又费力。在此探索一种新的方式,在一台存储空间较大的VPS(俗称大盘机)上部署MinIO服务端,客户机通过MinIO Client将文件备份到大盘机。
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。
服务端部署
根据MinIO官方文档描述,MinIO服务端部署非常简单,几条命令即可完成安装,然后我们再创建一个systemd配置文件用于开机自启即可。
-
依次输入以下两行命令,下载二进制文件至/usr/local/bin,并赋予其可执行权限。
wget -P /usr/local/bin https://dl.min.io/server/minio/release/linux-amd64/minio chmod +x /usr/local/bin/minio
-
依次输入以下两行命令,创建MinIO工作目录,尝试手动运行服务。记录回显的Endpoint、AccessKey、SecretKey等信息,尝试在浏览器中输入Endpoint中的地址,输入AccessKey和SecretKey登陆。检查正常后按Ctrl + C停止MinIO。若不成功,请检查MinIO是否正常运行,并检查系统防火墙配置是否放行9000端口。
mkdir /srv/MinIO minio server /srv/MinIO
-
CentOS7使用firewalld防火墙,使用以下第一条命令在防火墙规则中添加开放9000端口的TCP通信,另勿忘使用第二条命令重载防火墙。
firewall-cmd --zone=public --add-port=9000/tcp --permanent firewall-cmd --reload
-
运行以下命令,在/etc/systemd/system/目录下创建minio.service配置文件,并使用vi编辑器打开。tips:Alt+.可快速输入上一命令中的变量。
touch /etc/systemd/system/minio.service vi /etc/systemd/system/minio.service
-
在vi编辑器中输入以下内容,按ESC键,输入
:wq
,保存退出。[Unit] Description=MinIO object storage server After=network.target [Service] Type=simple ExecStart=/usr/local/bin/minio server /srv/MinIO Restart=on-failure [Install] WantedBy=multi-user.target
6.运行以下命令,启动服务,并添加开机启动,此时通过浏览器应该能正常访问到网页即证明配置完成。
```
systemctl start minio
systemctl enable minio
```
客户端配置
客户端的配置依然很简单。
-
使用wget下载文件到,并赋予其可执行权限。
wget -P /usr/local/bin/ https://dl.min.io/client/mc/release/linux-amd64/mc chmod +x /usr/local/bin/mc
-
使用以下命令添加上文部署好的MinIO对象存储服务器信息。其中,Alias是云存储服务的简称。API-SIGNATURE是可选参数。默认情况下,它设置为“S3v4”。
mc config host add <ALIAS> <YOUR-S3-ENDPOINT> <YOUR-ACCESS-KEY> <YOUR-SECRET-KEY> <API-SIGNATURE>
例如:
mc config host add MinIO http://10.145.87.224:9000 Do24SZ3JDWEKDWPZ5DV2O KL7Hjas76BdI4msWYEZh3FH*Sh4B+gH&SvGc3z5Ub
-
在我们上面添加的MinIO下,创建一个名为blog的存储桶(bucket)。
mc mb MinIO/blog
-
运行以下命令将blog.lexsion目录下的文件同步到名为MinIO/blog的bucket里,并保持对目录修改的监听。此命令在本地修改/删除文件后会同步在bucket中修改/删除。测试正常后按Ctrl+C停止。
mc mirror -w --overwrite --remove /www/wwwroot/blog.lexsion MinIO/blog
-
创建systemd配置文件,使用以下命令打开vi编辑器。
vi /etc/systemd/system/minioc.service
-
在打开的编辑器中按i键进入编辑模式,输入如下内容,按ESC键,输入
:wq
按Enter键保存退出。[Unit] Description=MinIO Client Service After=network.target [Service] Type=simple ExecStart=/usr/local/bin/mc mirror -w --overwrite --remove /www/wwwroot/blog.lexsion MinIO/blog Restart=on-failure [Install] WantedBy=multi-user.target
-
运行服务,并添加到开机自启动。
systemctl start minioc systemctl enable minioc
到此,本文就结束了。但是MinIO的功能远不止这些,大家有兴趣可以自行探索。
参考:
MinIO中文Docs.
https://docs.min.io/cn/
MinIO.Docs.English Ver.
https://docs.min.io/docs/
Centos7(Firewall)防火墙开启常见端口命令
http://www.5yun.org/10074.html
vim非完全学习手册
https://lexsion.com/index.php/archives/129/