存储设备有三种使用类型,块存储、文件存储、对象存储。

Ceph对于上述3中类型的使用方式都支持,需要进行不同的服务端配置与客户端调用。

1、块存储

1.1服务端配置

创建pool

ceph osd pool create test 32

创建块设备

rbd create rbd_write --size 1024 --pool test

查看pool下面的块

rbd -p test ls

1.2客户端调用

客户端映射块

rbd map test/rbd_write

#同理,断开映射为

rbd unmap test/rbd_write

挂载后,如果报rbd: sysfs write failed

RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable".的错,是因为当前OS的内核不支持某些feature。

解决方案:关闭某些扩展特性,然后重新映射。

rbd feature disable test/rbd_write exclusive-lock object-map fast-diff deep-flatten
rbd map test/rbd_write

映射后,对裸磁盘进行格式化。

mkfs.xfs /dev/rbd0
mkdir -p /mnt/ceph_rbd
mkdir /dmnt/ceph_rbd
mount /dev/rbd0 /mnt/ceph_rbd

可以进入/mnt/ceph_rbd目录,然后创建文件进行测试。

2、文件存储

2.1服务端配置

创建挂载目录

mkdir /cephfs

复制配置文件

将ceph配置文件ceph.conf从管理节点copy到client节点(10.1.30.43为管理节点)

rsync -e "ssh -p22" -avpgolr root@10.1.30.43:/etc/ceph/ceph.conf /etc/ceph/

复制密钥

将ceph的ceph.client.admin.keyring从管理节点copy到client节点

rsync -e "ssh -p22" -avpgolr root@10.1.30.43:/etc/ceph/ceph.client.admin.keyring /etc/ceph/

查看ceph授权

ceph auth list
installed auth entries:
mds.ceph-adminkey: AQAZZxdbH6uAOBAABttpSmPt6BXNtTJwZDpSJg==caps: [mds] allowcaps: [mon] allow profile mdscaps: [osd] allow rwx
osd.0key: AQCuWBdbV3TlBBAA4xsAE4QsFQ6vAp+7pIFEHA==caps: [mon] allow profile osdcaps: [osd] allow *
osd.1key: AQC6WBdbakBaMxAAsUllVWdttlLzEI5VNd/41w==caps: [mon] allow profile osdcaps: [osd] allow *
osd.2key: AQDJWBdbz6zNNhAATwzL2FqPKNY1IvQDmzyOSg==caps: [mon] allow profile osdcaps: [osd] allow *
client.adminkey: AQCNWBdbf1QxAhAAkryP+OFy6wGnKR8lfYDkUA==caps: [mds] allow *caps: [mon] allow *caps: [osd] allow *
client.bootstrap-mdskey: AQCNWBdbnjLILhAAT1hKtLEzkCrhDuTLjdCJig==caps: [mon] allow profile bootstrap-mds
client.bootstrap-mgrkey: AQCOWBdbmxEANBAAiTMJeyEuSverXAyOrwodMQ==caps: [mon] allow profile bootstrap-mgr
client.bootstrap-osdkey: AQCNWBdbiO1bERAARLZaYdY58KLMi4oyKmug4Q==caps: [mon] allow profile bootstrap-osd
client.bootstrap-rgwkey: AQCNWBdboBLXIBAAVTsD2TPJhVSRY2E9G7eLzQ==caps: [mon] allow profile bootstrap-rgw

2.2客户端调用

客户端设备,安装ceph-fuse(这里直接用ceph-admin-10.1.30.43测试,如果需要在其他设备测试请注意yum源配置)

yum install -y ceph-fuse

将ceph集群存储挂载到客户机的/cephfs目录下

ceph-fuse -m 10.1.30.43:6789 /cephfs
2018-06-06 14:28:54.149796 7f8d5c256760 -1 init, newargv = 0x4273580 newargc=11
ceph-fuse[16107]: starting ceph client
ceph-fuse[16107]: starting fuse
df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_centos602-lv_root50G  3.5G   44G   8% /
tmpfs                 1.9G     0  1.9G   0% /dev/shm
/dev/sda1             477M   41M  412M   9% /boot
/dev/mapper/vg_centos602-lv_home45G   52M   43G   1% /home
/dev/vdb1              20G  5.1G   15G  26% /data/osd1
ceph-fuse              45G  100M   45G   1% /cephfs

