CentOS 7.2 安装部署 Ceph 及添加 PG

前期准备:
准备三台CentOS 7.2系统,每台机器三块硬盘,关闭selinux,关闭iptables,做好时间同步,做好本地域名解析,并对每台机器做互信。
192.168.10.101 ceph-node1
192.168.10.22 ceph-node2
192.168.10.33 ceph-node3
每台机器上有三个osd,整个集群共九个osd。



在每台机器上 /etc/yum.repos.d/目录下创建 ceph.repo然后写入以下内容

[Ceph]
name=Ceph packages for $basearch
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/$basearch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.163.com/ceph/keys/release.asc
priority=1

[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/noarch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.163.com/ceph/keys/release.asc
priority=1

[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/SRPMS
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.163.com/ceph/keys/release.asc
priority=1



在ceph-node1创建文件夹,用ceph-deploy安装时,会生成很多文件。
mkidr /home/ceph && cd /home/ceph

安装ceph-depoly
yum install -y ceph-deploy

创建ceph集群
ceph-depoly new ceph-node1 ceph-node2 ceph-node3

ceph初始默认三副本,可以更改副本数。在生成的ceph.conf中加入(写入[global] 段下)
osd pool default size = 2

如果有多个网卡,可以把 public network 写入 ceph 配置文件的 [global] 段下
public network = 192.168.10.0/24

安装ceph
ceph-deploy install ceph-node1 ceph-node2 ceph-node3

向ceph集群上报osd
ceph-deploy osd prepare ceph-node1:/dev/sdb ceph-node1:/dev/sdc ceph-node1:/dev/sdd ceph-node2:/dev/sdb ceph-node2:/dev/sdc ceph-node2:/dev/sdd ceph-node3:/dev/sdb ceph-node3:/dev/sdc ceph-node3:/dev/sdd

激活集群中的osd
ceph-deploy osd activate ceph-node1:/dev/sdb ceph-node1:/dev/sdc ceph-node1:/dev/sdd ceph-node2:/dev/sdb ceph-node2:/dev/sdc ceph-node2:/dev/sdd ceph-node3:/dev/sdb ceph-node3:/dev/sdc ceph-node3:/dev/sdd

ceph -s 查看健康状况 创建完成!!!



[[email protected] local]# ceph -s
cluster dc045fd8-0851-4052-8791-25cb6e5b3e8e
health HEALTH_WARN
too few PGs per OSD (21 < min 30)
monmap e1: 3 mons at {ceph-node1=192.168.10.101:6789/0,ceph-node2=192.168.10.22:6789/0,ceph-node3=192.168.10.33:6789/0}
election epoch 8, quorum 0,1,2 ceph-node2,ceph-node3,ceph-node1
osdmap e44: 9 osds: 9 up, 9 in
flags sortbitwise,require_jewel_osds
pgmap v113: 64 pgs, 1 pools, 0 bytes data, 0 objects
971 MB used, 45009 MB / 45980 MB avail
64 active+clean

由于改集群是新建集群,只有一个池,由于pg过少导致每个osd上的pg未达到配置文件的上线所以存在告警

查看某个池的pg个数 <rbd池>
ceph osd pool get rbd pg_num
pg_num: 64

pgs为64,因为是3副本的配置,所以当有9个osd的时候,每个osd上均分了64/9 *3=21个pgs,也就是出现了如上的告警 小于最小配置30个

修改rbd池的pg个数
ceph osd pool set rbd pg_num 256
set pool 0 pg_num to 256

gpg的个数要与pg个数一致 修改rbd池的pgp个数
sudo ceph osd pool set rbd pgp_num 256
set pool 0 pgp_num to 256
修改完成等待集群同步,故障解决。

注意:生产环境不可以批量添加pg,pgp。要没添加一个,等待同步完成再添加下一个pg。

每个池添加pg个数根据如下公式计算:

{(每个OSD的目标PG)x(OSD#)x(%数据)}/(尺寸)
1.每个OSD的目标PG约100个
2.如果上述计算的值小于(OSD#)/(大小)的值,则将该值更新为(OSD#)/(大小)的值。这是为了通过为每个池的每个OSD分配至少一个主要或辅助PG来确保均匀的负载/数据分发。
3.然后将输出值四舍五入到最接近的2的幂。
提示:最接近的2的幂提供了CRUSH算法效率的微小改进。
4.如果最接近的2的幂次方比原始值低25%以上,则使用下一个更高的2的幂。

原文地址:http://blog.51cto.com/12150465/2315548

时间: 2024-10-06 19:08:29

CentOS 7.2 安装部署 Ceph 及添加 PG的相关文章

CentOS 6.5 安装部署iSCSi共享存储

 CentOS 6.5 安装部署iSCSi共享存储 一.前言 1.什么是iSCSI? iSCSI技术是一种由IBM公司研究开发的,是一个供硬件设备使用的可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择.iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料. iSCSI:Internet 小型计算机系统接口 (iSCSI:

安装部署Ceph Calamari

根据http://ovirt-china.org/mediawiki/index.php/%E5%AE%89%E8%A3%85%E9%83%A8%E7%BD%B2Ceph_Calamari 原文如下: Calamari是管理和监控Ceph集群的工具,并且提供REST api. 建议的部署平台是ubuntu,本文使用CentOS 6.5. 安装部署 获取calamari相关代码 # git clone https://github.com/ceph/calamari.git # git clone

CentOS 7.6安装部署gitlab

一.gitlab介绍 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务.GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它由Ruby语言写成.后来,部分代码用Go语言重写,现今在国内外大中型互联网公司广泛使用.git.gitlab.GitHub的区别如下:git 是一种基于命令的版本控制系统,全命令操作,没有可视化界面.gitlab 是一个基于git实现的在线代码仓库软件,提供web可视化管理

Cent OS7安装部署Ceph J版本

安装Cent OS7 系统安装步骤略过 拓扑连接: 一.安装前准备工作 1. 修改主机名:将主机名更改为上图中对应的主机名. [[email protected] ~]# vim /etc/hostname 2. 更新主机上的hosts文件,将主机名与如下IP进行解析. 192.168.100.128 ceph-node1 192.168.100.129 ceph-node2 192.168.100.130 ceph-node3 192.168.100.131 ceph-node4 [[emai

Ubuntu安装部署Ceph J版本

安装Ubuntu系统安装步骤略过 拓扑连接: 一.安装前准备工作 1.修改主机名:将主机名更改为上图中对应的主机名. [[email protected] ~]# vim /etc/hostname 2.更新主机上的hosts文件,将主机名与如下IP进行解析. 192.168.100.128 ceph-node1 192.168.100.129 ceph-node2 192.168.100.130 ceph-node3 192.168.100.131 ceph-node4 [[email pro

Jitamin在CentOS下面的安装部署过程 (一)

jitamin项目管理软件在CentOS 7.2 上面的安装过程 jitamin这个项目管理软件看起来界面清爽, 功能也还实用, 一直想着在自己的主机上面安装一下, 参照说明文档, 经过多次尝试, 终于成功了. 这里把里面的主要步骤整理一下, 软件有一个英文的安装过程, 但是里面还是有一些坑, 要注意的. jitamin项目在github上面的介绍 链接地址: github-Jitamin 安装步骤 1. 准备一个CentOS的机器 A web server: Nginx, Apache (wi

CentOS 6.4x64安装部署zabbix-2.4.5

以下内容来自于http://www.iyunv.com/thread-62087-1-1.html 补充一点,按照原文安装万之后zabbix页面会提示 zabbix server is not running: the information displayed may not be current 解决方法(参考自http://fengzhige.blog.51cto.com/3691377/1034485)是: setsebool -P httpd_can_network_connect o

CentOS 6.4x64安装部署zabbix

一.部署环境 系统:CentOS 6.4x64 最小化安装 Server:192.168.3.28 Client:192.168.3.29 二.基础软件包安装 在server安装基础软件包,这里的环境使用yum安装,如果使用源码安装也是可以的. [[email protected] ~]# yum -y install wget vim tree gcc gcc-c++ autoconf httpd php mysql mysql-server php-mysql httpd-manual mo

CentOS 7.4 安装部署 IRedMail 邮件服务器

在公司部署了一套开源的邮件网关Scrollout F1用来测试,由于Scrollout F1需要使用IMAP协议连接到邮件服务器上的隔离邮箱,抓取GOOD和BAD文件夹里的邮件进行贝叶斯学习,但公司的邮件服务器没有开启IMAP服务,为了不动生产环境,决定单独搭建一套邮件服务器.经过一番搜索,决定采用CentOS + IRedMail. 一.环境说明 虚拟化环境,CentOS-7-x86_64-DVD-1804,iRedMail-0.9.8.tar.bz2 二.安装操作系统 安装操作系统不赘述,但