一 Ceph文件系统

1.1 概述

CephFS也称ceph文件系统,是一个POSIX兼容的分布式文件系统。
实现ceph文件系统的要求:
  • 需要一个已经正常运行的ceph集群;
  • 至少包含一个ceph元数据服务器(MDS)。

1.2 相关名词

Ceph:元数据服务器( MDS ),为 Ceph 文件系统存储元数据。元数据服务器使得POSIX 文件系统的用户们,可以在不对 Ceph 存储集群造成负担的前提下,执行诸如 ls、find 等基本命令。
元数据:可以简单的理解为它是描述数据的数据,意思就是描述数据的信息。如,数据的大小、位置、属性等等信息。使用MDS后,在执行数据搜索和查看的时候,首先查找的是元数据,通过元数据中的描述信息准确且快速的找到数据,而不用大费周章的在整个集群的osd上查找。

1.3 客户端I/O机制

客户端向cephfs发起I/O时,过程大致为:
  1. client端与mds节点通讯,获取metadata信息(metadata也存在osd上)
  2. client直接写数据到osd

1.4 挂载ceph文件系统的方式

  1. 使用本地系统内核驱动程序进行挂载
  2. 使用ceph fuse进行挂载

二 文件系统使用

2.1 查看集群

 [root@deploy ~]# su - manager
[manager@deploy ~]$ cd my-cluster/
[manager@deploy my-cluster]$ ssh node1 sudo ceph -s
 

2.2 创建MDS

见《003.Ceph扩展集群》步骤2.2。
提示:使用ceph-deploy部署ceph mds比较快捷,但依赖于之前ceph-deploy时候生成的一些配置和keyring文件,所以此文档承接之前文档,并在部署Ceph集群目录。
 [root@deploy ~]# su - manager
[manager@deploy ~]$ cd my-cluster/
[manager@deploy my-cluster]$ ssh node1 sudo ceph mds stat #查看mds信息
, 1 up:standby
 

2.3 创建文件系统

 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd pool create cephfs_data 16 16	        #创建data pool
[manager@deploy my-cluster]$ ssh node1 sudo ceph osd pool create cephfs_metadata 16 16 #创建metadata pool
[manager@deploy my-cluster]$ ssh node1 sudo ceph fs new cephfs cephfs_metadata cephfs_data #创建cephfs
[manager@deploy my-cluster]$ ssh node1 sudo ceph fs ls #查看验证
name: cephfs, metadata pool: cephfs_metadata, data pools: [cephfs_data ]
[manager@deploy my-cluster]$ ssh node1 sudo ceph mds stat
cephfs-1/1/1 up {0=node1=up:active} #再次查看mds信息
 
注意:一个cephfs至少要求两个RADOS存储池,一个为data,一个为metadata。
建议:
metadata pool设置较高级别的副本级别,因为metadata的损坏可能导致整个文件系统不用;
metadata pool使用低延时存储,比如SSD,因为metadata会直接影响客户端的响应速度。

2.4 创建认证密钥

 [root@node1 ~]# cat /etc/ceph/ceph.client.admin.keyring		#查看key
[client.admin]
key = AQDs9D1cCanyJBAA/rj991xmzENsIgEesfe8KQ==
[root@cephclient ~]# vi /root/admin.secret #客户端创建key
AQDs9D1cCanyJBAA/rj991xmzENsIgEesfe8KQ==
 

三 客户端使用文件系统(内核驱动)

3.1 客户端执行挂载

 [root@cephclient ~]# mkdir /mnt/mycephfs
[root@cephclient ~]# mount -t ceph -o name=admin,secretfile=/root/admin.secret \
172.24.8.72:6789:/ /mnt/mycephfs/ #执行挂载并附带key文件
 
提示:Ceph存储集群默认情况下已启用身份验证的情况下运行,挂载时需要指明相关密钥(非密钥环本身)。

