暂未分类
未读前言这个工具最开始是从sebastien的blog里面看到的,这个是 Gregory Charot(工具的作者)写的,通常我们在获取一个ceph的信息的时候,需要敲一连串的命令去获得自己需要的信息,可能需要一大堆的解析才能完成,而经常出现的是,使用了后,下次使用的时候,又要重来一遍,所以作者把这些常用的操作做了一些归纳,形成了一个查询的工具,很多人有个相同的观点就是,越懒,就会想办法提高效率,当然,首先得有提高效率的意识,否则只剩下懒了
我做的事情就是把作者用shell的逻辑转换成了python的版本,这样也方便自己以后的扩展,这里感谢作者做的一些工作,让我很快就能完成了,这里并不是重复造车轮,本来自己就不会python,权当练手了
在linux下面我是不建议用中文的,但是这个工具里面还是改成用中文提示,因为中文可能看上去更清楚需要做的是一个什么事情,这个仅仅是一个查询工具
有一段时间没有更新blog了,主要是最近比较忙,没有时间去看太多的资料,没有时间来写下更多的东西,有时间还是会坚持写下去
项目地址原作者项目地址:https://github.com/gcharot/ceph-la ...
暂未分类
未读背景一般情况下,我们的IT系统都会有相关的告警的处理,有的是邮件,有的是短信,这些都能很方便的获得一些有用的信息在某些时候我们没有这样的系统,而自己又需要定期的获取一些信息的时候,配置一个邮件发送是很有用的
配置方法网上的大部分的方法使用的是sendmail的发送方法,这个地方我们只需要简单的发送邮件的需求,可以直接配置SMTP发送的模式
修改配置文件,填写发送的相关信息修改配置文件 /etc/mail.rc在最下面添加发送邮箱的信息
12set [email protected] smtp=smtp.sina.comset [email protected] smtp-auth-password=test123456 smtp-auth=login
编写一个发送的脚本12345vim /root/sendmail.sh #! /bin/shtimeout 20 date > /tmp/mailtimeout 20 ceph -s >> /tmp/mailtimeout 600 mail -s "cephstatus-`date` ...
定位问题1234567891011[root@lab8106 ~]# ceph -s cluster fa7ec1a1-662a-4ba3-b478-7cb570482b62 health HEALTH_WARN pool rbd has many more objects per pg than average (too few pgs?) monmap e1: 1 mons at {lab8106=192.168.8.106:6789/0} election epoch 30, quorum 0 lab8106 osdmap e157: 2 osds: 2 up, 2 in flags sortbitwise pgmap v1023: 417 pgs, 13 pools, 18519 MB data, 15920 objects 18668 MB used, 538 GB / 556 GB avail 4 ...
很多人会提出这样的问题:
能不能够将 Ceph journal 分区从一个磁盘替换到另一个磁盘?
怎样替换 Ceph 的 journal 分区?
有两种方法来修改Ceph的journal:
创建一个journal分区,在上面创建一个新的journal
转移已经存在的journal分区到新的分区上,这个适合整盘替换
Ceph 的journal是基于事务的日志,所以正确的下刷journal数据,然后重新创建journal并不会引起数据丢失,因为在下刷journal的数据的时候,osd是停止的,一旦数据下刷后,这个journal是不会再有新的脏数据进来的
第一种方法在开始处理前,最开始要设置OSD状态为noout
12[root@lab8106 ~]# ceph osd set nooutset noout
停止需要替换journal的osd(这里是osd.1)
1[root@lab8106 ~]# systemctl stop ceph-osd@1
我的版本是jewel的,如果是hammer版本,就使用 /etc/init.d/ceph sto ...
问题有可能你在进行 Ceph 文件系统挂载的时候出现下面的提示:
modprobe: FATAL: Module ceph not found.mount.ceph: modprobe failed, exit status 1mount error: ceph filesystem not supported by the system
这个是因为你的内核当中没有cephfs的相关模块,这个 centos6 下面比较常见,因为 centos6 的内核是 2.6.32,这个版本的内核中还没有集成cephfs的内核模块,而在 centos7 默认内核 3.10中已经默认集成了这个模块,我们看下集成的模块是怎样的显示
123456789101112131415161718[root@lab8106 ~]# uname -aLinux ciserver 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux[root@lab8106 ~]# modinfo cephfi ...
最近因为需要用到Freebsd,所以研究了打包的一些方法,这个没什么太大问题,通过网上的一些资料可以解决,但是由于确实不太熟悉这套系统,还是碰上了一些比较麻烦的地方,目前也没看到有人写如何处理,那就自己总结一下,以免以后再用忘记如何处理
问题来源在linux下的iso自动安装的时候,在无法确定盘符的情况下,可以不写盘符,从而在遇到任何奇怪的磁盘的时候也是能安装的,比如 sda,xvda,vda,这些都可以通过不精确盘符的方式解决
而在freebsd当中处理就不一样了
12345cat ./etc/installerconfigPARTITIONS="da0 { 512K freebsd-boot, auto freebsd-ufs / }"DISTRIBUTIONS="custom_kernel.txz base.txz lib32.txz custom_files.txz"#!/bin/sh···
这个地方写配置文件的第一句就要告诉安装环境需要安装到哪里,这个地方是写死的一个数据,而碰上ada为系统盘就没法解决了,得不断的适 ...
之前有在论坛写了怎么用 yum 安装 ceph,但是看到ceph社区的群里还是有人经常用 ceph-deploy 进行安装,然后会出现各种不可控的情况,虽然不建议用ceph-deploy安装,但是既然想用,那就研究下怎么用好
首先机器需要安装 ceph-deploy 这个工具,机器上应该安装好 epel 源和 base 源,这个可以参考上面的那个连接,也可以自己准备好
安装ceph-deploy使用yum直接安装
12345678910111213141516[root@lab8106 yum.repos.d]# yum install ceph-deployLoaded plugins: fastestmirror, langpacks, prioritiesLoading mirror speeds from cached hostfileResolving Dependencies--> Running transaction check---> Package ceph-deploy.noarch 0:1.5.25-1.el7 will be installed·· ...
暂未分类
未读这个已经很久之前已经实践成功了,现在正好有时间就来写一写,目前并没有在其他地方有类似的分享,虽然我们自己的业务并没有涉及到云计算的场景,之前还是对rbd镜像这一块做了一些基本的了解,因为一直比较关注故障恢复这一块,东西并不难,总之一切不要等到出了问题再去想办法,提前准备总是好的,如果你有集群的问题,生产环境需要恢复的欢迎找我
前言rbd的镜像的元数据,这个是什么?这里所提到的元数据信息,是指跟这个image信息有关的元数据信息,就是image的大小名称等等一系列的信息,本篇将讲述怎么去重构这些信息,重构的前提就是做好了信息的记录,然后做重构
记录元数据信息创建一个image1[root@lab8106 ~]# rbd -p rbd create zp --size 40000
这里是在rbd存储池当中创建的一个名称为zp的,大小为40G的image文件
如果没有其他的image的情况下,我们来查看下对象信息
1234[root@lab8106 ~]# rados -p rbd lsrbd_header.60276b8b4567rbd_directoryrbd_id.zp
将这几个镜像下 ...
暂未分类
未读分区提示未对齐12345678910111213141516[root@lab8106 ceph]# parted /dev/sdd GNU Parted 3.1Using /dev/sddWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) p Model: SEAGATE ST3300657SS (scsi)Disk /dev/sdd: 300GBSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags: Number Start End Size File system Name Flags(parted) mkpart primary 0 100% Warning: ...
暂未分类
未读前言快照的功能一般是基于时间点做一个标记,然后在某些需要的时候,将状态恢复到标记的那个点,这个有一个前提是底层的东西没用破坏,举个简单的例子,Vmware 里面对虚拟机做了一个快照,然后做了一些系统的操作,想恢复快照,前提是存储快照的存储系统没用破坏,一旦破坏了是无法恢复的
ceph里面也有快照的功能,同样的,在这里的快照是用来保存存储系统上的状态的,数据的快照能成功恢复的前提是存储系统是好的,而一旦存储系统坏了,快照同时会失效的,本篇文章利用ceph的快照去实现一个增量的备份功能,网上也有很多这个脚本,这里主要是对里面细节做一个实践,具体集成到一套系统里面去,自己去做一个策略就行了,总之多备份一下,以备不时之需,并且也可以实现跨机房的增量备份,这个在某些云计算公司已经实现了,这样一旦发生故障的时候,能够把损失减到最小
快照的创建和数据的导出
上图是一个快照的创建和导出的过程,这里详细的描述下这些操作创建快照
12rbd snap create testimage@v1rbd snap create testimage@v2
这两个命令是在时间点v1和时间点v2分别做了两个快照
1r ...