前言copyset运用好能带来什么好处
降低故障情况下的数据丢失概率(增加可用性)
降低资源占用,从而降低负载
copyset的概念首先我们要理解copyset的概念,用通俗的话说就是,包含一个数据的所有副本的节点,也就是一个copyset损坏的情况下,数据就是全丢的如上图所示,这里的copyset就是:{1,5,6},{2,6,8} 两组
如果不做特殊的设置,那么基本上就是会随机的去分布
最大copyset如上图的所示,一般来说,最终组合将是一个最大的随机组合,比如这样的一个9个node随机组合3个的,这样的组合数有:从 n个元素中取出 k个元素, k个元素的组合数量为:9个随机3个的组合为84如果3个节点down掉,那么有数据丢失概率就是100%
最小copyset如果存在一种情况,分布是这样的那么copyset为{1,5,7},{2,4,9},{3,6,8}如果3个节点down掉,只有正好是上面的3种组合中的一种出现的时候,才会出现数据丢失那么数据丢失的概率为 3/84
最小copyset可能带来的不好的地方
真出现丢失的时候(概率极低),丢失的数据量将是最大化 ...
暂未分类
未读前言每一次做ftp的配置都要弄半天,找文档,各种权限控制的坑,折腾半天,这次还是准备记录下来,以备不时之需,这里不配置什么高级的功能,就去实现一个最简单的配置
匿名用户的上传和下载
配置proftp过程 配置过程尽量少的动原配置文件,需要共享的为/share/a目录,首先修改默认的目录
1DefaultRoot ~ !adm
修改为:
1DefaultRoot /share
让默认的根目录为 /share,默认的为用户的根目录,匿名用户对应的ftp用户的根目录
修改匿名用户的目录
1<Anonymous ~ftp>
修改为
1<Anonymous /share>
修改原匿名用户ftp的用户目录为/share
修改默认屏蔽权限WRITE
123<Limit WRITE SITE_CHMOD> DenyAll</Limit>
改成
123<Limit SITE_CHMOD> DenyAll</Li ...
暂未分类
未读前言这个工具最开始是从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
将这几个镜像下 ...