文档章节

手动搭建ceph集群

文一子小
 文一子小
发布于 2017/09/01 15:26
字数 775
阅读 13
收藏 0

手动部署ceph过程

  • 环境:CentOS7 1611
  • 节点数:1mon,1osd

以下步骤均在root用户下进行


更改主机名

nmtui

重启终端

hostnamectl

修改hosts文件

172.30.143.3  cephmon
172.30.46.6   cephn1

获取软件

1)删除默认的源,国外的比较慢

# yum clean all
# rm -rf /etc/yum.repos.d/*.repo

2)下载阿里云的Base源

# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3)下载阿里云的epel源

# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

4)修改里面的系统版本为7.3.1611,当前用的CentOS的版本的yum源可能已经清空了

# sed -i '/aliyuncs/d' /etc/yum.repos.d/CentOS-Base.repo
# sed -i '/aliyuncs/d' /etc/yum.repos.d/epel.repo
# sed -i 's/$releasever/7.3.1611/g' /etc/yum.repos.d/CentOS-Base.repo

5)添加ceph源

vim /etc/yum.repos.d/ceph.repo
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/x86_64/
gpgcheck=0
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/noarch/
gpgcheck=0

6)进行yum的makecache

yum makecache

7)安装软件

yum install ceph

关闭防火墙和SELinux

1)关闭防火墙

# systemctl stop firewalld.service

2)关闭自启

# systemctl disable firewalld.service

3)打开配置文件/etc/sysconf/selinux

# vim /etc/sysconfig/selinux

4)修改

# SELINUX=enforcing改为disabled

5)保存然后退出

# setenforce 0

6)查看selinux状态

# getenforce

Mon节点免密登录OSD

# ssh-keygen
# ssh-copy-id ceph-n1
# ssh-copy-id ceph-mon

配置mon,参考官方文档

1)确保保存Ceph配置文件的目录存在,Ceph默认使用/etc/ceph。安装ceph软件时,安装器也会自动创建/etc/ceph目录。

2)创建Ceph配置文件,ceph默认使用ceph.conf

# vim /etc/ceph/ceph.conf

3)给集群分配唯一ID(fsid)

# uuidgen

4)把此ID写入Ceph配置文件

# fsid = 7ada51e0-819e-437d-8567-88d72af64847

5)把初始监视器写入ceph配置文件

# mon initial members = cephmon

6)把初始监视器的IP地址写入ceph配置文件,并保存。

# mon host = 192.168.1.55

7)为此集群创建密钥环,并生成监视器密钥。

# ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'

8)生成管理员密钥环,生成client.admin用户并加入密钥环。

# ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --set-uid=0 --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow'

9)把alient.admin密钥加入ceph.mon.keyring。

# ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring

10)用规划好的主机名,对应IP地址,和FSID生成一个监视器图,并保存为/tmp/monmap。

# monmaptool --create --add ceph-mon 192.168.1.55 --fsid 7ada51e0-819e-437d-8567-88d72af64847 /tmp/monmap

11)在监视器主机上分别创建数据目录。

# mkdir /var/lib/ceph/mon/ceph-cephmon

12)用监视器图和密钥环组装守护进程所需的初始数据。

# ceph-mon --mkfs -i ceph-mon --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring

13)ceph公共配置文件如下

fsid = 7ada51e0-819e-437d-8567-88d72af64847
mon initial members = cephmon
mon host = 192.168.1.55
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
osd pool default size = 1

14)创建一个空文件done,表示监视器已经创建、可以启动了:

# touch /var/lib/ceph/mon/ceph-mon/done

15)启动监视器

# ceph-mon --id ceph-mon

手动配置OSD(精简型)

1)准备OSD

# ssh {node-name}
# sudo ceph-disk prepare --cluster {cluster-name} --cluster-uuid {uuid} --fs-type {ext4|xfs|btrfs} {data-path} [{journal-path}]

例如

