minio国内镜像地址 http://minio.org.cn/
linux
minio最少需要4个节点.具体搭配可参考官方文档.
本案例,两台主机,分别添加两个磁盘.
重点 挂载磁盘文件夹.
先通过vmvare工具,分别在两台服务器上增加磁盘
1. fdisk -l查看硬盘及分区状态
2. 查看主机总线号,命令:ls /sys/class/scsi_host/
3. 重新扫描SCSI总线,以添加新设备:
echo "- - -">/sys/class/scsi_host/host0/scan
echo "- - -">/sys/class/scsi_host/host1/scan
echo "- - -">/sys/class/scsi_host/host2/scan
4. 再执行fdisk -l,就可以看到新加的硬盘
磁盘加好,要做分区及格式化,否则挂载数据目录时会报错:
mount: /dev/sdb1 is write-protected, mounting read-only
mount: unknown filesystem type '(null)'
分区及格式化方法:
分区命令:
1. fdisk /dev/sdc
2. Command (m for help): n
3. 4个回车
4. Command (m for help): w
The partition table has been altered!
用fdisk -l命令看下,已经多了一个 sdc1分区,对分区格式化:
格式化命令:
mkfs.ext4 /dev/sdc1
4个磁盘用同样的命令去做分区和格式化,此时磁盘就能使用了。
要分别在两个服务器上创建data0,data1数据存储目录。然后每个数据目录去挂载刚刚分配的新磁盘。挂载命令:
mount /dev/sdc1 /data0
后面操作可参考文档进行.
出现如下错误.是因为两台服务器之间时间间隔超过3秒.可以使用ntp同步两台服务器时间
Unable to read ‘format.json’ from http://192.168.0.100:9000/mnt/data2: client time 2020-07-07 00:39:35 +0000 UTC is too apart with server time 2020-07-06 10:52:19.617966442 +0000 UTC
- 下载安装ntp服务,用yum直接安装即可
yum -y install ntp
- 增加时间服务器的地址,并进行相应的配置
$ vi /etc/ntp.conf
restrict 192.168.1.0 mask 255.255.255.0 nomodify #<==允许局域网内所有client连接到这台服务器
server ntp1.aliyun.com #阿里的时间服务器
#server 0.pool.ntp.org #外部时间服务器,注释掉
#server 1.pool.ntp.org
#server 2.pool.ntp.org
3. 启动ntp服务,并设置开机自启动
$ sudo systemctl start ntpd --启动服务
$ sudo systemctl enable ntpd --开机自启动
在时间同步的时候,有一点非常重要。就是客户机跟服务器之间的时间差不能太大,如果差距太大,是不会出现第四步那种情况的。
在时间差距太大的时候,可以手动先同步下时间
ntpdate -u <server.ntp>
nginx配置做负载均衡minio
docker运行nginx命令,挂载本地方式
docker run -d -p 85:80 --name nginx_test --restart always -v /usr/nginx/www:/usr/share/nginx/html -v /usr/nginx/log:/var/log/nginx -v /usr/nginx/conf:/etc/nginx nginx
upstream minio-server {
server 10.95.130.144:9000 weight=25 max_fails=2 fail_timeout=30s;
server 10.95.130.145:9000 weight=25 max_fails=2 fail_timeout=30s;
server 10.95.130.146:9000 weight=25 max_fails=2 fail_timeout=30s;
server 10.95.130.147:9000 weight=25 max_fails=2 fail_timeout=30s;
}
server {
listen 80;
server_name localhost;
charset utf-8;
default_type text/html;
location /{
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $remote_addr;
client_body_buffer_size 10M;
client_max_body_size 10G;
proxy_buffers 1024 4k;
proxy_read_timeout 300;
proxy_next_upstream error timeout http_404;
proxy_pass http://minio-server;
}
}
NTP客户端配置
简单两步,搞定单台机器时间同步。
1 安装ntpdate
yum install ntpdate
ntpdate无需任何依赖,也可以直接rpm安装
rpm -ivh http://mirrors.aliyun.com/centos/7.5.1804/os/x86_64/Packages/ntpdate-4.2.6p5-28.el7.centos.x86_64.rpm
2 与远程机器时间同步
ntp常用服务器:
中国国家授时中心:210.72.145.44
NTP服务器(上海) :ntp.api.bz阿里云的NTP时间服务器ntp1.aliyun.com# ntpdate ntp1.aliyun.com 19 Oct 10:07:54 ntpdate[17142]: adjust time server 120.25.115.20 offset 0.026562 sec
显然这台机器需要能够访问互联网才能实现时间同步,其它更多NTP时间服务器地址可在官网或网上找到,如果是自己测试,可以先使用date命令修改本地时间,再进行测试。
- 配置定时任务
3.1 方法一:
只需要把这条命令写入定时任何,即可实现自动同步时间。如每10分钟同步一次时间(以root用户登录):
# echo "*/10 * * * * /usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1" >> /var/spool/cron/root
# crontab -l
*/10 * * * * /usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1