centos 7 下 Ceph 配置安装
一、环境介绍
系统:
CentOS Linux release 7.3.1611 (Core)
硬盘:
系统盘:300GB*2-raid 1
OSD:600GB*4-raid 5 ceph 数据副本 两份
网络:
public_network:10.6.32.0/24
cluster_network:10.6.33.0/24 (双网卡绑定,osd 内部数据同步使用)
防火前关闭:
# systemctl stop firewalld.service
# systemctl disable firewalld.service
Selinux 关闭:
# vim /etc/selinux/config
SELINUX=disabled (设置此选项为disabled)
设备规划:
5台 主机名:ceph1、ceph2……ceph5
修改主机名:
# vim /etc/hostname
ceph1 (修改localhost..... 为主机名 ceph1 到ceph5)
修改hosts:
# vim /etc/hosts

功能节点规划:
ceph1:ceph-deploy 、mon 、 mgr 、 osd,Ntp-server
ceph2 、ceph3 :mon 、 mgr 、 osd
ceph4 、ceph5:osd

添加 ssh 信任,以便于ceph-deploy 快速部署
生成key:
# ssh-keygen (保持默认即可)
# ssh-copy-id root@ceph{2,3,4,5} (下发证书到 其他4台设备)
二、部署 ceph-deploy 节点
配置时间服务器
使用chrony 时间服务器,时间同步可以达到 nm级别。
ceph1:
# vim /etc/chrony.conf

#添加同于同步时间的IP段
# systemctl restart chronyd.service
# chronyc sources
other ceph:
# vim /etc/chrony.conf

#设置时间服务器 ceph1 IP。
# systemctl restart chronyd.service
# chronyc sources

添加ceph 源:
# yum -y install epel-release
# rpm --import http://mirrors.163.com/ceph/keys/release.asc
# rpm -Uvh --replacepkgs http://mirrors.163.com/ceph/rpm-luminous/el7/noarch/ceph-release-1-1.el7.noarch.rpm
# cat /etc/yum.repos.d/ceph.repo

同步yum 源到其他设备
# for i in 21 22 23 24;do scp /etc/yum.repos.d/ceph.repo root@"10.6.32.$i":/etc/yum.repos.d/ceph.repo;done (后期再其他节点安装ceph 使用)
更新源和安装 ceph-deploy
# yum update
# yum install ceph-deploy
三、安装ceph ,创建集群
创建文件夹:
ceph-deploy 节点创建文件夹,用于存放集群文件。
# mkdir /root/my-ceph
生成集群文件
# cd /root/my-ceph
# ceph-deploy new ceph1 (会生成集群文件)

编辑集群文件:ceph.conf
# vim ceph.conf

添加一下配置:[osd.x] 配置 和 [mon] 配置可以再安装好ceph 和 mon 后再进行配置。
osd_pool_default_size = 2
osd_pool_default_min_size = 1
public_network = 10.6.32.0/24
cluster_network = 10.6.33.0.0/24 [osd.0]
cluster addr = 10.6.33.20
osd heartbeat address = 10.6.33.20
[osd.1]
cluster addr = 10.6.33.21
osd heartbeat address = 10.6.33.21
[osd.2]
cluster addr = 10.6.33.22
osd heartbeat address = 10.6.33.22
[osd.3]
cluster addr = 10.6.33.23
osd heartbeat address = 10.6.33.23
[osd.4]
cluster addr = 10.6.33.24
osd heartbeat address = 10.6.33.24 [mon]
mon allow pool delete = true
解释:
osd_pool_default_size 设置 数据副本数量
osd_pool_default_min_size 数据最小副本数
public_network 公共网络,用于mds,mon 等功能以及外部访问使用。
cluster_network 集群网络,用于内部osd 数据同步,恢复等。
cluster addr 每个osd 节点上定义 集群网络,多网卡下不定义,osd 可能无法启动
osd heartbeat address 定义osd 心跳地址
mon allow pool delete 定义是否允许在监控节点上删除 pool。
安装ceph
# ceph-deploy install --release luminous ceph{1,2,3,4,5} #但是这种方法很多时候由于 ceph-deploy 工具原因,不容易安装成功。并且还会修改 ceph 源配置文件。建议使用一下方法手动在每个节点安装。
手动在每个节点安装
# yum -y install epel-release 添加ceph 源
# 上述已同步 ceph 源,此处可以不做操作。 ( for i in 21 22 23 24;do scp /etc/yum.repos.d/ceph.repo root@"10.6.32.$i":/etc/yum.repos.d/ceph.repo;done )
# yum -y install ceph ceph-radosgw
安装 mon (ceph-deploy上操作)
# cd /root/my-ceph
# ceph-deploy mon create-initial
Ceph 存储集群需要至少一个 Monitor 才能运行。为达到高可用,典型的 Ceph 存储集群会运行多个Monitors,这样在单个 Monitor 失败时不会影响 Ceph 存储集群的可用性。集群中的 monitor数目 应该是奇数,最低要求有一个monitor节点,推荐有3个节点。
添加 ceph2 和ceph3 到 监控器集群
# ceph-deploy mon add ceph{2,3} #新增 Monitor 后,Ceph 会自动开始同步并形成法定人数。
# ceph quorum_status --format json-pretty 检查法定人数状态

