首页 > 其他分享 >使用ceph的文件存储CephFS

使用ceph的文件存储CephFS

时间:2023-08-08 12:38:41浏览次数:40  
标签:Ceph 存储 cephfs 6789 文件系统 192.168 ceph CephFS


Ceph FS是一个支持POSIX接口的文件系统,它使用 Ceph 存储集群来存储数据。文件系统对于客户端来说可以方便的挂载到本地使用。Ceph FS构建在RADOS之上,继承RADOS的容错性和扩展性,支持冗余副本和数据高可靠性。

注意:当前, CephFS 还缺乏健壮得像 ‘fsck’ 这样的检查和修复功能。存储重要数据时需小心使用,因为灾难恢复工具还没开发完。

准备MDS元数据服务器

Ceph 文件系统要求 Ceph 存储集群内至少有一个 Ceph 元数据服务器。

使用ceph的文件存储CephFS_服务器

新增一个MDS很简单,可参考ceph新增节点。

创建Ceph文件系统

一个 Ceph 文件系统需要至少两个 RADOS 存储池,一个用于数据、一个用于元数据。配置这些存储池时需考虑:
1、为元数据存储池设置较高的副本水平,因为此存储池丢失任何数据都会导致整个文件系统失效。
2、为元数据存储池分配低延时存储器(像 SSD ),因为它会直接影响到客户端的操作延时。

关于存储池的管理可参考官网 存储池

要用默认设置为文件系统创建两个存储池,你可以用下列命令:
比如我们使用120个pg。cephfs_data和cephfs_metadata是两个存储池的名称。

ceph osd pool create cephfs_data 128
ceph osd pool create cephfs_metadata 128

创建好存储池后,你就可以用 fs new 命令创建文件系统了:

ceph fs new cephfs cephfs_metadata cephfs_data

cephfs是文件系统的名称。

使用下面的命令可以查看创建的CephFS

ceph fs ls

文件系统创建完毕后, MDS 服务器就能达到 active 状态了,比如在一个单 MDS 系统中,使用命令查看

ceph mds stat

成功运行输出如下:

[zzq@ceph4 osd]$ ceph osd pool create cephfs_data 128
pool 'cephfs_data' created
[zzq@ceph4 osd]$ ceph osd pool create cephfs_metadata 128
pool 'cephfs_metadata' created
[zzq@ceph4 osd]$ ceph fs new cephfs cephfs_metadata cephfs_data
new fs with metadata pool 2 and data pool 1
[zzq@ceph4 osd]$ ceph fs ls
name: cephfs, metadata pool: cephfs_metadata, data pools: [cephfs_data ]
[zzq@ceph4 osd]$
[zzq@ceph4 osd]$ ceph mds stat
e3: 1/1/1 up {0=ceph4=up:active}
[zzq@ceph4 osd]$

挂载CephFS (客户端节点执行)

要挂载 Ceph 文件系统,如果你知道监视器 IP 地址可以用 mount 命令、或者用 mount.ceph 工具来自动解析监视器 IP 地址。

假如我们有4个monitor监视器,ip分别为192.168.199.81,192.168.199.82,192.168.199.83,192.168.199.84。
则使用mount命令挂载到目录/mycephfs,如下:

sudo mkdir /mycephfs
sudo mount -t ceph 192.168.199.81:6789,192.168.199.82:6789,192.168.199.83:6789,192.168.199.84:6789:/  /mycephfs

Ceph v0.55 及后续版本默认开启了 cephx 认证。
如果启用了cephx认证的Ceph文件系统,挂载时我们必须指定用户名、密钥。
secret在/etc/ceph/ceph.client.admin.keyring可以查到。

cat /etc/ceph/ceph.client.admin.keyring
sudo mount -t ceph 192.168.199.81:6789,192.168.199.82:6789,192.168.199.83:6789,192.168.199.84:6789:/ /mycephfs -o name=admin,secret=AQD/9AZb41OsJRAAhgKm6sw/LItSdb33wFQRpA==

上述用法会把密码遗留在 Bash 历史里,更安全的方法是从文件读密码。例如:

