文档章节

利用ceph-deploy在ubuntu server14.04上部署ceph并进行其它配置

加油2018
 加油2018
发布于 2014/11/11 11:19
字数 811
阅读 4332
收藏 28
点赞 2
评论 16

1. 环境与说明

在ubuntu14.04 server上部署ceph-0.87;设置rbdmap自动挂载/卸载rbd块设备;利用带rbd支持的tgt导出iscsi的rbd块。

2. 安装ceph

1)配置hostname与无密码登录

root@mon0:/etc/ceph# cat /etc/hosts
127.0.0.1	localhost
192.168.108.4	  osd2.osd2	osd2
192.168.108.3   osd1.osd1	osd1
192.168.108.2   mon0.mon0	mon0
#示例如下
ssh-keygen
ssh-copy-id -i /root/.ssh/id_rsa.pub osd1

2)安装ceph-deploy

wget -q -O- 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' | sudo apt-key add -
echo deb http://ceph.com/debian-dumpling/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
apt-get update
apt-get install ceph-deploy

3)安装ceph

ceph-deploy new mon0 osd1 osd2
ceph-deploy install --release giant mon0 osd1 osd2
ceph-deploy mon create mon0 osd1 osd2
ceph-deploy gatherkeys mon0 osd1 osd2
#需要先创建osd盘对应的挂载目录/cephmp1、/cephmp2,并将osd盘挂载到这些目录上
ceph-deploy osd prepare mon0:/cephmp1:/dev/sdf1 mon0:/cephmp2:/dev/sdf2 osd1:/cephmp1:/dev/sdf1 osd1:/cephmp2:/dev/sdf2 osd2:/cephmp1:/dev/sdf1 osd2:/cephmp2:/dev/sdf2
ceph-deploy osd activate mon0:/cephmp1:/dev/sdf1 mon0:/cephmp2:/dev/sdf2 osd1:/cephmp1:/dev/sdf1 osd1:/cephmp2:/dev/sdf2 osd2:/cephmp1:/dev/sdf1 osd2:/cephmp2:/dev/sdf2
ceph-deploy mds create mon0 osd1 osd2
安装好后,可以按需要修改/etc/ceph/ceph.conf文件,然后利用ceph-deploy --overwrite-conf config push osd1 osd2命令将修改的配置文件push到其它主机上。然后利用如下命令重启:
restart ceph-all

这里遇到的问题是虽然修改了/etc/apt/sources.list.d/ceph.list,但ceph-deploy会去修改这个文件,并配置成firefly,所以安装的是0.80.7。安装完成后,修改ceph.list文件:

root@mon0:/etc/ceph# cat /etc/apt/sources.list.d/ceph.list 
deb http://ceph.com/debian-giant/ trusty main
修改成giant版本后:
apt-get update
apt-get upgrade ceph
restart ceph-all

这样就将ceph升级到giant 0.87了。

3. 配置rbdmap

创建rbd块设备并rbd map后,如果不及时rbd unmap,关机的时候系统会hung在umount此rbd设备上。所以配置rbdmap是必须的。首先下载并设置开机启动rbdmap

$ sudo wget https://raw.github.com/ceph/ceph/a4ddf704868832e119d7949e96fe35ab1920f06a/src/init-rbdmap -O /etc/init.d/rbdmap
$ sudo chmod +x /etc/init.d/rbdmap
$ sudo update-rc.d rbdmap defaults
然后创建一个rbd块设备,并利用rbd map挂载此设备,然后mkfs进行格式化,结果如下:
root@mon0:/etc/ceph# rbd ls iscsi
iscsi-rbd
root@mon0:/etc/ceph# rbd showmapped
id pool  image     snap device    
1  iscsi iscsi-rbd -    /dev/rbd1 
mkfs.xfs /dev/rbd1
修改/etc/init.d/rbdmap,将/etc/rbdmap修改为你的rbdmap的实际路径;然后将挂载信息写入/etc/ceph/rbdmap(我的rbdmap路径):
root@mon0:/etc/ceph# cat /etc/ceph/rbdmap
# RbdDevice		Parameters
#poolname/imagename	id=client,keyring=/etc/ceph/ceph.client.keyring
iscsi/iscsi-rbd
因为我禁用了cephx,所以不必配置keyring了。