# ssh cephn1
# sudo ceph-disk prepare --cluster ceph --cluster-uuid a7f64266-0894-4f1e-a635-d0aeaca0e993 --fs-type ext4 /dev/hdd1

2)激活OSD

# ceph-disk activate {data-path} [--activate-key {path}]

例如

# ceph-disk activate /dev/hdd1

注意:如果启动失败可以选择该启动命令

# ceph-osd --id 0

© 著作权归作者所有

共有 人打赏支持
文一子小
粉丝 0
博文 1
码字总数 775
作品 0
郑州
运维
docker使用rexray基于ceph做共享存储

docker使用rexray基于ceph做共享存储 背景   Docker Swarm使得分布式、集群的搭建部署速度提升了指数级别,原本的部署方式可能要用一天的时间,改用docker部署后可以减少到十分钟以内。  ...

anddyson
05/16
0
0
cephfs文件系统环境搭建介绍

cephfs文件系统环境搭建介绍 一、cephfs简介。 cephfs是一个基于ceph集群且兼容POSIX标准的文件系统。创建cephfs文件系统时需要在ceph集群中添加mds服务,该服务负责处理POSIX文件系统中的m...

linuxhunter
2015/12/11
809
0
ceph jewel手动编译安装的一些优化

一、手动安装ceph。 根据http://my.oschina.net/linuxhunter/blog/682013,手动安装jewel版本ceph到硬件服务器。 二、测试ceph集群的方法。 使用ceph自带的rados bench命令简单测试手动搭建c...

linuxhunter
2016/06/02
856
0
Openstack之Ceph集群操作

Oepnstack之CEPH系列是根据Ceph Cookbook整理的笔记,分为以下几个部分: 1. 《Ceph简介》 2. 《Ceph集群操作》 3. 《Ceph块设备管理与Openstack配置》 4. 《深入Ceph》 5. 《ceph优化与性能...

hiubuntu
2016/12/01
0
0
ceph 手动添加 2个 Mon

@oscfox 你好,想跟你请教个问题: 我手动搭建一个集群,现在只有一个MON,想要在添加两个Mon 官方文档的ceph auth get mon. -o /data/ceph-node2/ceph.mon.keyring mon. find发现不到 ,而且前...

coding_java
2015/02/11
2.5K
3

没有更多内容

加载失败,请刷新页面

加载更多

下一页

获取多个集合列表的笛卡尔积

获取多个集合笛卡尔积 电商中典型业务场景:商品搜索 单属性属性值之间为并查询 不同属性的属性值之间查询为与查询 import java.util.ArrayList;import java.util.List;/** * Created w...

键走偏锋
23分钟前
0
0
echarts 迁移地图 控制鼠标缩放大小比例

在网上找了好久没有找到解决方式,还是重新看了一下文档,终于找到的解决方案, zoom:1, //默认显示级别 scaleLimit:{min:1,max:3}, // 缩放级别 echarts 文档-配置项链接 http://echarts.b...

心驰
26分钟前
0
0
Boot2Docker ISO is out-of-date,

Boot2Docker ISO is out-of-date, downloading the latest release. 使用docker-machine时无法更新Boot2Docker ISO导致创建vm machine失败 解决方法:关闭网络,创建好之后再开启...

writeademo
35分钟前
0
0
在 Tomcat 中设置 Tapestry 框架的 html 热加载

如果开发中使用到了 Tapestry 这个框架,如果事先没有设置过的话,开发的时候 html 是不会热加载的,也就是说修改了 html 文件,不能刷新浏览器后立马看到修改完的效果,必须先重新启动应用服...

LeoXu
56分钟前
0
0
【微服务】开启巨石应用到微服务的探索

背景 在过去的一年时间里,我一直在从事一件事情,将现有的单体应用(巨石应用)向微服务改造。 接下来,将持续整理一些在微服务路上的学习与成长。 为什么要做微服务 单体应用,开发、部署简...

艳沐石
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部