本教程是将MinIO开源软件直接部署到NAS中直接使用。
以下是minio的官方配置指南:
http://www.minio.org.cn/
警告
底层的修改是非常危险的操作,如果底层修改错误仅能通过重装 DSM 系统以恢复正常的使用。
请在操作前确保自己熟悉linux命令以及命令行操作,如果在操作过程中发生数据缺少或丢失,本教程概不负责。
- 警告
- 兼容性
- 下载 MinIO
- 安装并配置 MinIO 服务(1.15.3)
- 安装并配置 MinIO 服务(8.0.0)
- 单点纠错配置(8.0.0)
- 分布式集群(8.0.0)
- Prometheus监控(8.0.0)
兼容性
理论上所有X86 cpu架构的NAS都可以使用。
测试主机:
DS 1621+
系统版本
DSM 7.0.1
旧MinIO版本:
1.15.3
新MinIO版本:
8.0.0
下载 MinIO
1.15.3 版本
链接:
https://pan.baidu.com/s/1EbdXsHdJ1ZLBT_ctdPvTBg
提取码:
bukn
8.0.0 版本
链接:
https://pan.baidu.com/s/1KU5o9KR-jHTsqW3QA8wLPw
提取码:
de68
安装并配置 MinIO 服务(1.15.3)
准备环境
1.建立共享文件夹 miniopackage 用于存放 MinIO 主程序和配置文件
如果所在位置为存储空间2请将之后系统配置中的所有volume1修改为volume2
2.建立共享文件夹 miniodata 用于存放 MinIO
如果所在位置为存储空间2请将之后系统配置中的所有volume1修改为volume2
上传应用及配置文件
1.上传压缩包 minio1.15.zip 到NAS共享文件夹miniopackage中
2.解压缩压缩包
安装 MinIO
登录 NAS 的 ssh 并切换到 root 用户
调整 MinIO 系统注册文件
1.赋予 minio.service 权限
chmod 644 minio.service
chown root:root minio.service
2.检查&调整 minio.service 内容
cat minio.service
3.放置配置文件
mv minio.service /etc/systemd/system/
调整 MinIO 配置文件
1.调整 minio.conf 权限
chmod 755 minio.conf
2.检查&调整 minio.conf 内容
调整 MinIO 应用程序
调整 minio 权限
后续如果minio有版本更新直接替换该主程序即可
chmod 755 minio
启动使用 MinIO
systemctl start minio
接下来就可以网页登录使用了:
配置自动启动:
systemctl enable minio
安装并配置 MinIO 服务(8.0.0)
准备环境
1.建立共享文件夹 miniopackage 用于存放 MinIO 主程序和配置文件
如果所在位置为存储空间2请将之后系统配置中的所有volume1修改为volume2
2.建立共享文件夹 miniodata 用于存放 MinIO
如果所在位置为存储空间2请将之后系统配置中的所有volume1修改为volume2
上传应用及配置文件
1.上传压缩包 minio8.0.zip 到NAS共享文件夹miniopackage中
2.解压缩压缩包
安装 MinIO
登录 NAS 的 ssh 并切换到 root 用户
调整 MinIO 系统注册文件
1.赋予 minio.service 权限
chmod 644 minio.service
chown root:root minio.service
2.检查&调整 minio.service 内容
cat minio.service
3.放置配置文件
mv minio.service /etc/systemd/system/
调整 MinIO 配置文件
1.调整 minio.conf 权限
chmod 755 minio.conf
2.检查&调整 minio.conf 内容
请注意,密码过短或者过于简单会导致minio启动失败。
调整 MinIO 应用程序
调整 minio 权限
chmod 755 minio
启动使用 MinIO
systemctl start minio
接下来就可以网页登录使用了:
配置自动启动:
systemctl enable minio
默认 8.0 版本的分享链接是server的本地ip很不人性化。
可以通过修改配置文件中的 address 来手动调整外网分享链接。
例如要修改为:s3.zhugh.com
又由于 8.0 版本的检查机制,如果在应用启动的时候无法链接到设置的 address 服务将无法正常启动,所以需要添加一条hosts用于辅助。
vi /etc/hosts
添加以下内容,其中 s3.zhugh.com 请按自己外网域名修改。
127.0.0.1 s3.zhugh.com
重启服务后可以看到 server 已经变成域名地址。
分享链接也变成域名地址。
单点纠错配置(8.0.0)
需要先建立4个共享文件夹或者共享文件夹的子文件夹,案例是在miniodata共享文件夹下建立4个子文件夹data1、data2、data3、data4用于纠错使用。
minio.conf
# Use if you want to run MinIO on a custom port.
MINIO_OPTS="--address :29000 --console-address :29001"
# Access Key of the server.
MINIO_ACCESS_KEY="synominio"
# Secret key of the server.
MINIO_SECRET_KEY="synominio"
# Volume to be used for MinIO server.
MINIO_VOLUMES=/volume1/miniodata/data1 \
/volume1/miniodata/data2 \
/volume1/miniodata/data3 \
/volume1/miniodata/data4
如果启动minio有以下提示说明配置已经成功但是文件目录下已有文件导致无法进行使用,请清空目录后再尝试启动服务。
分布式集群(8.0.0)
由于没这么多NAS可以测试,这边就以一台NAS运行多个minio在不同端口在组成集群。
分别是29100、29200、29300、29400
节点1
minio.conf
# Use if you want to run MinIO on a custom port.
MINIO_OPTS="--address 192.168.0.68:29100 --console-address 192.168.0.68:29101"
# Access Key of the server.
MINIO_ACCESS_KEY="synominio"
# Secret key of the server.
MINIO_SECRET_KEY="synominio"
# Volume to be used for MinIO server.
MINIO_VOLUMES=http://192.168.0.68:29100/volume2/miniodata2/data1 \
http://192.168.0.68:29200/volume2/miniodata2/data2 \
http://192.168.0.68:29300/volume2/miniodata2/data3 \
http://192.168.0.68:29400/volume2/miniodata2/data4
节点2
minio.conf
# Use if you want to run MinIO on a custom port.
MINIO_OPTS="--address 192.168.0.68:29200 --console-address 192.168.0.68:29201"
# Access Key of the server.
MINIO_ACCESS_KEY="synominio"
# Secret key of the server.
MINIO_SECRET_KEY="synominio"
# Volume to be used for MinIO server.
MINIO_VOLUMES=http://192.168.0.68:29100/volume2/miniodata2/data1 \
http://192.168.0.68:29200/volume2/miniodata2/data2 \
http://192.168.0.68:29300/volume2/miniodata2/data3 \
http://192.168.0.68:29400/volume2/miniodata2/data4
节点3
minio.conf
# Use if you want to run MinIO on a custom port.
MINIO_OPTS="--address 192.168.0.68:29300 --console-address 192.168.0.68:29301"
# Access Key of the server.
MINIO_ACCESS_KEY="synominio"
# Secret key of the server.
MINIO_SECRET_KEY="synominio"
# Volume to be used for MinIO server.
MINIO_VOLUMES=http://192.168.0.68:29100/volume2/miniodata2/data1 \
http://192.168.0.68:29200/volume2/miniodata2/data2 \
http://192.168.0.68:29300/volume2/miniodata2/data3 \
http://192.168.0.68:29400/volume2/miniodata2/data4
节点4
minio.conf
# Use if you want to run MinIO on a custom port.
MINIO_OPTS="--address 192.168.0.68:29400 --console-address 192.168.0.68:29401"
# Access Key of the server.
MINIO_ACCESS_KEY="synominio"
# Secret key of the server.
MINIO_SECRET_KEY="synominio"
# Volume to be used for MinIO server.
MINIO_VOLUMES=http://192.168.0.68:29100/volume2/miniodata2/data1 \
http://192.168.0.68:29200/volume2/miniodata2/data2 \
http://192.168.0.68:29300/volume2/miniodata2/data3 \
http://192.168.0.68:29400/volume2/miniodata2/data4
如果启动minio有以下提示说明配置已经成功但是其他节点未启动
Prometheus监控(8.0.0)
默认DSM7.X就有使用Prometheus作为Active Insight 使用,这边测试发现再部署一个并不冲突。
这边可以下载官方版本也可以下载我配置成功的版本。
官方版:
https://prometheus.io/download/
我测试可以正常工作的版本:
链接:
https://pan.baidu.com/s/1LbQuNsOUAhWIdK9QTZiXjw
提取码:
itki
将百度云或者官方下载的版本放到miniopackage共享文件夹中,然后通过以下命令解压缩:
tar -zxvf prometheus-2.35.0.linux-amd64.tar.gz
然后将解压出来的prometheus-2.35.0.linux-amd64重命名为prometheus
mv prometheus-2.35.0.linux-amd64 prometheus
然后在/etc/systemd/system/下建立prometheus.service以注册服务:
vi /etc/systemd/system/prometheus.service
然后添加以下内容:
以下配置为prometheus运行在29090端口,如果希望prometheus运行在其他端口请调整web.listen-address参数
[Unit]
Description=Prometheus
Wants=
Requisite=syno-share.target network-online.target
After=syno-share.target network-online.target nss-user-lookup.target pkg-synosamba-nmbd.service
AssertFileIsExecutable=/volume1/miniopackage/prometheus/prometheus
[Service]
WorkingDirectory=/volume1/miniopackage/prometheus/
User=root
Group=root
ExecStart=/volume1/miniopackage/prometheus/prometheus \
--config.file=/volume1/miniopackage/prometheus/prometheus.yaml \
--web.listen-address=:29090
[Install]
WantedBy=multi-user.target
建立prometheus的配置文件prometheus.yaml
vi /volume1/miniopackage/prometheus/prometheus.yaml
添加以下内容:
以下配置为minio服务分享链接端口为29000的情况下的配置,如果是minio的分享端口是其他的请手动调整targets的服务端口
# my global config
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: minio-job
metrics_path: /minio/v2/metrics/cluster
scheme: http
static_configs:
- targets: ['127.0.0.1:29000']
需要额外调整minio.conf以启用prometheus监控,主要是添加以下两个参数:
如果要PROMETHEU的服务端口有变化需要调整MINIO_PROMETHEUS_URL中的对应端口
#Visualize Collected Metrics
MINIO_PROMETHEUS_URL="http://127.0.0.1:29090"
MINIO_PROMETHEUS_AUTH_TYPE="public"
以下为添加后的案例:
# Use if you want to run MinIO on a custom port.
MINIO_OPTS="--address :29000 --console-address :29001"
# Access Key of the server.
MINIO_ACCESS_KEY="synominio"
# Secret key of the server.
MINIO_SECRET_KEY="synominio"
#Visualize Collected Metrics
MINIO_PROMETHEUS_URL="http://127.0.0.1:29090"
MINIO_PROMETHEUS_AUTH_TYPE="public"
# Volume to be used for MinIO server.
MINIO_VOLUMES=/volume1/miniodata/data1 \
/volume1/miniodata/data2 \
/volume1/miniodata/data3 \
/volume1/miniodata/data4
配置完成后启用prometheus以及重启minio就可以正常使用了
systemctl start prometheus
systemctl restart minio
配置prometheus自动启动:
systemctl enable prometheus