Linux如何安装与部署MinIO

开发工具 潘老师 4周前 (03-26) 16 ℃ (0) 扫码查看

MinIO是一款功能强大的对象存储服务,广泛应用于各种数据存储场景,下面将详细介绍如何在Linux系统上通过yum方式安装和部署MinIO,文中以CentOS7版本为例,若使用CentOS8版本,需将yum替换为dnf

一、安装官方仓库和MinIO

(一)下载并添加MinIO官方仓库

在安装MinIO之前,需要先下载并添加MinIO的官方仓库,执行以下命令:

wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20250312180418.0.0-1.x86_64.rpm -O minio.rpm

这条命令使用wget工具从指定的URL下载MinIO的RPM包,并将其重命名为minio.rpm

(二)使用yum安装MinIO

下载完成后,通过yum命令进行安装:

yum install minio.rpm

该命令会自动安装MinIO及其依赖项。

(三)验证安装是否成功

安装完成后,验证MinIO是否安装成功,执行如下命令:

minio --version

若安装成功,会显示MinIO的版本信息。

二、创建MinIO数据目录并挂载到新磁盘

MinIO要求存储数据的驱动器必须是独立的非系统分区,以保障数据的安全性和性能。若数据目录位于系统根分区,MinIO会拒绝使用并报错。因此,我们需要准备一个新磁盘作为MinIO的数据目录挂载点。

(一)创建MinIO数据目录

创建一个专门用于存储MinIO数据的目录,执行命令:

mkdir -p /mnt/data

-p参数确保在创建目录时,如果父目录不存在会一并创建。

接着,设置目录权限,添加minio组和用户,保证MinIO能够访问该目录:

groupadd -r minio-user
useradd -M -r -g minio-user minio-user
chown -R minio-user:minio-user /mnt/data
chmod -R 755 /mnt/data

上述命令依次完成了创建minio-user组、创建minio-user用户并将其加入minio-user组、设置/mnt/data目录的所有者为minio-user用户和minio-user组,以及赋予目录755的权限。

(二)添加新磁盘

在虚拟机环境中,可按照相关提示添加一块新磁盘。添加过程中,根据“添加硬件向导”的指引,选择添加硬盘,并根据实际需求进行配置。

(三)检查系统中已识别的磁盘

添加新磁盘后,使用lsblk命令检查系统是否识别到新磁盘:

lsblk

执行该命令后,会列出系统中的磁盘及其分区信息。其中,/dev/sda通常是系统磁盘及其子分区,属于系统根分区;而新添加的磁盘可能显示为/dev/sdb

(四)检查MinIO数据目录所在分区

使用以下命令检查MinIO数据目录/mnt/data所在的分区:

df -h /mnt/data

若当前目录属于系统根分区,需要进行后续操作来更换分区。

(五)格式化新磁盘

  1. 创建分区
    使用fdisk工具对新磁盘进行分区操作:

    fdisk /dev/sdb
    

    fdisk交互界面中,按顺序输入以下命令:

    • n:创建新分区。
    • p:选择主分区。
    • 1:设置分区编号为1。
    • Enter键:使用默认的起始扇区。
    • Enter键:使用默认的结束扇区。
    • w:保存并退出。

  1. 格式化分区
    将新分区格式化为ext4文件系统,执行命令:

    mkfs.ext4 /dev/sdb1
    

    ext4文件系统在Linux系统中应用广泛,具有高可靠性、高性能等优点,能很好地满足MinIO的数据存储需求。

(六)挂载数据目录到新磁盘

/mnt/data挂载到新分区,并查看挂载情况:

mount /dev/sdb1 /mnt/data
df -h /mnt/data

执行上述命令后,/mnt/data就会挂载到新分区,通过df -h /mnt/data命令可以确认挂载是否成功。

(七)设置开机自动挂载

