问题解析问题journal encryption with dmcrypt (Reno Rainz)
问题原文:I’m trying to setup a cluster with encryption on osd data and journal.To do that I use ceph-deploy with this 2 options –dmcrypt–dmcrypt-key-dir on /dev/sdc disk.……
分析:问题的提出者试图在部署osd的时候使用 encryption 对 osd 进行加密,在用 ceph-deploy 的时候,部署的时候出现了失败
总结:这个地方是因为 ceph-deploy 在进行 activate 操作的时候,把这个加密分区当做了 crypto_LUKS 分区格式进行了 mount 操作,这个肯定是不能成功的,因为这个加密盘是需要进行映射操作的,这里缺少了这个操作,不清楚是需要加其他的参数还是怎样,这个地方可以通过其他方式进行处理
在进行 ceph-deploy osd prepare 操作的时候,可以查看看 ...
问题三:CephFS(James Gallagher)
问题原文Hi,I’m looking to implement the CephFS on my Firefly release (v0.80) with an XFS native file system, but so far I’m having some difficulties. After following the ceph/qsg and creating a storage cluster, I have the following topology……
分析:问题提出者在配置了 auth 后,在客户端进行cephfs 挂载的时候,报了文件系统的错误,这个原因是问题提出者没有弄清楚 auth 的格式,而用了主机名去替代了用户名称
这个地方是在server端去创建用户
1ceph auth get-or-create client.zp mon 'allow *' mds 'allow *' osd 'allow *'
找到认证的key
1cep ...
问题ceph fuse closing stale session while still operable (Oliver Dzombic)
问题原文:Hi,i am testing on centos 6 x64 minimal install.i am mounting successfully:ceph-fuse -m 10.0.0.1:6789,10.0.0.2:6789,10.0.0.3:6789,10.0.0.4:6789/ceph-storage/……
分析:问题的提出者在使用ceph-fuse去挂载集群的时候,写入一个大文件的时候出现无法写入的问题,在mds的日志当中可以看到closing stale session client.21176728 10.0.0.91:0/1635 after 301.302291 的日志信息
从日志检查过程看ceph -s 出现了 62 requests are blocked > 32 sec问题提出者在认证的时候,出现了语法错误 ceph auth list showed 可以检查,后经 ...
记得在很久很久以前,ceph当时的版本是有提供使用内存做journal的配置的,当时是使用的tmpfs,但是现在的版本在搜资料的时候,发现关于这个的没怎么找到资料,邮件列表里面有人有提到怎么做,看了下大致的原理,然后还是自己来实践一次
预备知识:首先需要知道的是什么是内存盘,内存盘就是划分了一个内存空间来当磁盘使用来进行加速的,这个在某些操作系统里面会把/tmp/分区挂载到tmpfs下,来达到加速的目的,这样就是重启后,会清空/tmp的内容,centos7 默认的分区方式也使用了tmpfs来加速,df -h可以看下那个tmpfs就是内存盘了
本文使用的不是tmpfs,这个是因为tmpfs不是我们常见意义上的那种文件系统,它不能格式化,ceph 在进行日志创建的时候会去检查journal 所在分区的 uuid, 而tmpfs在检测的时候 会返回一个全0的字符串,这个在校验的时候显示的无效的,所以也就部署起来有问题,下面开始介绍我的做法,这个里面做法很多,步骤也可以自己去变化,这里只是提供了我的一种思路
我使用的是ramdisk,关于怎么做ramdisk这个也 ...
暂未分类
未读ceph默认情况下是以主机名来作为mon的识别的,所以这个情况下用部署工具是无法创建多个mon的,这个地方使用手动的方式可以很方便的创建多个mon
1、创建mon的数据存储目录1mkdir /var/lib/ceph/mon/ceph-1
2、获取当前的monmap1ceph mon getmap -o /tmp/monmap
3、根据当前的monmap生成mon的数据1ceph-mon -i 1 --mkfs --monmap /tmp/monmap
4、启动进程(后面指定端口)1ceph-mon -i 1 --public-addr 192.168.8.106:6791
现在mon就加进去了
然后去写配置文件相关的信息即可,操作还是很便捷的,这个地方可以防止单mon的情况下的数据盘的损坏的情况,增加一点安全系数,当然最好是多主机的mon
在找这个资料的时候,基本没几个能用的或者过时了的,或者是换了概念,做的不是需要的那种盘,只有少数文章有提到关键部分应该怎么去操作,现在还是自己总结一下
内存盘tmpfs和ramdisk的区别这个在网上的很多资料里面都有提到,很多文章去写怎么做ramdisk的时候,都是去做的tmpfs,两者虽然都是使用的内存来存储东西,但是是完全有区别的
tmpfs这个只需要mount挂载就可以分配一个目录使用内存了,只是一个目录
ramdisk这个是真的分配一个空间,这个分区是可以格式化的(这个格式化是关键)
tmpfs卸载再挂载数据会消失,ramdisk卸载再挂载数据还在
二者共同点是,系统重启后,里面的东西会消失
本文章主要是讲怎么去做ramdisk
ramdisk是依赖于内核模块brd的,首先可以查看下这个模块的信息
12345678910111213[root@lab8106 src]# modinfo brdfilename: /lib/modules/3.10.0-229.el7.x86_64/kernel/drivers/block/brd.koalias: ...
暂未分类
未读在ceph的集群当中关于节点的替换的问题,一直按照以前的方式进行的处理,处理的步骤如下:
停止osd进程1/etc/init.d/ceph stop osd.0
这一步是停止osd的进程,让其他的osd知道这个节点不提供服务了
将节点状态标记为out1ceph osd out osd.0
这个一步是告诉mon,这个节点已经不能服务了,需要在其他的osd上进行数据的恢复了
从crush中移除节点1ceph osd crush remove osd.0
从crush中删除是告诉集群这个点回不来了,完全从集群的分布当中剔除掉,让集群的crush进行一次重新计算,之前节点还占着这个crush weight,会影响到当前主机的host crush weight
删除节点1ceph osd rm osd.0
这个是从集群里面删除这个节点的记录
删除节点认证(不删除编号会占住)1ceph auth del osd.0
这个是从认证当中去删除这个节点的信息
这个一直是我处理故障的节点osd的方式,其实这个会触发两次迁移,一次是在节点osd以后,一个是在crush remove以后,两次迁移对于集群来 ...
ceph在部署过程中是先进行部署,再去写配置文件的,而一些新手在部署完了后,并没有写配置文件,在重启服务器后,因为挂载点没有挂载,所以服务无法启动,所以需要写好配置文件还有一种情况是集群有几百个osd,在新加入或者修改的时候,再去进行变更配置文件就是一个很麻烦的事情,所以写配置文件这个如果脚本来处理,就可以节约很多时间,所以写了一个脚本如下,这个地方如果熟悉python的可以用python写,我这个是自己使用,并且使用的频率不会太高,因此,怎么方便怎么来
脚本里面用了一个二进制文件是解析json用的,这个拷贝到运行的机器上就可以了
解析的二进制文件在这里下载:http://stedolan.github.io/jq/
备用下载地址:http://pan.baidu.com/s/1pKgefmr
下载后拷贝到linux机器的/sbin/下面,为了方便重命名为 /sbin/jq
后面的输出可以方便的修改,原理是获取当前的osd状态,然后去osd上获取信息
1234567891011121314151617#! /bin/sh#注意要配合js使用htt ...
安装操作系统首先安装操作系统centos6,安装过程选择的是base server,这个不相同不要紧,出现缺少包的时候去iso找出来安装就可以了
calamari的简单介绍首先简单的介绍下calamari的这个软件系统的组成,主要是calamari-server,romana,salt-minion,salt-server,diamond,
这些模块各自的作用:
calamari-server这个是提供一个与集群进行交互,并且自己封装了一个自己的API,做集中管理的地方,这个只需要在集群当中的某一台机器上安装,也可以独立安装
romana就是原来的calamari-client,这个叫client,其实是一个web的界面,这个叫calamari-web更好,现在已经更名为romana,这个也是只需要在集群当中的某一台机器上安装,也可以独立安装,这个需要跟calamari-server安装在一台机器上
salt-server是一个管理的工具,可以批量的管理其他的机器,可以对安装了salt-minion的机器进行管理,在集群当中,这个也是跟calamari-server安装在一起的
sa ...
首先安装的xenserver6.5的环境,看到有地方有提到这个上面可以安装rbd的支持,网上有一种方式是libvirt+kvm方式,因为ceph对libviet是原生支持的,但是xenserver底层是xen的,这个就不去研究太多,这个用最简单的方式最好
https://github.com/mstarikov/rbdsr这个是个第三方的插件,最近才出来的
实现原理是ssh到ceph的机器上获取到可以使用的rbd信息,然后在xenserver的图形界面上通过配置iscsi的方式去配置rbd,里面套用了iscsi的界面,实际去xenserver机器后台同样做的是map的操作这个试了下,界面的操作都可以实现,都可以获取到rbd的信息,但是在最后提交的一下的时候,后台会报错误的信息,这个有可能才出来,还有点问题这个地方可以用其他的方式实现,xenserver在添加硬盘的时候本来就支持的命令行模式,下面为实现方式
先检查内核的信息,这个有rbd模块,并且用的是3.10的,这个是用的centos7同等的内核,问题不大
1234567891011[root@xenserver ]# modinfo ...