文档章节

手动搭建ceph集群

文一子小
 文一子小
发布于 2017/09/01 15:26
字数 775
阅读 21
收藏 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.8K
3

没有更多内容

加载失败,请刷新页面

加载更多

java框架学习日志-7(静态代理和JDK代理)

静态代理 我们平时去餐厅吃饭,不是直接告诉厨师做什么菜的,而是先告诉服务员点什么菜,然后由服务员传到给厨师,相当于服务员是厨师的代理,我们通过代理让厨师炒菜,这就是代理模式。代理...

白话
今天
13
0
Flink Window

1.Flink窗口 Window Assigner分配器。 窗口可以是时间驱动的(Time Window,例如:每30秒钟),也可以是数据驱动的(Count Window,例如:每一百个元素)。 一种经典的窗口分类可以分成: 翻...

满小茂
今天
5
0
my.ini

1

architect刘源源
今天
9
0
docker dns

There is a opensource application that solves this issue, it's called DNS Proxy Server It's a DNS server that solves containers hostnames, if could not found a hostname that mat......

kut
今天
8
0
寻找数学的广度——《这才是数学》读书笔记2700字

寻找数学的广度——《这才是数学》读书笔记2700字: 文|程哲。数学学习方式之广:国内外数学教育方面的专家,进行了很多种不同的数学学习方式尝试,如数学绘本、数学游戏、数学实验、数学步道...

原创小博客
今天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部