文章目录
简介
Minio是一款高性能的对象存储服务器,它兼容Amazon S3 API。它的设计目的是为了提供云存储服务的性能和可扩展性,同时还保持着本地存储的简单性和易用性。Minio可以再Linux、MacOS和Windows等操作系统上运行,它可以通过命令行界面或RESTful API进行管理。
Minio的核心是对象存储,对象是一组二进制数据和元数据的组合。对象可以存储为文件,也可以存储为内存中的数据结构。对象可以存储在不同的存储介质中,如本地磁盘、网络文件系统、云存储等。Minio支持多种存储介质,它可以轻松地将数据库存储到本地磁盘、Amazon S3、Google Cloud Storage、Microsoft Azure Blob Storage等云存储服务中。
Minio的架构采用了分布式的设计,它可以将数据分散在多个节点中,从而实现数据的高可用和容错性。在Minio中,节点被称为Minio Server,每个Minio Server可以存储一个或多个对象存储桶。对象存储桶是一组对象的集合,类似于文件系统中的文件夹。每个对象存储桶都有一个唯一的名称,它可以在Minio集群中全局唯一。
Minio的数据访问是通过RESTful API实现的,它可以提供各种数据管理功能,如创建、删除、读取、写入对象等。Minio的API与Amazon S3 API兼容,这意味着可以使用Amazon S3 SDK和工具来与Minio交互。
minio的安装部署
创建目录
为了便于日后对Minio数据进行管理,在服务器中创建专门用于Minio的目录,如下所示,创建下面这些文件夹。
sudo mkdir -p /data/minio/{bin,data,config,log}
各目录的主要作用如下:
- bin:二进制文件目录
- data:数据存储目录
- config:配置文件目录
- log:日志文件路径
下载minio
输入以下命令下载minio二进制文件,建议将Minio服务端和客户端都下载下来。
进入到bin目录,使用如下命令下载文件并添加执行权限
- 服务端
wget https://dl.min.io/sever/minio/release/linux-amd64/minio
chmod +x minio //添加执行权限
由于是外网连接,下载速度有可能会很慢,请耐心等待。
启动minio服务
下载并添加执行权限后,可以通过官网提供的命令启动。
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password ./minio server /data/minio/data --console-address ":9001"
- 用户名为“admin”
- 密码为“password”
- 数据存储路径为"/data/minio/data"
- 控制台页面的访问端口为"9091"
在浏览器输入http://localhost:9001进入Minio的控制台,如下图所示:
但有时我们并不想使用官网的命令进行启动,可能我们需要修改下控制台页面的访问端口,或是修改S3-API的访问端口,可以使用如下命令,可以根据自己的需求进行自定义修改。
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password nohup /data/minio/bin/minio server --config-dir /data/minio/config /data/server/minio/data --address ":2222" --console-address ":1111" > /data/server/minio/log/minio.log 2>&1 &
- 用户名为”admin“
- 密码为"password"
- S3-API访问端口为”2222“
- 控制台页面访问端口为”1111“
可以根据自己的需求对上述启动命令进行相应修改。
添加Minio启动、关闭脚本
为了方便启动和关闭minio,添加如下启动和关闭脚本。
启动脚本
在/data/minio目录下通过vim命令创建minio-startup.sh文件:
vim /data/minio/minio-startup.sh
进入到编辑器后输入如下内容
#!/bin/bash
# 设置MinIO的配置参数
# 用户名
export MINIO_ROOT_USER=admin
# 密码
export MINIO_ROOT_PASSWORD=password
#设置MinIO端口
#S3-API端口
export MINIO_ADDRESS=":6900" #可按需修改
#Console控制台页面访问端口
export MINIO_CONSOLE_ADDRESS=":6901" # 可按需修改
#设置MinIO安装路径
export MINIO_PATH_DIR="/data/minio/bin"
#设置MinIO配置文件路径
export MINIO_CONFIG_DIR="/data/minio/config"
# 设置数据存储路径
export MINIO_DATA_DIR="/data/minio/data"
# 设置日志存储路径
export MINIO_LOG_DIR="/data/minio/log"
# 启动MinIO服务器
nohup $MINIO_PATH_DIR/minio server --address $MINIO_ADDRESS --console-address $MINIO_CONSOLE_ADDRESS --config-dir $MINIO_CONFIG_DIR $MINIO_DATA_DIR > $MINIO_LOG_DIR/minio.log 2>&1 &
保存退出,启动脚本文件创建成功后,赋予可执行的权限:
chmod +x minio-startup.sh
至此,启动脚本创建完成。
关闭脚本
在/data/minio目录下通过vim 命令创建minio-shutdown.sh文件
vim /data/minio/minio-shutdown.sh
进入到编辑器模式后输入如下内容:
#!/bin/bash
echo "shutdown minio"
pid=`ps -ef | grep 'minio server' | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
kill -9 $pid
fi
echo "Success!"
保存退出,关闭脚本创建完成后,赋予可执行的权限:
chmod +x minio-shutdown.sh
至此,关闭脚本创建完成。
访问Minio控制台页面
使用浏览器访问http://ip:1111地址时,访问Minio内置的UI界面
账号为admin,密码为password进行登录,成功进入首页。
页面使用
创建Bucket
配置Bucket访问规则
默认情况下,访问Bucket是需要进行请求授权的,但是在实际使用过程中,我们希望可以直接访问Bucket。因此,需要给相应的Bucket添加readonly访问策略。
文件上传
文件上传成功,如图所示。
文件访问
文件的访问地址的格式为http://{IP}:{S3-API端口}/{bucket}/{name};
按照以下配置,文件的访问路径为
http://localhost:port/test/point.txt
最终效果如下:
Minio Client客户端命令行工具
Minio Client(mc)是Minio提供的命令行工具,用于访问Minio server。
至此,Linux下Minio单节点安装部署完成。