debian怎么配置静态ip地址
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~