由上面可知,已经成功挂载了ceph存储,三个osd节点,每个节点有15G(在节点上通过"lsblk"命令可以查看ceph data分区大小),一共45G!

取消ceph存储的挂载

umount /cephfs

3、对象存储

3.1服务端配置

Ceph 对象存储使用 Ceph 对象网关守护进程( radosgw ),它是个与 Ceph 存储集×××互的 FastCGI 模块。Ceph RGW的FastCGI支持多种Web服务器作为前端,而Ceph从v0.8开始,使用内嵌Civetweb作为WebServer,无需额外安装nginx或者apache作web服务。

修改yum文件,并且安装网关服务。

vi /etc/yum.repos.d/CentOS-Base.repo
[centosplus]
enabled=1
ceph-deploy install --rgw ceph-admin

创建网关实例

/home/cephuser/cluster
ceph-deploy rgw create testrgw

一旦网关开始运行,可以通过7480端口访问尝试

创建账号

radosgw-admin user create --uid="testuser" --display-name="First User"

自动返回如下

{"user_id": "testuser","display_name": "First User","email": "","suspended": 0,"max_buckets": 1000,"auid": 0,"subusers": [],"keys": [{"user": "testuser","access_key": "EVAKP3SXQ5PX8EMEM9XK","secret_key": "pr7WUkuEyTJS8obM0i75GgHTYlYSPluzViCJCCIX"}],"swift_keys": [],"caps": [],"op_mask": "read, write, delete","default_placement": "","placement_tags": [],"bucket_quota": {"enabled": false,"max_size_kb": -1,"max_objects": -1},"user_quota": {"enabled": false,"max_size_kb": -1,"max_objects": -1},"temp_url_keys": []
}

使用查看命令也能再次看到上述信息

radosgw-admin user info --uid=testuser

3.2客户端调用

客户端安装软件

yum install s3cmd
s3cmd --configure
Access Key:EVAKP3SXQ5PX8EMEM9XK
Secret Key:pr7WUkuEyTJS8obM0i75GgHTYlYSPluzViCJCCIX
Default Region [US]:默认
S3 Endpoint [s3.amazonaws.com]: 10.1.30.43:7480
[%(bucket)s.s3.amazonaws.com]: %(bucket)s.10.1.30.43:7480
Use HTTPS protocol [Yes]: No
Test access with supplied credentials? [Y/n] Y
Retry configuration[Y/n]:n
Save settings? [y/N] y

其他选项直接回车即可,不要修改。设置完成后,运行

s3cmd ls

如果报错如下,则证明配置文件里面有问题

Invoked as: /usr/bin/s3cmd ls
Problem: error: [Errno 111] Connection refused

解决办法:

vi ~/.s3cfg

检查5个参数

access_key = EVAKP3SXQ5PX8EMEM9XK
cloudfront_host = ceph-admin:7480
host_base = ceph-admin:7480
host_bucket = %(*)s.ceph-admin:7480
secret_key = pr7WUkuEyTJS8obM0i75GgHTYlYSPluzViCJCCIX

然后重新s3cmd测试

s3cmd ls

创建名叫my_bucket的数据目录(类似创建文件夹,但是注意,bucket是对象存储的概念,不是文件夹)

s3cmd mb s3://my_bucket

put上传对象到具体目录

s3cmd put /var/log/messages s3://my_bucket/log/

查看对象

s3cmd ls s3://my_bucket/log/

get下载对象

s3cmd get s3://my_bucket/log/messages /tmp/

删除对象

s3cmd del s3://my_bucket/log/messages

删除bucket

s3cmd rb s3://my_bucket/log/

