minio 升级相关问题

news2024/11/17 11:24:40

系列文章目录

文章目录

  • 系列文章目录
  • 前言
  • 一、集群部署
  • 二、单机部署
  • 三、写一个启动脚本
  • 四、性能方面


前言

minio版本升级,目的主要是为了解决由 Direct buffer memory 引发的附件下载优化方案
minio version RELEASE.2021-01-16T02-19-44Z => minio version RELEASE.2023-05-18T00-05-36Z

升级后问题整理一下

一、集群部署

低版本minio 集群部署对于存储地址没有要求
高版本要求存储地址必须为外挂空磁盘Drive /mnt/minio/data/export2 is part of root drive, will not be used (*errors.errorString)

二、单机部署

  1. 文件存储形式变化
    低版本挂载目录可直接显示文件
    高版本挂载目录显示为文件名/xl.meta
  2. 高版本启动提示The standard parity is set to 0. This can lead to data loss.
    无需处理,这是提示单机部署可能会因为磁盘损坏导致数据丢失无法恢复。
  3. nginx代理console后查看数据报错Couldn't establish WebSocket connection.
    需要在nginx增加配置,使nginx代理支持长连接
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
  1. 注意服务器时间同步

三、写一个启动脚本

也可以写入开机自启服务,未验证 可参考官网

  1. 单机启动脚本
#!/bin/bash

#服务参数
#服务端口,后端集成地址端口
SERVER_PORT=19000
#控制台端口,浏览器访问地址端口
CONSOLE_PORT=19001
MINIO_FILE_NAME="./minio"

#无日志
# LOG="/dev/null"
LOG="./log"

export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=admin123
echo "SERVER_PORT:$SERVER_PORT"
echo "CONSOLE_PORT:$CONSOLE_PORT"

RETVAL="0"

# See how we were called.
function start() {
    if [ ! -f ${LOG} ]; then
        touch ${LOG}
    fi
        nohup ${MINIO_FILE_NAME} server /data/minio/ --console-address 0.0.0.0:${CONSOLE_PORT} --address=0.0.0.0:${SERVER_PORT}  >> ${LOG} 2>&1 &
}

function stop() {
    pid=$(ps -ef | grep -v 'grep' | egrep $MINIO_FILE_NAME | awk '{printf $2 " "}')
    if [ "$pid" != "" ]; then
        echo -n $"Shutting down boot: "
        kill -9 "$pid"
    else
        echo "boot is stopped"
    fi
    status
}

function status(){
    pid=$(ps -ef | grep -v 'grep' | egrep $MINIO_FILE_NAME| awk '{printf $2 " "}')
    #echo "$pid"
    if [ "$pid" != "" ]; then
        echo "boot is running,pid is $pid"
    else
        echo "boot is stopped"
    fi
}

function usage(){
    echo "Usage: $0 {start|stop|restart|status}"
    RETVAL="2"
}

# See how we were called.
case "$1" in
    start)
        start
    ;;
    stop)
        stop
    ;;
    restart)
        stop
    	start
    ;;
    status)
        status
    ;;
    *)
        usage
    ;;
esac

exit ${RETVAL}
  1. 集群启动脚本
#!/bin/bash

#服务参数
#服务端口,后端集成地址端口
SERVER_PORT=19000
#控制台端口,浏览器访问地址端口
CONSOLE_PORT=19001
MINIO_FILE_NAME="./minio"
CONFIG_DIR="../config"
CLUSTER_CONFIG="http://server1/data/minio/data/export1 http://data/mnt/minio/data/export2 http://server3/data/minio/data/export3"

#无日志
# LOG="/dev/null"
LOG="../log"

export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=admin123
echo "SERVER_PORT:$SERVER_PORT"
echo "CONSOLE_PORT:$CONSOLE_PORT"

RETVAL="0"

# See how we were called.
function start() {
    if [ ! -f ${LOG} ]; then
        touch ${LOG}
    fi
        nohup ${MINIO_FILE_NAME} server ${CLUSTER_CONFIG} --config-dir ${CONFIG_DIR} --console-address 0.0.0.0:${CONSOLE_PORT} --address=0.0.0.0:${SERVER_PORT}  >> ${LOG} 2>&1 &
}

function stop() {
    pid=$(ps -ef | grep -v 'grep' | egrep $MINIO_FILE_NAME | awk '{printf $2 " "}')
    if [ "$pid" != "" ]; then
        echo -n $"Shutting down boot: "
        kill -9 "$pid"
    else
        echo "boot is stopped"
    fi
    status
}

