2024广东省职业技能大赛云计算赛项实战——Minio服务搭建

Minio服务搭建

前言

这道题是比赛时考到的,没找到具体题目,但在公布的样题中找到了,虽然很短~

使用提供的 OpenStack 云平台,申请一台云主机,使用提供的软件包安装部署 MINIO 服务并使用 systemctl 管理

Minio是一个开源的对象存储服务器,基于云存储服务的API(如Amazon S3),提供了类似S3的功能和接口,但可以在自己的服务器或私有云中部署和管理,从个人项目到企业级应用都可以使用它来构建可靠和可扩展的存储解决方案。

虚拟机使用的是自行创建的CentOS7,如果你不会,那虚拟机创建的流程可以参考我这篇文章:职业技能大赛云计算赛项实战------OpenStack搭建-CSDN博客

使用镜像为CentOS-7-x86_64-DVD-2009.iso,可从阿里镜像站下载:https://mirrors.aliyun.com/centos/7/isos/x86_64/

需要用到的Minio软件压缩包:https://pan.baidu.com/s/1GoeNYFwAkTnvfL9s9wGLRA?pwd=u1gy

提取码:u1gy

操作过程

上传软件包

将我提供的软件包上传至主目录内

安装minio

shell 复制代码
#解压软件包
[root@localhost ~]# tar -zxf minio.tar.gz
#解压后主目录会多一个mc和minio目录(mc是minio的命令行工具,而那个图片我也不知道为什么他们要放进来)
[root@localhost ~]# ls
anaconda-ks.cfg  car.jpg  mc  minio  minio.tar.gz
#给文件授权,确保其可执行
[root@localhost ~]# chmod +x minio mc
#设置/mnt/data为工作目录,--console-address为指定端口
[root@localhost ~]# ./minio server /mnt/data --console-address ":9001" &
API: http://192.168.100.11:9000  http://127.0.0.1:9000     
#9000是minion默认的http端口,我们可以通过总共端口访问Minio的Web界面
RootUser: minioadmin 
RootPass: minioadmin 
#默认用户和密码
Finished loading IAM sub-system (took 0.0s of 0.0s to load data).

Console: http://192.168.100.11:9001 http://127.0.0.1:9001   
#9001则是其管理端口,用于执行管理操作,例如创建、删除和配置存储桶等
RootUser: minioadmin 
RootPass: minioadmin 
#默认用户和密码
Command-line: https://docs.min.io/docs/minio-client-quickstart-guide
   $ mc alias set myminio http://192.168.100.11:9000 minioadmin minioadmin
#这里它告诉我们可以设置别名
#这样可以快速连接服务器,方便后续命令操作
Documentation: https://docs.min.io
#我们照做,设置别名
[root@localhost ~]# ./mc alias set myminio http://192.168.100.11:9000 minioadmin minioadmin
...

使用systemctl管理服务

shell 复制代码
#题目需要我们使用systemctl管理minion服务
#我们先添加自定义服务文件
[root@localhost ~]# vi /etc/systemd/system/minio.service 
[Unit]
Description=MinIO Object Storage
After=network.target
[Service]
User=root
Environment="MINIO_ACCESS_KEY=minioadmin"
Environment="MINIO_SECRET_KEY=minioadmin"
ExecStart=/root/minio server /mnt/data  
WorkingDirectory=/root  
Restart=always  
[Install]
WantedBy=multi-user.targe
#Description:说明
#After:在何服务后启动该服务
#User:指定服务运行的用户
#Environment:指定minio服务的用户和密码
#ExecStart:指定运行的命令
#WorkingDirectory:服务运行的工作目录
#Restart:设置服务异常终止时自动重启
#WantedBy:设置服务自启
#重新加载systemd配置
[root@localhost ~]# systemctl daemon-reload
#后台还有刚刚部署的minio进程,会占用端口,使用pgrep命令查看它的进程ID
[root@localhost ~]# pgrep minio
1770
#OK,把它嘎掉,否则我们无法重启服务
[root@localhost ~]# kill 1770
#此时我们就可以用systemctl来管理minion服务了
[root@localhost ~]# systemctl restart minio         [root@localhost ~]# systemctl enable minio 
...
[root@localhost ~]# systemctl status minio
● minio.service - MinIO Object Storage
   Loaded: loaded (/etc/systemd/system/minio.service; enabled; vendor preset: disabled)
   Active: active (running) since 一 2024-06-17 08:11:11 CST; 38s ago
 Main PID: 1940 (minio)
   CGroup: /system.slice/minio.service
           └─1940 /root/minio server /mnt/data
...

测试服务

我们在浏览器中输入http://本机IP:9000登录web界面,输入minioadmin账号和minioadmin密码进入console界面

我们可以通过带年纪右上角的"Create Bucket"按钮创建桶

创建好桶后,右上角的"Upload"按钮可以上传文件

我们回到虚拟机内,查看我们设置的工作目录/mnt/data

shell 复制代码
#可以看到上传的文件会存放在这里
[root@localhost ~]# ls /mnt/data/test/
minio.tar.gz
#在虚拟机里我们也可以使用mc命令行工具来使用minio服务
#myminio是我们刚开始设置的别名
[root@localhost ~]# ./mc ls myminio
[2024-06-17 08:18:22 CST]     0B test/
#我们创建一个新的存储桶
[root@localhost ~]# ./mc mb myminio/test2
Bucket created successfully `myminio/test2`.
#把解压软件多出来的car.jpg图片上传至新创建的桶
[root@localhost ~]# ./mc cp /root/car.jpg myminio/test2
...t/car.jpg:  1.55 MiB / 1.55 MiB ┃▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 71.80 MiB/s 0s
[root@localhost ~]# ls /mnt/data/test2/
car.jpg

后语

我们还可以通过cp命令下载文件、rm命令删除文件以及rb命令删除存储桶,这些就各位自行去了解了。

相关推荐
运维大师18 分钟前
【K8S 运维实战】15-链路追踪Jaeger与OTel
运维·容器·kubernetes
霁月的小屋1 小时前
Docker 工程化实践(二):理解镜像分层与容器文件系统
运维·docker·容器
Android系统攻城狮1 小时前
Linux PipeWire深度解析之pw_context_add_spa_lib调用流程与实战(二十九)
linux·运维·服务器·音频进阶·pipewire音频进阶
Dovis(誓平步青云)2 小时前
《如何在CentOS 7中添加Plex官方软件源:解决文件磁盘难管理难题》
linux·运维·服务器·后端·生成对抗网络·centos
草莓熊Lotso2 小时前
【Linux网络】深入理解Linux IO多路复用:select服务器完善、内核原理与poll实战
linux·运维·服务器·c语言·网络·c++
深念Y2 小时前
MSYS2 是什么,要不要装?
运维·环境·开发·工具·msys2
网安老伯2 小时前
网络安全基础要点知识介绍(非常详细),零基础入门到精通,看这一篇就够了
运维·前端·网络协议·web安全·网络安全·职场和发展
迷茫中的自我2 小时前
GitHub Actions自动化运维实战:从CI/CD到云原生部署
运维·自动化·github
XH华2 小时前
Linux系统第二章:常见的Linux指令(上)
linux·运维·服务器
nVisual3 小时前
01-环境监控集成方案
运维·服务器·开发语言·网络·数据库·数据中心布线·综合布线管理软件