minio 部署​

https://docs.qq.com/doc/DT09OeFhFS2JndURm?no_promotion=1 问题

1、参考文献

【Linux】安装minio_minio安装linux-优快云博客

自己使用的版本

minio.RELEASE.2021-11-24T23-19-33Z 可以不用挂在物理磁盘

1、linux

cat /etc/redhat-release # 查看 AlmaLinux 版本
uname -m 查看架构
grep “physical id” /proc/cpuinfo | sort -u | wc -l 查看内核数量
grep MemTotal /proc/meminfo | awk ‘{print $2/1024 " MB"}’ 查看总内存
lsblk 磁盘的大小

2、创建

sudo mkdir -p /usr/minio/{bin,data1,data2,data3,data4}
sudo chmod -R 775 /usr/minio
sudo chmod +x /usr/minio/bin/minio

chown -R root:root /usr/minio/data*
chmod -R 755 /usr/minio/data* # 放宽权限确保可读写

防火墙放开端口

sudo firewall-cmd --permanent --add-port=9000/tcp
sudo firewall-cmd --permanent --add-port=9001/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all 查看防火墙放开的端口

查看服务运行的日志

sudo journalctl -u minio -f

时钟同步

ntpstat 查看时间的同步

处理服务

sudo systemctl stop minio
sudo systemctl daemon-reload (服务配置文件有修改,需要重载)
sudo systemctl start minio
sudo systemctl status minio

SELinux 限制 放开

SELinux 限制(仅限 RHEL/CentOS):

临时关闭# 修复上下文

sudo setenforce 0
sudo restorecon -Rv /usr/minio/data*

查看目录实际占用空间

sudo du -sh /usr/minio/data*

MinIO 运行用户(ps aux | grep minio)

测试端口是否监听

netstat -tulnp | grep minio
tcp6 0 0 :::9000 ::😗 LISTEN 353517/minio.RELEAS
tcp6 0 0 :::9001 ::😗 LISTEN 353517/minio.RELEAS

创建挂载点目录

sudo mkdir -p /mnt/minio-bind/data{1…4}

绑定挂载(使 /usr/minio/dataX 看起来像独立设备)

for i in {1…4}; do
sudo mount --bind /usr/minio/datai/mnt/minio−bind/datai /mnt/minio-bind/datai/mnt/miniobind/datai
done

持久化挂载(重启后仍然生效)

for i in {1…4}; do
echo “/usr/minio/datai/mnt/minio−bind/datai /mnt/minio-bind/datai/mnt/miniobind/datai none bind 0 0” | sudo tee -a /etc/fstab
done

当前的部署

1、minio的bin和drives路径配置
/usr/minio/
drwxr-xr-x. 2 root root 48 Apr 2 14:43 bin
drwxr-xr-x. 4 root root 42 Apr 2 14:51 data1
drwxr-xr-x. 4 root root 42 Apr 2 14:51 data2
drwxr-xr-x. 4 root root 42 Apr 2 14:51 data3
drwxr-xr-x. 4 root root 42 Apr 2 14:51 data4
-rwxr-xr-x. 1 root root 188 Apr 1 20:19 minio.env
minio.env:
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin
MINIO_OPTS=“–compat --address :9000 --console-address :9001”
MINIO_VOLUMES=“http://10.171.3.{22…25}/mnt/minio-bind/data{1…4}”

2、mnt/minio-bind/ 模拟挂在
3、drwxr-xr-x. 4 root root 42 Apr 2 14:51 data1
4、drwxr-xr-x. 4 root root 42 Apr 2 14:51 data2
5、drwxr-xr-x. 4 root root 42 Apr 2 14:51 data3
6、drwxr-xr-x. 4 root root 42 Apr 2 14:51 data4

3、服务配置
/etc/systemd/system/minio.service
[Unit]
Description=MinIO Object Storage
After=network.target
[Service]
Type=simple
EnvironmentFile=/usr/minio/minio.env
ExecStart=/usr/minio/bin/minio.RELEASE.2021-11-24T23-19-33Z server $MINIO_OPTS $MINIO_VOLUMES
Restart=always
RestartSec=5s
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target

4、当前状态:

/usr/minio/data1 只是根目录下的普通目录,不是独立挂载点
MinIO 在分布式模式下要求每个存储路径最好是 独立物理磁盘的挂载点
风险提示:
所有数据将存储在根分区,可能导致:
磁盘 I/O 竞争
单点故障(如果根分区损坏,所有数据丢失)
无法利用 MinIO 的分布式存储优势

5、处理方式

绑定挂载(使 /usr/minio/dataX 看起来像独立设备)

for i in {1…4}; do
sudo mount --bind /usr/minio/datai/mnt/minio−bind/datai /mnt/minio-bind/datai/mnt/miniobind/datai
done

持久化挂载(重启后仍然生效)

for i in {1…4}; do
echo “/usr/minio/datai/mnt/minio−bind/datai /mnt/minio-bind/datai/mnt/miniobind/datai none bind 0 0” | sudo tee -a /etc/fstab
done

#设置开机重启
服务文件里面添加这两个
‘#’ 让systemd总是重启这个服务
Restart=always
‘#’ 禁用超时逻辑,等待进程停止
TimeoutStopSec=infinity
执行
sudo systemctl enable minio.service

生产的权限

  1. 添加富规则
    假设指定的 IP 是 192.168.1.100,使用以下命令添加富规则,允许该 IP 访问 9000 和 9001 端口:
    bash
    sudo firewall-cmd --zone=public --permanent --add-rich-rule=‘rule family=“ipv4” source address=“192.168.1.100” port port=“9000” protocol=“tcp” accept’
    sudo firewall-cmd --zone=public --permanent --add-rich-rule=‘rule family=“ipv4” source address=“192.168.1.100” port port=“9001” protocol=“tcp” accept’

如果有多个 IP 需要添加,可以重复上述命令,把 source address 替换成相应的 IP 地址。
2. 移除原有的端口开放规则
因为之前开放了所有 IP 对 9000 和 9001 端口的访问权限,为了确保只有指定 IP 能访问,需要移除这些规则:
bash
sudo firewall-cmd --zone=public --permanent --remove-port=9000/tcp
sudo firewall-cmd --zone=public --permanent --remove-port=9001/tcp

  1. 重新加载防火墙规则
    执行以下命令使配置生效:
    bash
    sudo firewall-cmd --reload

  2. 查看防火墙规则
    可以使用以下命令查看当前防火墙规则,确认配置是否正确:
    bash
    sudo firewall-cmd --zone=public --list-all

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值