function status(){
    pid=$(ps -ef | grep -v 'grep' | egrep $MINIO_FILE_NAME| awk '{printf $2 " "}')
    #echo "$pid"
    if [ "$pid" != "" ]; then
        echo "boot is running,pid is $pid"
    else
        echo "boot is stopped"
    fi
}

function usage(){
    echo "Usage: $0 {start|stop|restart|status}"
    RETVAL="2"
}

# See how we were called.
case "$1" in
    start)
        start
    ;;
    stop)
        stop
    ;;
    restart)
        stop
    	start
    ;;
    status)
        status
    ;;
    *)
        usage
    ;;
esac

exit ${RETVAL}


四、性能方面

  1. 与网络存储(NAS、SAN、NFS)相比,直连存储(DAS)具有显著的性能和一致性优势。

  2. 使用非XFS文件系统(ext4、btrfs、zfs)的部署往往具有较低的性能,同时表现出意外或不期望的行为。

  3. 当与分布式MinIO部署一起使用时,RAID或类似技术不能提供额外的弹性或可用性优势,并且通常会降低系统性能。

  4. 确保部署中的所有节点使用相同类型(NVMe、SSD或HDD)、具有相同容量(例如N TB)的驱动器。MinIO不区分驱动器类型,也不会从混合存储类型中获益。此外。MinIO将每个驱动器使用的大小限制为部署中的最小驱动器。例如,如果部署有15个10TB驱动器和1个1TB驱动器,则MinIO将每个驱动器的容量限制为1TB。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/728437.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

60题学会动态规划系列:动态规划算法第四讲

买卖股票相关的动态规划题目 文章目录 1.买卖股票的最佳时机含冷冻期2.买卖股票的最佳时期含⼿续费3.买卖股票的最佳时机III4.买卖股票的最佳时机IV 1.最佳买卖股票时机含冷冻期 力扣链接:力扣 给定一个整数数组prices,其中第 prices[i] 表示第 i 天的…

Delphi XE编写OCX控件

1、new->other 2、Active libary 3、再次New->Other,才出现ActiveX组件内容 设置类名及参数

在 Vue 3 中使用阿里巴巴矢量图标库

在项目中基本会用到图标,比较常见的就是阿里图标库。这篇文章主要介绍如何在vue3中使用图标库。 下载并全局注册自定义图标库 手动下载阿里巴巴矢量图标库的字体文件: 在阿里巴巴矢量图标库网站上选择您需要的图标,并将其添加到购物车。然后…

CMake之CPack

文章目录 一、CPack1.用CPack打包成为deb包2.如何确定的Depends依赖包?3.如何确定编译Build-Depends?4.Cpakc打包RPM包 二、deb的简单使用三、deb包相关文件说明1.control文件2.preinst文件3.postinst文件4.prerm文件5.postrm文件 一、CPack CPack 是 CMake 2.4.2…

SpringBoot 集成 EasyExcel 3.x 实现 Excel 导出

目录 EasyExcel官方文档 EasyExcel是什么? EasyExcel注解 springboot集成EasyExcel 简单入门导出 : 实体类 自定义转换类 测试一下 复杂表头一对多导出 : 自定义注解 定义实体类 自定义单元格合并策略 测试一下 EasyExcel官方文档 …

The Sandbox 展示泰国 2023 年元宇宙生态系统

The Sandbox 举办了 2023 年泰国合作伙伴日活动,宣布创建泰国元宇宙生态系统,并对泰国创客社区的巨大合作和发展表示认可。 The Sandbox 联合创始人兼首席运营官 Sebastien BORGET 说:“我们很高兴见证 The Sandbox 泰国生态系统的发展&#…

第七章 网络安全【计算机网络】

第七章 网络安全【计算机网络】 前言推荐第7章 网络安全7.1网络安全问题概述7.1.1计算机网络面临的安全性威胁7.1.2安全的计算机网络7.1.3数据加密模型 7.2两类密码体制7.2.1对称密钥密码体制7.2.2公钥密码体制 7.3鉴别7.3.1报文鉴别7.3.2实体鉴别 7.4密钥分配7.4.1 对称密钥的…

银行软开能干到退休吗?

大家好,我是熊哥。 21世纪了好像不躺平对不起自己?很多读者都关心哪些企业适合躺平,做程序员是不是在银行可以舒舒服服干一辈子?银行招软开(软件开发)有哪些要求? 现在就来详细讲一讲。 擦亮…

数据结构--二叉树的线索化