sudo mount -t ceph 192.168.199.81:6789,192.168.199.82:6789,192.168.199.83:6789,192.168.199.84:6789:/ /mycephfs -o name=admin,secretfile=/etc/ceph/admin.secret

正确输出如下:

[zzq@localhost /]$ cat /etc/ceph/ceph.client.admin.keyring
[client.admin]
    key = AQD/9AZb41OsJRAAhgKm6sw/LItSdb33wFQRpA==
    caps mds = "allow"
    caps mon = "allow *"
    caps osd = "allow *"
[zzq@localhost /]$ sudo mount -t ceph 192.168.199.81:6789,192.168.199.82:6789,192.168.199.83:6789,192.168.199.84:6789:/ /mycephfs -o name=admin,secret=AQD/9AZb41OsJRAAhgKm6sw/LItSdb33wFQRpA==
[sudo] password for zzq: 
[zzq@localhost /]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_localhost-lv_root
                       18G  2.2G   15G  14% /
tmpfs                 482M     0  482M   0% /dev/shm
/dev/sda1             477M   86M  362M  20% /boot
/dev/rbd0             3.9G  8.0M  3.8G   1% /cephAll
192.168.199.81:6789,192.168.199.82:6789,192.168.199.83:6789,192.168.199.84:6789:/
                       33G   14G   19G  41% /mycephfs
[zzq@localhost /]$

要卸载 Ceph 文件系统,可以用 unmount 命令,例如:

sudo umount /mycephfs

可能遇到的问题

可能出现的错误
1.mount error 5 = Input/output error
2. mount error 22 = Invalid argument
第一个,首先先查mds服务是正常,不存在则添加
第二个,密钥不正确,检查密钥

用户空间挂载 CEPH 文件系统 (客户端服务器执行)

Ceph v0.55 及后续版本默认开启了 cephx 认证。

从用户空间挂载Ceph 文件系统前,确保客户端主机有一份Ceph 配置副本、和具备 Ceph元数据服务器能力的密钥环。

在客户端主机上,把监视器主机上的Ceph 配置文件拷贝到客户端服务器的 /etc/ceph/目录下。

sudo mkdir -p /etc/ceph
scp ceph1:/etc/ceph/ceph.client.admin.keyring /etc/ceph
scp ceph1:/etc/ceph/ceph.conf /etc/ceph

确保客户端机器上的 Ceph 配置文件和密钥环都有合适的权限位,如chmod 644 。

要把 Ceph 文件系统挂载为用户空间文件系统,可以用 ceph-fuse 命令,例如:

sudo mkdir /home/zzq/cephfs
sudo ceph-fuse -m 192.168.199.81:6789 /home/zzq/cephfs

启动时自动挂载

普通目录

启动时自动挂载需要把挂载信息按下列格式添加到 /etc/fstab :

sudo vi  /etc/fstab

在末尾输入内容如下:

192.168.199.81:6789,192.168.199.82:6789,192.168.199.83:6789,192.168.199.84:6789:/ /mycephfs ceph  name=admin,secret=AQD/9AZb41OsJRAAhgKm6sw/LItSdb33wFQRpA==,noatime    0       2

相关参数

/etc/fstab下面分为6个字段:
1、要挂载的设备(可以使用LABEL、UUID、设备文件)
2、挂载点
3、文件系统类型
4、挂载选项(defaults使用默认挂载选线,如需同时指明,则:defaults,acl)
5、转储频率
  0:从不备份
  1:每天备份
  2:每隔一天备份
6、自检次序
  0:不自检
  1:首先自检,通常只用于根文件系统
  2:次级自检

用户目录

要在用户空间挂载 Ceph 文件系统,按如下加入 /etc/fstab :

id=myuser,conf=/etc/ceph/ceph.conf  /mnt/ceph2  fuse.ceph defaults 0 0


标签:Ceph,存储,cephfs,6789,文件系统,192.168,ceph,CephFS
From: https://blog.51cto.com/u_16218512/7007043

