用heketi管理glusterfs并创建volume

Ubuntu 18.04 搭建 GlusterFS 冗余存储池实战指南 冗余存储池是保障业务高可用的核心基础设施,其本质是通过多副本、去中心化和自愈机制实现数据可恢复性、服务连续性与容量弹性。GlusterFS 作为无元数据服务器的分布式文件系统,在 Ubuntu 18.04 这一长期稳定版本上展现出独特优势:依托 XFS 文件系统优化、replica 3 原子写入、客户端驱动同步及内核 4.15 的小文件性能提升,天然适配边缘计算、视频分析等对可靠性与低运维成本敏感的场景。本文聚焦生产级落地,涵盖环境初始化、replica 卷构建、故障注入验证、Kubernetes 动态供给 阅读详情

 

置顶 2018年06月21日 11:29:51 DevOps008 阅读数:310

Heketi 提供了丰富的RESTful API 用来对于Glusterfs的volume进行管理。Heketi可以同时管理多个cluster,每个cluster由多个node组成,每个node都是一个物理机,准确的说是一个裸盘。然后每个裸有多个bricks,而volume就是多个bricks组成的,但是,一个volume不可以跨node组成。示意图如下所示。

Heketi 在Github上的地址:https://github.com/heketi

下文将要讲述在Redhat 7上安装Heketi, Glusterfs并进行相应配置。

 

1. 配置Gluster yum 源并且安装heketi & glusterfs

进入/etc/yum.repos.d/目录,新建gluster.repo(名字随便起,但是后缀必须是repo),添加如下内容到gluster.repo文件:

[gluster]

name = Gluster

baseurl = http://buildlogs.centos.org/centos/7/storage/x86_64/gluster-4.0/

gpgcheck = 0

enable = 1

 

保存文件,然后执行yum repolist 会看到如下内容

接着执行yum install heketi -y 和 yum install heketi-client -y,进行heketi和heketi-client的安装。检查是否安装成功,用heketi --version查看版本,如果有版本信息,那么证明安装成功。接下来需要开启heketi服务。

order1 :systemctl enable heketi

order2 : systemctl start heketi

此时如果发生start fail,在log中查看日志(/var/log/messages),会看到如下内容:

这是因为默认的配置文件有个错误,此时需要通过 find /etc -name "heketi.service" 命令,找到heketi.service文件,打开文件,内容显示如下:

刚安装完毕,上面标注那一行内容应该是“-config” 而不是“--config”,所以在前面多加一个”-“,然后保存文件。接着执行systemctl daemon-reload. 然后执行systemctl start heketi 命令启动heketi。然后用systemctl status heketi,会看到如下内容

到此时此刻,证明heketi,安装成功。Gluster的安装就显的简单了。

yum install glusterfs-server (服务器端)yum install -y glusterfs-client(客户端)。接着执行gluster --version命令,确认gluster安装成功。


2. 利用heketi创建gluster集群并进行volume管理

heketi有两个文件比较重要,第一个是heketi.json,位于/etc/heketi 目录下,主要用来确定heketi端口以及cluster node管理方式的定义等;第二个topology.json(文件路径随意,但是需要记住路径,用途后面写),此文件用来描述heketi创建的cluster的topology模型。heketi就是根据这个文件来创建cluster topology进而创建node 和volume。

如下是heketi.json文件的内容:

第一张图是heketi的端口号,默认是8080,但是可以修改,修改完之后需要重启heketi才能生效。


下面这张图是比较重要的,heketi用来管理cluster的,下面的配置控制了cluster下的node的管理方式,有三种

:mock, ssh,kubernetes。mock,顾名思义就是测试,在这种模式下,可以对于自己的配置文件什么的进行检验,但是,但是,但是,重要的坑说三遍,如果处于此模式下,虽然你可以看到node添加成功,volume创建成功,但是这些volume是不可用的,无法挂载的。所以如果要在SVT或者PROD环境用的话,一定要用ssh或者kubernetes模式。下面只讲述ssh模式。

3 cluster topology的配置

在/etc/heketi,新建文件topology.json,写入如下内容

