使用 Linux Binaries 方式部署 MinIO:单节点单驱动

参考:

https://min.io/docs/minio/linux/operations/install-deploy-manage/deploy-minio-single-node-single-drive.html

下载 MinIO 二进制文件。

从浏览器 或 命令行 下载最新稳定的 MinIO 二进制文件将其安装到系统中 $PATH。

注意:可先网页下载到本地,上传到 /usr/local/src 目录下,也可以使用 wget 下载;

从您的浏览器下载

从命令行下载并安装

  • Standalone Linux Binaries (64 Bit)
$ cd /usr/local/src && wget https://dl.min.io/server/minio/release/linux-amd64/minio
$ chmod +x minio
$ sudo mv minio /usr/local/bin/
  • Standalone Linux Binaries (ARM64)
$ cd /usr/local/src && wget https://dl.min.io/server/minio/release/linux-arm64/minio
$ chmod +x minio
$ sudo mv minio /usr/local/bin/

创建 systemd 服务文件

MinIO 有默认的和自定义的配置文件。您可以通过修改自定义配置文件或使用环境变量来自定义您的 MinIO 实例。

为 MinIO 创建专用的数据存储目录

mkdir -p /mnt/minio/data;
mkdir -p /mnt/minio/logs;

创建 minio:minio 用户组和用户,并进行授权:

默认情况下,该 minio.service 文件作为 minio 用户和组运行。groupadd您可以使用和命令创建用户和组useradd 。以下示例创建用户、组并设置权限以访问旨在供 MinIO 使用的文件夹路径。这些命令通常需要 root ( sudo) 权限。

# groupadd -r minio
# useradd -M -r -g minio minio
# chown minio:minio /mnt/disk1 /mnt/disk2 /mnt/disk3 /mnt/disk4
# 创建用户和分组
groupadd minio;
useradd -g minio -M -s /bin/bash minio;
# 赋予root权限
echo 'minio ALL=(ALL) ALL' >>/etc/sudoers;
# 赋予指定目录所有权
# chown minio. /mnt/disk1 /mnt/disk2 /mnt/disk3 /mnt/disk4
chown -R minio. /mnt/minio/data;
chown -R minio. /mnt/minio/logs;
chown -R minio. /etc/default/minio;
chown -R minio. /usr/local/bin/minio;

创建 /etc/systemd/system/minio.service 服务文件

[root@local ~]# vi /lib/systemd/system/minio.service

脚本内容:

[Unit]
Description=MinIO
Documentation=https://min.io/docs/minio/linux/index.html
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio

[Service]
WorkingDirectory=/usr/local

User=minio
Group=minio
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})

设置随机启动:

[root@local ~]# systemctl daemon-reload
[root@local ~]# systemctl disable minio.service
[root@local ~]# systemctl enable minio.service
[root@local ~]# systemctl start minio.service
[root@local ~]# systemctl status minio.service
[root@local ~]# systemctl stop minio.service
[root@local ~]# systemctl restart minio.service

创建环境变量文件

创建一个环境变量文件在/etc/default/minio. 对于 Windows 主机,指定类似于C:\minio\config. MinIO Server 容器可以使用这个文件作为所有环境变量的来源。

以下示例提供了一个起始环境文件:

# MINIO_ROOT_USER and MINIO_ROOT_PASSWORD sets the root account for the MinIO server.
# This user has unrestricted permissions to perform S3 and administrative API operations on any resource in the deployment.
# Omit to use the default values 'minioadmin:minioadmin'.
# MinIO recommends setting non-default values as a best practice, regardless of environment

MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=44qwsgxQgmci5KK

# MINIO_VOLUMES sets the storage volume or path to use for the MinIO server.

MINIO_VOLUMES="/mnt/minio/data"

# MINIO_OPTS sets any additional commandline options to pass to the MinIO server.
# For example, `--console-address :9001` sets the MinIO Console listen port
MINIO_OPTS="--console-address :9001"

启动MinIO服务

在本地主机上发出以下命令以启动 MinIO SNSD 部署作为服务:

sudo systemctl start minio.service

使用以下命令确认服务在线且正常运行:

sudo systemctl status minio.service
journalctl -f -u minio.service

当服务器进程连接和同步时,MinIO 可能会记录更多的非严重警告。这些警告通常是暂时的,应该会在部署上线时解决。

如果任何驱动器在启动 MinIO 后仍处于脱机状态,请在开始生产工作负载之前检查并解决任何阻碍其功能的问题。

输出journalctl应类似于以下内容:

Status:         1 Online, 0 Offline.
API: http://192.168.2.100:9000  http://127.0.0.1:9000
RootUser: myminioadmin
RootPass: minio-secret-key-change-me
Console: http://192.168.2.100:9090 http://127.0.0.1:9090
RootUser: myminioadmin
RootPass: minio-secret-key-change-me

Command-line: https://min.io/docs/minio/linux/reference/minio-mc.html
   $ mc alias set myminio http://10.0.2.100:9000 myminioadmin minio-secret-key-change-me

Documentation: https://min.io/docs/minio/linux/index.html

该API块列出了客户端可以访问 MinIO S3 API 的网络接口和端口。该Console块列出了客户端可以访问 MinIO Web 控制台的网络接口和端口。

连接到 MinIO 服务

您可以通过在首选浏览器中输入 MinIO 服务器块中的任何主机名或 IP 地址来访问 MinIO 控制台Console,例如 http://localhost:9000。

使用容器指定的环境文件中配置的MINIO_ROOT_USER登录。MINIO_ROOT_PASSWORD

默认密码:admin/admin

Username : admin
Password : 44qwsgxQgmci5KK

您可以使用 MinIO 控制台执行一般管理任务,例如身份和访问管理、指标和日志监控或服务器配置。每个 MinIO 服务器都包含自己的嵌入式 MinIO 控制台。

作者:Jeebiz  创建时间:2023-05-14 22:42
最后编辑:Jeebiz  更新时间:2024-08-02 11:04