ceph

ceph的数据存储之路(9) -----object的attr和omap操作

烈酒焚心 提交于 2019-12-01 10:38:50
这里有一个 ceph 的原则,就是所有存储的不管是块设备、对象存储、文件存储最后都转化成了底层的对象 object ,这个 object 包含 3 个元素 data , xattr , omap 。 data 是保存对象的数据, xattr 是保存对象的扩展属性,每个对象文件都可以设置文件的属性,这个属性是一个 key/value 值对,但是受到文件系统的限制, key/value 对的个数和每个 value 的大小都进行了限制。如果要设置的对象的 key/value 不能存储在文件的扩展属性中,还存在另外一种方式保存 omap , omap 实际上是保存到了 key/vaule 值对的数据库 levelDB 中,在这里 value 的值限制要比 xattr 中好的多。 一开始不太明白 key/value 是做什么的?在 ceph 中起到什么作用? 这里要说明的是这些 key/value 是保存对象的元数据相关信息,这些元数据相关信息是可以单独创建和设置的,等于对象存储的扩展,支持属性的值对存储。这个作用就是提供给 ceph 内部使用,暂时用处不大。 一、块存储设备元数据管理 对于块存储,在存储的过程中主要是块的相关信息。块的元数据信息管理,创建一个块设备后会创建一个默认的 rbd 的元数据文件。 0001 :这里首先创建一个块设备,该块设备的大小为 100M 。 0002

译:块设备和 OpenStack

徘徊边缘 提交于 2019-12-01 07:51:39
libvirt 配置了 librbd 的 QEMU 接口,通过它可以在 OpenStack 中使用 Ceph 块设备镜像。Ceph 块设备镜像被当作集群对象,这意味着它比独立的服务器有更好的性能。 在 OpenStack 中使用 Ceph 块设备,必须首先安装 QEMU, libvirt 和 OpenStack。建议 OpenStack 安装的时候使用独立的物理节点。OpenStack 节点建议最小 8G RAM和四核处理器。下图描述了 OpenStack 和 Ceph 技术层次。 Important:要在 OpenStack 中使用 Ceph,必须首先运行 Ceph 存储集群 OpenStack 与 Ceph 的三个结合点: 镜像 :OpenStack Glance 管理虚拟机镜像。镜像是不变的。OpenStack 把镜像当作二进制对象并以此格式下载。 卷 :卷是块设备。OpenStack 使用卷来启动虚拟机,或者绑定卷到运行中的虚拟机。OpenStack 使用 Cinder 服务管理卷。 客户磁盘 :客户磁盘是客户操作系统磁盘。默认情况下,当启动一台虚拟机时,它的系统盘以文件的形式出现在 hypervisor 系统上(通常在 /var/lib/nova/instances/<uuid> )。在 OpenStack Havana 以前的版本,在 Ceph

使用Ceph作为OpenStack的后端存储

三世轮回 提交于 2019-12-01 07:51:27
概述 libvirt 配置了 librbd 的 QEMU 接口,通过它可以在 OpenStack 中使用 Ceph 块存储。 Ceph 块存储是集群对象,这意味着它比独立的服务器有更好的性能。 在 OpenStack 中使用 Ceph 块设备,必须首先安装 QEMU , libvirt 和 OpenStack ,下图描述了 OpenStack 和 Ceph 技术层次结构: http://my.oschina.net/JerryBaby/blog/376580 我翻译的官方文档,仅供参考 ^ ^ 。 系统规划 OpenStack 集群: 控制节点: openstack ( controller ) 192.168.1.131 计算节点: compute 192.168.1.132 存储节点: storage 192.168.1.133 Ceph 集群: monitor 、 mds 、 osd0 节点: openstack ( controller ) 192.168.1.131 osd1 : compute 192.168.1.132 osd2 : storage 192.168.1.133 系统架构: 配置过程 Important:由于这里将两套集群服务部署在了同一组节点上,所以配置过程中省略了一些关于Ceph集群的配置。 创建存储池 # ceph osd pool create

块存储、文件存储、对象存储区别联系详述

