rbd

ceph SSD HDD分离与openstack调用

妖精的绣舞 提交于 2020-01-23 20:40:26
本例子ceph L版本采用的是filestore,而不是bluestore. 一、查看class类型,只有一个hdd,。Luminous 为每个OSD添加了一个新的属性:设备类。默认情况下,OSD将根据Linux内核公开的硬件属性自动将其设备类设置为HDD、SSD或NVMe(如果尚未设置)。这些设备类在ceph osd tree 中列出(实验环境无ssd硬盘,生产环境有ssd可以直接认到并自动创建ssd class,不需要第二步到第四步) , 修改前集群拓扑: [root@ceph1 ceph-install]# ceph osd tree ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF -1 0.76163 root default -9 0.25388 rack rack01 -3 0.25388 host ceph1 0 hdd 0.07809 osd.0 up 1.00000 1.00000 1 hdd 0.07809 osd.1 up 1.00000 1.00000 6 hdd 0.09769 osd.6 up 1.00000 1.00000 -10 0.25388 rack rack02 -5 0.25388 host ceph2 2 hdd 0.07809 osd.2 up 1.00000 1.00000 3 hdd

运维常用的指令

假装没事ソ 提交于 2020-01-17 04:39:50
运维常用的指令:https://www.cnblogs.com/luoliyu/p/7765759.html 一、集群 1、启动一个ceph 进程 启动mon进程 service ceph start mon.node1 启动msd进程 service ceph start mds.node1 启动osd进程 service ceph start osd.0 2、查看机器的监控状态 [root@client ~]# ceph health HEALTH_OK 3、查看ceph的实时运行状态 [root@client ~]# ceph -w 4、检查信息状态信息 [root@client ~]# ceph -s 5、查看ceph存储空间 [root@client ~]# ceph df 6、删除一个节点的所有的ceph数据包 [root@node1 ~]# ceph-deploy purge node1 [root@node1 ~]# ceph-deploy purgedata node1 7、为ceph创建一个admin用户并为admin用户创建一个密钥,把密钥保存到/etc/ceph目录下: ceph auth get-or-create client.admin mds ‘allow’ osd ‘allow *’ mon ‘allow *’ > /etc/ceph/ceph

从容器里umount 一个/dev/rbd设备

旧城冷巷雨未停 提交于 2020-01-15 23:23:49
背景:   (1) 我们的平台docker默认的挂载方式是MountFlags=slave, 该挂载方式的一个特性是:一旦某个container的以这种方式挂载后启动后,则host节点的信息变动,不会再同步到container里 (2) 因为节点监控数据采集工具node-exporter, 需要挂载host节点的根目录,若以MountFlags=slave的方式挂载,会导致节点上的mount信息变动,不会同步到node-exporter.   (3) 其中一个影响是一个statefulset若从节点node-1迁移到node-2,会先umount 该statefulset在node-1上的rbd设备,并mount到node-2上.但结果会报错: Warning FailedMount 25m (x34 over 1h) kubelet, node-2 Unable to mount volumes for pod "fluentd-0_openstack(b4179bc4-3776-11ea-862b-246e965469a8)": timeout expired waiting for volumes to attach/mount for pod "openstack"/"fluentd-0". list of unattached/unmounted volumes=

Rancher(2),K8S持久性存储Ceph RBD搭建及配置

不羁岁月 提交于 2020-01-02 19:21:43
1、配置host,安装ntp(非必须) 2、配置免密ssh 3、配置ceph,yum源 vim /etc/yum.repo.d/ceph.cepo [ceph] name=ceph baseurl=http://mirrors.cloud.tencent.com/ceph/rpm-luminous/el7/x86_64/ gpgcheck=0 priority=1 [ceph-noarch] name=cephnoarch baseurl=http://mirrors.cloud.tencent.com/ceph/rpm-luminous/el7/noarch/ gpgcheck=0 priority=1 [ceph-source] name=Ceph source packages baseurl=http://mirrors.cloud.tencent.com/ceph/rpm-luminous/el7/SRPMS enabled=0 gpgcheck=1 type=rpm-md gpgkey=http://mirrors.cloud.tencent.com/ceph/keys/release.asc priority=1 4、安装ceph-deploy yum update yum install ceph-deploy 5、安装 安装过程中,如果报错

Ceph块设备介绍与安装配置

↘锁芯ラ 提交于 2019-12-19 19:01:57
一:rbd介绍 块是字节序列(例如,一个512字节的数据块)。基于块的存储接口是使用旋转介质(例如硬盘,CD,软盘甚至传统的9-track tape)存储数据的最常用方法。块设备接口的无处不在,使虚拟块设备成为与海量数据存储系统(如Ceph)进行交互的理想候选者。 Ceph块设备经过精简配置,可调整大小,并在Ceph集群中的多个OSD上存储条带化数据,ceph块设备利用了RADOS功能,例如快照,复制和一致性。 Ceph的RADOS块设备(RBD)使用内核模块或librbd库与OSD进行交互。 ‘ Ceph的块设备对内核设备,KVMS例如QEMU,基于云的计算系统,例如OpenStack和CloudStack,提供高性能和无限的可扩展性 。你可以使用同一群集同时操作Ceph RADOS网关,Ceph的文件系统和Ceph块设备。 二:创建与使用块设备 创建池和块 [root@ceph-node1 ~]# ceph osd pool create block 6 pool 'block' created 为客户端创建用户,并将密钥文件scp到客户端 [root@ceph-node1 ~]# ceph auth get-or-create client.rbd mon 'allow r' osd 'allow class-read object_prefix rbd_children,

