【实战演练】Ceph分布式存储系列02-Ceph分布式存储的3种使用方式
存储设备有三种使用类型,块存储、文件存储、对象存储。
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种使用方式相关推荐
- Ceph使用系列之——Ceph RGW使用
本文分享主题是<Ceph使用系列之--Ceph RGW使用>,欢迎关注. Ceph RGW介绍 Ceph对象网关是在librados之上构建的对象存储接口,旨在为应用程序提供通往Ceph存 ...
- [转]“Ceph浅析”系列之(—)—Ceph概况
转载自:http://yizhaolingyan.net/?p=11 本文将对Ceph的基本情况进行概要介绍,以期读者能够在不涉及技术细节的情况下对Ceph建立一个初步印象. 2.1 什么是Cep ...
- 【Java数据结构及算法实战】系列002:算法的四种描述方式
本节是<Java数据结构及算法实战>系列的第2节,主要介绍描述算法的常用的4种方式. 要定义一个算法,我们可以用自然语言.流程图.伪代码的方式描述解决某个问题的过程或是编写一段程序来实现这 ...
- 【Python算法系列十一】二叉树的3种遍历方式
二叉树的遍历是指从根结点出发,按照某种次序依次访问二叉树中所有结点,使得每个结点被访问一次且仅被访问一次. 遍历二叉树的方法主要分 3 种:先序遍历.中序遍历和后序遍历: 先序遍历指最先遍历节点本身, ...
- 【Kubernetes 系列】详解 ConfigMap 九种创建方式
作者:半身风雪 上一节:配置 Java 微服务 内容简介:上一节主要学习使用 Kubernetes ConfigMaps 和 Secrets 设置环境变量,本节我们将学习,创建ConfigMap 的1 ...
- 算法补天系列之有序表的四种实现方式——AVL树,SB树,红黑树,跳表(重点)介绍说明
有序表(MAP):除了支持哈希表所有操作之外,是有序组织的,可以知道排序的. 其实红黑树,AVL,SB数,跳表这四种结构都可以实现有序表.时间复杂度是一个级别的.一般SB树常用一些,因为结合题目修改成 ...
- Ceph分布式存储系列(二):ceph-deploy方式部署三节点ceph集群
承接上文:Ceph分布式存储系列(一):Ceph工作原理及架构浅析梳理 之前都是使用Deepsea方式部署的ceph,长时间不用ceph-deploy了,这次来回顾,顺便总结下! 前言: ceph-d ...
- Ceph分布式存储系列(一):Ceph工作原理及架构浅析梳理
一.Ceph简介 众所周知,ceph是一种分布式存储系统,是有着"ceph之父"之称的Sage Weil读博期间的研究课题,项目诞生于2004年,在2006年基于开源协议开 ...
- 分布式系列之开源分布式存储技术分析
分布式存储在云计算及容器技术中将广泛使用,本文仅简单介绍了下几个主流的开源分布式技术,整个分布式存储系列相当复杂,文中介绍略微粗浅且当引子. 1.集中式存储和分布式存储 1.1 存储类型 常见的存储类 ...
最新文章
- AWS计算云上下载代码命令 git clone url
- HTML5中video标签与canvas绘图的使用
- 操作系统(七)进程的概念、组成、特征
- SAP Spartacus - Progressive Web Applications,渐进式 Web 应用程序
- netflix_Netflix Archaius用于物业管理–基础知识
- 领域应用 | 基于知识图谱的警用安保机器人大数据分析技术研究
- python爬取视频自动播放_如何在IPython笔记本上自动播放声音?
- java 线程状态_【19期】为什么Java线程没有Running状态?
- antd vue表单上传文件_Vue编译出静态文件上传七牛CDN
- python 大智慧自定义数据_大智慧自定义指数
- 搜索引擎那些你不知道的事
- 怎样才可以关掉Mac电脑开机启动项?
- Educational Codeforces Round 97 (Rated for Div. 2) F. Emotional Fishermen
- 浅析携程智能客服机器人实现
- 怎么用计算机弹心如水止,心静如水, 怎样用心看自己
- Java POI导出(图片,文字,表格)word文档
- 图片RGB转换为HSV
- E站账号cookie分享_产品经理必懂知识点—cookie和session
- 实验项目名称:微波技术与天线CST仿真实验
- 【缅怀】缅怀汶川地震记
热门文章
- 中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。
- 数据结构课程设计-班级考勤管理系统
- Rotation Kinematics
- 模块化机房与普通机房有什么区别?
- 中波电台发射机、接收机系统设计
- 材料封样信息流程指引
- 3D转换(位移,旋转)
- IDC-- Internet Data Centre(Center) 互联网数据中心?IDC-Information Data Centre(Center)信息数据中心
- Electron-vue第五章:新增一级菜单和子菜单
- 优秀的网络安全工程师应该有哪些能力?