所有 Ceph 部署都始于 Ceph 存储集群。一个 Ceph 集群可以包含数千个存储节点,最简系统至少需要一个监视器和两个 OSD 才能做到数据复制。Ceph 文件系统、 Ceph 对象存储、和 Ceph 块设备从 Ceph 存储集群读出和写入数据。

Ceph架构图

1、集群配置

节点 IP 功能
ceph01 172.16.100.5 deploy,mon,osd*2,mds
ceph02 172.16.100.6 mon,osd*2
ceph03 172.16.100.7 mon,osd*2

2、系统版本

#cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

3、三个节点分别额外挂载两块20G磁盘

#lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 476M 0 part /boot
└─sda2 8:2 0 19.5G 0 part /
sdb 8:16 0 20G 0 disk
sdc 8:32 0 23G 0 disk
sr0 11:0 1 1024M 0 rom

4、关闭防火墙

#vim /etc/selinux/config
disabled
#setenforce 0
#systemctl stop firewalld
#systemctl disable firewalld

5、添加hosts

#vim /etc/hosts
172.16.100.5 ceph01
172.16.100.6 ceph02
172.16.100.7 ceph03

6、配置SSH免密登陆

#ssh-keygen
#ssh-copy-id ceph01
#ssh-copy-id ceph02
#ssh-copy-id ceph03

7、校对时间

#yum install -y ntp ntpdate
#ntpdate pool.ntp.org

8、添加yum源

#vim /etc/yum.repos.d/ceph.repo
[ceph]
name=Ceph packages for $basearch
baseurl=http://download.ceph.com/rpm-jewel/el7/$basearch
enabled=1
priority=2
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc [ceph-noarch]
name=Ceph noarch packages
baseurl=http://download.ceph.com/rpm-jewel/el7/noarch
enabled=1
priority=2
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc [ceph-source]
name=Ceph source packages
baseurl=http://download.ceph.com/rpm-jewel/el7/SRPMS
enabled=0
priority=2
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

8、导入密钥

#rpm --import 'https://download.ceph.com/keys/release.asc'

9、安装ceph客户端

#yum install -y ceph ceph-radosgw rdate

10、安装 ceph-deploy

#yum update -y
#yum install -y ceph-deploy

11、创建集群

#mkdir -pv /opt/cluster
#cd /opt/cluster
#ceph-deploy new ceph01 ceph02 ceph03
#ls
ceph.conf ceph-deploy-ceph.log ceph.mon.keyring

12、修改配置文件,添加public_network,并稍微增大mon之间时差允许范围(默认为0.05s,现改为2s)

#vim ceph.conf
[global]
fsid = 79aa9d8d-65e4-4a9d-84c4-50dbd3db337e
mon_initial_members = ceph01, ceph02
mon_host = 192.168.135.163,192.168.135.164
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
public_network = 172.16.100.0/24
mon_clock_drift_allowed = 2

13、部署MON

#ceph-deploy mon create-initial
#ceph -s
cluster 6fb69a7a-647a-4cb6-89ad-583729eb0406
health HEALTH_ERR
no osds
monmap e1: 3 mons at {ceph01=172.16.100.5:6789/0,ceph02=172.16.100.6:6789/0,ceph03=172.16.100.7:6789/0}
election epoch 8, quorum 0,1,2 ceph01,ceph02,ceph03
osdmap e1: 0 osds: 0 up, 0 in
flags sortbitwise,require_jewel_osds
pgmap v2: 64 pgs, 1 pools, 0 bytes data, 0 objects
0 kB used, 0 kB / 0 kB avail
64 creating

14、部署OSD

#ceph-deploy disk zap ceph01:sdb ceph01:sdc
#ceph-deploy disk zap ceph02:sdb ceph02:sdc
#ceph-deploy disk zap ceph03:sdb ceph03:sdc
#ceph-deploy osd prepare ceph01:sdb:sdc
#ceph-deploy osd prepare ceph02:sdb:sdc
#ceph-deploy osd prepare ceph03:sdb:sdc
#ceph-deploy osd activate ceph01:sdb1:sdc1
#ceph-deploy osd activate ceph02:sdb1:sdc1
#ceph-deploy osd activate ceph03:sdb1:sdc1
#lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 476M 0 part /boot
└─sda2 8:2 0 19.5G 0 part /
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 20G 0 part /var/lib/ceph/osd/ceph-0
sdc 8:32 0 23G 0 disk
└─sdc1 8:33 0 5G 0 part
sr0 11:0 1 1024M 0 rom

15、再次查看集群状态,如果是active+clean状态就是正常的。

#ceph -s
cluster 6fb69a7a-647a-4cb6-89ad-583729eb0406
health HEALTH_OK
monmap e1: 3 mons at {ceph01=172.16.100.5:6789/0,ceph02=172.16.100.6:6789/0,ceph03=172.16.100.7:6789/0}
election epoch 8, quorum 0,1,2 ceph01,ceph02,ceph03
osdmap e15: 3 osds: 3 up, 3 in
flags sortbitwise,require_jewel_osds
pgmap v32: 64 pgs, 1 pools, 0 bytes data, 0 objects
101 MB used, 61305 MB / 61406 MB avail
64 active+clean

