ceph集群部署(基于jewel版)
环境
两个节点:ceph1、ceph2
- ceph1: mon、mds、osd.0、osd.1
- ceph2: osd.2、osd.3
网络配置:
ceph1: 管理网络,eth0,10.0.0.20
存储网络,eth1, 10.0.1.20
ceph2: 管理网络,eth0,10.0.0.21
存储网络,eth1, 10.0.1.21
安装
root@ceph1:~# wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -
root@ceph1:~# echo deb http://download.ceph.com/debian-jewel/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
root@ceph1:~# apt-get update && apt-get upgrade
root@ceph1:~# apt-get install ceph-common ceph-fs-common ceph-mds ceph
配置
/etc/ceph/ceph.conf
[global]
max open files = 131072
fsid = eb3d751f-829f-4eae-8d69-0423b81f88f4
auth cluster required = none
auth service required = none
auth client required = none
osd pool default size = 2
osd pool default min size = 1
mon osd full ratio = .95
mon osd nearfull ratio = .85
[mon]
mon data = /var/lib/ceph/mon/$cluster-$name
[osd]
osd journal size = 1024
osd mkfs type = xfs
osd mkfs options xfs = -f
osd mount options xfs = rw,noatime
[mon.monster]
host = ceph1
mon addr = 10.0.1.20:6789
[osd.0]
host = ceph1
devs = /dev/sdb1
[osd.1]
host = ceph1
devs= /dev/sdc1
[osd.2]
host = ceph2
devs = /dev/sdb1
[osd.3]
host = ceph2
devs = /dev/sdc1
部署mon
root@ceph1:~# ceph-authtool /etc/ceph/ceph.mon.keyring --create-keyring --gen-key -n mon.
root@ceph1:~# ceph-mon -i monster --mkfs --keyring /etc/ceph/ceph.mon.keyring
root@ceph1:~# chown ceph:ceph -R /var/lib/ceph/mon/ /var/run/ceph
root@ceph1:~# /etc/init.d/ceph start mon.monster
部署osd
root@ceph1:~# mkfs.xfs /dev/sdb1
root@ceph1:~# mkfs.xfs /dev/sdc1
root@ceph1:~# mkdir -p /var/lib/ceph/osd/ceph-0/
root@ceph1:~# mkdir -p /var/lib/ceph/osd/ceph-1/
root@ceph1:~# mount /dev/sdb1 /var/lib/ceph/osd/ceph-0/
root@ceph1:~# mount /dev/sdc1 /var/lib/ceph/osd/ceph-1/
部署osd.0
ps:无论osd在哪台服务器上,ceph osd creat都要在mon所在服务器上执行
root@ceph1:~# ceph osd create
root@ceph1:~# ceph-osd -i 0 --mkfs --mkkey
root@ceph1:~# ceph auth add osd.0 osd 'allow *' mon 'allow rwx' -i /var/lib/ceph/osd/ceph-0/keyring
root@ceph1:~# ceph osd crush add osd.0 0.2 root=default host=ceph1
root@ceph1:~# ceph-osd -i 0 #或者/etc/init.d/ceph start osd.0
同理部署其他osd
ps: 不同服务器时,需先复制ceph.conf到对应服务器上
root@ceph1:~# ceph osd tree
ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY
-1 0.79999 root default
-2 0.39999 host ceph1
0 0.20000 osd.0 up 1.00000 1.00000
1 0.20000 osd.1 up 1.00000 1.00000
-3 0.39999 host ceph2
2 0.20000 osd.2 up 1.00000 1.00000
3 0.20000 osd.3 up 1.00000 1.00000
部署mds
root@ceph1:~# ceph-mds -i a -n mds.monster -c /etc/ceph/ceph.conf -m 10.0.1.20:6789
root@ceph1:~# ceph mds stat
e3:, 1 up:standby
块存储的应用
创建存储池:
root@ceph-monster:~# rados mkpool k8s-pool
successfully created pool k8s-pool
在该存储池里新建镜像:
root@ceph-monster:~# rbd create k8s-pool/k8s-image.v1 --size 4096 --image-feature layering
映射到块设备中:
root@ceph-monster:~# rbd map k8s-pool/k8s-image.v1
/dev/rbd3
root@ceph-monster:~# rbd showmapped
id pool image snap device
0 rbd myimage.v1 - /dev/rbd0
1 test_pool test-image.v3 - /dev/rbd1
2 test_pool test.img - /dev/rbd2
3 k8s-pool k8s-image.v1 - /dev/rbd3
格式化并挂载:
root@ceph-monster:~# mkfs.xfs /dev/rbd3
root@ceph-monster:~# mount /dev/rbd3 /rbdfs
rdb map的一个报错: rbd sysfs write failed
rbd: sysfs write failed
RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable".
In some cases useful info is found in syslog - try "dmesg | tail" or so.
原因:rbd镜像的一些特性,OS kernel并不支持,所以映射失败,需要把部分不支持的特性disable掉。
方法一:
直接diable这个rbd镜像的不支持的特性:
$ rbd feature disable myimage exclusive-lock object-map fast-diff deep-flatten
方法二:
创建rbd镜像时就指明需要的特性,如:
$ rbd create --size 4096 myimage --image-feature layering
方法三:
如果还想一劳永逸,那么就在执行创建rbd镜像命令的服务器中,修改Ceph配置文件/etc/ceph/ceph.conf,在global section下,增加
rbd_default_features = 1
再创建rdb镜像。
$ rbd create --size 4096 myimage
cephfs 文件系统
新建一个pool:
root@ceph1:~# rados mkpool cephfs_mdata
successfully created pool cephfs_mdata
root@ceph1:~# rados lspools
rbd
cephfs_mdata
创建cephfs:
root@ceph1:~# ceph fs new cephfs1 cephfs_metadata cephfs_mdata
new fs with metadata pool 1 and data pool 2
root@ceph1:~# ceph fs ls
name: cephfs1, metadata pool: cephfs_metadata, data pools:
[cephfs_mdata ]
- fs new 表示需要创建一个新的文件系统
- cephfs1 表示新的文件系统的名字叫做cephfs2。
- cephfs_metadata 表示文件系统元数据保存信息的存储pool
- cephfs_mdata 表示文件系统的数据保存信息的存储pool
ps: ceph集群上只能创建一个文件系统
挂载到本地:
root@ceph1:~# mkdir /cephfs
root@ceph1:~# sudo mount -t ceph 10.0.1.20:6789:/ /cephfs/
root@ceph1:~# ceph mds stat
e130: 1/1/1 up {0=a=up:active}
root@ceph1:~# ceph -s
cluster eb3d751f-829f-4eae-8d69-0423b81f88f4
health HEALTH_OK
monmap e1: 1 mons at {a=10.0.1.20:6789/0}
election epoch 4, quorum 0 a
fsmap e130: 1/1/1 up {0=a=up:active}
osdmap e158: 4 osds: 4 up, 4 in
flags sortbitwise,require_jewel_osds
pgmap v354: 80 pgs, 3 pools, 2542 bytes data, 20 objects
4530 MB used, 195 GB / 199 GB avail
80 active+clean
ceph集群部署(基于jewel版)的更多相关文章
- Ceph集群部署(基于Luminous版)
环境 两个节点:ceph0.ceph1 ceph0: mon.a.mds.mgr.osd.0.osd.1 ceph1: mon.b.osd.2.osd.3 操作系统:ubuntu14.04 网络配置: ...
- 分布式存储系统之Ceph集群部署
前文我们了解了Ceph的基础架构和相关组件的介绍,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16720234.html:今天我们来部署一个ceph集群: 部 ...
- ceph集群部署
最近在学习 kubernetes 过程中,想实现 pod 数据的持久化.在调研的过程中,发现 ceph 在最近几年发展火热,也有很多案例落地企业.在选型方面,个人更加倾向于社区火热的项目,Gluste ...
- ceph维护命令小结(基于jewel版)
ceph osd pool 操作小计 #列出所有pool root@ceph:~# ceph osd pool ls [detail] #新建pool root@ceph:~# ceph osd po ...
- 基于Ubuntu 18.04.5 LTS 部署Ceph集群测试及Ceph RDB的使用。
1.ceph简介 Ceph在一个统一的系统中独特地提供对象.块和文件存储 1.1 ceph官网架构图 1.2 架构解释 CEPH 对象存储 CEPH 块设备 CEPH 文件系统 RESTful 接 ...
- 理解 OpenStack + Ceph (1):Ceph + OpenStack 集群部署和配置
本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...
- 2.Ceph 基础篇 - 集群部署及故障排查
文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247485243&idx=1&sn=e425c31a ...
- openstack(pike 版)集群部署(一)----基础环境部署
一.环境 1.系统: a.CentOS Linux release 7.4.1708 (Core) b.更新yum源和安装常用软件 # yum -y install epel-release ba ...
- 分布式存储ceph集群实践
1.环境规划,三台主机 10.213.14.51/24 10.213.14.52/24 10.213.14.53/24 集群网络 172.140.140.11. ...
随机推荐
- Spring cloud微服务安全实战-6-1本章概述
这一章来讲一下,微服务之间的通讯安全. 当前这个架构还存在的问题 在网关上做限流还是有一些问题的.例如我的订单服务限流是100,库存服务限流也是100.但是我的订单服务会调用我的库存服务.那么在网关这 ...
- 算法习题---5.4反片语(Uva156)
一:题目 输入一些单词,找出所有满足以下条件的单词:该单词不能通过字母重排得到输入文本中的另外一个单词.在判断是否满足条件时,字母不区分大小写,但在输出时应该保留输入中的大小写,按字典序进行排列 将输 ...
- @PathVariable设置为空的问题(required=false)
参考了:http://www.imooc.com/qadetail/268268 最近学习springMVC的时候,学到@PathVariable后,发现@PathVariable有个required ...
- node及npm安装与配置
一,安装环境查看 软件版本选择 node 10.16.3 二,软件安装 软件下载,下载地址 https://nodejs.org/dist/ 解压安装 cp node-v10.16.3-linux-x ...
- iOS-UIPasteboard的使用
剪贴板的使用以及自定义剪贴板. 系统剪贴板的直接调用 其实整个过程非常的简单,我就用我写的一个自定义UILable来说明调用系统剪贴板. 首先,因为苹果只放出来了 UITextView,UITextF ...
- ajax页面刷新小错误(提交按钮type必须为button,而不能是submit)
背景: 使用ajax提交form表单时,提交按钮的type值写为了submit,导致ajax中回调函数中的提示信息toastr.success('提交数据成功');没有执行,只执行了alert语句 , ...
- Nginx虚拟目录(alias)和根目录(root)
功能要求: 假设nginx配置的域名是www.kazihuo.com,现有静态资源/home/www/oye目录需要通过nginx访问. 功能实现: 前提要求: 1.在nginx.conf中到处第二行 ...
- 你应该知道的4个DSP开发支持库
引言 在dsp开发中,为了节省开发时间和难度,TI将一些成熟的算法封装为模块,供开发者使用.如果能充分利用这些算法支持库,对于加快dsp开发进程与提高代码质量.稳定性有非常大的帮助. Digital ...
- 最新 安易迅java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿. 安易迅等10家互联网公司的校招Offer,因为某些自身原因最终选择了 安易迅.6.7月主要是做系统复习.项目复盘.Leet ...
- idea创建自定义代码块
1.File——>settings 2.找到Editor——>live Templates,点击加号+ 3.创建group或直接创建,我这里创建了一个user组,然后在user组里面添加l ...