2.6 确认验证

 [root@cephclient ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
……
172.24.8.72:6789:/ ceph 18G 0 18G 0% /mnt/mycephfs
[root@cephclient ~]# echo 'This is my test file!' >>/mnt/mycephfs/test.txt

四 客户端使用文件系统(FUSE)

4.1 安装FUSE相关包

 [root@cephclient ~]# yum -y install ceph-fuse
[manager@deploy my-cluster]$ ceph-deploy --overwrite-conf mon add cephclient
 
提示:Ceph v0.55及后续版本默认开启了cephx认证。从用户空间( FUSE )挂载Ceph文件系统前,确保客户端有一份Ceph配置副本、和具备Ceph元数据服务器的密钥环,本实验通过以上命令直接从deploy节点推送相关配置。也可通过手动scp方式将mon节点的ceph.conf和ceph.client.admin.keyring复制至客户端节点。

4.2 客户端执行挂载

 [root@cephclient ~]# mkdir /mnt/mycephfs
[root@cephclient ~]# ceph-fuse -k /etc/ceph/ceph.client.admin.keyring -m 172.24.8.72:6789 /mnt/mycephfs/ #执行挂载并附带key文件
 
提示:Ceph存储集群默认情况下已启用身份验证的情况下运行,若keyring位于/etc/ceph目录可省略-k参数,ceph-fuse -m 172.24.8.72:6789 /mnt/mycephfs。

4.3 确认验证

 [root@cephclient ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
……
ceph-fuse fuse.ceph-fuse 18G 0 18G 0% /mnt/mycephfs
[root@cephclient ~]# echo 'This is my test file!' >>/mnt/mycephfs/test2.txt

参考:http://docs.ceph.com/docs/master/start/quick-rbd/

 

005.Ceph文件系统基础使用的更多相关文章

  1. 理解 OpenStack + Ceph (4):Ceph 的基础数据结构 [Pool, Image, Snapshot, Clone]

    本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...

  2. ceph 文件系统(cephfs) -- 初体验

    一.介绍: ceph MDS 是元数据服务器,只有ceph 文件系统(cephFS)才会需要. cephFS 在RADOS 层之上 提供一个兼容POSIX 的文件系统.他是用MDS 作为守护进程,负责 ...

  3. ceph存储基础概念

    一.分布式文件系统: 是指文件系统管理的物理存储资源不一定直接是连接在本地节点上,而是通过计算机网络与节点相连. 分布式文件系统的设计基与C/S架构(客户端/服务器) 常见的分布式文件系统:Ceph. ...

  4. Ceph 文件系统 CephFS 的实战配置,等你来学习 -- <4>

    Ceph 文件系统 CephFS 的介绍与配置 CephFs介绍 Ceph File System (CephFS) 是与 POSIX 标准兼容的文件系统, 能够提供对 Ceph 存储集群上的文件访问 ...

  5. ext3文件系统基础

    http://blog.csdn.net/haiross/article/category/1488205/2   block size: 是文件系统最小的单位,Ext2/Ext3/Ext4 的区块大 ...

  6. Ceph 的基础数据结构 [Pool, Image, Snapshot, Clone]

    原文链接:http://www.cnblogs.com/sammyliu/p/4843812.html?utm_source=tuicool&utm_medium=referral 1 Poo ...

  7. Linux性能优化从入门到实战:14 文件系统篇:Linux 文件系统基础

      磁盘为系统提供了最基本的持久化存储.   文件系统则在磁盘的基础上,提供了一个用来管理文件的树状结构. 文件系统:索引节点和目录项   文件系统是对存储设备上的文件,进行组织管理的机制.组织方式不 ...

  8. Linux操作系统文件系统基础知识详解

    一 .Linux文件结构 文件结构是文件存放在磁盘等存贮设备上的组织方法.主要体现在对文件和目录的组织上. 目录提供了管理文件的一个方便而有效的途径. Linux使用标准的目录结构,在安装的时候,安装 ...

  9. 为cloudstack搭建ceph文件系统

    1. 安装dell服务器,  raid卡需要采用直通模式(non-raid); 各磁盘独立运行.  网络依赖硬件不同,使用万兆网卡或者两个千兆网卡做bonding6.  2. 配置host map(1 ...

随机推荐

  1. spring springMvc spring-boot spring-cloud分别是什么

    本文来源于:克己习礼成仁   的<spring springMvc spring-boot spring-cloud分别是什么> 什么是spring 关于spring的定义无论是从官方还是 ...

  2. Confluence 6 发送 Confluence 通知到其他 Confluence 服务器

    你可以配置 Confluence 服务器向其他的 Confluence 服务器发送消息.在这种情况下,Confluence 服务器将不会显示 workbox. 希望发送消息到其他 Confluence ...

  3. web的分页方法

    web分页的三种方式,闲来无事总结一下. 1.使用前端表格插件进行分页 例如用bootstrap的拓展table组件,注意设置其分页属性时设置为"client", 即是 sideP ...

  4. 再谈树形dp

    上次说了说树形dp的入门 那么这次该来一点有难度的题目了: UVA10859 Placing Lampposts 给定一个n个点m条边的无向无环图,在尽量少的节点上放灯,使得所有边都与灯相邻(被灯照亮 ...

  5. Laravel 中通过自定义分页器分页方法实现伪静态分页链接以利于 SEO

    我们知道,Laravel 自带的分页器方法包含 simplePaginate 和 paginate 方法,一个返回不带页码的分页链接,另一个返回带页码的分页链接,但是这两种分页链接页码都是以带问号的动 ...

  6. sqlmap+DWAV测试实战(一)

    root@kali-yaming:~# sqlmap -u "http://172.18.225.39/vulnerabilities/sqli/?id=1&Submit=Submi ...

  7. 解决npm install过程中报错:unable to verify the first certificate

    今天使用npm安装开发包时遇到“unable to verify the first certificate”(无法验证第一证书)这个问题 原因:2014年2月27日,npm不再支持自签名证书.因为n ...

  8. OrCAD Capture CIS 16.6 在原理图页面内放置图片

    OrCAD Capture CIS 16.6 菜单:Place > Picture... 在Place Picture窗口中,文件类型选择All Files (*.*),接着选择需要插入的图片, ...

  9. 简单(基本)的风光摄影照片后期处理-新手教程-ps照片后期基本处理

    前言 Photoshop虽然不是万能的,但缺少Photoshop却是万万不能的!风光摄影不是一个记录过程,做到的不能仅仅是“拍到了”,我觉得应该是一个创作的过程,特别是在后期处理的过程中,创作意味更浓 ...

  10. Python-数据类型之数字

    一:数字类型概述 数字提供了标量存储和直接访问,属于不可变数据类型,所谓不可变,我们可以认为,更改数字的值会生成一个新的对象 # id可以唯一表示一个对象 age =18 print(id(age)) ...