文档章节

ceph infernalis版本搭建过程

linuxhunter
 linuxhunter
发布于 2015/12/16 17:13
字数 1335
阅读 313
收藏 1

ceph infernalis版本安装过程。

一、使用ceph-deploy方式安装infernalis版本的ceph。

1、宿主机环境。

ubuntu14.04.03-server-amd64

2、添加trusted key。

#wget -q -O- 'https://git.ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' | sudo apt-key add -

该命令用于添加ceph正式发布版的trusted key。

#wget -q -O- 'https://git.ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/autobuild.asc' | sudo apt-key add -

该命令用于添加ceph开发测试版的trusted key。

3、向ubuntu源添加指定版本的ceph源。

#apt-add-repository 'deb http://download.ceph.com/debian-infernalis/ trusty main’

4、添加经过ceph修改过的Apache/FastCGI源。

#echo deb http://gitbuilder.ceph.com/libapache-mod-fastcgi-deb-$(lsb_release -sc)-x86_64-basic/ref/master $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph-apache.list

5、更新ubuntu源。

#apt-get update

6、安装ceph集群配置脚本ceph-deploy。

#apt-get install ceph-deploy

7、使用ceph-deploy工具在指定节点上安装ceph软件集合。

#ceph-deploy install —release infernalis ceph1

这里使用选项—release表示安装指定版本infernalis。此时会在ceph1这台机器上安装infernalis版本的ceph及其依赖。

8、创建一个ceph集群。

#ceph-deploy new ceph1

在机器名称为ceph1的硬件机器上创建ceph集群(这里由于环境的限制,我在一台物理机上搭建集群,该集群包括:一个monitor和三个OSDs);

此时可以看到ceph.conf文件以及ceph.client.mon.keyring文件,这两个文件分别是ceph集群的配置文件和mon用户访问ceph集群的权限文件。在ceph.conf文件中我们能看到如下信息:

fsid = xxxxxx#集群的唯一ID号

mon_initial_members = ceph1#monitor节点名称

mon_host = 192.168.250.93#monitor节点IP地址

auth_cluster_required = cephx#

auth_service_required = cephx#这三个表示访问集群需要cephx认证

auth_client_required = cephx#

filestore_xattr_use_omap = true#存储文件需要使用object map(用于ext4文件系统)

9、为集群创建monitor节点。

#ceph-deploy mon create ceph1

使用ceph-deploy new相同的参数来为集群创建monitor节点。该命令成功执行后在ceph1上就能看到ceph-mon这个进程了(表示monitor节点已经启动)。此时可以使用ceph -s命令查看当前ceph集群的状态。此时由于没有OSD,所以当前集群的状态是HEALTH_ERR。

10、收集集群中的keyring。

在添加OSD之前需要收集集群中关于monitor、自举OSD以及自举MDS的keyring。

#ceph-deploy gatherkeys ceph1

11、向集群添加OSD。

1)准备OSD磁盘。

#ceph-deploy disk zap ceph1:sdb

#ceph-deploy disk zap ceph1:sdc

#ceph-deploy disk zap ceph1:sdd

为ceph集群准备三块磁盘sdb/sdc/sdd。

2)创建OSD。

#ceph-deploy osd create ceph1:sdb ceph1:sdc ceph1:sdd

在ceph1节点上创建三个OSDs且磁盘分别是sdb/sdc/sdd。这里没有使用物理磁盘或物理磁盘分区作为journal,而是将journal和data放在同一个磁盘下(最好分别存放且最好使用ssd分区来保存journal)。

此时可以在ceph1上看到已经启动了三个ceph-osd进程。

12、更新集群的crushmap。

创建完集群后,通过ceph -s查看当前集群的状态,此时看到的状态的HEALTH_WARN且pgmap的状态不是active+clean的状态。其原因是由于三个OSDs部署到同一台物理设备上,其对应的crushmap将这三个OSDs都添加到同一个host里,因此会出现HEALTH_WARN状态。

这里通过简单的增加两个host且一个host里只包含一个OSD来调整ceph的状态到active+clean状态。

#ceph osd crush add-bucket ceph1_1 host

#ceph osd crush add-bucket ceph1_2 host

增加两个host节点

#ceph osd crush move ceph1_1 root=default

#ceph osd crush move ceph1_2 root=default

将新增的两个host节点放到root=default下

#ceph osd crush create-or-move osd.1 35363 root=default host=ceph1_1

#ceph osd crush create-or-move osd.2 35363 root=default host=ceph1_2

将osd.1和osd.2分别放到host=ceph1_1和host=ceph1_2这两个host下

此时通过集群状态查看命令ceph -s可以看到当前的状态已经变成active+clean状态了。

13、向集群添加MDS。

1)部署mds节点。

#ceph-deploy mds create ceph1

在ceph1节点上创建mds服务。该命令结束后可以在ceph1机器上看到ceph-mds进程已经启动。但是此时cephfs并不可用,因为此时ceph集群中并没有pools与cephfs相对应。

