发布时间:2026/8/25 13:46:40
麒麟系统搭建MinIO集群(多节点单硬盘) 搭建 MinIO 集群搭建规格多节点多硬盘 (MNMD or “Distributed”)企业级高性能对象存储多节点/驱动器级可靠性可配置容忍性可承受多达1/2的节点/驱动器损失用于AI/ML、分布式查询、分析和其他数据湖组件的主要存储可扩展到PB 级工作负载-包括存储容量和性能集群架构示例四节点以下是一个典型的四节点 MinIO 集群部署架构示例节点IP 地址存储路径节点 1192.168.1.17/moinio-data节点 2192.168.1.18/moinio-data节点 3192.168.1.19/moinio-data节点 4192.168.1.20/moinio-data一准备数据磁盘四台同时执行查看磁盘信息确定磁盘是否正确/dev/sda清理旧分区表如果没有可跳过查询出disk为/dev/sdaddif/dev/zeroof/dev/sdabs1Mcount100已经成功清除了 /dev/sda 前100MB的数据确保了磁盘头部没有任何残留分区表或文件系统签名。而且输出显示你的磁盘写入速度达到了 1.7 GB/s。清理前100MB的数据原因1. 擦除残留的分区表或文件系统签名2. 消除 GPT 备份头的干扰3. 屏蔽 LVM 或 MDADM软RAID残留新建分区使用 parted 创建 GPT 分区parted/dev/sda mklabel gpt这个提示是 parted 的一个通用提醒不是错误你可以完全忽略它。它只是在告诉你如果你改变了分区表记得检查 /etc/fstab 确保挂载配置正确以免重启后出问题。创建主分区占用整个磁盘parted/dev/sda mkpart primary0%100%让内核重新读取分区表partprobe /dev/sda格式化为 XFS带 RAID 条带对齐参数MinIO 官方强烈要求由于磁盘 I/O 大小为 1048576 字节即 1MB我们使用 -d su1024k 来对齐条带。sw 为 8 个硬盘如果不确定多少可以去修改但这个不会影响功能。mkfs.xfs-f-dsu1024k,sw8/dev/sda16. 创建挂载点并挂载mkdir/minio-datamount-onoatime /dev/sda1 /minio-data挂载noatime 是必须的优化选项noatime 是 Linux 系统挂载文件系统时的一个参数它直接关系到磁盘的性能表现。简单来说它的作用是禁止更新文件的访问时间戳。读操作变成了纯读消除了额外的 inode 写入开销从而显著提升随机读性能尤其是在高并发场景下。验证是否成功挂载df-h获取UUID并写入 fstab确保开机自动挂载blkid /dev/sda1获取UUID并写入 fstab确保开机自动挂载echoUUID你的UUID /minio-data xfs defaults,noatime,nodev 0 2/etc/fstab测试是否配置正确如果没有任何错误输出说明配置语法正确系统能识别该 UUID。如果有错误会立即报错并提示你修改。mount-a二开始部署MinIO所有操作四台都一致报错配置和账号密码开通防火墙每台端口一样重载防火墙配置#对外提供服务的防火墙firewall-cmd--permanent--zonepublic --add-port9000/tcp#管理界面防火墙firewall-cmd--permanent--zonepublic --add-port9001/tcp firewall-cmd--reload创建必要的DNS主机名映射# /etc/hosts192.168.1.20 minio-01.example.net192.168.1.19 minio-02.example.net192.168.1.18 minio-03.example.net192.168.1.17 minio-04.example.net下载对应的包地址我这里是麒麟系统是 ARM64 架构的dnf 的方式安装就下载 aarch64.rpm 的包安装因本地没网络使用 --disablerepo 跳过所有仓库最快让 dnf 只安装本地 RPM 包不检查任何远程仓库[rootlocalhost ~]# dnf install --disablerepo* minio-20250907161309.0.0-1.aarch64.rpmDependencies resolved.Package Arch Version Repository SizeInstalling: minio aarch6420250907161309.0.0-1 commandline36M Transaction SummaryInstall1Package Total size:36M Installed size:100M Is this ok[y/N]: y Downloading Packages: Running transaction check Transaction check succeeded. Running transactiontestTransactiontestsucceeded. Running transaction Preparing:1/1 Installing:minio-20250907161309.0.0-1.aarch641/1 Running scriptlet: minio-20250907161309.0.0-1.aarch641/1 Verifying:minio-20250907161309.0.0-1.aarch641/1 Installed: minio-20250907161309.0.0-1.aarch64 Complete![rootlocalhost ~]#创建 systemd 系统启动服务文件此版本自带已有可忽略vim/usr/lib/systemd/system/minio.service插入以下内容不需要修改[Unit]DescriptionMinIODocumentationhttps://minio.org.cn/docs/minio/linux/index.htmlWantsnetwork-online.targetAfternetwork-online.targetAssertFileIsExecutable/usr/local/bin/minio[Service]WorkingDirectory/usr/localUserminio-userGroupminio-userProtectProcinvisibleEnvironmentFile-/etc/default/minioExecStartPre/bin/bash-cif [ -z\${MINIO_VOLUMES}\]; then echo\Variable MINIO_VOLUMES not set in /etc/default/minio\; exit 1; fiExecStart/usr/local/bin/minio server$MINIO_OPTS$MINIO_VOLUMES# MinIO RELEASE.2023-05-04T21-44-30Z adds support for Typenotify (https://www.freedesktop.org/software/systemd/man/systemd.service.html#Type)# This may improve systemctl setups where other services use Afterminio.server# Uncomment the line to enable the functionality# Typenotify# Let systemd restart this service alwaysRestartalways# Specifies the maximum file descriptor number that can be opened by this processLimitNOFILE65536# Specifies the maximum number of threads this process can createTasksMaxinfinity# Disable timeout logic and wait until process is stoppedTimeoutStopSecinfinitySendSIGKILLno[Install]WantedBymulti-user.target# Built for ${project.name}-${project.version} (${project.name})minio.service 文件默认以 minio-user 用户和组身份运行。 您可以使用 groupadd 和 useradd 命令创建用户和组. 以下示例创建用户、组并设置权限以访问MinIO预定用于存储的文件夹路径。 这些命令通常需要管理员 ( sudo ) 权限。groupadd-rminio-useruseradd-M-r-gminio-user minio-userchown-Rminio-user:minio-user /minio-data#实际挂载点创建配置文件也可以用ip# Set the hosts and volumes MinIO uses at startup# The command uses MinIO expansion notation {x...y} to denote a# sequential series.## The following example covers four MinIO hosts# with 4 drives each at the specified hostname and drive locations.# The command includes the port that each MinIO server listens on# (default 9000)#花括号是缩写代表有四条端口后面跟的实际路径MINIO_VOLUMEShttp://minio-{1...4}.example.net:9000/minio-data# Set all MinIO server options## The following explicitly sets the MinIO控制台 listen address to# port 9001 on all network interfaces. The default behavior is dynamic# port selection.MINIO_OPTS--console-address :9001# Set the root username. This user has unrestricted permissions to# perform S3 and administrative API operations on any resource in the# deployment.## Defer to your organizations requirements for superadmin user name.#管理页面账号MINIO_ROOT_USERminioadmin# Set the root password## Use a long, random, unique string that meets your organizations# requirements for passwords.#管理界面密码MINIO_ROOT_PASSWORDminio-secret-key-CHANGE-ME启动并开机自启打开MinIO控制台 随便一台节点从19节点登陆后随便创建一个桶然后登陆18节点出现桶和文件完成部署