【实战演练】Ceph分布式存储系列02-Ceph分布式存储的3种使用方式相关推荐

  1. Ceph使用系列之——Ceph RGW使用

    本文分享主题是<Ceph使用系列之--Ceph RGW使用>,欢迎关注. Ceph RGW介绍 Ceph对象网关是在librados之上构建的对象存储接口,旨在为应用程序提供通往Ceph存 ...

  2. [转]“Ceph浅析”系列之(—)—Ceph概况

    转载自:http://yizhaolingyan.net/?p=11 本文将对Ceph的基本情况进行概要介绍,以期读者能够在不涉及技术细节的情况下对Ceph建立一个初步印象. 2.1   什么是Cep ...

  3. 【Java数据结构及算法实战】系列002:算法的四种描述方式

    本节是<Java数据结构及算法实战>系列的第2节,主要介绍描述算法的常用的4种方式. 要定义一个算法,我们可以用自然语言.流程图.伪代码的方式描述解决某个问题的过程或是编写一段程序来实现这 ...

  4. 【Python算法系列十一】二叉树的3种遍历方式

    二叉树的遍历是指从根结点出发,按照某种次序依次访问二叉树中所有结点,使得每个结点被访问一次且仅被访问一次. 遍历二叉树的方法主要分 3 种:先序遍历.中序遍历和后序遍历: 先序遍历指最先遍历节点本身, ...

  5. 【Kubernetes 系列】详解 ConfigMap 九种创建方式

    作者:半身风雪 上一节:配置 Java 微服务 内容简介:上一节主要学习使用 Kubernetes ConfigMaps 和 Secrets 设置环境变量,本节我们将学习,创建ConfigMap 的1 ...

  6. 算法补天系列之有序表的四种实现方式——AVL树,SB树,红黑树,跳表(重点)介绍说明

    有序表(MAP):除了支持哈希表所有操作之外,是有序组织的,可以知道排序的. 其实红黑树,AVL,SB数,跳表这四种结构都可以实现有序表.时间复杂度是一个级别的.一般SB树常用一些,因为结合题目修改成 ...

  7. Ceph分布式存储系列(二):ceph-deploy方式部署三节点ceph集群

    承接上文:Ceph分布式存储系列(一):Ceph工作原理及架构浅析梳理 之前都是使用Deepsea方式部署的ceph,长时间不用ceph-deploy了,这次来回顾,顺便总结下! 前言: ceph-d ...

  8. Ceph分布式存储系列(一):Ceph工作原理及架构浅析梳理

    一.Ceph简介     众所周知,ceph是一种分布式存储系统,是有着"ceph之父"之称的Sage Weil读博期间的研究课题,项目诞生于2004年,在2006年基于开源协议开 ...

  9. 分布式系列之开源分布式存储技术分析

    分布式存储在云计算及容器技术中将广泛使用,本文仅简单介绍了下几个主流的开源分布式技术,整个分布式存储系列相当复杂,文中介绍略微粗浅且当引子. 1.集中式存储和分布式存储 1.1 存储类型 常见的存储类 ...

最新文章

  1. AWS计算云上下载代码命令 git clone url
  2. HTML5中video标签与canvas绘图的使用
  3. 操作系统(七)进程的概念、组成、特征
  4. SAP Spartacus - Progressive Web Applications,渐进式 Web 应用程序
  5. netflix_Netflix Archaius用于物业管理–基础知识
  6. 领域应用 | 基于知识图谱的警用安保机器人大数据分析技术研究
  7. python爬取视频自动播放_如何在IPython笔记本上自动播放声音?
  8. java 线程状态_【19期】为什么Java线程没有Running状态?
  9. antd vue表单上传文件_Vue编译出静态文件上传七牛CDN
  10. python 大智慧自定义数据_大智慧自定义指数
  11. 搜索引擎那些你不知道的事
  12. 怎样才可以关掉Mac电脑开机启动项?
  13. Educational Codeforces Round 97 (Rated for Div. 2) F. Emotional Fishermen
  14. 浅析携程智能客服机器人实现
  15. 怎么用计算机弹心如水止,心静如水, 怎样用心看自己
  16. Java POI导出(图片,文字,表格)word文档
  17. 图片RGB转换为HSV
  18. E站账号cookie分享_产品经理必懂知识点—cookie和session
  19. 实验项目名称:微波技术与天线CST仿真实验
  20. 【缅怀】缅怀汶川地震记

热门文章

  1. 中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。
  2. 数据结构课程设计-班级考勤管理系统
  3. Rotation Kinematics
  4. 模块化机房与普通机房有什么区别?
  5. 中波电台发射机、接收机系统设计
  6. 材料封样信息流程指引
  7. 3D转换(位移,旋转)
  8. IDC-- Internet Data Centre(Center) 互联网数据中心?IDC-Information Data Centre(Center)信息数据中心
  9. Electron-vue第五章:新增一级菜单和子菜单
  10. 优秀的网络安全工程师应该有哪些能力?