{

    "clusters": [

        {

            "nodes": [

                {

                    "node": {

                        "hostnames": {

                            "manage": [

                                "100.120.187.1"

                            ],

                            "storage": [

                                "100.120.187.1"

                            ]

                        },

                        "zone": 1

                    },

                    "devices": [

                        {

                            "name": "/dev/mapper/bcdisk1-disk1",

                            "destroydata": true

                        }

                    ]

                },

               "node": {

                        "hostnames": {

                            "manage": [

                                "100.120.187.2"

                            ],

                            "storage": [

                                "100.120.187.2"

                            ]

                        },

                        "zone": 1

                    },

                    "devices": [

                        {

                            "name": "/dev/mapper/bcdisk1-disk1",

                            "destroydata": true

                        }

                    ]

                },

                {

                    "node": {

                        "hostnames": {

                            "manage": [

                                "100.120.187.3"

                            ],

                            "storage": [

                                "100.120.187.3"

                            ]

                        },

                        "zone": 1

                    },

                    "devices": [

                        {

                            "name": "/dev/mapper/bcdisk1-disk1",

                            "destroydata": true

                        }

                    ]

                }

            ]

        }

    ]

}

查阅了相关资料,用heketi模式,最少需要三个node,如上配置。如果少于三个节点,cluster能创建成功,但是在创建volume的时候会出现错误。topology文件添加成功后,开始创建cluster topology,执行命令:

heketi-cli topology load --json=topology.json。然后输入heketi-cli topology info,查看topology是否创建成功。如果成功会显示如下内容:


下面就可以创建指定size的volume来进行使用了,创建volume命令:

heketi-cli volume create --size=10 --clusters=clusterid。其中clusterid可以通过heketi-cli cluster list命令来获取。创建的volume可以通过mount的方式使用。

至此,heketi已经完成heketi的安装以及volume的创建和使用。

深度解读华为Limera:从舱内激光视觉融合看前融合技术的发展与演进 华为Limera激光雷达摄像头融合技术推动自动驾驶感知升级 华为推出的Limera创新性地将激光雷达与摄像头深度集成,采用共光路设计实现数据天然对齐,在小型障碍物识别等关键场景展现卓越性能。该产品代表了传感器前融合技术从分立走向共生的演进趋势,通过硬件级集成解决了多源异构数据融合难题。随着索尼堆叠式传感器等技术的出现,未来智能汽车感知系统将向高度集成的"超级传感器"方向发展,实现更精准的环境感知。Limera的发布标志着前融合技术从"可用"迈向"极致&quo 阅读详情

相关推荐

Python+OpenCV实战:雨天车牌识别准确率提升300%的5个关键技巧

本文针对雨天车牌识别准确率骤降的难题,分享了五个基于Python和OpenCV的实战技巧。通过暗通道先验去雾、雨纹抑制、光照不变量颜色空间转换、多尺度自适应阈值分割以及融合传统特征与轻量级深度学习的混合识别策略,系统性地提升了算法在恶劣天气下的鲁棒性。这些方法能有效解决图像模糊、对比度低、字符断裂粘连等问题,为智能交通等实际应用提供可靠解决方案。

k8l9m0n的博客 717

heketi 与GlusterFS常见命令

heketi-cli volume create --size=1 --replica=2 # 创建一个1G的磁盘,副本数为2,时间大概2-3分钟。参考文献https://https://blog.youkuaiyun.com/jxlhljh/article/details/126481525。参考:https://www.cnblogs.com/bfmq/p/14542635.html。删除device-->删除node-->删除-->删除cluster集群。10、创建heketi-ui。1、列出volume。

weixin_43490243的博客 1103

GIS应用技巧之三招搞定重叠区域数据提取

在很多分析过程中,常常需要分析判断哪些图形发生了重叠,该重叠情况的发生在对应分析环境下具有特定意义。例如在缓冲区分析中,若两个受灾点周边的受灾面积(即缓冲区)有所重叠,分析重叠区域的受灾影响时,就需要考虑相互影响的因素。本例中先用【要素转面】工具提取出发生重叠的区域,其次用【空间连接】工具将原始图层信息连接到重叠数据的图层,分析重叠数据的属性表,即可得到发生重叠的原始图层数据。 Step1 提取重叠区属数据。打开【数据管理工具】|【要素】|【要素转面】工具,输入要素设置为“circles”,输出要素类设置为

端木宛白的博客家园 6万+

kubernetes动态存储之glusterfs集群(heketi)

kubernetes存储类资源的详细实现过程

taonihou_的博客 1373

在MCUXpresso上通过J-link烧写KW45

背景: KW45B是nxp 的ble npi产品,其使用的IDE为MCUXpressso或者IAR,MCUXpressso有一些bug,但是由于MCUXpressso阅读查找代码相对IAR容易,所以我经常使用的MCUXpressso进行开发。当然IAR也有其优势,比如编译、烧写速度相对MCUXpressso更快,是比较通用的一个平台,而MCUXpressso是NXP独有的。 Kw45有两种烧写方式,一是使用MCUlink,二是使用Jlink。NXP ble 产品线提供的IDE资料里有最新的15.0版本的

weixin_41889258的博客 2859

Cherry Studio 新手必看:5分钟搞定MCP服务器配置(附常见问题解决)