自闭症网瘾萝莉.ら 提交于 2019-12-01 07:21:31
Ceph分布式存储-总 目录: Ceph基本组成及原理 Ceph之块存储 Ceph之文件存储 Ceph之对象存储 Ceph之实际应用 Ceph之总结 一、Ceph基本组成及原理 1、块存储、文件存储、对象存储简介与区别 块存储、文件存储、对象存储区别联系详述   块存储和文件存储是我们比较熟悉的两种主流的存储类型,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device)简称OSD。   首先,我们介绍这两种传统的存储类型。 通常来讲,所有磁盘阵列都是基于Block块的模式,而所有的NAS产品都是文件级存储。 【块级、文件级概念】 1.块级概念:   块级是指以扇区为基础,一个或我连续的扇区组成一个块,也叫物理块。它是在文件系统与块设备(例如:磁盘驱动器)之间。 2.文件级概念:   文件级是指文件系统,单个文件可能由于一个或多个逻辑块组成,且逻辑块之间是不连续分布。逻辑块大于或等于物理块整数倍, 3.物理块与文件系统之间的关系图:   映射关系:扇区→物理块→逻辑块→文件系统 【 块级、文件级备份 】 【文件级备份】   文件级备份是指在指定某些文件进行备份时,首先会查找每个文件逻辑块,其次物理块,由于逻辑块是分散在物理块上,而物理块也是分散在不同扇区上。需要一层一

OpenStack接入ceph(cinder篇)

[亡魂溺海] 提交于 2019-12-01 07:19:33
创建ceph存储池 root@ceph1:~# ceph osd pool create volumes 512 root@ceph1:~# ceph osd pool create vms 512 分发ceph配置文件到其他节点,不包括网络节点 root@ceph1:~# ssh controller sudo tee /etc/ceph/ceph.conf < /etc/ceph/ceph.conf root@ceph1:~# ssh compute1 sudo tee /etc/ceph/ceph.conf < /etc/ceph/ceph.conf 在controller和compute节点安装ceph客户端 root@controller:~# apt-get install python-ceph ceph-common libvirt-bin -y root@compute1:~# apt-get install ceph-common -y 对cinder访问ceph volume作授权 root@ceph1:~# ceph auth get-or-create client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes,

ceph

。_饼干妹妹 提交于 2019-12-01 07:06:00
引出 初衷是自己搭建一套ceph的实验集群,按照官方的quick start,按理说应该是分分钟的事,因为GFW的原因,搞得忙活了一上午,再加上心情烦躁,中间出现了各种差错,这里记录一下。 系统预检并安装ceph-deploy 准备集群系统,网络设置,SSH无密码登录等设置略过,详细参考 PREFLIGHT CHECKLIST 这里有一个地方需要注意的是:centos7 在修改HOSTNAME 的时候命令如下,无需重启: $ sudo hostnamectl --static set-hostname <host-name> 预检完成后,ceph-deploy 的安装以及 ceph在各节点的安装如果出现错误的话很大可能上是yum 源的问题,所以重点说下如何配置yum国内源。 更换国内 YUM 源 更换base源为国内163源: $ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo 更换epel源为中科大的源(注:随着版本更迭,以下链接可能会失效,如果出现404错误,那就需要更改链接): $ rpm -Uvh http://mirrors.ustc.edu.cn/centos/7/extras/x86_64/Packages/epel-release

SUSE Ceph iSCSI 网关管理 - Storage6

早过忘川 提交于 2019-12-01 06:15:53
iSCSI网关集成了Ceph存储和iSCSI标准,以提供一个高可用性(HA) iSCSI目标,该目标将RADOS块设备(RBD)映像导出为SCSI磁盘。iSCSI协议允许客户机 (initiator) 通过TCP/IP网络向SCSI存储设备( targets )发送SCSI命令。这允许异构客户机访问Ceph存储集群。 每个iSCSI网关运行Linux IO目标内核子系统(LIO),以提供iSCSI协议支持。LIO利用用户空间通过( TCMU ) 与Ceph的librbd库交互,并向iSCSI客户机暴露RBD镜像。使用Ceph的iSCSI网关,可以有效地运行一个完全集成的块存储基础设施,它具有传统存储区域网络(SAN)的所有特性和优点。 RBD 作为 VMware ESXI datastore 是否支持? (1)目前来说,RBD是不支持datastore形式。 (2)iSCSI 是支持 datastore 这种方式,可以作为VMware Esxi 虚拟机提供存储功能,性价比非常不错的选择。 1、创建池和镜像 (1)创建池 # ceph osd pool create iscsi-images 128 128 replicated # ceph osd pool application enable iscsi-images rbd (2)创建images # rbd --pool

