ceph安装包介绍:

  1.ceph-deploy:

    ceph的部署软件,通过该软件可以简便部署,这个软件并非整个ceph集群系统中必须的

  2.ceph:

    ceph整个服务集群中的每个节点必须的软件。提供分布式的存储与文件系统服务 (osd,mon守护进程)

  3.ceph-mds:

    元数据服务端 (mds 守护进程)

  4.libcephfs:

    客户端的编程接口(c语言)

  5.python-cephfs:

    客户端的编程接口(python)

  6.ceph-common,ceph-fs-common 客户端:

    使用ceph服务的客户端必须

ceph的配置

  ceph的进程:

    这三种进程分布于集群中的服务器上,服务器中可以只运行一种,也可以多个同时运行,推荐为一个服务器运行一种,使得负载均衡

    osd 守护进程:即为存储守护进程

    mon 守护进程:监视器守护进程

    mds 守护进程:元数据守护进程

  启动本机上所有进程:启动ceph在本机上配置的所有守护进程

$service ceph start
$service ceph stop

  查看本机上运行那些ceph进程

$ps  aux |grep ceph

  ceph的文件:

    可以在配置文件中修改位置

    配置文件:默认 /etc/ceph/ceph.conf

    日志文件:默认 /var/log/ceph

    运行时文件:默认 /var/run/ceph

      每个进程的管理套接字位置:/var/run/ceph/$cluster-$name.asok

      使用管理套接字查看osd.0的运行时配置信息:

$ceph --admin-daemon /var/run/ceph/ceph-osd..asok config show | less

  配置文件ceph.conf

    集群启动后,每个守护进程从配置文件 /etc/ceph/ceph.conf中查看配置信息。(/etc/ceph/ceph.conf 或者 ~/.ceph/config 或者 ./ceph.conf)

    ceph.conf的格式

[ global ]
#该配置下设置应用于所有ceph守护进程
[ osd ]
#该配置下设置应用于所有osd守护进程
#或者重写global配置
[ osd. ]
#该配置设置应用于osd 0进程,或者重写前面配置
[ mon ]
#该配置应用于所有监视器进程
[ mds ]
#该配置应用于所有元数据服务进程

配置集群无密码互联:

  整个集群机器一般在一个局域网的内网里,ceph-deploy一般只安装在一台机器上,但可以对集群内任意机器进行安装配置等操作,且该操作是需要具有root权限的。因此可以如下配置无密码操作网内其他机器。

  1.在每台机器上建立root权限用户,名称例如 ceph;

  2.为每台机器设置ssh服务;

    在cesh-deploy上安装ssh服务器 

$apt-get install openssh-server

    使用ssh-keygen生成私钥,公钥

$ssh-keygen

    然后将生成的公复制到每台机器,使得ceph-deploy能够访问每台机器

$ssh-copy-id xxx.xxx.xxx.xxx

    修改~/.ssh/config文件,配置访问ip,以及用户ceph

使用ceph-deploy进行安装:

使用ceph-deploy进行卸载:

  对集群中某个节点ceph-node卸载其上的服务

$stop ceph-all                                                         # 停止所有ceph进程

$ceph-deploy uninstall  [{ceph-node}]                                  # 卸载所有ceph程序