# ceph-deploy mon destroy ceph4 从集群中删除 主机名为 ceph4 的 ceph mon 节点
# ceph -s 查看当前集群状态,在没有添加 osd 之前,正常应该为 HEALTH_OK 状态。

# ceph mon stat 查看mon 集群状态
同步集群文件
集群文件同步后,在执行 ceph 命令是就无需指定 monitor 地址和ceph.client.admin.keyring 了
# ceph-deploy admin ceph{1,2,3,4,5} #第一次执行使用,以后同步文件是需要使用如下:
#ceph-deploy --overwrite-conf admin ceph{1,2,3,4,5} 采用覆盖式同步。
# chmod +r /etc/ceph/ceph.client.admin.keyring 如果使用非root 账号管理 ceph 集群时,需要添加此权限。
添加 osd
查看节点上的可用磁盘
# ceph-deploy disk list ceph{1,2,3,4,5}
格式化可用磁盘
# ceph-deploy disk zap ceph1:sdb ceph2:sdb ceph3:sdb ceph4:sdb ceph5:sdb # sdb 路径为上一步操作看到的真实路径。
准备osd
# ceph-deploy osd prepare ceph1:sdb ceph2:sdb ceph3:sdb ceph4:sdb ceph5:sdb (在此处应该可以指定日志盘位置,不指定时,默认数据和日志存放在同一个盘下。)
激活osd
# ceph-deploy osd activate ceph1:sdb1 ceph2:sdb1 ceph3:sdb1 ceph4:sdb1 ceph5:sdb1 (也可以用 create 命令一次完成准备 OSD 、部署到 OSD 节点、并激活它。 create 命令是依次执行 prepare 和 activate 命令的捷径。
# ceph-deploy osd create ceph1:sdb ceph2:sdb ceph3:sdb ceph4:sdb ceph5:sdb)
查看 集群状态
# ceph osd tree