2)创建cephfs使用的pools。

由于cephfs需要使用ceph集群中2个pools,这两个pools分别对应于data和metadata。对于metadata使用的pool最好使用ssd作为后端存储,最好多个replicas以保证cephfs的稳定性和性能。

#ceph osd pool create cephfs_data 128

#ceph osd pool create cephfs_metadata 128

分别创建名称为cephfs_data和cephfs_metadata的pools且这两个pool中的PG数量为128;

3)使能cephfs。

#ceph fs new cephfs cephfs_metadata cephfs_data 

使用上述命令使能cephfs。此时可以在cluster map中看到mdsmap了。

4)查看mds状态。

#ceph mds stat

e5: 1/1/1 up {0=ceph1=up:active}

5)查看整个ceph集群的状态。

#ceph -s 

cluster b8c847df-6d60-4e57-a6c2-a62cde618a13

     health HEALTH_WARN

            too many PGs per OSD (320 > max 300)

     monmap e1: 1 mons at {ceph1=192.168.250.93:6789/0}

            election epoch 2, quorum 0 ceph1

     mdsmap e5: 1/1/1 up {0=ceph1=up:active}

     osdmap e28: 3 osds: 3 up, 3 in

            flags sortbitwise

      pgmap v60: 320 pgs, 3 pools, 1960 bytes data, 20 objects

            112 MB used, 1657 GB / 1657 GB avail

                 320 active+clean


© 著作权归作者所有

linuxhunter
粉丝 72
博文 144
码字总数 93264
作品 0
沈阳
高级程序员
私信 提问
Infernalis版本radosgw搭建配置

1.安装apache。 #apt-get install apache2 libapache2-mod-fastcgi 2.配置apache。 在apache配置文件中添加服务器名称,即:在/etc/apache2/apache2.conf文件添加如下内容: ServerName {fq...

linuxhunter
2016/04/06
141
0
CentOS7下安装Ceph供Kubernetes使用

CentOS7下安装Ceph供Kubernetes使用 [TOC] 1. 环境说明 系统:CentOS7,一个非系统分区分配给ceph docker:1.13.1 kubernetes:1.11.2 ceph:luminous 2. Ceph部署准备 2.1 节点规划 监控节点...

ygqygq2
2018/08/20
0
0
CentOS7.1配置Ceph集群环境

一、环境准备工作 (1) 节点要求 ==》节点配置硬件最低要求 角色 设备 最小配置 推荐配置 ----------------------------------------------------------------------------------------------...

dhb_oschina
2016/03/14
378
0
有状态容器实践:k8s集成ceph分布式存储

版权声明:本文为博主原创文章,转载请注明来源。开发合作联系luanpenguestc@sina.com https://blog.csdn.net/luanpeng825485697/article/details/82993323 Ceph安装原理 Ceph分布式存储集群...

数据架构师
2018/10/10
0
0
基于centos7.3安装部署jewel版本ceph集群实战演练

一、环境准备 安装centos7.3虚拟机三台 由于官网源与网盘下载速度都非常的慢,所以给大家提供了国内的搜狐镜像源:http://mirrors.sohu.com/centos/7.3.1611/isos/x8664/CentOS-7-x86_64-DV...

盖世英雄iii
2018/06/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

什么样的人要学点python编程?请你对号入座

什么样的人需要学点python编程? 时代越来越不一样了,编程这种专业程序员的工作,已经开始应用于各种其他日常工作中,就以前象征着互联网的电脑,现在早已进入普通人家。 那么什么样的人需要...

这人就爱编程
29分钟前
3
0
哪吒之魔童降世的背景音乐怎么提取 视频中提取音频的方法

随着国漫的不断崛起一大批优质的动漫正向我们袭来,从大鱼海棠到大圣归来再到我们现在的哪吒让我们看到国漫质的飞跃,也让我们对国漫充满信心,前段时间哪吒之魔童降世以国产第二的票房下线到...

cenfeng123
33分钟前
3
0
springcloud 整合 springboot-admin 监控中心

Admin监控应用 Spring Boot提供的监控接口,例如:/health、/info等等,实际上除了之前提到的信息,还有其他信息业需要监控:当前处于活跃状态的会话数量、当前应用的并发数、延迟以及其他度...

java框架开发者
35分钟前
2
0
GMAT阅读提分要看课外读物,名师点评正确使用方法

阅读提分需要从积累阅读量开始,这种积累不能只靠做练习,还需要大量阅读课外读物。而最适合GRE考生的课外读物之一就是原版杂志。但看课外读物提分也要讲究方法。下面小编就为大家详解看课外...

bole6
37分钟前
1
0
第六次读Kingfisher网络图片缓存库的思考与感受(稍微有点起色)

这节我们来优化一下之前的 硬盘存储,看看kingfiisher哪里做得好,我们稍微来学习一下。 从硬盘里检索图片模仿改进: open func retrieveImageInDiskCache(forKey key: String, options:...

T型人才追梦者
37分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部