定位问题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 ...
暂未分类
未读功能介绍关于rgw实现nfs接口这个,刚接触的人可能并不清楚这个是个什么样的服务架构,rgw是ceph里面的对象存储接口,而nfs则是纯正的网络文件系统接口,这二者如何结合在一起,关于这个,有几个相关的链接供大家了解
ceph官方的RGW_NFS项目规划
麦子迈关于RGW_NFS的文章
之所以这个功能能实现这么快,原因是nfs-ganesha的开发者Matt Benjamin加入到了Redhat,而ceph目前的开发是Redhat在主导开发,所以功能的实现是非常快的,但是目前官方并没有提供相关的文档,个人推测是功能并未完全开发完成,一旦未完全开发完成的功能放出来,邮件列表和Bug列表就会有很多相关问题,开发者应该还是希望安静的把功能做好,再提供相关的文档,而这个功能也是在ceph 的jewel版本里面才加入的
功能架构图简单说明一下:集群配置s3接口,nfs-genesha将s3接口转换成nfs,然后nfs客户端挂载后访问的就是s3的bucket里面的数据了
准备工作准备代码,这个是需要从源码编译的,并且需要将模块编译进去才可以的,源码分支地址:
https://github.c ...
我理解的CPU目前对cpu的了解停留在这个水平查看CPU型号:
12cat /proc/cpuinfo |grep model |tail -n 1model name : Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz
查看有多少processor:
12cat /proc/cpuinfo |grep processor|tail -n 1processor : 23
然后对性能要求就是主频越高越好,processor越多越好,其它的知道的很少,由于需要做性能相关调优,所以对CPU这一块做一个系统的学习,如果参考网上的一些CEPH性能调优的资料,很多地方都是让关闭numa,以免影响性能,这个从来都是只有人给出答案,至于为什么,对不对,适合不适合你的环境,没有人给出来,没有数据支持的调优都是耍流氓
单核和多核在英文里面,单核(single-core)和多核(multi-core)多称作uniprocessor和multiprocessor,这里先对这些概念做一个说明:
这里所说的core(或processor),是一个泛指,是从使用者(或消费者) ...