ceph 部署单机集群
文章目录
- ceph-deploy部署集群
- ceph-deploy 部署单机
- ceph-deploy 创建osd
- ceph osd创建资源池
- ceph创建rbd块设备
- ceph创建fs文件系统
本文档主要参考ceph官方命令进行部署,使用的时侯ceph-deploy原生命令方式进行集群各个组件的创建,删除,后续会增加扩容相关的命令。
ceph-deploy部署集群
修改hosts文件,增加想要创建的集群节点名称和对应ip的映射关系
hosts文件可以加快域名解析,同时方便局域网用户来为服务器创建容易记住的名字(node1,node2,node3…)
vim /etc/hosts
增加如下ip到主机名称的映射关系:
10.192.55.95 node1 10.192.55.6 node2 10.192.55.100 node3
表示三结点的集群,同时需要将该文件拷贝到每个节点上
scp /etc/hosts 10.192.55.6:/etc
修改hostname ,即对应hosts文件中的域名,在进行节点通信的时候主机间能够进行映射
在每个ip上执行如右命令
hostname node1
,同时为了重启后生效应执行echo node1 >/etc/hostname
或者直接编辑文件vim /etc/sysconfig/network
,在其中增加HOSTNAME=node1
来保持重启后生效进入目录
/etc/ceph
,如果没有就创建一个。用来存储部署过程中产生的配置文件,各个组件的密钥,以及ceph-deploy日志其实这个目录并没有太多的限制,可以根据自己情况随意创建,但是我们项目目前默认的是以上文件夹
创建配置文件、cepm-mon的keyring以及ceph-deloy日志文件
ceph-deploy new node1 node2 node3
将以上产生的所有文件拷贝到每个节点,因为接下来创建mon的时候会ssh到每个节点进行keyring验证并部署mon
创建mon(集群的大脑即监控者moniter),一般在ip较小的节点先进行创建(3节点最多可以创建3个mon),方便mon选举,本例是我在node1节点创建mon
ceph-deploy mon create-initial
此时运行
ceph -s
可以看到此时集群其他节点还未更新,所以无法使用
ceph -s
命令查看ceph集群状态,因为缺少mon,客户端启动的相关密钥,类似于bootstrap.keyring,需要在各个节点进行密钥收集在其他非创建mon节点
/etc/ceph
目录下执行ceph-deploy gatherkeys node1
即可在其他节点上ceph -s
看到集群状态创建mgr(集群管理者maneger),为三个节点都创建mgr,只需在一个节点
/etc/ceph
目录下执行ceph-deploy mgr create node1 node2 node3
此时运行
ceph -s
可以看到
ceph-deploy 部署单机
单机部署和集群部署总体流程一样,只是把集群节点的多数目变为但数目即可
修改hosts文件,增加单机ip和节点名称的映射
vim /etc/hosts
增加node1 10.192.55.95
修改hostname
hostname node1
进入目录
cd /etc/ceph
,以下所有的ceph-deploy
命令都在该目录中执行创建配置文件
ceph-deploy new node1
创建mon
ceph-deploy mon create-initial
创建mgr
ceph-deploy mgr create node1
ceph-deploy 创建osd
以下命令适用于单机和集群
为osd创建分区并做xfs文件系统,存储元数据
ceph-deploy osd prepare node1:/dev/sdb
创建多个
ceph-deploy osd preapare node1:/dev/sdb node1:/dev/sdc node1:/dev/sdd
激活osd
ceph-deploy osd activate node1:/dev/sdb1 node1:/dev/sdc1 node1:/dev/sdd1
使用ceph osd tree
查看osd情况根据crush规则部署OSD
目前我们的集群如果不做crush规则的更改,则默认为3副本规则
创建bucket(这是一种类型,表现形式为树形的,它的级别可以理解为从世界存储中心到具体的磁盘osd的划分,默认类型包括root,data center,room,row,rack,host,osd),我们一般以设备为单位,所以选择的级别就设置为host
ceph osd crush add-bucket host1 host
这里我们要适配crush的3副本默认规则,所以host个数要设置大于三个
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nRfvlHLm-1575878199633)(C:\Users\zhanghuigui\AppData\Roaming\Typora\typora-user-images\1547174207805.png)]
将host移动到root下形成树形管理结构,最后crush规则才能在集群中生效
ceph osd crush move host1 root=default ceph osd crush move host2 root=default ceph osd crush move host3 root=default
将osd移动到host下
ceph osd crush add osd.0 1.00 host=host1 ceph osd crush add osd.1 1.00 host=host2 ceph osd crush add osd.2 1.00 host=host3
ceph osd创建资源池
创建的资源池需要设置PG 以及PGP数目
ceph osd pool create pool_name 128 128
查看创建结果ceph -s
查看具体pool的详细信息
ceph osd pool ls detail
删除资源池
ceph osd pool rm data data --yes-i-really-really-mean-it
ceph创建rbd块设备
创建前提是需要拥有pool资源池
创建rbd块设备
rbd create rbd_test -p data --size 1T
在资源池data中创建一个名字叫做rbd_test
的1T块设备查看创建结果
rbd ls -p data
查看具体块设备信息
rbd info rbd_test -p data
或者rbd info data/rbd_test
禁用rbd的特性,否则会需要做一些密钥验证无法创建映射
rbd feature disable data/rbd_test object-map fast-diff deep-flatten exclusive-lock
创建rbd映射
rbd map rbd_test -p data
查看映射结果
lsblk
解除rbd映射
rbd unmap /dev/rbd0
删除rbd 块
rbd rm rbd_test -p data
ceph创建fs文件系统
创建mds,进入node1的
/etc/ceph
ceph-deploy mds create node1
创建元数据资源池
ceph osd pool create meta_data 128 128
创建文件系统
ceph fs new cephfs meta_data data
相关文章:

hdu-4302-Holedox Eating-线段树-单点更新,有策略的单点查询
一開始实在是不知道怎么做,后来经过指导,猛然发现,仅仅须要记录某个区间内是否有值就可以。 flag[i]:代表i区间内,共同拥有的蛋糕数量。 放置蛋糕的时候非常好操作,单点更新。 ip:老鼠当前的位置 寻找吃哪一…

华南理工计算机基础知识题,华南理工_计算机应用基础_随堂练习答案(2017年)
华南理工_计算机应用基础_随堂练习答案(2017年) (18页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!19.9 积分. . . .华南理工-计算机应用基础-随堂练习答案(2017年)第一章 计算机基础知…

python 添加进度条
安装: pip install tqdm使用: from tqdm import tqdm import time for i in tqdm(rang(10)):time.sleep(0.1)转载于:https://www.cnblogs.com/royfans/p/10271496.html

ceph osd 相关命令
混合osd的部署 先部署所有的ssd 在/etc/ceph.conf中最后添加ssd做osd的block大小如下: 比如部署中有两个ssd,则添加 [osd.0] bluestore_block_size xxxx [osd.1] bluestore_block_size xxx 如上的size大小计算如下,如ssd容量为800G&#x…

一万年太久,只争朝夕
好久没有写了,很多东西都已经忘记,不是因为别的,仅仅是觉得经历太多,没有地方装载那么多,想想以前的愿望,想过要当作家、想过要开个小店,但是看看现在,一切都变得遥不可及࿰…

上海职称英语和计算机考试时间,上海职称英语考试时间
上海2015年职称英语考试时间为12月25日到2015年1月15日,报名网站为:上海职业能力考试院。2015年如何短时间攻破职称英语考试关键点一:调整好备考心态,树立信心,切记懂乱、随便放弃总的来说,职称英语考生以中…

Caliburn.Micro 资源随时添加
Caliburn.Micro – Hello World http://buksbaum.us/2010/08/01/caliburn-micro-hello-world/ http://blog.csdn.net/xbgzs2010/article/details/18447625 转载于:https://www.cnblogs.com/ifendou/p/3870256.html

ros-kinetic install error: sudo rosdep init ImportError: No module named 'rosdep2'
refer to: https://blog.csdn.net/yueyueniaolzp/article/details/85070093 方法一 将Ubuntu默认python版本设置为2.7方法二 终端输入命令sudo apt-get install python3-rosdep转载于:https://www.cnblogs.com/xbit/p/10275218.html

Android:项目关联Library
为什么80%的码农都做不了架构师?>>> 近日,在做一个人人的第三方小项目。打算直接使用renren 的sdk 进行开发。因为renren的sdk是以android library project 形式发布的(关于这种project的内容可以参考android library project&…

winxp运行html代码,关于WinXP系统实现自动化运行的操作技巧
关于WinXP系统实现自动化运行的操作技巧发布时间:2014-06-16 10:00:29 作者:佚名 我要评论与其他系统相比,WinXP系统的自动化运行已经大大改进,根据经验为大家总结了一份关于实现自动化运行的操作技巧,希望对大家…

ACM1881 01背包问题应用
01背包问题动态规划应用 acm1881毕业bg 将必须离开的时间限制看作背包容量,先将他们由小到大排序,然后在排完序的数组中对每个实例都从它的时间限制开始(背包容量)到它的延长时间进行遍历; 1 #include<iostream>2 #include&…

解决MVC返回Json中日期格式问题
问题:MVC中使用控制器返回JsonResult,如果带有日期字段的对象,浏览器接收到的json中会变成形如/Date(123123123)/格式。如何在easyui等中直接使用是个麻烦事。 解决方法:从源头开始。既然Controller控制器的Json()方法会自动转化&…
eclipse 出现user operation is waiting
project->properties->Builders 将带有 validator的选项全部去掉,然后保存一切就ok了。 转载于:https://www.cnblogs.com/fengnan/p/10276162.html

SHELL 技能树(持续更新)
相关xmind的原始文件已上传至mind-Mapping github,如有需要可自行下载,欢迎批评指正。 关于分布式存储的整体技能的学习历程 可以参考,分布式存储技能图谱

计算机网络 关于网速,关于电脑网速慢的说明
近期接到一些老师反馈,现在上网网速不如以前体验效果好。现就此反馈做一下说明,网速感觉慢是有多方面的原因的,和每个人的电脑环境有很大关系,比如有些终端上装有360、电脑管家之类的流氓程序的话,对终端的影响就很大&…

7月份没啥写的。。。
一整个月没啥写的,代表我啥也没学会啊。。。 没进步啊。。。 光听盗墓笔记的有声小说了。。。 我不对啊。。。我有罪。。。 我不好。。。我检讨。。。 赶紧听完,努力起来吧。。。 |||转载于:https://www.cnblogs.com/hydor/p/3873699.html

输入空格hdu - 1010 - Tempter of the Bone
时间紧张,先记一笔,后续优化与完善。 题意:一个N*M的地图,走过的点不能再走,X为墙弗成走,能否从点S到点D恰好用时T。(1 < N, M < 7; 0 < T < 50) 标题链接:h…

vue通信、传值
一、通过路由带参数进行传值 ①两个组件 A和B,A组件通过query把orderId传递给B组件(触发事件可以是点击事件、钩子函数等)this.$router.push({ path: /conponentsB, query: { orderId: 123 } }) // 跳转到B②在B组件中获取A组件传递过来的参数this.$rout…

C++ 技能树(持续更新)
相关xmind的原始文件已上传至mind-Mapping github,如有需要可自行下载,欢迎批评指正 关于分布式存储的整体技能的学习历程 可以参考分布式存储技能图谱,仅为个人的技能学习框架

(转)小小的研究了一下linux下的”注册表“ gconf-editor
最近学习linux,刚上手gedit,首先要解决的一定是编码的问题,总结一下方法,思路有下: 一.用图形化界面设置的方法 运行gconf-editor,在弹出的对话框中选择:/apps/gedit-2/preferences/encodings/a…

计算机技术在石油中的应用,计算机技术在石油工程中的应用.doc
1.1计算机技术在石油工程领域中的应用1.计算机模拟技术在钻探上的应用首先,石油钻井工程是一项高投入、高风险的地下隐蔽工程,其地下情况的模糊性和不确定性,给钻井作业带来了极大风险,影响着勘探效益。因此,准确地预测…

概率链接nbu 2416 奇怪的散步
题记:写这篇博客要主是加深自己对概率链接的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢。 标题链接:http://acm.nbu.edu.cn/v1.0/Problems/Problem.php?pid2416 标题粗心: 有一个色子ÿ…

Spring AOP无法拦截内部方法调用-- expose-proxy=true用法
假设一个接口里面有两个方法: package demo.long;public interface CustomerService { public void doSomething1(); public void doSomething2(); } 接口实现类如下: package demo.long.impl;import demo.long.CustomerService; public class Custo…

HDD工作原理 导图
以上导图介绍了我们使用的 (HDD)机械硬盘的基本构造以及核心工作原理,对于大家扫盲有所帮助 参考文档: https://blog.csdn.net/yizhaoxin/article/details/53615740

计算机专业口号16字,计算机专业16口号
计算机专业,我们学校要弄运动会,求霸气口号计算机系齐心协力!! 力争上游!! 永不言弃!! 心系X班,合作无间,力斩群敌,舍我其谁 . 凌云赛场,斗志昂扬.文韬武略,笑傲群芳.利剑出鞘,倒海翻江 友谊第一、比赛第二 赛出风格、…
检测实现OpenCV2.4.4实现Shi-Tomasi角点检测(goodFeaturesToTrack)
最近研究检测实现,稍微总结一下,以后继续补充: #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #include <iostream> #include <stdio.h> #include <stdlib.h>using…

autoLayout
第一次使用自动布局,记录下来,或许以后用第三方用不到这个,但是第一次接触VFL语言。 一个按钮,不论横竖屏,都要在屏幕底部。 UIView *bottomV [[UIView alloc]init]; bottomV.backgroundColor [UIColor whiteColor];[bottomV se…

复制图片的一部分
// 复制图片的一部分 procedure TForm1.Button1Click(Sender: TObject);var Bitmap: TBitmap; MyRect: TRect;begin MyRect : Rect(10,10,100,100);//定义复制范围 Bitmap : TBitmap.Create; //生成Bitmap对象 Bitmap.LoadFromFile(1.bmp); Form1.Canvas.BrushCopy(MyRec…