Ceph文件系统

news2025/7/18 17:04:46

目录

一、环境准备

二、什么是文件系统

三、ceph块存储与文件系统区别

四、创建ceph文件系统

1、启动MDS服务

2、创建存储池

3、创建Ceph文件系统

4、客户端挂载


一、环境准备

Ceph集群搭建参照:Ceph集群部署_桂安俊@kylinOS的博客-CSDN博客

以下Ceph存储实验环境均基于上述Ceph集群环境搭建。

二、什么是文件系统

一个文件系统是由inode和block两部分in

  • inode存储文件的描述信息(metadata元数据)
  • block存储真正的数据

 根据这个原理,所以在做ceph文件系统的时候,需要划分2个存储池,一个用来存储inode,另一个用来存储block。

三、ceph块存储与文件系统区别

前面已经介绍了ceph块存储,那么ceph块存储和ceph文件系统有什么区别呢,分别适合在什么场合使用呢?

答:Ceph的块设备具有优异的读写性能,但不能多处挂载同时读写,目前主要用在OpenStack上作为虚拟磁盘。而Ceph的文件系统接口读写性能较块设备接口差,但具有优异的共享性

四、创建ceph文件系统

1、启动MDS服务

ceph文件系统是通过ceph-mds服务管理的。

在node1主机通过ceph-deploy脚本启动MDS服务,可以启动任何一个节点的mds服务,这里我们启动node3的mds服务:

# 在node1远程启动node3的mds服务
cd /root/ceph-cluster   #该目录,是最早部署ceph集群时,创建的目录,具体跟看前文:ceph集群部署

#远程node3,拷贝配置文件,启动mds服务,执行过程见下图
ceph-deploy mds create node3

 到node3检查下mds服务启动情况:

systemctl status ceph-mds@node3   #服务名称后跟@+节点名

2、创建存储池

在集群中的任何一台主机都可以操作(任何node节点都可以操作)

# 创建存储池,对应64个PG(先创建64个以满足后续osd扩容需求),cephfs_data为自定义存储池名称
ceph osd pool create cephfs_data 64

#创建存储池,对应64个PG(先创建64个以满足后续osd扩容需求),cephfs_metadata为自定义存储池名称
ceph osd pool create cephfs_metadata 64

如上操作,其中:

(1)cephfs_data存储池是用来存放block数据,cephfs_metadata是用来存储inode数据;

(2)关于PG的说明:

PG是逻辑概念,对应如下图中间一层的2个PG(Placement Group),第1排obj为需要读写的数据,第3排是数据真正存放的位置是OSD对应的盘上,PG对应OSD,一个PG可以对应一个或多个OSD,数据是先写到PG,再写到OSD,数据读取也是先读PG,可以1个PG对应所有OSD,也可以使用2个或多个对应所有OSD,考虑到效率,同一个PG下面不要有太多的OSD,这里先创建64个PG是考虑后面OSD会扩容增加,满足后续使用需求。

查看当前存储池:

ceph osd lspools

 如上,前面是存储池编号,后面是存储池名称。

3、创建Ceph文件系统

创建文件系统即将上面创建的inode和block存储池合并到一起,可以理解成普通块设备的格式化。

在任何一个node节点执行:

#new为新建,myfs1文自定义文件系统名称,cephfs_metadata和cephfs_data为之前创建的存放inode和block的存储池
#注意:cephfs_metadata和cephfs_data有先后顺序,放在前面的是存放inode,后面的是存放block,不要顺序搞错
ceph fs new myfs1 cephfs_metadata cephfs_data

查看ceph文件系统:

ceph fs ls

 如上可以看到ceph文件系统名为myfs1,后面分别对应用户存储inode和block的存储池,前者存放inode元数据,后者存放block数据。

4、客户端挂载

(1)临时挂载

#如下,其中:
#mount -t 后面跟文件系统类型,这里是ceph类型
#192.168.2.20:6789:/ 为MON节点的IP(不是MDS节点),如果是单IP的话,可以写任意一个MON节点的IP,后面的根不是服务器文件系统的根,而是对应ceph文件系统的根,这里是挂载整个ceph文件系统,所以写根
#/mnt是本地挂载点
#-o指定挂载选项,其中admin是用户名,secret是密钥,可以在/etc/ceph/ceph.client.admin.keyring文件里找到
mount -t ceph 192.168.2.20:6789:/  /mnt  -o name=admin,secret=AQC/h4Fj/ckvDxAARjpUCbf1VeDaHQFhuZrELg==