rbd: sysfs write failed解决办法

▼魔方 西西 提交于 2019-12-19 19:01:02
问题描述 映射块设备时,出现如下错误 [root@ceph-client /]# rbd map --image block/rbd0 --name client.rbd rbd: sysfs write failed In some cases useful info is found in syslog - try "dmesg | tail". 问题原因 出现这种错误的原因是OS kernel不支持块设备镜像的一些特性,所以映射失败,查看该镜像支持了哪些特性 [root@ceph-client ~]# rbd info block/rbd0 --name client.rbd rbd image 'rbd0': size 2 GiB in 512 objects order 22 (4 MiB objects) id: 15fe16b8b4567 block_name_prefix: rbd_data.15fe16b8b4567 format: 2 features: layering, exclusive-lock, object-map, fast-diff, deep-flatten op_features: flags: create_timestamp: Thu Dec 19 10:33:18 2019 可以看到特性feature一栏

Ceph块存储介绍

烈酒焚心 提交于 2019-12-19 03:20:06
1. 块存储是什么 块存储简称RBD(RADOS Block Device),是一种有序的字节序块,也是在Ceph三大存储类型中最为常用的存储方式 ,Ceph的块存储是基于RADOS的,因此它也借助RADOS的快照、复制和一致性等特性提供了快照、克隆和备份等操作。Ceph的块设备是一种精简置备模式,可以拓展块存储的大小且存储的数据以条带化的方式存储到Ceph集群中的多个OSD中。 2. 访问块存储的方式 访问块存储的方式有两种,分别是KRBD的方式和librbd的方式。 2.1 KRBD方式 KRBD是Kernel RADOS Block Device的简称,它是通过Kernel模块中的RBD模块来实现访问后端存储的,在使用前需要先使用modprobe命令将内核中RBD模块进行加载,同时对内核版本也是有要求的,需要内核的版本不低于3.10,因为比这个版本低的内核还没将RBD模块集成到内核中,因此如果是CentOS6.x的一般需要先升下内核版本。 KRBD访问后端存储的方式一般适用于为物理主机提供的块设备,这种方式是基于内核模块驱动的,可以使用Linux自带的页缓存来提高性能。 以下是通过KRBD模块访问Ceph后端块设备的一些命令操作。 modprobe rbd # 加载RBD内核模块 modinfo rbd # 查看rbd模块信息 rbd create image_name -

ceph 部署单机&&集群

霸气de小男生 提交于 2019-12-15 09:14:50
文章目录 ceph-deploy部署集群 ceph-deploy 部署单机 ceph-deploy 创建osd ceph osd创建资源池 ceph创建rbd块设备 ceph创建fs文件系统 本文档主要参考 ceph官方命令 进行部署,使用的时侯ceph-deploy原生命令方式进行集群各个组件的创建,删除,后续会增加扩容相关的命令。 ceph-deploy部署集群 修改hosts文件,增加想要创建的集群节点名称和对应ip的映射关系 hosts文件可以加快域名解析,同时方便局域网用户来为服务器创建容易记住的名字(node1,node2,node3…) vim /etc/hosts 增加如下ip到主机名称的映射关系: 10.192.55.95 node1 10.192.55.6 node2 10.192.55.100 node3 表示三结点的集群,同时需要将该文件拷贝到每个节点上 scp /etc/hosts 10.192.55.6:/etc 修改hostname ,即对应hosts文件中的域名,在进行节点通信的时候主机间能够进行映射 在每个ip上执行如右命令 hostname node1 ,同时为了重启后生效应执行 echo node1 >/etc/hostname 或者直接编辑文件 vim /etc/sysconfig/network ,在其中增加 HOSTNAME=node1

Ceph

99封情书 提交于 2019-12-07 12:34:13
Install ceph Installation depends about which version you want as they're all locked into Fixed releases (argonaut, bobtail etc). So go here for install options for your distro and the version you want: http://ceph.com/docs/master/install/ Video to ceph intro https://www.youtube.com/watch?v=UXcZ2bnnGZg http://www.youtube.com/watch?v=BBOBHMvKfyc&feature=g-high Rebooting node stops everything / Set number of replicas across all nodes This issue is more or less fixed in Cuttlefish+ Make sure that the min replica count is set to nodes-1. ceph osd pool set <poolname> min_size 1 Then the remaing

ceph rbd与openstack的结合

混江龙づ霸主 提交于 2019-12-06 23:15:08
openstack通过libvirt调用qemu来启动具体的虚拟机,qemu通过librbd这个库与librados通信,而librados是ceph集群的统一API库,这样一来openstack就与ceph rbd联系起来了。具体调用流程如下图所示: 需要在ceph端进行的操作如下: 1、为ceph client创建一系列可用的pools。 根据ceph client的需求及其分类,为client创建一系列的pools。创建pools需要根据当前集群中OSDs的数量合理的分配PGs数量以及对象复制的个数。 #ceph osd pool create volumes 128 创建一个名字为volumes的pool且该pool中的PGs数量为128; #ceph osd pool create images 128 #ceph osd pool create vms 128 2、为ceph client创建一系列用户及其使用集群的权限。 ceph client不同的用户对集群有不同的使用要求,因此需要根据client用户的实际需求为其设置访问集群的权限。 #ceph auth get-or-create client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx