当前位置: 首页 > news >正文

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

#解压软件包
[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管理服务

#题目需要我们使用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 StorageLoaded: loaded (/etc/systemd/system/minio.service; enabled; vendor preset: disabled)Active: active (running) since 一 2024-06-17 08:11:11 CST; 38s agoMain 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

#可以看到上传的文件会存放在这里
[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命令删除存储桶,这些就各位自行去了解了。

相关文章:

  • CTFHUB-SSRF-端口扫描
  • DDMA信号处理以及数据处理的流程---cfar检测
  • 【database3】oracle:数据交换/存储/收集
  • Vite: 关于静态资源的处理机制
  • 计算机组成原理 —— 存储系统(DRAM和SRAM,ROM)
  • Typora Markdown编辑器 for Mac v1.8.10 安装
  • SCI一区级 | Matlab实现BO-Transformer-LSTM多变量时间序列预测
  • 图像数字化基础
  • python实现无人机航拍图片像素坐标转世界坐标
  • go语言:数据库sql查询保存任意数量字段的数据
  • yii2 ActiveForm使用技巧
  • DS:二叉树的链式存储及遍历
  • 解析Java中1000个常用类:AbstractSequentialList类,你学会了吗?
  • 视觉新纪元:解码LED显示屏的视角、可视角、最佳视角的最终奥秘
  • DDMA信号处理以及数据处理的流程---距离速度测量
  • 【5+】跨webview多页面 触发事件(二)
  • 【技术性】Search知识
  • 2017-09-12 前端日报
  • Cumulo 的 ClojureScript 模块已经成型
  • iOS | NSProxy
  • JavaScript的使用你知道几种?(上)
  • TypeScript迭代器
  • 安装python包到指定虚拟环境
  • 编写符合Python风格的对象
  • 对JS继承的一点思考
  • 入口文件开始,分析Vue源码实现
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • #pragma data_seg 共享数据区(转)
  • #职场发展#其他
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)四层和七层负载均衡的区别
  • ***原理与防范
  • .gitignore文件设置了忽略但不生效
  • .net 8 发布了,试下微软最近强推的MAUI
  • .NET Core跨平台微服务学习资源
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .NET和.COM和.CN域名区别
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • .NET下的多线程编程—1-线程机制概述
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • /dev/sda2 is mounted; will not make a filesystem here!
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...
  • [ 云计算 | Azure 实践 ] 在 Azure 门户中创建 VM 虚拟机并进行验证
  • [android] 天气app布局练习
  • [BJDCTF2020]The mystery of ip1
  • [BZOJ1008][HNOI2008]越狱
  • [C#]扩展方法
  • [Codeforces] combinatorics (R1600) Part.2