章
目
录
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
若当前目录属于系统根分区,需要进行后续操作来更换分区。
(五)格式化新磁盘
- 创建分区:
使用fdisk
工具对新磁盘进行分区操作:fdisk /dev/sdb
在
fdisk
交互界面中,按顺序输入以下命令:n
:创建新分区。p
:选择主分区。1
:设置分区编号为1。- 按
Enter
键:使用默认的起始扇区。 - 按
Enter
键:使用默认的结束扇区。 w
:保存并退出。
- 格式化分区:
将新分区格式化为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
依然能正确挂载到新分区,需要进行开机自动挂载设置。
- 获取新分区UUID:
使用blkid
命令获取新分区/dev/sdb1
的UUID:blkid /dev/sdb1
记录下命令输出的UUID信息。
- 编辑/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
常见的错误及解决方法如下:
- 服务端口占用:
使用lsof
命令查看端口使用情况,杀死占用端口的进程或者修改MinIO配置文件中的端口:yum install lsof lsof -i :9000 kill -9 <pid>
其中,
<pid>
为占用9000端口的进程ID。 - 服务配置文件出错:
检查/usr/lib/systemd/system/minio.service
文件,确保User
和Group
配置为minio-user
,EnvironmentFile
指向正确的环境变量文件(即/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服务。