使用ceph-deploy进行ceph安装
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安装的更多相关文章
- 分布式存储Ceph的几种安装方法,源码,apt-get,deploy工具,Ubuntu CentOS
最近搞了下分布式PB级别的存储CEPH 尝试了几种不同的安装,使用 期间遇到很多问题,和大家一起分享. 一.源码安装 说明:源码安装可以了解到系统各个组件, 但是安装过程也是很费劲的,主要是依赖包太 ...
- ceph luminous版本的安装部署
1. 前期准备 本次安装环境为: ceph1(集群命令分发管控,提供磁盘服务集群) CentOs7.5 10.160.20.28 ceph2(提供磁盘服务集群) CentOs7.5 10. ...
- ceph Luminous版手动安装零散记录
1.安装必要的依赖包,关防火墙,向/etc/hosts内添加域名等 2.安装ceph 配置yum源 (如果嫌慢,可以配置cachedir=/home/yum/$basearch/$releasever ...
- ceph mimic版本 部署安装
ceph 寻址过程 1. file --- object映射, 把file分割成N个相同的对象 2. object - PG 映射, 利用静态hash得到objectID的伪随机值,在 "位 ...
- ceph工作原理和安装
一.概述 Ceph是一个分布式存储系统,诞生于2004年,最早致力于开发下一代高性能分布式文件系统的项目.随着云计算的发展,ceph乘上了OpenStack的春风,进而成为了开源社区受关注较高的项目之 ...
- ceph对象存储RADOSGW安装与使用
本文章ceph版本为luminous,操作系统为centos7.7,ceph安装部署方法可以参考本人其他文章. [root@ceph1 ceph-install]# ceph -v ceph vers ...
- ceph存储之ceph客户端
CEPH客户端: 大多数Ceph用户不会直接往Ceph存储集群里存储对象,他们通常会选择Ceph块设备.Ceph文件系统.Ceph对象存储之中的一个或多个: 块设备: 要实践本手册,你必须先完成存储集 ...
- 二十八. 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虚 ...
- ceph 010 clustermap ceph调优
cluster map [ceph: root@clienta /]# ceph mon dump epoch 4 fsid 2ae6d05a-229a-11ec-925e-52540000fa0c ...
- 查看,修改ceph节点的ceph配置命令
标签(空格分隔): ceph,ceph运维,ceph配置 查看ceph配置 1. 查看ceph默认配置: # ceph --show-config 2. 查看 type.num 的ceph默认配置: ...
随机推荐
- java的web配置文件的“<load-on-startup>的说明[转]
<servlet> <servlet-name>log4jInitServlet</servlet-name> <servlet-class>org.s ...
- LIS和LCS LCIS
首先介绍一下LIS和LCS的DP解法O(N^2) LCS:两个有序序列a和b,求他们公共子序列的最大长度 我们定义一个数组DP[i][j],表示的是a的前i项和b的前j项的最大公共子序列的长度,那么由 ...
- 深入理解yield-乾颐堂
yield的英文单词意思是生产,刚接触Python的时候感到非常困惑,一直没弄明白yield的用法. 只是粗略的知道yield可以用来为一个函数返回值塞数据,比如下面的例子: 1 2 3 def ad ...
- 1083 Moving Tables
题目链接:http://poj.org/problem?id=1083 题意: 走廊两边分别有200个房间,一边连续编号为1-399的奇数,另一边是2-400的偶数, 如果从房间 i 移动桌子到房间 ...
- 《深入理解Elasticsearch》README
书目 <深入理解ElasticSearch>拉斐尔·酷奇,马雷克·罗戈任斯基[著]张世武,余洪森,商旦[译] 机械工业出版社,2016.1 本系列包括以下8篇笔记 第01章 Elastic ...
- Reconstruction(三维重建)文件被修改
修改内容: 该函数被修改了一部分,然后修改中止了,可能是牵一发而动全身,导致中止.无论什么原因,这个Reconstruction.cpp文件是唯一被修改的文件了.如果没有被修改该多好!!!!!! 如何 ...
- 编写高质量代码改善C#程序的157个建议——建议124:考虑在命名空间中使用复数
建议124:考虑在命名空间中使用复数 如果有一组功能相近的类型被分到了同一个命名空间想,可以考虑为命名空间使用复数. 最典型的例子有,在FCL中,我们需要把所有的非泛型集合类集中在一起存放,所以就有了 ...
- 编写高质量代码改善C#程序的157个建议——建议88:并行并不总是速度更快
建议88:并行并不总是速度更快 并行所带来的后台任务及任务的管理,都会带来一定的开销,如果一项工作本来就能很快完成,或者说循环体很小,那么并行的速度也许会比非并行要慢. 看这样一个例子,我们比较在同步 ...
- 重叠io操作
第一章 一. 重叠模型的优点 1. 可以运行在支持Winsock2的所有Windows平台 ,而不像完成端口只是支持NT系统. 2. 比起阻塞.select.WSAAsyncSelect以及WSAEv ...
- 【Cocos2d-x】Cocos2d-x跨Android平台搭建之四:Win7 64位+ eclipse + cocos2dX
开始研究cocos2dx,mark一下这个的配置步骤 1 下载eclipse 2 下载android sdk,配置sdk路径,添加环境变量 3 安装adt 4 下载android ndk,配 ...