ceph-ansible部署Ceph Pacific版本集群

news2024/11/16 7:54:02

文章目录

      • 环境规划
      • 节点初始化设置
        • ssh免密
        • 主机名解析
        • 时间同步
        • 关闭防火墙
      • 部署ceph
        • 下载ceph-ansible
        • 修改配置文件
        • 执行部署
        • 验证集群状态
      • 扩容mon节点
      • 扩容osd节点

环境规划

总共9个节点,3个mon节点,6个osd节点,每个osd节点3块50G的osd磁盘

主机名os角色public_ipcluster_iposd磁盘
ceph-mon-01.linux.ioubuntu20.04mon/mgr/deploy-node192.168.122.33192.168.200.2
ceph-mon-02.linux.ioubuntu20.04mon/mgr192.168.122.34192.168.200.2
ceph-mon-03.linux.ioubuntu20.04osd192.168.122.35192.168.200.2
ceph-osd-01.linux.ioubuntu20.04osd192.168.122.36192.168.200.2vdb/vdc/vdd
ceph-osd-02.linux.ioubuntu20.04osd192.168.122.37192.168.200.2vdb/vdc/vdd
ceph-osd-03.linux.ioubuntu20.04osd192.168.122.38192.168.200.2vdb/vdc/vdd
ceph-osd-04 .linux.ioubuntu20.04osd192.168.122.39192.168.200.2vdb/vdc/vdd
ceph-osd-05.linux.ioubuntu20.04osd192.168.122.40192.168.200.2vdb/vdc/vdd
ceph-osd-06.linux.ioubuntu20.04osd192.168.122.41192.168.200.2vdb/vdc/vdd

节点初始化设置

ssh免密

配置mon-01到所有节点的ssh免密

for i in {33..41};do ssh-copy-id 192.168.122.$i;done

主机名解析

在所有主机的/etc/hosts添加以下解析

192.168.122.33 ceph-mon-01.linux.io ceph-mon-01
192.168.122.34 ceph-mon-02.linux.io ceph-mon-02
192.168.122.35 ceph-mon-03.linux.io ceph-mon-03
192.168.122.36 ceph-osd-01.linux.io ceph-osd-01
192.168.122.37 ceph-osd-02.linux.io ceph-osd-02
192.168.122.38 ceph-osd-03.linux.io ceph-osd-03
192.168.122.39 ceph-osd-04.linux.io ceph-osd-04
192.168.122.40 ceph-osd-05.linux.io ceph-osd-05
192.168.122.41 ceph-osd-06.linux.io ceph-osd-06

时间同步

设置mon-01作为时间同步服务器,其他节点同步mon-01时间

在所有节点安装chrony

apt -y install chrony

修改mon-01节点chrony配置

# cat /etc/chrony/chrony.conf |grep -Ev '^#'

server ntp.aliyun.com iburst

keyfile /etc/chrony/chrony.keys

driftfile /var/lib/chrony/chrony.drift


logdir /var/log/chrony

allow 192.168.122.0/24

maxupdateskew 100.0

rtcsync

makestep 1 3

修改其它节点chrony配置

# cat /etc/chrony/chrony.conf |grep -Ev '^#'

server 192.168.122.33 iburst

keyfile /etc/chrony/chrony.keys

driftfile /var/lib/chrony/chrony.drift

logdir /var/log/chrony

maxupdateskew 100.0

rtcsync
makestep 1 3

所有节点启动chrony服务

systemctl restart chrony.service

验证时间同步状态

chronyc sources -v

在这里插入图片描述

关闭防火墙

ufw disable

部署ceph

下载ceph-ansible

ceph-ansible项目地址:https://github.com/ceph/ceph-ansible
ceph-ansible官方文档:https://docs.ceph.com/projects/ceph-ansible/en/latest/

安装Ceph Pacific需要使用ceph-asible stable-6.0分支,同时ceph-asible stable-6.0对ansible的版本要求是2.10往上
在这里插入图片描述

wget https://github.com/ceph/ceph-ansible/archive/refs/heads/stable-6.0.zip -O ceph-ansible-stable-6.0.zip
unzip ceph-ansible-stable-6.0.zip
cd ceph-ansible-stable-6.0
pip install -r requirements.txt	#这一步会安装ansible和其它依赖

修改配置文件

定义主机清单inventroy文件

cd ceph-ansible-stable-6.0/
vim hosts	#暂时只包含1个mon和5个osd节点,剩余的节点用于后边扩容测试
#################
[mons]
ceph-mon-01

[mgrs]
ceph-mon-0[1:3]

[osds]
ceph-osd-0[1:5]

[monitoring]
ceph-mon-0[1:3]
####################

修改ceph部署过程中需要使用的配置参数

cd ceph-ansible-stable-6.0/
cp group_vars/all.yml.sample group_vars/all.yml	
cp osds.yml.sample osds.yml	

