ceph部署
一、部署准备:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.253.135 controller
192.168.253.194 compute
192.168.253.15 storage
192.168.253.10 dlp

useradd cent && echo "123" | passwd --stdin cent
echo -e 'Defaults:cent !requiretty\ncent ALL = (root) NOPASSWD:ALL' | tee /etc/sudoers.d/ceph
chmod 440 /etc/sudoers.d/ceph
ceph@dlp15:17:01~#ssh-keygen
ceph@dlp15:17:01~#ssh-copy-id dlp
ceph@dlp15:17:01~#ssh-copy-id controller
ceph@dlp15:17:01~#ssh-copy-id compute
ceph@dlp15:17:01~#ssh-copy-id storage
(4)在部署节点切换为cent用户,在cent用户家目录,设置如下文件:vi config
然后设置如下权限:

Host dlp
Hostname dlp
User cent
Host controller
Hostname controller
User cent
Host compute
Hostname compute
User cent
Host storage
Hostname storage
User cent

chmod 600 ./ssh/config
二、所有节点配置国内ceph源:
wget https://mirrors.aliyun.com/centos/7/storage/x86_64/ceph-jewel/
ceph-deploy new controller compute storage
vim conf 添加:osd_pool_default_size = 2eph部署monitor时出现"monitor is not yet in quorum.
这是因为防火墙没关闭,去各个节点关闭所有防火墙
再执行:
ceph-deploy --overwrite-conf mon create-initial

[ceph_deploy.mon][ERROR ] RuntimeError: config file /etc/ceph/ceph.conf exists with different content; use --overwrite-conf to overwrite
[ceph_deploy][ERROR ] GenericError: Failed to create 3 monitors
原因:修改了ceph用户里的ceph.conf文件内容,但是没有把这个文件里的最新消息发送给其他节点,所有要推送消息
解决:ceph-deploy --overwrite-conf config push node1-4
或ceph-deploy --overwrite-conf mon create node1-4

ceph-deploy osd prepare controller:/dev/sdb1 compute:/dev/sdb1 storage:/dev/sdc1
ceph-deploy osd activate controller:/dev/sdb1 compute:/dev/sdb1 storage:/dev/sdc1
ceph-deploy admin dlp controller compute storage
sudo chmod 644 /etc/ceph/ceph.client.admin.keyring(在其他节点上)

[root@controller old]# ceph -s
cluster 8e03f0d7-06cb-49c6-b0fa-b9764e85e61a
health HEALTH_OK
monmap e1: 3 mons at {compute=192.168.253.194:6789/0,controller=192.168.253.135:6789/0,storage=192.168.253.15:6789/0}
election epoch 6, quorum 0,1,2 storage,controller,compute
osdmap e14: 3 osds: 3 up, 3 in
flags sortbitwise,require_jewel_osds
pgmap v2230: 64 pgs, 1 pools, 0 bytes data, 0 objects
24995 MB used, 27186 MB / 52182 MB avail
64 active+clean

三、rbd块设备设置
创建rbd:rbd create disk01 --size 10G --image-feature layering 删除:rbd rm disk01列示rbd:rbd ls -l[cent@dlp ceph]$ rbd create disk01 --size 10G --image-feature layering
[cent@dlp ceph]$ rbd ls -l
NAME SIZE PARENT FMT PROT LOCK
disk01 10240M 2
映射rbd的image map:sudo rbd map disk01 取消映射:sudo rbd unmap disk01[root@controller ~]# rbd map disk01 #在root目录下这么些,其他目录下要加sudo在前面/dev/rbd0
将rbd0成功映射到了/dev/目录下,但是lsblk并无法查看到/dev/rbd0,这是因为还没有格式化和挂载。
显示map:rbd showmapped格式化disk01文件系统xfs:sudo mkfs.xfs /dev/rbd0
[root@controller ~]# mkfs.xfs /dev/rbd0
meta-data=/dev/rbd0 isize=512 agcount=17, agsize=162816 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=1024 swidth=1024 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