提醒:在此前没有配置 /root/ceph.conf 文件中的 [osd.x] 的配置的,此时可能看到 osd 状态都为down,需要添加 配置,并且使用ceph-deploy --overwrite-conf admin ceph{1,2,3,4,5} 同步集群配置。
OK。到此处。ceph 集群配置完成。
centos 7 下 Ceph 配置安装的更多相关文章
- CentOS 7下源码安装MySQL 5.7
网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点 ...
- CentOS 6 下RPM方式安装MySQL5.6
CentOS 6 下RPM方式安装MySQL5.6 1. 下载Linux对应的RPM包,如:CentOS6.7_64对应的RPM包,如下:[root@mysql ~]# ll总用量 113808-rw ...
- CentOS 7下搭建配置SVN服务器
CentOS 7下搭建配置SVN服务器 1. 安装 CentOS通过yum安装subversion. $ sudo yum install subversion subversion安装在/bin目录 ...
- centOS Linux下用yum安装mysql
centOS Linux下用yum安装mysql 第一篇:安装和配置MySQL 第一步:安装MySQL [root@192 local]# yum -y install mysql- ...
- 基于CentOS 7下最小化安装的操作系统搭建Zabbix3.0环境
环境说明 系统版本:CentOS Linux release 7.3.1611 (Core) 内核版本:3.10.0-514.el7.x86_64 Httpd版本:Apache/2.4.6 (Cent ...
- Centos系统下Docker的安装
一.检查内核版本 安装Docker,需要linux内核大于3.10 使用uname -r 来检查 二. Centos系统下Docker的安装 1. 安装需要的软件包 yum install -y yu ...
- Linux(CentOS 7下httpd的安装)
Linux(CentOS 7下httpd的安装) 自己是个linux小白.最近几天在学linux,看到视频教程中安装源码包httpd所以自己想试一试,安装过程中有很多的错误,在网上找了很久也没找到,要 ...
- Centos 7下Nagios的安装及配置
简介 Nagios 是一款自动化运维工具,可以协助运维人员监控服务器的运行状况,并且拥有报警功能.本文章将介绍其安装方法和详细的配置方法. nagios 监控服务应用指南 本地资源:负载,CPU,磁盘 ...
- CentOS 7下源码安装MySQL 5.6
本文转载,并非原创. 目录 准备工作 运行环境 确认你的安装版本 下载MySQL 安装MySQL 准备安装环境 编译和安装 配置MySQL 单实例配置 单实例配置方法 添加防火墙 启动MySQL 重启 ...
随机推荐
- Notification html5 的通知api
https://developer.mozilla.org/zh-CN/docs/Web/API/notification 使用方法 var notification = new Notificati ...
- delphi RTTI 四 获取类属性列表
delphi RTTI 四 获取类属性列表 GetPropList(btn1.ClassInfo, tkAny, PropList) PropCount := GetTypeData(btn1.Cla ...
- 机器学习进阶-疲劳检测(眨眼检测) 1.dist.eculidean(计算两个点的欧式距离) 2.dlib.get_frontal_face_detector(脸部位置检测器) 3.dlib.shape_predictor(脸部特征位置检测器) 4.Orderdict(构造有序的字典)
1.dist.eculidean(A, B) # 求出A和B点的欧式距离 参数说明:A,B表示位置信息 2.dlib.get_frontal_face_detector()表示脸部位置检测器 3.dl ...
- 阅读程序 回答问题——FindTheNumber
阅读程序 回答问题——FindTheNumber 阅读下面程序,请回答如下问题:问题1:这个程序要找的是符合什么条件的数?问题2:这样的数存在么?符合这一条件的最小的数是什么?问题3:在电脑上运行这一 ...
- Redis入门高级部分
Redis: redis批量删除 redis数据备份和恢复 redis安全 redis性能测试 Redis 客户端连接 redis管道技术 redis分区 java操作redis redis批量删除 ...
- Zookeeper 基本应用及盲点
主要应用 From: https://segmentfault.com/a/1190000012185452 http://blog.fens.me/zookeeper-queue/ 原理: 应用zo ...
- Vue router 的使用--初级
在说 VueRouter 之前,首先要弄明白vueRouter 是干什么的,有什么用 说出来其实很简单,就是一个模板替换的问题,当路由改变的时候,把和路由相关的模板显示出来,就是这么简单.但是,当我们 ...
- sass实战演练01 - 外部文件引用和变量
SASS是什么? 目前前端开发中css已经是公认的”前端程序员必须掌握”的知识,最早的css编写都是手工一条条写出来的,工作量大.不利于维护. 而sass的存在使得css开发可以像写代码一样最终生成一 ...
- python 如何注释
一.单行注释 单行注释以#开头,例如: print 6 #输出6 二.多行注释 (Python的注释只有针对于单行的注释(用#),这是一种变通的方法) 多行注释用三引号' ...
- C# 监测每个方法的执行次数和占用时间(测试1)
在Nuget引用 Castle.DynamicProxy 和 Newtonsoft.Json 这个 原文:http://www.cnblogs.com/RicCC/archive/2010/03/15 ...