$ceph-deploy purge   [[ceph-node} [{ceph-node}]                        #删除ceph相关的包

$ceph-deploy purgedata {ceph-node} [{ceph-node}]                       # 删除ceph相关的包
$ceph-deploy forgetkeys #删除key

错误:  

  安装好之后,查看一下pool,默认只有rbd

$ ceph osd pool ls

  

  这时查看状态

$ceph -s

  有时候会出现HEALTH_WARN,先查看一下rbd的大小,如果osd数目小于这个数字,就会出错,所以需要手动将数量设置为与目前osd个数相同。

$ceph osd pool get rbd size
$ceph osd pool set rbd size 1
$ceph osd pool set rbd min_size

  

  问题1:ceph-deploy部署的方式。就算我3个osd装在两台机器上,osd pool default size还是要设置为2,才行,不然还是会提示 degraded; pgs stuck unclean  

  答案1:因为ceph deploy 默认吧osd 设置在同一个bucket下面,而ceph算法规则默认将不同的备份数分发到不同的不同的bucket下,所以ceph认为你的bucket少于你的备份 数从而报这个错。要避免这个问题可以手动部署ceph不用cephdeploy,或者手动去修改

  

  由于做试验的时候,使用的机器台数不同,以及osd数量不同,会出现,HEALTH_WARN  pgs degraded,undersized 等警告,这个时候需要调整池子的大小,size,min_size.

  特别是单机安装的时候,容易出现这种错误。

  

  安装的时候某个osd总是down状态,后来重启机器就好了。

优化:  

PG Number

PG和PGP数量一定要根据OSD的数量进行调整,计算公式如下,但是最后算出的结果一定要接近或者等于一个2的指数。

Total PGs = (Total_number_of_OSD * 100) / max_replication_count

例如15个OSD,副本数为3的情况下,根据公式计算的结果应该为500,最接近512,所以需要设定该pool(volumes)的pg_num和pgp_num都为512.

ceph osd pool set volumes pg_num 512
ceph osd pool set volumes pgp_num 512

  

  

使用ceph-deploy进行ceph安装的更多相关文章

  1. 分布式存储Ceph的几种安装方法,源码,apt-get,deploy工具,Ubuntu CentOS

    最近搞了下分布式PB级别的存储CEPH  尝试了几种不同的安装,使用 期间遇到很多问题,和大家一起分享. 一.源码安装 说明:源码安装可以了解到系统各个组件, 但是安装过程也是很费劲的,主要是依赖包太 ...

  2. ceph luminous版本的安装部署

    1. 前期准备   本次安装环境为:   ceph1(集群命令分发管控,提供磁盘服务集群) CentOs7.5 10.160.20.28   ceph2(提供磁盘服务集群) CentOs7.5 10. ...

  3. ceph Luminous版手动安装零散记录

    1.安装必要的依赖包,关防火墙,向/etc/hosts内添加域名等 2.安装ceph 配置yum源 (如果嫌慢,可以配置cachedir=/home/yum/$basearch/$releasever ...

  4. ceph mimic版本 部署安装

    ceph 寻址过程 1. file --- object映射, 把file分割成N个相同的对象 2. object - PG 映射, 利用静态hash得到objectID的伪随机值,在 "位 ...

  5. ceph工作原理和安装

    一.概述 Ceph是一个分布式存储系统,诞生于2004年,最早致力于开发下一代高性能分布式文件系统的项目.随着云计算的发展,ceph乘上了OpenStack的春风,进而成为了开源社区受关注较高的项目之 ...

  6. ceph对象存储RADOSGW安装与使用

    本文章ceph版本为luminous,操作系统为centos7.7,ceph安装部署方法可以参考本人其他文章. [root@ceph1 ceph-install]# ceph -v ceph vers ...

  7. ceph存储之ceph客户端

    CEPH客户端: 大多数Ceph用户不会直接往Ceph存储集群里存储对象,他们通常会选择Ceph块设备.Ceph文件系统.Ceph对象存储之中的一个或多个: 块设备: 要实践本手册,你必须先完成存储集 ...

  8. 二十八. Ceph概述 部署Ceph集群 Ceph块存储

    client   :192.168.4.10 node1 :192.168.4.11 ndoe2 :192.168.4.12 node3 :192.168.4.13   1.实验环境 准备四台KVM虚 ...

  9. ceph 010 clustermap ceph调优

    cluster map [ceph: root@clienta /]# ceph mon dump epoch 4 fsid 2ae6d05a-229a-11ec-925e-52540000fa0c ...

  10. 查看,修改ceph节点的ceph配置命令

    标签(空格分隔): ceph,ceph运维,ceph配置 查看ceph配置 1. 查看ceph默认配置: # ceph --show-config 2. 查看 type.num 的ceph默认配置: ...

随机推荐

  1. Lunix7 开放指定端口

    systemctl unmask firewalld.service 此时可以正常启动Firewall了. 接下来顺便讲述一下Firewall的安装,及一些简单配置.   查看状态,看电脑上是否已经安 ...

  2. 解题报告Best Time to Buy and Sell Stock with Cooldown

    题目 Say you have an array for which the ith element is the price of a given stock on day i. Design an ...

  3. 智能合约调用另一合约中的payable方法

    参考链接: https://ethereum.stackexchange.com/questions/9705/how-can-you-call-a-payable-function-in-anoth ...

  4. Pygame:编写一个小游戏 标签: pythonpygame游戏 2017-06-20 15:06 103人阅读 评论(0)

    大学最后的考试终于结束了,迎来了暑假和大四的漫长的"自由"假期.当然要自己好好"玩玩"了. 我最近在学习Python,本意是在机器学习深度学习上使用Python ...

  5. CF 438E The Child and Binary Tree

    BZOJ 3625 吐槽 BZOJ上至今没有卡过去,太慢了卡得我不敢交了…… 一件很奇怪的事情就是不管是本地还是自己上传数据到OJ测试都远远没有到达时限. 本题做法 设$f_i$表示权值为$i$的二叉 ...

  6. 路飞项目背景,contentType以及django缓存

    昨日回顾: 分页器: 普通分页 # 普通分页 from rest_framework.pagination import PageNumberPagination -每页的大小(默认) -查询的时候, ...

  7. [转]修改github已提交的用户名和邮箱

    改变作者信息 为改变已经存在的 commit 的用户名和/或邮箱地址,你必须重写你 Git repo 的整个历史. 警告:这种行为对你的 repo 的历史具有破坏性.如果你的 repo 是与他人协同工 ...

  8. MSSQL数据库高版本迁移到低版本

    起因是因为客户要把系统从阿里云迁移到本地服务器,阿里云上的数据库版本是MSSQL2016,客户提供的服务器是Server2008R2的,问题就来了,Server2008不支持2016版本,最后只能装的 ...

  9. Qt之QML开发常用知识

    小技巧: 1. QML的内部逻辑可以直接调试 2. ctrl+ alt + space,在写QML时,可以直接调出工具条 3. 属性以小写字母开发 4. 属性改变事件,基本都是on+Property+ ...

  10. #2002 无法登录 MySQL 服务器

    phpMyAdmin无法登录,输入用户名和密码后点击“执行”后一直报 “#2002 无法登录 MySQL 服务器”. 解决办法,将 “phpMyAdmin/libraries”文件夹下的config. ...