数据结构–二叉树的线索化 用土办法找到中序前驱 typedef struct BiTNode {ElemType data; //数据域struct BiTNode *lchild, *rchild; //左、右孩子指针struct BiTnode *parent; //父节点指针 }BiTNode, *BiTree;BiTNode *p; // p指向目标结点 BiTNode *pre NULL; //指向当前…

用Postman和jmeter做接口测试有什么区别吗?

目录 1.创建接口用例集(没区别) 2.步骤的实现(有区别) 3数据用例的实现 4断言的实现 5执行 6其他 总结: 1.创建接口用例集(没区别) Postman是Collections,Jmeter是线程组&am…

web安全php基础_php之string对象详解

PHP 字符串 字符串变量用于包含有字符的值。 在创建字符串之后,我们就可以对它进行操作了。您可以直接在函数中使用字符串,或者把它存储在变量中。 在下面的实例中,我们创建一个名为 txt 的字符串变量,并赋值为 “Hello world!…

MySQL数据库:数据库管理系统与安装MySQL数据库

目录 一、理论 1.数据库管理系统 2.关系型数据库 3.数据库 4.MySQL数据库 5.MySQL部署 二、实验 1.yum安装MySQL 2.配置MySQL数据库的Tab补全 三、问题 1.数据库登录报错 2.数据库密码复杂度报错 四、总结 一、理论 1.数据库管理系统 (1&#xff09…

深入浅出fromCharCode和charCodeAt

先来看一个简单的输入输出 console.log(String.fromCharCode(30328)); //癸console.log(癸.charCodeAt()) //30328来回答一个问题,30328是什么? ascii? unicode? utf-8? utf-16? 来让我们看看fromCharCode 在MDN上面的解释 UTF-16代码单元序列…

【数据分析 - 基础入门之NumPy③】日常难题解决

知识目录 前言一、启动Jupyter Notebook报错没有这样的目录结语# 往期文章&相关导读 前言 本篇文章用于整理在学习 NumPy 过程中遇到的错误,以此做个记录,希望能帮助到大家,让大家少走弯路。 一、启动Jupyter Notebook报错没有这样的目…

改动最小,最简洁的 tomcat catalina.out日志切割(按天)

tomcat日志切割 环境:实现步骤具体操作 环境: 系统: linux操作系统 centOStomcat 8.5* 实现步骤 安装cronolog工具修改tomcat中的bin目录下的 catalina.sh 文件配置重启tomcat 具体操作 安装cronolog 工具输入命令: yum install cronolog 中间 停顿 填个 y 同意修改配置…

什么是cookies,session,token(面试必问)

目录 前言 http无状态 cookies cookie的格式显示 cookie存在问题 利用cookies可以做什么 session session的格式显示 session存在的问题 利用session可以做什么 token token的格式显示 token存在的问题 利用token可以做什么 总结 前言 一般在面试的时候&#xf…

内网隧道代理技术(九)之应用层代理技术介绍

应用层代理技术介绍 前面我们介绍了相关的一些概念和隧道的技术,主要还是停留在单个端口的隧道 1、反弹shell2、端口转发3、端口映射这些都是利用端口建立隧道,但是并不能满足我们日常生活中的要求 加入我们需要对网络中的机器进行扫描,我们就不能使用端口转发或者端口映射…

【计算机视觉 | 目标检测 | 图像分割】arxiv 计算机视觉关于目标检测和图像分割的学术速递(7 月 7 日论文合集)

文章目录 一、检测相关(5篇)1.1 Contextual Affinity Distillation for Image Anomaly Detection1.2 Noise-to-Norm Reconstruction for Industrial Anomaly Detection and Localization1.3 MMNet: Multi-Collaboration and Multi-Supervision Network for Sequential Deepfake…

postman接口测试之postman常用的快捷键

作为一名IT程序猿,不懂一些工具的快捷方式,应该会被鄙视的吧。收集了一些Postman的快捷方式,大家一起动手操作~ 简单操作 操作mac系统windows系统 打开新标签 ⌘TCtrl T关闭标签⌘WCtrl W强制关闭标签Cmd Alt WCtrl Alt W切换到下一个…

【JavaEE】前后端综合项目-博客系统(上)

【JavaEE】前后端综合项目-博客系统(上) 文章目录 【JavaEE】前后端综合项目-博客系统(上)1. 创建项目2. 数据库设计3. 数据库操作的封装3.1 DataSource(单例)3.1 连接操作3.2 关闭操作3.3 创建实体类3.4 封…