ceph集群安装的更多相关文章

  1. ubuntu ceph集群安装以及简单使用

    ubuntu ceph安装以及使用 1.安装环境 本文主要根据官方文档使用ubuntu14.04安装ceph集群,并且简单熟悉其基本操作.整个集群包括一个admin节点(admin node,主机名为 ...

  2. ubuntu 16.04安装ceph集群(双节点)

    Ceph是一个分布式存储,可以提供对象存储.块存储和文件存储,其中对象存储和块存储可以很好地和各大云平台集成.一个Ceph集群中有Monitor节点.MDS节点(可选,用于文件存储).至少两个OSD守 ...

  3. ubuntu 16.04快速安装ceph集群

    准备工作 假设集群: 选一台作管理机 注意: ceph集群引用hostname,而非ip. 172.17.4.16 test16 #hostname必须是test16 172.17.4.17 test ...

  4. 利用ansible书写playbook在华为云上批量配置管理工具自动化安装ceph集群

    首先在华为云上购买搭建ceph集群所需云主机: 然后购买ceph所需存储磁盘 将购买的磁盘挂载到用来搭建ceph的云主机上 在跳板机上安装ansible 查看ansible版本,检验ansible是否 ...

  5. Ubuntu 14.04 部署 CEPH集群

    注:下文的所有操作都在admin节点进行 1.准备三台虚拟机,其中一台作为admin节点,另外两台作为osd节点,并相应地用hostname命令将主机名修改为admin,osd0,osd1,最后修改/ ...

  6. 使用虚拟机CentOS7部署CEPH集群

    第1章   CEPH部署 1.1  简单介绍 Ceph的部署模式下主要包含以下几个类型的节点 Ø CephOSDs: A Ceph OSD 进程主要用来存储数据,处理数据的replication,恢复 ...

  7. ceph集群搭建

    CEPH 1.组成部分 1.1 monitor admin节点安装ceph-deploy工具 admin节点安装ceph-deploy 添加源信息 rm -f /etc/yum.repos.d/* w ...

  8. Ceph集群搭建及Kubernetes上实现动态存储(StorageClass)

    集群准备 ceph集群配置说明   节点名称 IP地址 配置 作用 ceph-moni-0 10.10.3.150 centos7.5 4C,16G,200Disk 管理节点,监视器 monitor ...

  9. CEPH集群操作入门--配置

      参考文档:CEPH官网集群操作文档   概述 Ceph存储集群是所有Ceph部署的基础. 基于RADOS,Ceph存储集群由两种类型的守护进程组成:Ceph OSD守护进程(OSD)将数据作为对象 ...

随机推荐

  1. IP查询接口1

    新浪的:http://counter.sina.com.cn/ip?ip=IP地址返回Js数据,感觉不是很精确,可以把问号后面的去掉,直接返回本机对应的IP所在地http://www.yodao.co ...

  2. C#表达式和语句

    表达式由操作数 (operand) 和运算符 (operator) 构成.表达式的运算符指示对操作数适用什么样的运算.运算符的示例包括+.-.*./ 和 new.操作数的示例包括文本.字段.局部变量和 ...

  3. BZOJ 4086: [Sdoi2015]travel(SDOI2015 round2 day1)(分类讨论+容斥原理)

    描述:给定一张图(n<1000,m<5000)求有多少点对u,v有不重复经过其他点,共经过k个点的路径.(k<=7) 这个做法应该不是正解吧..顺便说下SDOI的几道题在BZ上都要卡 ...

  4. java 构造器学习笔记

    构造器(构造器不是方法也不是类的成员) 以前创建对象的方式, public class Constructor{ public static void main(String[] args){ per ...

  5. 开源OSS.Social微信项目进阶介绍

    在开源OSS.Social微信项目解析的随笔中,我简单给大家分享了进行中微信项目的概要设计,主要在讲述解决思路和过程,没有详细实现和使用介绍.本着不能马虎的态度,这篇文章我来给大家分解一下项目结构,使 ...

  6. python爬虫利器Selenium使用详解

    简介: 用pyhon爬取动态页面时普通的urllib2无法实现,例如下面的京东首页,随着滚动条的下拉会加载新的内容,而urllib2就无法抓取这些内容,此时就需要今天的主角selenium. Sele ...

  7. JSP中三种弹出对话框的用法《转》

    对话框有三种 1:只是提醒,不能对脚本产生任何改变: 2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断 3: 一个带输入的对话框,可以返回用户填入的 ...

  8. Laravel的console使用方法

    适用场景:分析数据(日志) php artisan make:console 你的命令类名 示例: php artisan make:console Check 在\app\Console\Comma ...

  9. 《深入理解Java虚拟机》学习笔记之内存回收

    垃圾收集(Garbage Collection,GC)并不是Java语言的半生产物,事实上GC历史远比Java久远,真正使用内存动态分配和垃圾收集技术的语言是诞生于1960年的Lisp语言.经过半个世 ...

  10. 浅谈Java的集合体系

    集合体系框架图 集合接口 Java集合类库将接口(interface)与实现(implementation)分离,如上图,Set是一个集合接口,而HashSet与TreeSet都是实现了Set接口的子 ...