机器规划

IP 主机名 角色
10.101.0.1 ceph01 mon admin mds
10.101.0.2 ceph02 ods
10.101.0.3 ceph03 ods
10.101.0.4 ceph04 ods
10.101.0.5 client client(挂载点)

考虑到高可用性,生产集群应该至少有 3 个监视器。

在每台机添加hosts

10.101.0.1 ceph01
10.101.0.2 ceph02
10.101.0.3 ceph03
10.101.0.4 ceph04

关闭防火墙和SELINUX

每个节点上创建ceph用户并添加sudo权限

useradd ceph
echo "ceph ALL = (root) NOPASSWD:ALL" >/etc/sudoers.d/ceph
echo "Defaults:ceph |requiretty" >/etc/sudoers.d/ceph

在管理节点ceph01上生成ceph用户的ssh公钥并实现免密码登录其他主机

1.所有机器安装epel和ceph源

rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

rpm -ivh https://download.ceph.com/rpm-hammer/el6/noarch/ceph-release-1-1.el6.noarch.rpm

2.在管理节点上安装ceph-deploy(ceph01节点)

yum install -y ceph-deploy

3.在ceph集群安装

部署过程中有错误可以查看日志/var/log/ceph/

3.1切换到ceph用户执行(ceph01节点)

mkdir /home/ceph/ceph-cluster
cd /home/ceph/ceph-cluster 生成集群配置文件
ceph-deploy new ceph01 #上面的命令会生成3个文件
ceph.conf #集群配置文件,此配置可按需修改或不修改也行
ceph.log #日志文件
ceph.mon.keyring #keyring文件,集群验证用

3.2安装ceph(ceph01节点)

ceph-deploy install ceph01 ceph02 ceph03 ceph04 --repo-url=https://download.ceph.com/rpm-hammer/el6/
#此命令将会按顺序在3台机上安装ceph

3.3创建并初始化监控节点(ceph01)

ceph-deploy mon create-initial
#执行此命令后会初始化mon节点,ceph.conf文件中声明了mon节点等信息

3.4添加数据节点(ceph02,ceph03,ceph04)

挂载好要使用的磁盘
mount /dev/sdb1 /data/osd0(另外两个节点类似,不过是osd1,osd2。名称可自定义)

3.5

在管理节点初始化磁盘(ceph01)

ceph-deploy disk zap ceph01:sdb ceph02:sdb ceph03:sdb

在管理节点准备OSD(ceph01)

ceph-deploy osd prepare ceph01:/data/osd0 ceph02:/data/osd1 ceph03:/data/osd2

3.6激活OSD(ceph01)

ceph-deploy osd activate ceph01:/data/osd0 ceph02:/data/osd1 ceph03:/data/osd2

3.7分发配置和密钥
使用ceph-deploy命令将配置文件和管理密钥复制到管理节点和你的Ceph节点。

ceph-deploy admin ceph01 ceph02 ceph03

3.8查看集群状态

sudo ceph health #集群健康状态,返回OK状态
sudo ceph -s #
sudo ceph status #集群状态

4.安装、挂载cephfs

4.1创建mds(ceph01节点)

ceph-deploy mds create ceph04
#如果报如下错误
RuntimeError: config file /etc/ceph/ceph.conf exists with different content; use --overwrite-conf to overwrite
加上--overwrite-conf参数
ceph-deploy --overwrite-conf mds create ceph04 查看mds进程
netstat -tnlp | grep mds
tcp 172.16.100.5: 0.0.0.0:* LISTEN /ceph-mds

4.2创建pool(ceph01节点)

查看pool
ceph osd lspools
新创建的ceph集群默认只有rdb一个pool。这时我们需要创建新的pool 创建两个存储池。MDS需要使用两个pool,一个pool用来存储数据,一个pool用来存储元数据。 ceph osd pool create fs_data #这里的32指的是PG组
ceph osd pool create fs_metadata
查看pool
rados lspools

4.3创建Cephfs(ceph01节点)

ceph fs new cephfs fs_metadata fs_data
#查看
ceph fs ls
#查看MDS状态
  ceph mds stat

4.4在client节点挂载cephfs(client节点)

Client挂载方式有两种:内核kernal方式和fuse方式。(内核挂载方式需要2.6.34及其以后的版本才支持)

使用fuse方式挂载(注意:此方式读写效率很低)

安装ceph-fuse
yum install -y ceph-fuse 复制配置文件
将ceph配置文件ceph.conf从管理节点copy到client节点
scp ceph@ceph01:/etc/ceph/ceph.conf /etc/ceph/ 复制密钥
将ceph的ceph.client.admin.keyring从管理节点copy到client节点
scp ceph@ceph01:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ 查看ceph授权
ceph auth list 创建挂载目录
mkdir /cephfs 挂载到指定目录
将ceph挂载到/cephfs
ceph-fuse -m ceph01: /cephfs(可以挂在多个mon节点保证高可用,ip:6789,ip:6789)

5.rbd块设备映射

使用rbd块设备方式挂载(读写效率高),但需要加载rbd内核模块,2.6.34之前的版本都没有该模块,要把系统内核升级到2.6.34或者更新。

创建一个pool

ceph osd pool create press 

设置pool 的pgp_num

ceph osd pool set press pgp_num 

查看创建的pool

ceph osd lspools

创建一个100G 名为 image 镜像

rbd create -p press --size  image

查看镜像

rbd -p press info image

客户端块存储挂载:

rbd -p press map image
mkfs.xfs /dev/rbd0
mount /dev/rbd0 /mnt/rbd

卸载map镜像

umount /mnt/rbd
rbd unmap /dev/rbd0

参考文档:

http://www.cnblogs.com/keithtt/p/6410288.html

http://blog.csdn.net/yhao2014/article/details/51394815

https://www.cnblogs.com/jicki/p/5844592.html

CentOS 6.8安装Ceph的更多相关文章

  1. CentOS 7 x64 安装 Ceph

    CentOS 7  x64 安装 Ceph 二, 实验环境 节点            IP                 主机名                  系统 MON         1 ...

  2. [转帖]CentOS 7 x64 安装 Ceph

    CentOS 7 x64 安装 Ceph https://www.cnblogs.com/jicki/p/5801712.html 改天尝试一下. k8s 可以使用ceph 作为 pv和pvc的后端存 ...

  3. 基于CentOS 7.3 安装Ceph Jewel 10.2.9

    https://www.lijiawang.org/posts/intsall-ceph.html 配置说明: 采用了4台centos7.3系统的虚拟机,1台Ceph-Master作为安装节点,NTP ...

  4. CentOS 安装 ceph 单机版(luminous版本)

    一.环境准备 CentOS Linux release 7.4.1708 (Core)一台,4块磁盘(sda.sdb,.sdc.sdd) 192.168.27.130 nceph 二.配置环境 1.修 ...

  5. CentOS 安装 ceph 单机版

    简介 Ceph是一个分布式存储软件. 它支持用3种方式存储数据,分别是:对象存储.块设备存储.分布式文件系统存储. Ceph这个软件,分为3层,最底层是Rados对象存储系统.中间是一个librado ...

  6. centos 7.3 快速安装ceph

    Ceph的部署手册(Centos7.3)     Ceph简介 Ceph是一种为优秀的性能.可靠性和可扩展性而设计的统一的.分布式文件系统. 部署逻辑架构 准备3台主机,并且修改主机名(hostnam ...

  7. rexray在CentOS上不能创建ceph rbd的docker volume问题定位

    背景 我们通过docker的rexray插件来创建ceph rbd设备的docker volume,但总提示创建失败. # docker volume create --driver=rexray - ...

  8. 虚拟机使用ceph-deploy安装ceph

    参考: ceph官网介绍 使用ceph-deploy安装Ceph 12.x 安装虚拟机 首先安装虚拟机环境,虚拟机安装这里不做介绍,本实验使用的镜像为CentOS-7-x86_64-Everythin ...

  9. ceph 安装ceph问题汇总

    1.在不同节点安装ceph时,出现以下异常: 参考这里 ceph deploy RuntimeError: NoSectionError: No section: 'ceph' 解决方法: 在报错的机 ...

随机推荐

  1. webgis开发-开始向JS转向

    官方的一个blog Final Release and Support Plan for the ArcGIS APIs / Viewers for Flex and Silverlight 网址: ...

  2. 浅谈PVC塑料配方计算软件的设计

    1, 配方设计与配方计算 题目是配方计算,不是配方设计,设计是需要有深厚的塑料知识才可以做的,即生产什么塑料产品,需要放各种原料是什么,各自比较是多少,遇到什么情况下就要多放什么,少放什么.配方设计不 ...

  3. 关于使用ajax上传图片问题

    今天需要做一个上传图片的功能,由于框架里面没有带,上网搜了下.看到有spring mvc的图片上传,而且有例子,刚好是自己需要的,直接粘贴复制下.参考: http://blog.csdn.net/lu ...

  4. 通过游戏学敏捷:只通过Specification来传递需求

    转自:https://mp.weixin.qq.com/s/jAYbAMUTNYGh4RxGPAZ1AQ 活动把每个小组(4-5个人)中的2人留在屋子里,其他人到屋子外面等待.在屋子里的人,会得到一张 ...

  5. SVNKit学习——使用低级别的API(ISVNEditor接口)直接操作Repository的目录和文件(五)

      本文是参考官方文档的实现,官方wiki:https://wiki.svnkit.com/Committing_To_A_Repository 本文核心使用的是ISVNEditor这个接口直接对Re ...

  6. MVC Dropdownlist数据绑定 默认值

    @Html.DropDownList("Data", (SelectList)ViewBag.Data, new { @class = "form-control cho ...

  7. XISE菜刀V13.0 官网版 XISE菜刀VIP破解版 XISE官网

    诠释: 1. 破解VIP登陆限制 2.去后门 (自查) 下载地址 :https://pan.baidu.com/s/1eR2rUOM 查毒地址:http://a.virscan.org/a3983f3 ...

  8. AutoHotkey批量L版代码转H2的vim脚本

    原脚本尽量用表达式的语法写,错误会比较少,比如"If a=", "fun(a=1)"这种语法在V2会出错文件放vim的autoload目录下,可使用以下map使 ...

  9. 智能指针之auto_ptr和scoped_ptr

    部分参考地址https://blog.csdn.net/yanglingwell/article/details/56011576 auto_ptr是c++标准库里的智能指针,但是具有以下几个明显的缺 ...

  10. 浅谈jquery之on()绑定事件和off()解除绑定事件

    off()函数用于移除元素上绑定的一个或多个事件的事件处理函数. off()函数主要用于解除由on()函数绑定的事件处理函数. 该函数属于jQuery对象(实例). 语法 jQuery 1.7 新增该 ...