相关文章

  • ceph新增节点
    我们在上一篇文章中已经学习了手动安装ceph和ceph的挂载使用手动安装ceph和使用本章记录我们在日常运维中经常遇到的场景,就是如何给这个集群扩容–增加节点。假如我们新采购了一台服务器想融入到ceph集群中,步骤如下:调整网络情况ip地址需要与ceph集群在同一内网内使用命令如下:ifcon......
  • k8s 学习笔记之数据存储——高级存储
    高级存储前面已经学习了使用NFS提供存储,此时就要求用户会搭建NFS系统,并且会在yaml配置nfs。由于kubernetes支持的存储系统有很多,要求客户全都掌握,显然不现实。为了能够屏蔽底层存储实现的细节,方便用户使用,kubernetes引入PV和PVC两种资源对象。PV(PersistentVolume......
  • K8S使用ceph-csi持久化存储之RBD
    Kubernetes集成Ceph一般有两种方案:Ceph组件运行在Kubernetes中,可以使用Rook;还有就是Kubernetes集成外部的Ceph集群。Ceph版本[root@master~]#ceph-vcephversion14.2.22(ca74598065096e6fcbd8433c8779a2be0c889351)nautilus(stable)Kubernetes版本[root@master~]#k......
  • ceph-deploy部署ceph集群 nautilus 14.2.22
    规划主机名IP地址系统ceph版本ceph硬盘大小组件规划master192.168.1.60CentOS7.9ceph-15.2.10sdb100GOSD、MOD、MDS、MGR主节点node01192.168.1.70CentOS7.9ceph-15.2.10sdb100GOSD从节点node02192.168.1.80CentOS7.9ceph-15.2.10sdb100......
  • 视频融合平台视频汇聚平台LiteCVR的存储异常垃圾数据增多如何快捷清理
    LiteCVR视频融合平台部署迅捷高效,具备极大的功能灵活性,支持多种协议和设备类型的接入。在视频方面,它能够实现多项功能,包括视频直播、录像、回放、检索、云存储、告警上报、语音对讲、集群、智能分析以及平台级联等。根据用户的反馈,使用LiteCVR时发现数据库中存在大量无效数据,导致......
  • 斩获可信云最佳实践,天翼云存储资源盘活系统助力“一云多芯”!
    7月25日至26日,中国信息通信研究院、中国通信标准化协会主办的“2023可信云大会”在京召开。大会以“云领创新 算启新篇”为主题,围绕产业发展、关键技术、最/佳实践等展开深入交流。天翼云携存储资源盘活系统(HBlock)应邀出席本次大会,并荣获可信云最/佳实践。顺应“一云多芯”趋势......
  • 实现无限存储:基于JuiceFS 创建 Samba 和 NFS 共享
    随着企业数据量的持续增长,存储容量需求日益增大。如何采用没有容量上限的云存储替换本容量有限的本地磁盘,已成为广泛的需求和共识。特别是在企业中常用的Samba和NFS共享,如果能够使用云存储作为底层存储,就能有效解决存储扩容和本地磁盘损坏导致的数据丢失问题。本文将以Linux......
  • Ceph常用命令汇总
    对象用户和桶$radosgw-adminusercreate--display-name="johnnyrotten"--uid=johnny$radosgw-adminuserrm--uid=johnny$radosgw-adminuserrename--uid=johny--new-uid=joe$radosgw-adminuserrm--uid=johnny--purge-data$radosgw-adminbucketr......
  • 复习笔记|第十六章 Windows存储器管理《操作系统原理教程》
    参考教材:《操作系统原理教程(第4版)》刘美华翟岩龙著大纲问题回答(精简版)1.两种数据结构:虚拟地址描述符VAD、区域对象,这两种结构各有什么作用?◆P304◼Windows系统采用一棵由虚拟地址描述符(VAD)构成的平衡二叉树来管理进程私有地址空间。一个进程的一组VAD结构构成一棵自平衡二......
  • 复习笔记|第四章 存储器管理《操作系统原理教程》
    参考教材:《操作系统原理教程(第4版)》刘美华翟岩龙著大纲问题回答(精简版)1.存储器管理的功能。名字空间、地址空间、存储空间、逻辑地址、物理地址。(1)存储器分配:解决多进程共享主存的问题(2)地址转换或重定位:研究各种地址变换方法及相应的地址变换机构。(3)存储器保护:防止故障程序......