这样就可以手动控制、并且开关机可以自动挂载和卸载rbd块设备了。

4. 配置支持rbd导出的iscsi

安装tgt,并检查是否支持rbd

root@mon0:/etc/ceph# apt-get install tgt
root@mon0:/etc/ceph# tgtadm --lld iscsi --op show --mode system | grep rbd
    rbd (bsoflags sync:direct)
创建一个rbd块设备并map和格式化;然后修改/etc/tgt/targets.conf:
root@mon0:/etc/ceph# cat /etc/tgt/targets.conf 
# Empty targets configuration file -- please see the package
# documentation directory for an example.
#
# You can drop individual config snippets into /etc/tgt/conf.d
include /etc/tgt/conf.d/*.conf
<target iqn.2014-11.rbdstore.com:iscsi>
    driver iscsi
    bs-type rbd
    backing-store iscsi/iscsi-rbd  # Format is <iscsi-pool>/<iscsi-rbd-image>
</target>


service tgt reload


总结:在ubuntu上还是第一次折腾ceph,需要慢慢总结和适应。也希望搞过的童鞋不吝赐教。

© 著作权归作者所有

共有 人打赏支持
加油2018
粉丝 150
博文 184
码字总数 243077
作品 0
海淀
架构师
加载中

评论(16)

比翼_跳舞的小草
比翼_跳舞的小草

引用来自“Dearie-Bless-you”的评论

[osd1][DEBUG ] Fetched 3,410 kB in 32s (104 kB/s)
[osd1][DEBUG ] Reading package lists...
[osd1][WARNIN] W: The repository 'http://ceph.com/debian-dumpling xenial Release' does not have a Release file.
[osd1][WARNIN] E: Failed to fetch http://download.ceph.com/debian-dumpling/dists/xenial/main/binary-amd64/Packages 404 Not Found [IP: 173.236.253.173 80]
[osd1][WARNIN] E: Failed to fetch http://download.ceph.com/debian-dumpling/dists/xenial/main/binary-i386/Packages 404 Not Found [IP: 173.236.253.173 80]
[osd1][WARNIN] E: Some index files failed to download. They have been ignored, or old ones used instead.
[osd1][ERROR ] RuntimeError: command returned non-zero exit status: 100
[ceph_deploy][ERROR ] RuntimeError: Failed to execute command: env DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical apt-get --assume-yes -q update


这个是怎么回事啊?
我也遇到这个问题,在执行ceph-deploy install ceph-node-4 ceph-node-1 ceph-node-2 ceph-node-3时出现的BUG,不知楼主是怎么解决的?求指教
D
Dearie-Bless-you
[osd1][DEBUG ] Fetched 3,410 kB in 32s (104 kB/s)
[osd1][DEBUG ] Reading package lists...
[osd1][WARNIN] W: The repository 'http://ceph.com/debian-dumpling xenial Release' does not have a Release file.
[osd1][WARNIN] E: Failed to fetch http://download.ceph.com/debian-dumpling/dists/xenial/main/binary-amd64/Packages 404 Not Found [IP: 173.236.253.173 80]
[osd1][WARNIN] E: Failed to fetch http://download.ceph.com/debian-dumpling/dists/xenial/main/binary-i386/Packages 404 Not Found [IP: 173.236.253.173 80]
[osd1][WARNIN] E: Some index files failed to download. They have been ignored, or old ones used instead.
[osd1][ERROR ] RuntimeError: command returned non-zero exit status: 100
[ceph_deploy][ERROR ] RuntimeError: Failed to execute command: env DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical apt-get --assume-yes -q update


这个是怎么回事啊?
俊的天空
俊的天空
单机环境跑的?
加油2018
加油2018

引用来自“薛观文”的评论

请问你指的osd盘是不是/dev/sdf1和/dev/sdf2,是你另外加的盘么?
我这只有一块盘/dev/sda怎么办?

/dev/sdf盘是存放journal的盘,osd盘是/dev/sdc和/dev/sdd。只有一块盘的话,划出一个分区给osd。
薛观文
薛观文
请问你指的osd盘是不是/dev/sdf1和/dev/sdf2,是你另外加的盘么?
我这只有一块盘/dev/sda怎么办?
加油2018
加油2018

引用来自“薛观文”的评论

把这坑填平下吧。。83
已经加入了注释,多多交流:)
薛观文
薛观文
把这坑填平下吧。。83
加油2018
加油2018

引用来自“薛观文”的评论

楼主,你在执行osd prepare 命令执行需要手动创建cephmp1、cephmp2目录么?
不创建会报错
是的,然后把对应的osd盘挂载到这些目录。
薛观文
薛观文
楼主,你在执行osd prepare 命令执行需要手动创建cephmp1、cephmp2目录么?
不创建会报错
CzBiX
CzBiX

引用来自“迹墨”的评论

osd prepare 和 osd activate 可以合并:
$> ceph-deploy osd create mon0:/cephmp1:/dev/sdf1 mon0:/cephmp2:/dev/sdf2 osd1:/cephmp1:/dev/sdf1 osd1:/cephmp2:/dev/sdf2 osd2:/cephmp1:/dev/sde1 osd2:/cephmp2:/dev/sde2
我测试貌似不行, 必须要手动 activate, 不知道是不是因为低版本的原因.
请教如何在docker容器中挂载cephfs?

请问,目前我有一个ceph cluster(ubuntu server14.04,ceph0.87.1版本) ,另外我有一台客户机,上面安装的是ubuntu server14.04,我在客户机中利用镜像创建的容器中找不到ceph内核模块,事实...

shadowalker911 ⋅ 2015/03/24 ⋅ 0

OSChina 技术周刊第九期 —— 每周技术精选,值得一看!

每周技术抢先看,总有你想要的! 移动开发 【翻译】介绍 Visual Studio 的 Android 模拟器 【博客】手机腾讯网mt框架之mtwebapp示例解析。 【博客】《Android深入透析》之常用设计模式经验谈...

OSC编辑部 ⋅ 2014/11/16 ⋅ 4

ubuntu14_ceph部署(一)——预检与安装规划

测试规划: 节点名称 系统发行版 IP 地址 部署进程 系统盘 数据盘/日志盘 普通账户 ceph1 ubuntu14.04 eth0 192.168.89.10 外网 eth1 10.0.0.10 ceph集群网 1MON+1MDS+2OSD、Ceph 部署工具 ...

科技小能手 ⋅ 2017/11/12 ⋅ 0

ceph0.80安装及使用(CentOS7/ceph-deploy)

Ceph的主要目标是设计成基于POSIX的没有单点故障的分布式文件系统,使数据能容错和无缝的复制。详见:http://www.oschina.net/p/ceph 目前大部分部署ceph基本都是在Ubuntu,因为它的内核默认...

fkkeee ⋅ 2014/09/22 ⋅ 4

Ubuntu 14.04下Salt的使用及安装ceph

概述 本文介绍 Ubuntu 环境下使用 saltstack 。 环境 测试环境为 Ubuntu server 14.04 。 禁用 : 所有 Ubuntu 系统都禁用 selinux , iptables 。 5 个运行 Ubuntu server 14.04 x86_64 的虚拟...

壬癸甲乙 ⋅ 2014/07/16 ⋅ 0

ceph集群简单安装部署(Ubuntu14环境)

本次测试。为了快速地安装,所以把目录而非整个硬盘用于 OSD 守护进程。后面的 后面的测试还将会有使用硬盘来作为OSD数据盘 测试机规划 节点名称 IP 地址 部署进程 系统盘 数据盘 ceph1 eth0...

科技小能手 ⋅ 2017/11/12 ⋅ 0

Ceph 之 使用ceph-deploy部署ceph集群

上面左边是我的个人微信,如需进一步沟通,请加微信。 右边是我的公众号“Openstack私有云”,如有兴趣,请关注。 环境: 系统centos7.4 ceph版本 ceph version 10.2.10 测试服务器为kvm虚拟...

余伟兵 ⋅ 05/24 ⋅ 0

centos7快速部署ceph

1、机器: 10.39.3.22-26 2.优化 tcp参数优化 ntp时间同步配置 requiretty准备 执行命令visudo修改suoders文件: 1. 注释Defaults requiretty Defaults requiretty修改为 #Defaults requiret...

Wilson9527 ⋅ 2017/04/21 ⋅ 0

基于redhat7.3 ceph对象存储集群搭建+owncloud S3接口整合生产实践

一、环境准备 安装redhat7.3虚拟机四台 在四台装好的虚拟机上分别加一块100G的硬盘。如图所示: 3.在每个节点上配置主机名 4.集群配置信息如下 5.各节点配置yum源 #需要在每个主机上执行以下...

盖世英雄iii ⋅ 2017/09/09 ⋅ 0

单机Ceph从Firefly升级到Hammer

单机上部署了Firefly版的Ceph集群,其中包括:mon(一个)、osd(三个)和mds(一个)。单机上使用的操作系统是ubuntu-14.04-server-amd64版。此次升级的要求是数据不能丢失且不能停机升级。...

linuxhunter ⋅ 2015/12/18 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Hive函数

1.函数explode (一转多) create table hive_wc(sentence string); load data local inpath '/home/hadoop/data/hive-wc.txt' into table hive_wc; 结果: hive > select * from hive_wc; ......

GordonNemo ⋅ 20分钟前 ⋅ 0

PE格式第三讲扩展,VA,RVA,FA的概念

作者:IBinary 出处:http://www.cnblogs.com/iBinary/ 版权所有,欢迎保留原文链接进行转载:) 一丶VA概念 VA (virtual Address) 虚拟地址的意思 ,比如随便打开一个PE,找下它的虚拟地址 这边...

simpower ⋅ 37分钟前 ⋅ 0

使用Java connector消费ABAP系统的函数

Java Connector(JCO)环境的搭建:Step by step to download and configure JCO in your laptop 我的ABAP系统有个函数名叫ZDIS_GET_UPSELL_MATERIALS,输入一个customer ID和product ID,会输......

JerryWang_SAP ⋅ 43分钟前 ⋅ 0

IDEA提示编码速度

焦点移动 将焦点冲代码编辑窗口移动到菜单栏:Alt+菜单栏带下划线字母 将焦点从工具窗口移动到代码编辑窗口 Esc或Shift+Esc 将焦点从代码编辑移动到最近使用的工具窗口 F12 模板提示 Ctrl+J...

bithup ⋅ 55分钟前 ⋅ 0

180623-SpringBoot之logback配置文件

SpringBoot配置logback 项目的日志配置属于比较常见的case了,之前接触和使用的都是Spring结合xml的方式,引入几个依赖,然后写个 logback.xml 配置文件即可,那么在SpringBoot中可以怎么做?...

小灰灰Blog ⋅ 今天 ⋅ 0

冒泡排序

原理:比较两个相邻的元素,将值大的元素交换至右端。 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第...

人觉非常君 ⋅ 今天 ⋅ 0

Vagrant setup

安装软件 brew cask install virtualboxbrew cask install vagrant 创建project mkdir -p mst/vmcd mst/vmvagrant init hashicorp/precise64vagrant up hashicorp/precise64是一个box......

遥借东风 ⋅ 今天 ⋅ 0

python3.6 安装pyhook_3

我的是在win下的,忙了半天老是安装不了, pip install 也不行。 那么可以看出自己的版本是32bit 一脸懵逼 没办法 只好下载32版本的来安装 我一直以为 是 对应32 位的 。 下面是 小例子 http...

之渊 ⋅ 今天 ⋅ 0

004、location正则表达式

1、location的作用 location指令的作用是根据用户请求的URI来执行不同的应用,也就是根据用户请求的网站URL进行匹配,匹配成功即进行相关的操作。 2、location的语法 = 开头表示精确匹配 ^~...

北岩 ⋅ 今天 ⋅ 0

CentOS7 静默安装 Oracle 12c

环境 CentOS7.5 最小安装 数据库软件 linuxx64_12201_database.zip 操作系统配置 关闭 SELinux sed -i '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config 关闭防火墙 systemctl disable ......

Colben ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部