本文为Cherry Studio新手提供了详细的MCP服务器配置指南。文章从核心概念入手,解释了Cherry Studio作为MCP客户端如何通过MCP协议安全、标准化地扩展AI助手能力。重点讲解了uv和Bun环境的安装与常见网络问题的解决方案,并演示了如何添加首个MCP服务器(如mcp-server-fetch),助你快速构建可扩展的智能工作流。

corn8的博客 596

[k8s]ubuntu18 + Heketi + Glsuterfs的独立部署

关于ubuntu server 18 上部署glusterfs和heketi的文章网上有很多了,看起来都很顺利,但是我在部署的时候偏偏遇到了很多的问题, 记录一下。 环境:Ubuntu Server 18.04    glusterfs-3.13 heketi-v9 heketi-client-v9 1、使用sudo apt-get ...

weixin_30908707的博客 447

Visual Studio 2013 + Intel(R) Visual Fortran 安装教程

安装了好几遍,ivf都不能加载到vs中,中途放弃了vs,又改用codeblocks编译器,依然在写fortran的时候出现了各种问题,于是又放弃了codeblocks改回vs,总之是折腾了好久,终于装明白了ivf并且将fortran模板成功加载到vs中。 PS:一定要安装Intel Visual Fortran.Composer XE.2013-SP1,不要用Intel Visual Fortr...

Coco_wjy的博客 12万+

heketi扩展已经挂载到k8s的volume

上周在K8S集群上部署了prometheus,当时给划分的是5g存储,系统提示存储空间已满,pod不停在拉起失败。 1.先找到pod对应的pv,查看最终挂载volume 挂载路径. kubectl describe pv pvc-98bde2dc-11a3-44af-8daf-fc54fb9aba3d -n ns-monitor Name: pvc-98bde2dc-11a3-44af-8daf-fc54fb9aba3d Labels: <none> An

qn0007的博客 715

从聊天框到AI智能体:Agent原理、落地路径与工程实践

大模型时代,AI智能体(Agent)正从概念走向工程实践。与传统的聊天框一问一答不同,Agent强调目标驱动、任务拆解、工具调用与自主执行,其核心是一个由大模型、工具集、记忆和控制循环构成的闭环系统。理解这一原理,是开发者从“提问者”升级为“任务定义者”的关键。Agent的技术价值在于能处理重复性信息收集、多步骤内容生产、代码辅助和数据分析等真实场景,显著提升自动化水平。然而,大多数用户仍停留在聊天框阶段,原因包括产品入口、用户习惯、使用成本和提示词能力等多重因素。从聊天框平滑迁移到Agent,需要经历目标

weixin_29048309的博客 324

详解电路设计中的RC电路

​ 一、什么是RC电路 RC电路是指由电阻R和电容C组成的电路,它是脉冲产生和整形电路中常用到 的电路。 常见的RC充、放电电路、RC积分电路合RC微分电路接下来详细讲解。 二、RC充、放电电路 RC充、放电电路如下图所示,下面通过充电和放电两个过程来分析此电路。 ​RC充、放电电路图 (1)RC充电电路 RC充电电路图如下图(a)所示 RC充电电路图及充电曲线图 ​由上图分析: 将上图a中开关S置于“1”处,电源E开始通过电阻R对电容C充电,由于刚开始充电时电容两端没有..

IT xiaobai 4万+

GlusterFs集群部署和Heketi配置

1. 了解GlusterFS几种存储模式 分布卷(DHT) 默认模式。将文件以hash算法随机分布到一个文件服务器节点中进行存储。Volume创建命令如下: gluster volume create test-volume server1:/exp1 server2:/exp2 复制模式(AFR) 将文件复制到replica x个文件节点中。Volume创建命令如下: gluster volume create test-volume replica 2 transport tcp server1:/e

三言两语 2047

apache 403错误 Forbidden解决方法

当网页打开提示以下错误时,即出现了403错误。 Forbidden You don't have permission to access / on this server. 403 Forbidden 资源不可用。服务器理解客户的请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置导致。通常情况可能(但不限于此)的原因有: 原因1:apache配置文件中没有对站点目录的权限许可,这通...

lmseo5hy的博客 1499

glusterfs之heketi 部署

xiao_b4b1关注 0.52018.11.09 17:21*字数 334阅读 730评论 0喜欢 1 heketi简介 heketi:提供基于RESTful接口管理glusterfs的功能,可以方便的创建集群管理glusterfs的node,device,volume;与k8s结合可以创建动态的PV,扩展glusterfs存储的动态管理功能 heketi-cli...

大JAVA解决方案 2509

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

K8s中集成Heketi使用Glusterfs