挂载硬盘:sudo mount /dev/rbd0 /mnt
[root@controller ~]# mount /dev/rbd0 /mnt
[root@controller ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 20G 0 part /var/lib/ceph/osd/ceph-0
sdc 8:32 0 10G 0 disk
└─sdc1 8:33 0 10G 0 part /var/lib/ceph/osd/ceph-3
sr0 11:0 1 4.2G 0 rom /mnt
rbd0 252:0 0 10G 0 disk /mnt

验证是否挂着成功:df -hTsystemctl stop ceph-mds@node1ceph mds fail 0列示存储池 ceph osd lspools显示结果:0 rbd, ceph osd pool rm rdb --yes-i-really-really-mean-it四、删除环境:
清空集群信息
ceph-deploy purge dlp node1 node2 node3 controller
ceph-deploy purgedata dlp node1 node2 node3 controller ceph-deploy forgetkeys rm -rf ceph*ceph部署的更多相关文章
- Ceph部署(二)RGW搭建
背景 Ceph RGW简介 Ceph RGW基于librados,是为应用提供RESTful类型的对象存储接口.RGW提供两种类型的接口: 1) S3:兼容Amazon S3RESTful API: ...
- OpenStack Kilo版加CEPH部署手册
OpenStack Kilo版加CEPH部署手册 作者: yz联系方式: QQ: 949587200日期: 2015-7-13版本: Kilo 转载地址: http://mp.weixin.qq.co ...
- 自动化kolla-ansible部署ubuntu20.04+openstack-victoria之ceph部署-07
自动化kolla-ansible部署ubuntu20.04+openstack-victoria之ceph部署-07 欢迎加QQ群:1026880196 进行交流学习 近期我发现网上有人转载或者复制原 ...
- Ceph部署(一)集群搭建
背景 Ceph简介 Ceph是一个分布式存储,可以提供对象存储.块存储和文件存储,其中对象存储和块存储可以很好地和各大云平台集成.一个Ceph集群中有Monitor节点.MDS节点(可选,用于文件存储 ...
- ceph部署实践(mimic版本)
一.准备环境 4台adminos7.4 环境,存储节点上两块磁盘(sda操作系统,sdb数据盘) clientadmin storage1storage2storage3 二.配置环境 1.修改主机名 ...
- ceph部署手册
CentOS7.2部署Luminous版Ceph-12.2.0 在CentOS7.2上安装部署Luminous版Ceph-12.2.0.由于ceph的Luminous版本默认使用bluestore作为 ...
- [ ceph ] CEPH 部署完整版(CentOS 7 + luminous)
1. 前言 拜读了 胖哥的(el7+jewel)完整部署 受益匪浅,目前 CEPH 已经更新到 M 版本,配置方面或多或少都有了变动,本博文就做一个 ceph luminous 版本完整的配置安装. ...
- 分布式存储ceph部署(2)
一.部署准备: 准备5台机器(linux系统为centos7.6版本),当然也可以至少3台机器并充当部署节点和客户端,可以与ceph节点共用: 1台部署节点(配一块硬盘,运行ceph-depo ...
- ceph部署-集群建立
一.配置storage集群1.建立集群管理目录(管理配置文件,密钥)mkdir ceph-clustercd ceph-cluster/ 2.创建一个新集群(需要先将主机名加入/etc/hosts 必 ...
随机推荐
- Servlet-SrpingMVC 生成验证码
在SpringMVC中配置生成验证码: import org.springframework.stereotype.Controller; import org.springframework.web ...
- 转 java中5种创建对象的方法
作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如spring去创建对象.然而这里有很多创建对象的方法,我们会在这篇文章中学到. Java中有5种创建对象的方式,下面给出它们的 ...
- 关于PROFIBUS Master(H)不能正确识别并处理 DP-Slave 回复的RS帧的一些思考
图1.是在測试过程中,发现PROFIBUS Master(H)不能正确识别并处理 DP-Slave 回复的RS帧.引起Slave回复 RS 帧的操作是"断开Slave与Master之间的PR ...
- opencv中RGB转HSV
cvCvtColor(src,dst,CV_BGR2HSV); 当中,src为三通道的,dst也为三通道的. OPENCV 中 H.S.V.顺序分别为3*x+0 3*x+1 3*x+2 open ...
- ubuntu16.04安装flash player
ubuntu16.04安装flash player sudo apt-get install flashplugin-installer 1 2019: apt-get install browser ...
- Linux/Android多点触摸协议【转】
本文转载自: 链接点击打开链接 关于Linux多点触摸协议大家可以参考kernel中的文档:https://www.kernel.org/doc/Documentation/input/multi-t ...
- vim插件ctags的安装和使用【转】
本文转载自:http://blog.csdn.net/g_brightboy/article/details/16830395 [ctags功能]: 为源码的变量/对象.结构体/类.函数/接口.宏等产 ...
- There was a conflict between
解读,首先搜索到第一个5>的开头的那一行,确认是在编译哪一个项目. 那么后面的冲突,就是在和这个项目冲突. There was a conflict between "log4net, ...
- go语言笔记——是c开发的 lex yacc进行词法和语法分析,go不支持函数和运算符重载,不支持类型继承,也不支持断言,还有泛型
从 Go 1.0.3 版本开始,不再使用 8g,8l 之类的指令进行程序的构建,取而代之的是统一的 go build 和 go install 等命令,而这些指令会自动调用相关的编译器或链接器. 如果 ...
- StackExchange.Redis 使用资料
在StackExchange.Redis中最重要的对象是ConnectionMultiplexer类, 它存在于StackExchange.redis命名空间中.这个类隐藏了Redis服务的操作细节, ...