前言在Centos7 下,现在采用了 systemctl来控制服务,这个刚开始用起来可能不太习惯,不过这个服务比之前的服务控制要强大的多,可以做更多的控制,本节将来介绍下关于 Ceph的 osd 磁盘挂载的问题
很多人部署以后,发现在Centos7下用Jewel的时候没有去写fstab也没有写配置文件,重启服务器一样能够挂载起来了,关于这个有另外一篇文章:「ceph在centos7下一个不容易发现的改变」
还有一些人发现自己的却启动不起来,需要写配置文件或者fstab
本篇就是来解决这个疑惑的,以及在不改变原配置方法的情况下如何加入这种自启动
实践过程首先来第一种部署的方法12ceph-deploy osd prepare lab8106:/dev/sdeceph-deploy osd activate lab8106:/dev/sde1
这个方法会把/dev/sde自动分成两个分区,一个分区给journal使用,一个分区给osd的数据使用,这种方法部署以后,是可以自动起来的,启动的挂载过程就是这个服务
1systemctl start ceph-disk@/de ...
暂未分类
未读前言现在已经是2016年收官的一个月了,之前一直想做一个calamari的集成版本,之所以有这个想法,是因为,即使在已经打好包的情况下,因为各种软件版本的原因,造成很多人无法配置成功,calamari发布以后,因为版本的更迭,经常出现软件版本引起的BUG
这里直接把需要的软件集成在一起了,按照本篇指导,一步一步是能够很简单的配置起来的,并且提供了一个视频的指导,应该能够很大程度上降低calamari的部署难度,希望能够帮助到更多的人
集成软件版本说明操作系统 Centos 7.3之所以选择这个版本是因为这个是最新发布的,centos小版本的发布能够解决一些BUG,并且不会做很大的改动,并且能够让这个集成系统保持一定的生命周期
cephceph采用的是Jewel版本的10.2.5,这个是最新发布的,因为Jewel版本是一个长期支持版本,并且小版本号已经到5了,已经在一定程度上达到了稳定
calamaricalamari采用的是1.3版本,因为calamari要做新的接口,基本上这个就是当前系统的最后的一个稳定版本,集成的版本适配Jewel版本接口名称的变化集成版本的diamond解决了无 ...
前言这个问题是不久前在ceph社区群里看到的,创建image的时候,当时的报错如下:
2016-12-13 23:13:10.266865 7efbfb7fe700 -1 librbd::image::CreateRequest: pool not configured for self-managed RBD snapshot supportrbd: create error: (22) Invalid argument
这个错我之前也没见过,并且因为很少用到快照,所以可能也就没有触发这个问题,在查看了一些资料以后,明白了原因,这里就梳理一下
Ceph实质上有两种Snapshot模式,并且两种Snapshot是不能同时应用到同一个Pool中。Pool Snapshot: 对整个Pool打一个Snapshot,该Pool中所有的对象都会受影响Self Managed Snapshot: 用户管理的Snapshot,简单的理解就是这个Pool受影响的对象是受用户控制的。这里的用户往往是应用如librbd。
上面这段话引用自 麦子迈:解析ceph-snapshot
本篇就将讲述下用 ...
暂未分类
未读前言Cephfs的快照功能在官网都很少提及,因为即使开发了很多年,但是由于cephfs的复杂性,功能一直没能达到稳定,这里,只是介绍一下这个功能,怎么使用,并且建议不要在生产中使用,因为搞不好是会丢数据的
功能介绍首先这个功能是默认关闭的,所以需要开启
123[root@lab8106 ~]# ceph fs set ceph allow_new_snaps 1Error EPERM: Warning! This feature is experimental.It may cause problems up to and including data loss.Consult the documentation at ceph.com, and if unsure, do not proceed.Add --yes-i-really-mean-it if you are certain.[root@lab8106 ~]# ceph fs set ceph allow_new_snaps 1 --yes-i-really-mean-it
从提示上可以看到,还是不要在生产上使用
开 ...
暂未分类
未读前言之前写过一篇关于查询OSD的运行的CPU的情况的分享,本篇是讲的获取内存占用的,代码包括两种输出,一种是直接的表格,一种是可以方便解析的json
代码直接上代码,python才用不久,所以可能代码实现比较低级,主要是看实现的方法
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253#!/usr/bin/env python# -*- coding: UTF-8 -*-import osimport sysimport jsonimport psutilimport commandsfrom prettytable import PrettyTabledef main(): if len(sys.argv) == 1: printosdmemtable("table") elif sys.argv[1] == 'json': printosdmemtable(&qu ...
Linux当中最核心的部分就是内核,这个也是最基础,最可能被忽视的一部分,随便找一个刚入职的运维,学习个两三天,网上找些资料也能能自己安装编译内核了,很多运维的初期培训就是做的这些学习,为什么在网上已经有这么多文章的情况下,还要写一篇关于内核的文章,这是因为,我想讲的是如何去选择内核
一般来说,找内核的时候都会去下面这个网站进行选择
https://www.kernel.org/
很多人在问我的时候,都会问,我该怎么去选择哪个版本的内核,一般来说我的回答是这样的
选取最后一个长期支持版本,或者最后一个稳定的版本
一般来说,选择这两个版本基本不会出太大的问题,并且即使有问题,后面做小版本的升级也不是很难的事情,当然这是基于你对自定义内核很有兴趣,或者需要自己去裁剪,增加一些东西的时候,用我上面说的两个版本都没有问题,下面是一个其他的选择
最近把linus的just for fun看完了,也基本上了解了linux大概的发展历程,linux走向成功也有一定的原因是围绕在其周围的一些商业公司,红帽是其中最成功的一个公司,当然还有其他各种发型版本,开源版本和商业版本的最大区别在于服务上 ...
Ceph和OpenStack是一个非常有用和非常受欢迎的组合。 不过,部署Ceph / OpenStack经常会有一些容易避免的缺点 - 我们将帮助你解决它们
使用 show_image_direct_url and the Glance v2 API使用ceph的RBD(RADOS Block Device),你可以创建克隆,你可以将克隆理解为可写的快照(快照通常是只读的)。克隆只会为相对于父快照变化的部分创建对象,这意味着:
可以节省空间。这是显而易见的,但是这并不能很有说服力,毕竟存储是分布式系统当中最便宜的部分
克隆中没有修改的部分还是由原始卷提供。这很重要,因为很容易命中相同的RADOS 对象,相同的osd,不论是用的哪个克隆。而且这意味着,这些对象是从OSD的页面缓存进行响应,换句话说,是RAM提供。RAM比任何存储访问方式速度都快,所以从内存当中提供大量的读取是很好的。正因为这样,从克隆的卷提供数据读取,要比相同数据全拷贝的情况下速度要快一些
Cinder(当从image创建一个卷)和Nova(从ceph提供临时磁盘)都能够使用ceph的后端的RBD i ...
前言fio是一个适应性非常强的软件,基本上能够模拟所有的IO请求,是目前最全面的一款测试软件,之前在看德国电信的一篇分享的时候,里面就提到了,如果需要测试存储性能,尽量只用一款软件,这样从上层测试到底层去,才能更好的去比较差别
fio对于ceph来说,可以测试文件系统,基于文件系统之上测试,可以测试内核rbd,将rbdmap到本地格式化以后进行测试,或者基于librbd直接对rbd进行测试,这个是目前都已经有的测试场景,这些不在本篇的讨论的范围内,今天讲的是一种新的测试场景,直接对ceph的底层存储进行测试
为什么会有这个,因为在以前,如果你要测试一块磁盘是不是适合ceph使用的时候,都是直接对挂载的磁盘进行一些测试,这个是基于文件系统的,并没有真正的模拟到ceph自己的写入模型,所以在开发人员的努力下,模拟对象的写入的驱动已经完成了,这就是本篇需要讲述的内容
实践过程fio engine for objectstore 这个是在ceph的11.0.2这个版本才正式发布出来的,可以看这个pr(pr10267),11.0.2是ceph第一个公开释放的KRAKEN版本的,也说明Jewel ...
暂未分类
未读前言在看CPU相关的文章的时候,想起来之前有文章讨论是否要做CPU绑定,这个有说绑定的也有说不绑定的,然后就想到一个问题,有去观测这些OSD到底运行在哪些CPU上面么,有问题就好解决了,现在就是要查下机器上的OSD运行在哪些CPU上
代码这里直接上代码了,最近学习python在,就用python来实现
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667#!/usr/bin/env python# -*- coding: UTF-8 -*-import osimport sysimport jsonimport psutilimport commandsfrom prettytable import PrettyTabledef main(): if len(sys.argv) == 1: printosdcputable("process") ...
前言通过yum安装指定的rpm包,这个一般是 yum –showduplicates list ceph | expand ,然后去通过yum安装指定的版本即可,这个在hammer下是没有问题的,但是在Jewel下进行安装的时候却出现了问题,我们来看下怎么解决这个问题的
实践过程我们需要安装 ceph-10.2.0-0.el7 这个版本的,根据之前的方法
12345678910111213141516171819[root@lab8106 ~]# yum install ceph-10.2.0-0.el7Loaded plugins: fastestmirror, langpacks, prioritiesbase | 3.6 kB 00:00:00 ceph | 2.9 kB 00:00:00 ceph-noarch | 2.9 kB 00:00:00 epel | 4.3 kB 00:00:00···Er ...