为确保系统重启后/mnt/data依然能正确挂载到新分区,需要进行开机自动挂载设置。

  1. 获取新分区UUID
    使用blkid命令获取新分区/dev/sdb1的UUID:

    blkid /dev/sdb1
    

    记录下命令输出的UUID信息。

  2. 编辑/etc/fstab文件
    打开/etc/fstab文件进行编辑:

    vim /etc/fstab
    

    在文件末尾添加一行内容,其中UUID替换为上一步获取的新分区UUID:

    UUID=3d33a1d0-75b8-4c27-8a71-9e5caa4041a5 /mnt/data ext4 defaults 0 0
    

    保存并退出编辑器。

三、配置MinIO环境变量

编辑MinIO的配置文件,设置相关环境变量:

vim /etc/default/minio

在打开的文件中添加以下内容,将<your-username><your-password>替换为实际的管理员账号和密码,这里以minioadmin为例:

MINIO_ROOT_USER="minioadmin"
MINIO_ROOT_PASSWORD="minioadmin"
MINIO_VOLUMES="/mnt/data"
MINIO_OPTS="--address :9000"

保存并退出编辑器。这些配置分别设置了MinIO的管理员账号密码、数据存储目录以及服务监听地址和端口。

四、启动MinIO服务

(一)启动与自启设置

使用以下命令启动MinIO服务,并设置开机自启:

# 启动MinIO服务
systemctl start minio
# 设置MinIO服务开机自启
systemctl enable minio

若要停止MinIO服务,执行:

systemctl stop minio

(二)防火墙设置

若系统启用了防火墙,需要开放MinIO的默认端口9000:

sudo firewall-cmd --zone=public --add-port=9000/tcp --permanent
sudo firewall-cmd --reload

第一条命令将9000端口添加到防火墙的公共区域并设置为永久生效,第二条命令重新加载防火墙配置使设置生效。

(三)常见问题及解决

如果MinIO启动失败,首先查看报错信息:

journalctl -u minio.service -xe

常见的错误及解决方法如下:

  1. 服务端口占用
    使用lsof命令查看端口使用情况,杀死占用端口的进程或者修改MinIO配置文件中的端口:

    yum install lsof
    lsof -i :9000
    kill -9 <pid>
    

    其中,<pid>为占用9000端口的进程ID。

  2. 服务配置文件出错
    检查/usr/lib/systemd/system/minio.service文件,确保UserGroup配置为minio-userEnvironmentFile指向正确的环境变量文件(即/etc/default/minio),并且添加TimeoutStartSec=300以避免超时问题。修改完成后,重启服务:

    systemctl daemon-reload
    

五、验证MinIO是否运行

(一)检查服务状态

使用systemctl status minio命令检查MinIO服务的运行状态:

systemctl status minio

若服务正常运行,会显示相关的运行信息,如服务的启动时间、进程ID等。

(二)登录MinIO服务

在浏览器中访问MinIO的Web界面,地址格式通常为http://服务器IP:端口号/browser,如http://192.168.132.128:37508/browser(实际IP和端口号根据部署情况而定)。输入之前设置的管理员账号和密码,即可登录MinIO服务进行管理操作。

六、日志和监控

查看MinIO的日志,可执行以下命令实时跟踪服务运行情况:

sudo journalctl -u minio.service -f

通过查看日志,可以及时发现和解决MinIO运行过程中出现的问题。

七、卸载MinIO

若不再需要MinIO,可执行以下命令进行卸载:

sudo yum remove minio
sudo rm -rf /mnt/data
sudo rm -rf /etc/default/minio
sudo rm -rf /etc/yum.repos.d/minio.repo

这些命令会依次卸载MinIO软件包、删除MinIO的数据目录、配置文件以及仓库配置文件。

通过以上详细步骤,你就能在Linux系统上顺利完成MinIO的安装、部署、配置、启动、验证、监控以及卸载等操作。希望本文能帮助你快速搭建和管理MinIO服务。


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/tool/16346.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】