K8s中集成Heketi使用Glusterfs,Heketi是一个GlusterFs管理软件,提供相应的rest api服务,

冰之杍的博客 2144

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

kubernetes中部署Heketi和GlusterFS(一)

前言 在kubernetes中,使用GlusterFS文件系统,操作步骤通常是:创建brick-->创建volume-->创建PV-->创建PVC-->Pod挂载PVC如果要创建多个PV,则需要手动重复执行这些繁锁步骤,那么使用GlusterFS如何动态创建呢,这就要借助于第三方的Heketi了,为什么要借助于Heketi呢,因为GlusterFS自身并不具备RESTful...

weixin_34270865的博客 860

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

k8s使用glusterfs+heketi作为后端存储

环境准备 modprobe dm_thin_pool modprobe dm-snapshot cat >/etc/modules-load.d/glusterfs.conf<<EOF dm-snapshot dm_thin_pool EOF #yum install -y glusterfs-fuse lvm2 yum -y localinstall --disablerepo=* env_package/*.rpm #如需开启防火墙。需开放端口 iptables -N heket

qq_42747099的博客 1060

kubernetes 搭建heketi-glusterfs(自动创建存储卷)

本文包含: gluster各存储卷详解、创建及使用 gluster-kubernetes搭建glusterfs存储 前言 传统的运维中,往往需要管理员手动先在存储集群分配空间,然后才能挂载到应用中去。Kubernetes 的最新版中,dynamic provisioning 升级到了 beta ,并支持多种存储服务的动态预配置,从而可以更有效地利用存储环境中的存储容量,达到按需使用存储空间的...

weixin_40965647的博客 1073

GlusterFS heketi k8s动态存储(live版)

所有节点安装heketi-client yum install -y heketi-client heketi 配置服务 cd /etc/heketi/ cp heketi.json heketi.json-abk cat /etc/heketi/heketi.json { "_port_comment": "Heketi Server Port Number", "port": "8080", "_use_auth": "Enable JWT authorization. Please

weixin_42562106的博客 660

k8s教程(Volume篇)-动态存储管理案例(GlusterFS)

k8s GlusterFS 动态存储管理案例

阿甘兄 1391

源码编译安装使用glusterfs+heketi安装使用

注:使用源码安装的原因主要是使用yum安装glusterfs服务端时出现一些依赖库问题 准备3台glusterfs服务器(官方也建议至少3台,防止发生脑裂),并在各个服务器的/etc/hosts下面添加如下内容(如使用DNS服务器,则在DNS中添加域名解析) 10.85.3.113 glusterfs-1.example.com 10.85.3.114 glusterf...

weixin_30781433的博客 641

Kubernetes - - k8s - v1.12.3 动态存储管理GlusterFS及使用Heketi扩容GlusterFS集群

1,准备工作 1.1 所有节点安装GFS客户端 yum install glusterfs glusterfs-fuse -y 1.2 如果不是所有节点要部署GFS管理服务,就在需要部署的节点上打上标签 [root@k8s-master01 ~]# kubectl label node k8s-master01 storagenode=glusterfs node/k8s-master01 lab...

weixin_34152820的博客 1165

k8s集群存储解决方案 GlusterFS

GlusterFS是一个开源的分布式文件系统具有强大的横向扩展能力通过扩展能够支持数PB存储容量和处理数千客户端GlusterFS 借助 TCP/IP 或 InfiniBandRDMA 网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。

weixin_54720351的博客 2732

k8s使用glusterfs(静态供给、动态供给)、glusterfs的安装与使用

k8s使用glusterfs(静态供给、动态供给)、glusterfs的安装与使用

MssGuo的博客 5776

GlusterFS操作记录(5) GlusterFS+Heketi配置(独立部署)

2019年01月21日 16:45:42毛小威阅读数:381标签:GlusterFSHeketiStorage更多 个人分类:StoragesKubernetes 版权声明:本文为博主记录文章,可能没有普遍的适用性。 https://blog.youkuaiyun.com/oyym_mv/article/details/86573113 GlusterFS作为分布式共享文件系统也用了很...

大JAVA解决方案 1068

glusterfs部署

环境准备这里准备四台机器都挂两块盘,一块作为数据盘。1gfs yum源登录后复制 vim CentOS-Linux-Gluster-8.repo [centos-gluster10] name=CentOS-8 - Gluster 10 baseurl=https://mirrors.huaweicloud.com/c...

cnzzs的博客 1070
上一篇: glusterfs之heketi 部署
下一篇: GlusterFS操作记录(5) GlusterFS+Heketi配置(独立部署)
王树民
博客等级 码龄10年 912粉丝 560原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值