Ceph(jewel)手动安装部署

网友投稿 304 2022-10-01

Ceph(jewel)手动安装部署

前言

Ceph是一款强大的开源分布式存储软件,是支持块存储、对象存储、文件存储的统一存储。虽然软件本身设计复杂,初学者入手困难,但由于其具有灵活扩展、高性能、易兼容等特性。因此,Ceph社区非常活跃,Ceph广受欢迎。

Ceph随着版本的迭代更新,组件也在逐渐增加。jewel版本是较稳定的旧版软件,主要包括osd、mon、mds等组件。本文档以Ceph安装部署为主,关于ceph的详细介绍后期会进行说明。

注意:Ceph各版本区别较大,安装教程不通用,切记切记

主机名

IP地址

部署组件

操作系统

备注

node1

10.0.0.11

osd,mon

CentOS7.6


node2

10.0.0.12

osd

CentOS7.6


node3

10.0.0.13

osd

CentOS7.6


一、准备工作

1.设置各节点主机名

hostnamectl set-hostname node1bash

参考命令配置所有节点主机名为node1、node2、node3

2.配置域名解析

cat << EOF >> /etc/hosts10.0.0.11 node110.0.0.12 node210.0.0.13 node3EOF

3.关闭防火墙和selinux

systemctl stop firewalldsystemctl disable firewalldsystemctl stop iptablessystemctl disable iptablessetenforce 0sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

4.配置ceph的yum源

yum install -y centos-release-ceph-jewel

二、配置mon

1.安装ceph

yum install ceph -

2.创建配置文件/etc/ceph/ceph.

[global]fsid = 72e9135b-ade4-4ad1-b83e-161aa98fda90mon initial members = node1mon host = 10.0.0.11public network = 10.0.0.0/24auth cluster required = cephxauth service required = cephxauth client required = cephxosd journal size = 1024osd pool default size = 3osd pool default min size = 2osd pool default pg num = 333osd pool default pgp num = 333osd crush chooseleaf type = 1

fsid的数值可通过uuidgen命令获取node1是mon主机名10.0.0.11是mon主机ip地址10.0.0.0/24是业务网络

3.为此集群创建密钥环、并生成监视器密钥

ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'

4.生成管理员密钥环,生成 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'

5.把 client.admin 密钥加入 ceph.mon.keyring

ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring

6.用规划好的主机名、对应 IP 地址、和 FSID 生成一个监视器图,并保存为 /tmp/monmap

monmaptool --create --add node1 10.0.0.11 --fsid 72e9135b-ade4-4ad1-b83e-161aa98fda90 /tmp/monmap

7.在监视器主机上分别创建数据目录,并赋予权限

mkdir /var/lib/ceph/mon/ceph-node1

8.用监视器图和密钥环组装守护进程所需的初始数据

ceph-mon --mkfs -i node1 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring

9.建一个空文件 done ,表示监视器已创建完成,并调整权限

touch /var/lib/ceph/mon/ceph-node1/donechown ceph:ceph -R /var/lib/ceph/

注意:done空文件一定要创建。否则启动mon时会失败

10.启动服务并设置开机自启动

systemctl start ceph-mon@node1systemctl enable ceph-mon@node1

11.检查集群状态

[root@node1 jewel]# ceph -s cluster 72e9135b-ade4-4ad1-b83e-161aa98fda90 health HEALTH_ERR no osds monmap e1: 1 mons at {node1=10.255.130.81:6789/0} election epoch 3, quorum 0 node1 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

由于未创建osd,此时集群健康状态为HEALTH_ERR是正常状态

三、配置OSD

1.创建OSD认证文件

ceph-authtool --create-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring --gen-key -n client.bootstrap-osd --cap mon 'profile bootstrap-osd'

2.加入OSD实体认证

ceph auth add 'client.bootstrap-osd' -i /var/lib/ceph/bootstrap-osd/ceph.keyring

3.更新osd实体认证

ceph auth caps 'client.bootstrap-osd' mon 'allow profile bootstrap-osd'

4.创建OSD

ceph-disk prepare /dev/vdbceph-disk activate /dev/vdb1

四、节点扩展

配置其它节点,节点2和节点3以集群扩展的方式加入节点1的ceph集群

1.安装ceph

yum install ceph -

2.添加OSD,拷贝节点1的认证文件到本地节点

scp root@node1:/var/lib/ceph/bootstrap-osd/ceph.keyring /var/lib/ceph/bootstrap-osd/ scp root@node1:/etc/ceph/ceph.client.admin.keyring /etc/ceph/scp node1:/etc/ceph/ceph.conf /etc/ceph/

3.创建OSD

ceph-disk prepare /dev/vdbceph-disk activate /dev/vdb1

4.检查集群状态

[root@node3 ~]# ceph -s cluster 72e9135b-ade4-4ad1-b83e-161aa98fda90 health HEALTH_OK monmap e1: 1 mons at {node1=10.255.130.81:6789/0} election epoch 3, quorum 0 node1 osdmap e14: 3 osds: 3 up, 3 in flags sortbitwise,require_jewel_osds pgmap v29: 64 pgs, 1 pools, 0 bytes data, 0 objects 322 MB used, 88718 MB / 89041 MB avail 64 active+clean

常见错误

错误1:ceph-disk激活osd时,报错:Error connecting to cluster: PermissionError

[root@node1 jewel]# ceph-disk activate /dev/vdb1 mount_activate: Failed to activateceph-disk: Error: ceph osd create failed: Command '/usr/bin/ceph' returned non-zero exit status 1: 2021-11-11 14:44:47.696218 7f6b7b5a4700 0 librados: client.bootstrap-osd authentication error (1) Operation not permittedError connecting to cluster: PermissionError

分析:client.bootstrap-osd实体认证失败

处理:

1.检查/var/lib/ceph/bootstrap-osd/ceph.keyring存在

2.检查ceph auth list存在实体client.bootstrap-osd

3.检查ceph auth list与cat /var/lib/ceph/bootstrap-osd/ceph.keyring发现认证信息不一致

4.删除/var/lib/ceph/bootstrap-osd/ceph.keyring认证文件,重新生成认证文件

rm /var/lib/ceph/bootstrap-osd/ceph.keyringceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring

错误2:ceph-disk激活osd时,报错:Error EACCES: access denied

[root@node1 jewel]# ceph-disk activate /dev/vdb1 mount_activate: Failed to activateceph-disk: Error: ceph osd create failed: Command '/usr/bin/ceph' returned non-zero exit status 13: Error EACCES: access denied

分析:client.bootstrap-osd实体认证失败,按照错误1的步骤排查全部正确

处理:信息虽全部正确,但仍需要更新实体认证

ceph auth caps 'client.bootstrap-osd' mon 'allow profile bootstrap-osd'

错误2只在j版Ceph中遇到过,L和更高版本并未发现错误2参考链接:​​https://my.oschina.net/u/2439406/blog/916451​​

更多问题欢迎扫描咨询

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring MVC项目中的异常处理详解
下一篇:SC-7606型BAPV光伏组件板及光伏组串汇流监测模块(光伏汇流箱智能监测装置)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~