第一篇CEPH集群的学习

时光毁灭记忆、已成空白 提交于 2019-12-01 01:31:15
CEPH Sage公司整体的设计是大规模和分布式的存储系统 CEPH设计思路: 充分发挥存储本身 计算能力 和去除所有的 中心点 计算能力: 只是将这些服务器当作功能简单的存储节点,从而产生资源浪费(如同虚拟化思想)。如果充分发挥节点上的计算能力,则可以实现前面提出的技术特性 概述 从2004年提交第一行代码开始到现在,ceph 已经是一个有着十年之久的分布式存储系统软件。 特性: 可靠的、可扩展的、统一的、分布式的存储系统 1.对象存储 RADOSGW Reliable(可靠的)、Autononmic(自主的)、Distributed(分布的)、Object Storage Gateway(对象存储网关) 2.块存储 RDB Rados Block Device 3.文件系统存储 Ceph FS (Ceph FilesSystem) 技术特性 集群可靠 可靠性,从用户角度来说数据是第一位的,要尽可能保证数据不会丢失。 其次,就是数据写入过程中的可靠性,在用户将数据写入Ceph存储系统的过程中,不会因为意外情况出现而造成数据丢失。 最后,就是降低不可控物理因素的可靠性,避免因为机器断电等不可控物理因素而产生的数据丢失 集群可扩展 可扩展性是广义的 即包括 1.系统规模和 ​ 2.存储容量的可扩展 ​ 3.也包括随着系统节点数增加的 聚合数据访问带宽的线性扩展 数据安全 首先

SUSE Ceph Cephfs - Storage6

房东的猫 提交于 2019-12-01 01:21:18
(1)Policy 配置文件,添加MDS角色定义 # vim /srv/pillar/ceph/proposals/policy.cfg # MDS role-mds/cluster/mds*.sls role-mds/cluster/node00[234].example.com.sls (2)执行stage2,stage4 salt-run state.orch ceph.stage.2 salt-run state.orch ceph.stage.4 (3)设置 文件系统元数据到SSD # ceph osd pool set cephfs_metadata crush_rule ssd_replicated_rule (4)设置 PG PGP 数量 总数据大小,6*12*4=288T ,大约 260TB数据 # ceph osd lspools 3 cephfs_data 4 cephfs_metadata CephFS 使用45% 的数据(HDD), 元数据 45% (SSD) 12(OSD) * 6(节点)*100(每个OSDPG数量)* 45% (比例) / 3 副本 = 1080 ==> PG 数量1024 1(ssd OSD) * 6(节点)*100(每个OSDPG数量)* 45% (比例) / 3 副本 = 90 ==> PG 数量 128 ceph osd

cephfs部署2-osd/pool/fs创建

折月煮酒 提交于 2019-11-30 22:36:40
1、创建mds [root@node2 ceph-cluster]# pwd /etc/ceph/ceph-cluster [root@node2 ceph-cluster]# ceph-deploy mds create node2 # 只在node2上创建mds 2、新建pool和fs,并查看 [root@node2 ceph-cluster]# ceph osd pool create cephfs_data 128 pool 'cephfs_data' created [root@node2 ceph-cluster]# ceph osd pool create cephfs_metadata 128 pool 'cephfs_metadata' created [root@node2 ceph-cluster]# ceph fs new cephfs cephfs_metadata cephfs_data new fs with metadata pool 2 and data pool 1 [root@node2 ceph-cluster]# [root@node2 ceph-cluster]# ceph -s cluster 6fd6ad33-621d-48c6-882d-0f364555a16b health HEALTH_ERR 64 pgs are stuck