如上有一个问题,如果提供挂载的服务器挂掉了,那么文件系统就无法使用了,所以可以使用下面的高可用方案。

高可用方案(多个IP):

mount -t ceph 192.168.2.20:6789,192.168.2.30:6789,192.168.2.40:6789:/  /mnt  -o name=admin,secret=AQC/h4Fj/ckvDxAARjpUCbf1VeDaHQFhuZrELg==

(2)永久挂载

使用fstab实现永久挂载ceph文件系统需要单独安装一个包:libcephfs1

yum install libcephfs1 -y
vim /etc/fstab   #挂载内容如下
#单IP方案
#192.168.2.20:6789:/   /mnt   ceph  defaults,_netdev,name=admin,secret=AQC/h4Fj/ckvDxAARjpUCbf1VeDaHQFhuZrELg==  0  0

#多IP高可用方案
192.168.2.20:6789,192.168.2.30:6789,192.168.2.40:6789:/   /mnt   ceph  defaults,_netdev,name=admin,secret=AQC/h4Fj/ckvDxAARjpUCbf1VeDaHQFhuZrELg==  0  0
mount -a

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

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

相关文章

springcloud22:sentinal的使用

sentinal对比(分布式系统的流量防卫) 监控保护微服务 Hystrix 需要自己去手工搭建监控平台,没有一套web界面可以进行细粒度化的配置,流控,速率控制,服务熔断,服务降级… 整合机制:se…

外卖项目08---Linux

目录 一、 Linux简介 119 二、Linux安装 120 三、常用命令 122 3.1Linux命令初体验 3.1.1 command [-options] [parameter] 3.2Linux常用命令---文件目录操作命令-ls&-cd&-cat 124 3.2.1list 3.2.2 cd 3.2.3 cat 3.3 Linux常用命令---文件目录操作命令…

9.前端笔记-CSS-CSS三大特性

三大特性:层叠性、继承性、优先级 1、层叠性(覆盖性) 给相同的选择器设置相同的样式,此时一个样式会覆盖(层叠)其他冲突的样式。 层叠性原则: 同一选择器,样式冲突,遵…

OpenMV输出PWM,实现对舵机控制

OpenMV的定时器官方函数介绍:Timer类 – 控制内部定时器 目录 OpenMV的PWM资源介绍 为什么要用OpenMV输出PWM OpenMV的PWM资源分配 资源 注意 建议 PWM输出代码 代码讲解 Timer Timer.channel tim.channel与Timer.channel区别 Timer.channel解析 OpenM…

Iframe通信

跨域的种类 一般有两种形式的跨域问题: ①使用XmlHttpRequest(XHR)或者使用AJAX发送的POST或者GET请求。这种形式的跨域是:前端页面与后端进行的跨域请求。 ②父子页面之间进行的DOM操作(父子窗口之间的document操作)。这种形式…

使用XShell、XFTP 连接 win7 虚拟机(windows、Linux无法远程登录问题)

