当前位置: 首页 > 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命令删除存储桶,这些就各位自行去了解了。

http://www.lryc.cn/news/378695.html

相关文章:

  • 【考研408计算机组成原理】数值表示和运算之快速数值转换
  • 理解 JTBD 框架和EJ 理念:深挖以用户为中心的设计
  • 数据提取与治理:企业实现数据驱动决策的必经之路
  • Avalonia:一个.NET跨平台UI框架
  • 海量数据处理——bitMap/BloomFilter、hash + 统计 + 堆/归并/快排
  • TrainingArguments、ModelArguments、DataArguments参数使用(@dataclass)
  • 基于jeecgboot-vue3的Flowable流程-自定义业务表单处理(一)支持同一个业务多个关联流程的选择支持
  • 解决数据丢失问题的MacOS 数据恢复方法
  • [ARM-2D 专题]3. ##运算符
  • 基于语音识别的智能电子病历(五)电子病历编辑器
  • 云计算技术高速发展,优势凸显
  • 文本三剑客其二
  • 【达梦数据库】typeorm+node.js+达梦数据库返回自增列值
  • 【ARMv8/ARMv9 硬件加速系列 2.1 -- ARM NEON 向量寄存器单个元素赋值】
  • GD32学习
  • LangChain:如何高效管理 LLM 聊天历史记录?
  • 【React】useState 更新延迟的原因是什么,怎么解决?
  • 非关系型数据库NoSQL数据层解决方案 之 redis springboot整合与读写操作 2024详解以及window版redis5.0.14下载百度网盘
  • jigdo无法下载的文件
  • C#面:C# 类的执行顺序?
  • 昇思25天学习打卡营第3天|数据集Dataset
  • SpringCloud 服务调用 spring-cloud-starter-openfeign
  • 基于Elementui组件,在vue中实现多种省市区前端静态JSON数据展示并支持与后端交互功能,提供后端名称label和id
  • 基于DPU的云原生裸金属网络解决方案
  • pip install镜像源(更新和换源)
  • 基础语法——组合与继承
  • openGauss开发者大会、华为云HDC大会举行; PostgreSQL中国技术大会7月杭州开启
  • 编译报错:No rule to make target xx/libcam.halmemory_intermediates/export_includes
  • 【备考指南】CDA Level Ⅰ 最全备考攻略
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 5G基站光纤连接问题(200分) - 三语言AC题解(Python/Java/Cpp)