相关新闻

2026/8/25 13:41:40

Go实战:分布式ID生成器

TL;DR 核心要点速览 Go适合后端API、微服务、云原生、CLI工具 高并发秒杀用Redis原子操作+限流 分布式锁用Redis SETNX或etcd租约 分布式事务用Saga模式或事件溯源 Go微服务通信用gRPC或消息队列 本篇是Go项目实战模块,含完整可运行项目 摘要:本文详细介绍分布式ID生成器,涵盖…

2026/8/25 13:41:40

Go实战:API限流系统设计

TL;DR 核心要点速览 Go适合后端API、微服务、云原生、CLI工具 高并发秒杀用Redis原子操作+限流 分布式锁用Redis SETNX或etcd租约 分布式事务用Saga模式或事件溯源 Go微服务通信用gRPC或消息队列 本篇是Go项目实战模块,含完整可运行项目 摘要:本文详细介绍API限流系统设计,涵盖…

2026/8/25 13:41:40

Go实战:分布式配置中心

TL;DR 核心要点速览 Go适合后端API、微服务、云原生、CLI工具 高并发秒杀用Redis原子操作+限流 分布式锁用Redis SETNX或etcd租约 分布式事务用Saga模式或事件溯源 Go微服务通信用gRPC或消息队列 本篇是Go项目实战模块,含完整可运行项目 摘要:本文详细介绍分布式配置中心,涵盖…

2026/8/25 16:07:08

装修还没开工,AI已经替你把坑踩了一遍

装修这件事,大概是成年人世界里最让人头疼的“必修课”之一。 你刚拿到新房钥匙,满心欢喜地开始看效果图、选风格、谈装修公司。设计师给你看的效果图美得让你心动——无主灯设计、满墙收纳柜、开放式厨房、艺术吊顶……每一个细节都像是理想中家的模样…

2026/8/25 16:07:08

Linux 驱动研究 —— SDIO (5)

1. 计算机体系“总线”与 Linux 驱动“总线” 1.1 硬件电路上的“总线”1.2 内核驱动架构中的“总线”1.3 两者的映射关系与本质区别1.4 狭义共享总线与广义 Linux 驱动总线的区别 1.4.1 计算机系统结构中对总线的严格定义1.4.2 物理接口泛化为 bus_type 1.5 物理可枚举总线 与…

2026/8/25 16:07:08

告别复制乱码:从「秘塔怎么复制表格」到「AI 导出鸭」的专业解法

告别复制乱码:从「秘塔怎么复制表格」到「AI 导出鸭」的专业解法让AI导出回归优雅,每一份对话都值得被体面珍藏。当复制粘贴成为一种惩罚 一个真实的场景:某高校金融系副教授需要将秘塔AI生成的宏观分析报告整理为教研材料。报告包含多组嵌套…

2026/8/25 16:07:08

win11开机跳过网络连接

‌ShiftF10,调出命令提示符窗口。 oobe\BypassNRO 或 oobe\BypassNRO.cmd,回车。系统自动重启,重启后回到联网界面,点击右下角的「我没有Internet连接」选项,再选择「继续执行受限设置」。

2026/8/25 16:02:08

linux线程同步图解

线程同步方法图解:从多人厨房到播放器状态机线程同步不是“加锁”两个字能概括的事,它更像给一群人协作制定规则:谁能进、谁要等、什么时候一起走、谁来统一排队处理。为什么需要线程同步:多人厨房的混乱现场 想象一个后厨同时来了…

2026/8/25 1:04:19

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 11:48:27

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/24 8:17:29

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 0:04:14

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory Meta Description:GetQzonehistory 是一个QQ空间历史说…

2026/8/25 0:04:14

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

2026/8/24 13:42:17

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/24 18:13:48

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/25 1:08:14

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…