vim group_vars/all.yml	#ceph全局配置参数
#######################
---
dummy:
mon_group_name: mons
osd_group_name: osds
rgw_group_name: rgws
mds_group_name: mdss
iscsi_gw_group_name: iscsigws
mgr_group_name: mgrs
monitoring_group_name: monitoring
#ceph安装方式设置,详细解释可以参考官网文档https://docs.ceph.com/projects/ceph-ansible/en/latest/installation/non-containerized.html
ceph_origin: repository
ceph_repository: community
ceph_mirror: https://mirrors.tuna.tsinghua.edu.cn/ceph/		#ceph安装源
ceph_stable_key: https://mirrors.tuna.tsinghua.edu.cn/ceph/keys/release.asc
ceph_stable_release: pacific	#ceph版本
ceph_stable_repo: "{{ ceph_mirror }}/debian-{{ ceph_stable_release }}"
monitor_interface: enp1s0	#ceph-mon节点服务监听网卡
monitor_address_block: 192.168.122.0/24	#ceph-mon节点服务监听地址所在网段
ip_version: ipv4
public_network: 192.168.122.0/24	#public-netework子网
cluster_network: 192.168.200.0/24	#cluster-network子网
osd_objectstore: bluestore		#osd使用的存储后端
dashboard_enabled: True		#启用ceph-dashboard
dashboard_admin_user: admin	#ceph-dashboard用户名和密码
dashboard_admin_password: Admin@123
grafana_admin_user: admin	#grafana用户名和密码
grafana_admin_password: admin
#######################

vim  group_vars/osds.yml	#osd相关配置参数
########################
---
dummy:
devices:	#每个节点上用作osd的磁盘
  - /dev/vdb
  - /dev/vdc
  - /dev/vdd
osd_auto_discovery: false	#关闭osd自动发现
#########################

执行部署

cd ceph-ansible-stable-6.0/
cp site.yml.sample site.yaml

ansible-playbook -i hosts site.yaml

等待playbook执行完成且无报错即可

在这里插入图片描述

验证集群状态

再mon-01节点执行ceph -s查看集群状态
在这里插入图片描述

这里存在一个警告,执行下面的命令,禁用mon节点不安全模式即可消除

ceph config set mon auth_allow_insecure_global_id_reclaim false

在这里插入图片描述

登录ceph-dashboard,https://192.168.122.33:8443

在这里插入图片描述

扩容mon节点

修改hosts文件,将新的mon节点,加入到对应的组中

cd ceph-ansible-stable-6.0/
vim hosts
##################
[mons]
ceph-mon-01
ceph-mon-02	#添加
ceph-mon-03 #添加

[mgrs]
ceph-mon-01
ceph-mon-02
ceph-mon-03

[osds]
ceph-osd-0[1:5]

[monitoring]
ceph-mon-0[1:3]
###################

执行扩容

cd ceph-ansible-stable-6.0/
ansible-playbook -i hosts infrastructure-playbooks/add-mon.yml

等待playbook执行完成后,查看集群状态,可以看到新的mon节点已经添加进去
在这里插入图片描述

扩容osd节点

修改hosts文件,将新的mon节点,加入到对应的组中

cd ceph-ansible-stable-6.0/
vim hosts
##################
[mons]
ceph-mon-01
ceph-mon-02
ceph-mon-03

[mgrs]
ceph-mon-01
ceph-mon-02
ceph-mon-03

[osds]
ceph-osd-0[1:5]
ceph-osd-06 #添加

[monitoring]
ceph-mon-0[1:3]
###################

执行扩容

cd ceph-ansible-stable-6.0/
ansible-playbook -vv -i hosts site.yaml --limit ceph-osd-06

等待playbook执行完成后,查看集群状态,可以看到新的osd已经添加进去

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/391011.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux命令系统总结

Linux Linux常用操作_linux基本操作_槑の少年的博客-CSDN博客 help help 命令 :获得 shell 内置命令的帮助信息,常用形式 help cd ls --help 文件夹级 常用参数: cd 绝对路径 :切换路径 cd 相对路径 :切换路径 …

移动web(三)

her~~llo,我是你们的好朋友Lyle,是名梦想成为计算机大佬的男人! 博客是为了记录自我的学习历程,加强记忆方便复习,如有不足之处还望多多包涵!非常欢迎大家的批评指正。 媒体查询 目标:能够根据…

凌恩生物资讯

凌恩生物转录组项目包含范围广,项目经验丰富,人均10年以上项目经验,其中全长转录组测序研究基因结构已经成为发文章的趋势,研究物种包括高粱、玉米、拟南芥、鸡、人和小鼠、毛竹、棉花等。凌恩生物提供专业的全长转录组测序及分析…

【微信小程序】-- 页面导航 -- 编程式导航(二十三)

💌 所属专栏:【微信小程序开发教程】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &…

