在基于 RPM 的 RPM-based Linux 上安装部署 MinIO:单节点单驱动

参考:

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

下载 MinIO 服务器

从下载页面:https://min.io/download 手动下载安装包; 或使用以下命令下载最新的稳定版 .rpm 文件:

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

从您的浏览器下载

从命令行下载并安装

  • amd64(Intel 或 AMD 64 位处理器)
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20230504214430.0.0.x86_64.rpm -O minio.rpm
sudo dnf install minio.rpm
  • arm64(Apple M1/M2 或其他 ARM 64 位处理器)
$ wget https://dl.min.io/server/minio/release/linux-arm64/archive/minio-20230504214430.0.0.aarch64.rpm -O minio.rpm
$ sudo dnf install minio.rpm

使用 .rpm 软件包方式安装时,会自动将以下systemd服务文件安装到 /etc/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-user
Group=minio-user
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})

创建 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

配置 UserGroup 变量:

User=minio
Group=minio

创建环境变量文件

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

vi /etc/default/minio

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

# 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-02-17 09:43
最后编辑:Jeebiz  更新时间:2024-08-02 11:04