文章目录前言出错原因(题外话)那么我们为什么要使用 SSH 连接开始操作(Windows7)首先进行 SSH 测试获取所需的openSSH文件安装openSSH添加环境变量ssh测试发布ssh服务开始操作(Linux,以Ubuntu为例&#xff…

Linux启动流程分析

一、Linux启动流程图 二、硬件启动流程 2.1、POST Linux开机加电后,系统开始开机自检,该过程主要对计算机各种硬件设备进行检测,如CPU、内存、主板、硬盘、CMOS芯片等。主要完成检测硬件能否满足运行的基本条件,叫做“硬件自检(P…

【网络编程】第一章 网络基础(协议+OSI+TCPIP+网络传输的流程+IP地址+MAC地址)

🏆个人主页:企鹅不叫的博客 ​ 🌈专栏 C语言初阶和进阶C项目Leetcode刷题初阶数据结构与算法C初阶和进阶《深入理解计算机操作系统》《高质量C/C编程》Linux ⭐️ 博主码云gitee链接:代码仓库地址 ⚡若有帮助可以【关注点赞收藏】…

onnx-modifier使用

文章目录**0、作用和功能****1、准备****2、界面介绍****3、注意tips**onnx-modifier基于流行的模型可视化工具 Netron 和轻量级Web应用框架 flask 开发。希望它能给社区带来一些贡献0、作用和功能 经常作为不同框架模型转化的中间文件,拿到ONNX文件,想…

KMP算法【一句话概括什么是KMP】【手写 求next数组】【手写匹配过程】

这里写自定义目录标题1. 什么是KMP算法2. next数组的表示含义怎么算3. 匹配过程例题——KMP字符串1. 什么是KMP算法 KMP算法:给定abcabm字符串和abcabcabm字符串,求前面字符串在后面字符串出现的位置,我们从头开始依次遍历,当遍历…

Supervisor - 用户进程监控利器

Supervisor Supervisor 是一个客户端/服务器系统,允许用户在UNIX操作系统上监视、控制用户进程。从定义里面分析包含两层意思。 监控进程 - 监控进程状态 确定当前进程是否发生异常控制进程 - 针对进程异常情况 控制进程的行为 如重启当前进程 Supervisor 通过 F…

神经网络和深度学习-logistic回归

logistic回归 logistic回归常用于分类问题 ,根据输入的x来估计属于不同类的概率为多少,满足分布,即所有类的概率总和为1 在torchvison包中提供了一些常用的数据集,供我们使用,例如:Mnist数据集 Cifar-10数…

力扣算法入门刷题2

12、删除排序链表中的重复元素 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 输入:head [1,1,2] 输出:[1,2[ //链表结构 public class ListNode {* int val;* List…

【情感识别】BP神经网络语音情感识别【含Matlab源码 349期】

⛄一、BP神经网络语音情感识别简介 0 引言 随着科技的迅速发展, 人机交互显得尤为重要。语音是语言的载体, 是人与人之间交流的重要媒介。相较于其它交流方式而言, 语音交流更加直接、便捷。近年来, 随着人机交互研究的不断深入, 语音情感识别更成为了学术界研究的热点, 其涉及…

3年测试经验,投了300多份简历,没公司要我...

前言 软件测试行业3年多经验,学历大专自考本科,主要测试方向web,PC端,wap站,小程序公众号都测试过,app也测过一些,C端B端都有,除功能外,接口性能也有涉猎,但…

一条命令能实现前端本地代码和打包仓库的自动化提交?

背景: 先介绍我们原本的代码上线流程:首先发布仓和代码仓(dev和master分支对应测试和生产环境)独立,每次修复或新增功能,首先需要提交改动到代码仓(fork),然后打包代码&…

TI Sitara系列 AM64x开发板——FreeRTOS、Baremetal案例开发案例

前 言 3 1 开发环境搭建 2 CCS工程编译与加载 3 FreeRTOS与Baremetal案例 评估板简介 创龙科技TL62x-EVM是一款基于TI Sitara系列AM62x单/双/四核ARM Cortex-A53 + 单核ARM Cortex-M4F异构多核处理器设计的高性能低功耗工业评估板,由核心板和评估底板组成。处理器ARM Cor…

SpringCloud之微服务实用篇2

在之前我们学习微服务中的两个组件,一个是注册中心,一个负载均衡器。今天,我们主要学习三个内容,分别是:Nacos配置管理、Feign远程调用、Gateway服务网关。 目录 一、Nacos配置管理 1.1、Nacos实现配置管理 1.2、微…

Redis持久化策略AOF、RDB详解及源码分析

写在前面 以下内容是基于Redis 6.2.6 版本整理总结 一、Redis为什么要持久化 Redis 是一个内存数据库,就是将数据库中的内容保存在内存中,这与传统的MySQL,Oracle等关系型数据库直接将内容保存到硬盘中相比,内存数据库的读写效…

数论简单问题

数论基本问题约数个数问题约数之和问题1-n中所有1-n因子的数量n!分解后某个质因子的个数欧拉函数公式法求欧拉函数线性筛求欧拉函数欧拉函数在线性筛中的三种情况:欧拉定理逆元费马定理求逆元快速幂求逆元扩展欧几里得算法扩展欧几里得算法证明扩展欧几里得的应用中…