Ceph 安装
时间:2019-07-04
本文章向大家介绍Ceph 安装,主要包括Ceph 安装使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Ceph部署架构
三台主机,操作系统均为Centos:
- node1:192.168.122.157 ceph-deploy mon osd
- node2:192.168.122.58 mon osd
- node3:192.168.122.54 mon osd
Ceph版本 mimic
准备工作
1)关闭防火墙,关闭selinux
systemctl stop firewalld
systemctl disable firewalld
//也可以不关闭防火墙,开放对应端口,Ceph Monitors之间默认使用 **6789** 端口通信, OSD之间默认用 **6800:7300**这个范围内的端口通信
vim /etc/selinux/config
SELINUX=disabled
然后重启 reboot
2)修改hosts
vim /etc/hosts
192.168.122.157 node1
192.168.122.58 node2
192.168.122.54 node3
3)免密登录(如下示例)
[root@node1 ~]#ssh-keygen
[root@node1 ~]#ssh-copy-id -i .ssh/id_rsa.pub node2 //首次需要输入密码
4)安装ntp服务,然后同步时间
[root@node1 ~]# yum install ntpd -y
[root@node1 ~]# systemctl start ntpd
[root@node1 ~]# systemctl enable ntpd
node2、node3节点同步node1的时间
配置计划任务
[root@node2 ~]#crontab -e
*/5 * * * * ntpdate 192.168.122.157
开始部署
1)node1安装ceph-deploy
[root@node1 ~]# yum install ceph-deploy -y
2)添加Ceph源
[root@node1 ~]#export CEPH_DEPLOY_REPO_URL=http://mirrors.163.com/ceph/rpm-mimic/el7/ //使用国内的源速度会快一些
[root@node1 ~]#export CEPH_DEPLOY_GPG_URL=http://mirrors.163.com/ceph/keys/release.asc
[root@node1 ~]# vim /etc/yum.repos.d/ceph.repo
[ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.163.com/ceph/rpm-mimic/el7/noarch
enable=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
3)创建一个集群
[root@node1 ~]# cd /opt
[root@node1 opt]# mkdir cluster && cd cluster
[root@node1 cluster]# ceph-deploy new node1 node2 node3
4)安装Ceph
[root@node1 cluster]# ceph-deploy install --release mimic node1 node2 node3
5)创建monitor、配置admin key到各个节点
[root@node1 cluster]# ceph-deploy mon create-initial //完成后,在当前目录下会生成密钥
[root@node1 cluster]# ls
ceph.bootstrap-mds.keyring ceph.bootstrap-rgw.keyring ceph-deploy-ceph.log
ceph.bootstrap-mgr.keyring ceph.client.admin.keyring ceph.log
ceph.bootstrap-osd.keyring ceph.conf ceph.mon.keyring
[root@node1 cluster]# ceph-deploy admin node1 node2 node3 //配置admin key 到各个节点
6)添加OSD
[root@node1 cluster]# ceph-deploy osd create node1 --data /dev/vdb
[root@node1 cluster]# ceph-deploy osd create node1 --data /dev/vdc
//依次添加,默认第一个分区为数据分区,第二个分区为日志分区
7)在node2、node3上添加monitor
[root@node1 cluster]# ceph-deploy mon add node2
[root@node1 cluster]# ceph-deploy mon add node3
8)添加管理进程服务
//查看集群状态
[root@node1 cluster]# ceph status
cluster:
id: 4e1947bd-23ae-4828-ba5d-0e09779ced22
health: HEALTH_WARN
no active mgr
clock skew detected on mon.node2, mon.node1
services:
mon: 3 daemons, quorum node3,node2,node1
mgr: no daemons active
osd: 6 osds: 6 up, 6 in
data:
pools: 0 pools, 0 pgs
objects: 0 objects, 0 B
usage: 0 B used, 0 B / 0 B avail
pgs:
//有告警no active mgr,安装下管理进程
[root@node1 cluster]# ceph-deploy mgr create node1
//再次查看集群
[root@node1 cluster]# ceph -s
cluster:
id: 4e1947bd-23ae-4828-ba5d-0e09779ced22
health: HEALTH_OK
services:
mon: 3 daemons, quorum node3,node2,node1
mgr: node1(active)
osd: 6 osds: 6 up, 6 in
data:
pools: 0 pools, 0 pgs
objects: 0 objects, 0 B
usage: 6.0 GiB used, 54 GiB / 60 GiB avail
pgs:
致此,ceph的部署基本完成。
原文地址:https://www.cnblogs.com/luckyleaf/p/11135476.html
- 一个“爆款”成功的API,都离不开这8条设计准则
- RavenDb学习(八)高级特性上半部分
- 微信钱包中58到家首页为什么这么快
- hbase源码系列(二)HTable 探秘
- hbase源码系列(三)Client如何找到正确的Region Server
- hbase源码系列(五)Trie单词查找树
- 如何在特定的渗透测试中使用正确的Burp扩展插件
- hbase源码系列(十一)Put、Delete在服务端是如何处理?
- 大数据如何帮飞机节油?
- hbase源码系列(十二)Get、Scan在服务端是如何处理?
- OpenStack:建立虚拟的渗透测试实验环境 – 网络篇
- Kettle 添加对应hadoop版本的支持
- Layui常用方法
- 使用Identity Server 4建立Authorization Server (4)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- FPGA设计心得(12)如何正确使用 in_system_ibert ?
- Java面试高频知识点汇总 垃圾回收(GC)机制专题
- Celery-分布式任务队列学习笔记
- Java面试高频知识点汇总 数据库专题
- Java面试高频知识点总结 Redis
- Java面试高频知识点总结 Spring
- 杂谈小程序
- pytest封神之路第四步 内置和自定义marker
- (译)SDL编程入门(3)事件驱动编程
- 一个简单的Angular search UI实现
- (译)SDL编程入门(2)在屏幕上显示图像
- 【Vue进阶】手把手教你在 Vue 中使用 JSX
- (译)SDL编程入门(1)Hello SDL
- Django使用Channels实现websocket
- (译)SDL编程入门(6)扩展库SDL_image