面向对象的使用

目录1. 类和对象的概念类对象类和对象的关系2. 定义简单的类(只包含方法)3. 创建对象4. self参数5. 类的初始化方法在初始化方法内部定义属性在初始化方法内部接收参数定义属性6. 类的内置方法使用__del__ 方法__str__ 方法7. 身份运算符is 与 区别:8. …

【Copula】考虑风光联合出力和相关性的Copula场景生成(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

文献资源最多的文献下载神器,99.99%的文献都可下载

用对工具事半功倍,查找下载文献用对工具能节约大量的时间和精力去做更多的事情。 文献党下载器(wxdown.org),几乎整合了所有文献数据库资源,涵盖各种文献类型,包含全部学科。文献党下载器整合的资源如&…

Spring-Cloud-Gateway的过滤器的执行顺序问题

过滤器的种类 Spring-Cloud-Gateway中提供了3种类型的过滤器,分别是:路由过滤器、Default过滤器和Global过滤器。 路由过滤器和Default过滤器 路由过滤器和Default过滤器本质上是同一种过滤器,只不过作用范围不一样,路由过滤器…

【水下图像增强】Enhancing Underwater Imagery using Generative Adversarial Networks

原始题目Enhancing Underwater Imagery using Generative Adversarial Networks中文名称使用 GAN 增强水下图像发表时间2018年1月11日平台ICRA 2018来源University of Minnesota, Minneapolis MN文章链接https://arxiv.org/abs/1801.04011开源代码官方:https://gith…

Linux 进程:exec函数簇

目录(1)execl(2)execlp(3)execle(4)execv(5)execvp(6)execve在进程控制中提到,子进程的最大价值在于程序替换,…

Android动态权限获取官方实现之easypermission

Android动态权限获取官方实现之easypermission Android 6.0之后,基于用户隐私和安全考虑,敏感权限都开始采用动态运行时机制获取,于是就出现如果你不向用户申请权限(弹窗,用户选择),有些功能就…

Flutter Android 打包保姆式全流程 2023 版

大家好,我是 17。 为什么要写这篇文章呢?对于一没有 android 开发经验,从未有过打包经历的新人来说,要想成功打包,是很困难的。因为受到的阻碍太多,是完全陌生的领域,几乎是寸步难行。如果有老…

hive真实表空间大小统计

1. 问题 如果是采用hdfs上传加载的表、或者是flume直接写hdfs的表空间通常看hive的属性是不准确的。 2. 思路 为了使结果更精确,我们直接使用linux下命令统计hive仓库目录下的每个表对应的文件夹目录占用空间的大小。 3. 解决方法 这里建立三层表结构 ods: 原始…

linux入门---粘滞位

为什么会有粘滞位 一台服务器有很多人使用,每个人在机器上都会有一个家目录,在家目录里可以实现自己想要的操作,但是有时候我们需要一个公共路径来完成一些操作,比如说资料分享产生临时文件的增删查改等等,这就好比我…

数据结构和算法学习记录——删除有序数组中的重复项、合并两个有序数组

去重删除有序数组中的重复项题目来自:https://leetcode.cn/problems/remove-duplicates-from-sorted-array/description/题目描述给你一个 升序排列 的数组 nums ,请你原地删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数…

leetcode 71~80 学习经历

leetcode 71~80 学习经历71. 简化路径72. 编辑距离73. 矩阵置零74. 搜索二维矩阵75. 颜色分类76. 最小覆盖子串77. 组合78. 子集79. 单词搜索80. 删除有序数组中的重复项 II小结71. 简化路径 给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 &am…

2023年再不会 IOC 源码,就要被淘汰了

👏作者简介:大家好,我是爱敲代码的小黄,独角兽企业的Java开发工程师,CSDN博客专家,阿里云专家博主📕系列专栏:Java设计模式、数据结构和算法、Kafka从入门到成神、Kafka从成神到升仙…

详细聊TTL电平、RS232接口和RS485接口

TTL电平 TTL(Transistor-Transistor Logic)是一种数字电平标准,常用于数字电子设备之间的数据传输。 TTL使用0V表示逻辑0,使用5V表示逻辑1,因此TTL信号的电平比较容易理解和处理。TTL信号传输距离较短,通…

文件服务设计

一、需求背景 文件的上传、下载功能是软件系统常见的功能,包括上传文件、下载文件、查看文件等。例如:电商系统中需要上传商品的图片、广告视频,办公系统中上传附件,社交类系统中上传用户头像等等。文件上传下载大致流程为&#…

【Java诊断工具】Arthas使用指南

文章目录一、简介二、解决什么问题 & 适用场景解决问题:适应场景:三、安装&启动四、相关命令五、来自天边的"海市蜃楼"六、结束一、简介 Arthas 是Alibaba开源的Java诊断工具。安装在系统所在服务器。通过全局视角实时查看应用 load、…