minio兼容亚马逊s3对象存储,作为一个开源替代方案非常合适
建立自己的对象存储
一、安装
官网有简单的安装教程,但是对于需要管理并实际使用的还差点说明
(一)linux可执行二进制文件
cd /usr/local/bin
wget https://dl.minio.org.cn/server/minio/release/linux-amd64/minio
chmod +x minio
二、部署、管理
这里的部署是在Linux下的,不是在docker或者k8s
1.创建保存的目录
比如保存在/var/minio
mkdir /var/minio && chmod 755 -R /var/minio
2.启动命令
以下命令是测试开启,我这里不用默认的9000,9001端口,因为很多情况这个端口会被占用
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password ./minio server /var/minio --console-address ":19001" --address ":19000"
3.systemctl管理脚本
vi /usr/lib/systemd/system/minio.service
[Unit]
Description=minio
After=network.target
[Service]
Type=simple
Group=root
User=root
ExecStart=/usr/local/bin/minio server /var/minio --console-address ":19001" --address ":19000"
PrivateTmp=true
[Install]
WantedBy=multi-user.target
测试启动
systemctl start minio && systemctl status minio
显示正常后,开机启动
systemctl enable minio
再次使用status(这里会显示默认的账号密码)
systemctl status minio
4.用浏览器打开
ip:9001
默认账号密码是:minioadmin
输入后就可以进入管理了
三、主从复制
假设有1主1从两个minio,都已经完成了配置minio server
主服务器
地址:192.168.0.188
文件服务地址:http://192.168.0.188:19000/minio
账号:minioadmin
密码:minioadmin
主服务器
地址:192.168.0.199
文件服务地址:http://192.168.0.199:19000/minio
账号:minioadmin
密码:minioadmin
(一)从服务器(slave)安装MinIO Client
官方下载
wget https://dl.min.io/client/mc/release/linux-amd64/mc -P /usr/local/bin/
配置访问权限
chmod +x /usr/local/bin/mc
(三)从服务器配置主从
从服务器配置
配置访问权限
mc config host add minio_master http://192.168.0.188:19000 minioadmin minioadmin
mc config host add minio_slave http://192.168.0.199:19000 minioadmin minioadmin
主从复制
mc mirror --remove --overwrite --watch minio_master minio_slave
四、操作和程序调用
由于minio是兼容aws s3对象存储的,所以如果没有官方sdk包的也可以试一试aws的sdk