打造自己的分布式MinIO对象存储

MinIO是一个对象存储解决方案,它提供了一个与Amazon Web Services S3兼容的API,并支持所有核心S3特性。MinIO旨在部署在任何地方——公共云或私有云、裸机基础架构、协调环境和边缘基础架构。

分布式MinIO如何工作

Server Pool由多个Minio服务节点与其附属的多个磁盘构成。MinIO支持向现有MinIO集群中增加一个或多个Server Pool,从而实现水平扩容。

当MinIO中有多个可用的Server Pool时,单个对象总是写入其中的一个Server Pool,如果一个Server Pool发生故障,并不会影响其他Server Pool的读写。

minio server命令中通过指定HOSTNAME参数来表示一个Server Pool

下文将演示创建一个单独的Server Pool,包含2个minio服务器节点,每一个服务器节点拥有3个驱动器(磁盘),总共6块盘。

规划

一共2个minio服务器节点
oss{1...2}
172.26.150.86 LY-Orch-test-AP01  oss1
172.26.150.87 LY-Orch-test-AP02  oss2
每一个服务器节点拥有3个驱动器(磁盘)
data{1...3}

先决条件

1、网络和防火墙每个节点都应该能够完全双向地访问部署中的所有其他节点。
2、连续主机名minio使用扩展符号{x...y}在创建服务器池时表示一系列连续的MinIO主机。
3、带有顺序挂载点的本地JBOD存储多节点系统必须保持同步的时间和日期,以保持稳定的节点间操作和交互。
4、时间同步多节点系统必须保持同步的时间和日期,以保持稳定的节点间操作和交互。

说明:各个minio节点安装配置步骤保持一致

1、创建minio数据盘

mkfs.xfs /dev/sdb
mkfs.xfs /dev/sdc
mkfs.xfs /dev/sddmkdir -p /data/{data1,data2,data3}[root@hd-iov-l3db-oss02 ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Mar 10 15:11:41 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/ol-root     /                       xfs     defaults        0 0
UUID=718976f7-a520-4a9f-8f90-e57ebc6e6abb /boot                   xfs     defaults        0 0
/dev/mapper/ol-swap     swap                    swap    defaults        0 0
UUID="c717af95-08c6-4fcd-9574-fee634d12564" /data/data1 xfs     defaults        0 2
UUID="9e4559e9-d1c0-4f0b-ba30-2a41b286240a" /data/data2 xfs     defaults        0 2
UUID="27995a2a-132f-4b71-9d4c-426d4e7cf8c1" /data/data3 xfs     defaults        0 2

2、MINIO SERVER 软件包下载与安装

mount -a 
chmod 755 minio
mv minio /usr/bin/
groupadd oss
useradd -g oss -s /sbin/nologin oss
chmod 755 /data/
mkdir -p /oss/minio
chmod 755 /oss/
chown oss:oss -R /oss/minio/ /data/data*

3、配置 /etc/hosts 

 cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.26.150.86 LY-Orch-test-AP01  oss1
172.26.150.87 LY-Orch-test-AP02  oss2

4、创建服务环境文件

cat /etc/default/minio.conf 

MINIO_ROOT_USER=miniodba

MINIO_ROOT_PASSWORD=ivhsdiFFegg234FDvf#rf

MINIO_PROMETHEUS_AUTH_TYPE="public"

MINIO_VOLUMES="{1...2}:9000/data/data{1...3}"

MINIO_REGION_NAME="hd"

MINIO_BROWSER=on

MINIO_API_REQUESTS_MAX="1000"

MINIO_API_REQUESTS_DEADLINE="30s"

MINIO_OPTS="--console-address :9001"

5、Create the systemd Service File

cat /etc/systemd/system/minio.service

[Unit]

Description=MinIO

Documentation=

Wants=network-noline.target

After=network-noline.target

[Service]

WorkingDirectory=/oss/minio

User=oss

Group=oss

EnvironmentFile=-/etc/default/minio.conf

ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]";then echo \"Variable MINIO_VOLUEMS not set in /etc/default/minio\";exit 1;fi"

ExecStart=/usr/bin/minio server $MINIO_OPTS $MINIO_VOLUMES  

Restart=always

LimitNOFILE=655360

LimitNPROC=655360

TasksMax=infinity

TimeoutStopSec=infinity

SendSIGKILL=no

[Install]

WantedBy=multi-user.target

6、运行MinIO服务器进程

systemctl daemon-reload

systemctl start minio

systemctl status minio

7、MINIO CLIENT 软件包下载与安装

MINIO CLIENT:  

wget https://dl.min.io/client/mc/release/linux-amd64/mc

chmod 755 mc

mv mc /usr/bin/

8、配置mc alias 

mkdir -p /root/.mc

cat >> /root/.mc/config.json << EOF

{

        "version": "10",

        "aliases": {

                "ccsminio": {

                        "url": "

                        "accessKey": "miniodba",

                        "secretKey": "miniodba_9922.1xx15221ssPLUS",

                        "api": "S3v4",

                        "path": "auto"

                }

        }

}

EOF

9、mc 测试

[root@LY-Orch-test-AP01 ~]# mc alias list 

ccsminio

  URL       :

  AccessKey : miniodba

  SecretKey : ivhsdiFFegg234FDvf#rf

  API       : S3v4

  Path      : auto

  

[root@LY-Orch-test-AP01 ~]# mc mb  ccsminio/oss                                    

Bucket created successfully `ccsminio/oss`.

[root@LY-Orch-test-AP01 ~]# mc cp /root/openssh-8.6p1.tar.gz ccsminio/oss

/root/openssh-8.6p1.tar.gz:    1.70 MiB / 1.70 MiB ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 35.66 MiB/s 0s

[root@LY-Orch-test-AP01 ~]#

10、console web 测试

访问  ,输入管理员账号密码

打造自己的分布式MinIO对象存储_第1张图片

你可能感兴趣的:(分布式,数据库)