代码拉取完成,页面将自动刷新
minio的使用方法:
minio是一个基于apache的一个开源协议对象储存服务,类似于一个nfs和ceph的储存服务器
非常适合于储存大容量非结构化的数据
安装minio
我们这里minio是个二进制的源码包直接拷贝即可
chmod +x /data/bestcem_rpm/minio/minio 给执行的权限
cp /data/bestcem_rpm/minio/minio /usr/local/bin/minio
拷贝到能执行的位置
创建minio需要的工作目录
mkdir -p /data/minio{1,2}
然后开始配置文件使其成为一个集群
# Remote volumes to be used for MinIO server. 这里是把所有的minio搭建的集群成为一个整体都用来储存数据
MINIO_VOLUMES=http://$data1/data/minio1 http://$data1/data/minio2 http://$data2/data/minio1 http://$data2/data/minio2 http://$data3/data/minio1 http://$data3/data/minio2
# Use if you want to run MinIO on a custom port.
MINIO_OPTS=\"--address :9199 --console-address :9200\"
# Root user for the server.
MINIO_ROOT_USER=\"admin\"
# Root secret for the server.
MINIO_ROOT_PASSWORD=\"${MINIO_PASSWD}\"
MINIO_PROMETHEUS_AUTH_TYPE="public"
" >/etc/default/minio
由于minio是个二进制 所以我们写一个service文件 利用systemctl开启服务
cat $CONFDIR/minio/minio.service >/etc/systemd/system/minio.service
systemctl daemon-reload && systemctl start minio.service && systemctl enable minio.service &>/dev/null
然后开始监测集群是否搭建成功
minio_ha=`curl -I http://$IPADDR:9199/minio/health/cluster 2>&1| grep HTTP | awk -F " " '{printf $2}'`
if [ "$minio_ha"x = "200"x ];then
is_success "create minio cluster" 出现正常的200就是搭建成功了
这里都是脚本中的步骤
然后开始下载客户端的使用,这里是脚本中的客户端的使用
rpm -i --force --nodeps $RPMDIR/s3fs/*.rpm &>/dev/null 下载客户端使用的工具包括挂载使用的
chmod +x $RPMDIR/minio/mc && cp $RPMDIR/minio/mc /usr/local/bin/mc 同样也是二进制的文件
给以权限和移动到执行的位置
然后配置客户端,使其连接到minio集群
mc config host add minio http://$IPADDR:9199 admin ${MINIO_PASSWD} &>/dev/null 添加储存,能连接到minio集群
mc ls minio | grep bestcem
剩下的是挂载使用
mkdir -p /tmp/bestcembak && mv /data/www/mount/xm/* /tmp/bestcembak/
创建目录,把mount下的东西 移到该目录下
echo admin:${MINIO_PASSWD} >${HOME}/.passwd-s3fs && chmod 600 ${HOME}/.passwd-s3fs
输入挂载的凭证
命令挂载使用,把/data/www/mount/xm下的目录内容 挂载到bestcem
s3fs bestcem /data/www/mount/xm -o passwd_file=${HOME}/.passwd-s3fs -o url=http://$IPADDR:9199 -o use_path_request_style -o umask=0022,uid=2000,gid=2000
echo "mybucket /data/www/mount/xm fuse.s3fs _netdev,allow_other,use_path_request_style,url=http://$IPADDR:9199 0 0" >>/etc/fstab
写进开机自启中,挂载使用完成
这个是文档使用 方法:
一、环境准备
# 三个数据节点 6块盘
# 关闭防火墙、selinux
# 系统
centos 7
# minio 版本
minio version RELEASE.2021-08-25T00-41-18Z
mc version RELEASE.2021-09-02T09-21-27Z
二、启动集群
# 下载服务端
curl -O http://dl.minio.org.cn/server/minio/release/linux-amd64/minio
chmod +x minio && mv minio /usr/local/bin/minio
# 启动准备
mkdir -pv /data/minio{1,2} # 创建 minio 目录
openssl rand -base64 12 # 生成随机密码
# 服务启动
# 参考:https://github.com/minio/minio-service/tree/master/linux-systemd/distributed
# 添加配置文件
cat <<EOT >> /etc/default/minio
# Remote volumes to be used for MinIO server.
MINIO_VOLUMES=http://192.168.4.100/data/minio1 http://192.168.4.100/data/minio2 http://192.168.4.101/data/minio1 http://192.168.4.101/data/minio2 http://192.168.4.186/data/minio1 http://192.168.4.186/data/minio2
# Use if you want to run MinIO on a custom port.
MINIO_OPTS="--address :9199 --console-address :9200"
# Root user for the server.
MINIO_ROOT_USER="admin"
# Root secret for the server.
MINIO_ROOT_PASSWORD="oi9Lv5vGc81aOMSh"
EOT
# 添加 service 服务
vi /etc/systemd/system/minio.service
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio
[Service]
WorkingDirectory=/usr/local/
User=root
Group=root
ProtectProc=invisible
EnvironmentFile=/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
# Let systemd restart this service always
Restart=always
# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=65536
# Specifies the maximum number of threads this process can create
TasksMax=infinity
# Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no
[Install]
WantedBy=multi-user.target
# Built for ${project.name}-${project.version} (${project.name})
# 三个节点分别执行
systemctl daemon-reload && systemctl start minio.service
# 查看状态
systemctl status minio.service
curl -I http://192.168.4.100:9199/minio/health/cluster 这个是查看集群的状态 如果正常出现的就是200
# 开机自启动
systemctl enable minio.service
因为minio是一个集群,类似于web的集群访问机制,所以当有客户端访问的时候。集群内部会设置成负载均衡
就类似于web的负载均衡访问机制:
三、负载均衡
[root@iZ2zea1tomjwxzeva0s1hiZ conf.d]# cat minio.conf
upstream http_minio {
server 192.168.4.100:9199;
server 192.168.4.101:9199;
server 192.168.4.186:9199;
}
server{
listen 9199;
server_name 192.168.4.215;
ignore_invalid_headers off;
client_max_body_size 0;
proxy_buffering off;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
proxy_set_header Host $http_host;
proxy_connect_timeout 300;
proxy_http_version 1.1;
chunked_transfer_encoding off;
proxy_ignore_client_abort on;
proxy_pass http://http_minio;
}
}
# 验证
# 下载客户端
wget http://dl.minio.org.cn/client/mc/release/linux-amd64/mc
chmod a+x mc && mv mc /usr/local/bin/mc
# 配置客户端
mc config host add minio http://192.168.4.215:9199 admin oi9Lv5vGc81aOMSh #添加存储
mc config host ls # 列出主机
mc admin info minio # 显示 MinIO 服务器信息
[root@localhost web]# mc admin info minio
● 192.168.4.100:9199
Uptime: 2 hours
Version: 2021-08-25T00:41:18Z
Network: 3/3 OK
Drives: 2/2 OK
● 192.168.4.101:9199
Uptime: 2 hours
Version: 2021-08-25T00:41:18Z
Network: 3/3 OK
Drives: 2/2 OK
● 192.168.4.186:9199
Uptime: 2 hours
Version: 2021-08-25T00:41:18Z
Network: 3/3 OK
Drives: 2/2 OK
四、挂载目录
# 参考:https://github.com/s3fs-fuse/s3fs-fuse#readme
# 下载 rpm 包
yum install --downloadonly --downloaddir=/tmp/pages s3fs-fuse
[root@localhost pages]# ll /tmp/pages
total 548
-rw-r--r-- 1 root root 87624 Nov 12 2018 fuse-2.9.2-11.el7.x86_64.rpm
-rw-r--r-- 1 root root 95424 Nov 12 2018 fuse-libs-2.9.2-11.el7.x86_64.rpm
-rw-r--r-- 1 root root 31264 Jul 4 2014 mailcap-2.1.41-2.el7.noarch.rpm
-rw-r--r-- 1 root root 338185 Aug 10 08:06 s3fs-fuse-1.90-1.el7.x86_64.rpm
# 安装
# --nodeps就是安装时不检查依赖关系,比如你这个rpm需要A,但是你没装A,这样你的包就装不上,用了--nodeps你就能装上了。--force就是强制安装,比如你装过这个rpm的版本1,如果你想装这个rpm的版本2,就需要用--force强制安装
rpm -i --force --nodeps /data/bestcem_rpm/s3fs/*.rpm &>/dev/null
# 安装验证
[root@localhost s3fs]# rpm -ql s3fs-fuse-1.90-1.el7.x86_64
/usr/bin/s3fs
/usr/share/doc/s3fs-fuse-1.90
/usr/share/doc/s3fs-fuse-1.90/AUTHORS
/usr/share/doc/s3fs-fuse-1.90/ChangeLog
/usr/share/doc/s3fs-fuse-1.90/README.md
/usr/share/doc/s3fs-fuse-1.90/passwd-s3fs
/usr/share/licenses/s3fs-fuse-1.90
/usr/share/licenses/s3fs-fuse-1.90/COPYING
/usr/share/man/man1/s3fs.1.gz
# 挂载测试
# 输入凭据
echo admin:oi9Lv5vGc81aOMSh > ${HOME}/.passwd-s3fs
chmod 600 ${HOME}/.passwd-s3fs
# 选项参考:https://manpages.ubuntu.com/manpages/xenial/man1/s3fs.1.html
# 命令挂载
s3fs mybucket /data/www/mount/XM -o passwd_file=${HOME}/.passwd-s3fs -o url=http://192.168.4.215:9199 -o use_path_request_style -o umask=0022,uid=2000,gid=2000
# fstab 文件
echo "mybucket /data/www/mount/XM fuse.s3fs _netdev,allow_other,use_path_request_style,uid=2000,umask=0022,gid=2000,url=http://192.168.4.215:9199 0 0" >> /etc/fstab
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。