ceph安装搭建总结

news2025/4/8 5:32:36

ceph安装搭建总结

大纲

  • 版本选择
  • 集群架构
  • 免密登录
  • 安装ceph-deploy
  • 部署ceph集群
  • 安装mgr
  • 安装ceph-dashboard

版本选择

ceph 版本信息如下

在这里插入图片描述

本次测试使用版本为Octopus 主版本号为15, 并且使用ceph-deploy 2.0.1安装ceph集群

Ceph Octopus 官方文档

相关环境与软件

  • ceph15.2.17 Octopus
  • eph-deploy 2.0.1
  • ubuntu18.04.6

注意使用 virtualbox 复制的虚拟机 需要修改一下hostname

集群架构

在这里插入图片描述相关服务器可以ping通
在这里插入图片描述

免密登录

登录ceph-controller主机,后续安装部署都会从这台机器发出命令,需要让ceph-controller主机 可以对 ceph-osd1 ceph-osd2 ceph-osd3 免密登录

这里为了方便直接使用root用户

生成公私钥

ssh-keygen

在这里插入图片描述

复制秘钥

ssh-copy-id  root@ceph-osd1
ssh-copy-id  root@ceph-osd2
ssh-copy-id  root@ceph-osd3

在这里插入图片描述

关闭防火墙

查看防火墙状态

ufw status 

在这里插入图片描述

如果防火墙状态不是inactive 则需要关闭防火墙

ufw disable

集群节点时间同步

安装 chrony 使ceph集群主机系统时钟与NTP服务器同步

否则ceph -s 可能看到集群健康状态为 health: HEALTH_WARN
clock skew detected on mon.ceph-osd2 

集群每个主机安装 chrony

apt install -y chrony 

在这里插入图片描述

启动 chrony服务

systemctl start chronyd.service
systemctl status chronyd.service

在这里插入图片描述

安装ceph-deploy

ceph-deploy 是Ceph软件定义存储系统的一部分,用来方便的配置和管理Ceph存储集群

查看ubuntu18.04 apt 对应的ceph-deploy版本

apt-cache madison ceph-deploy

在这里插入图片描述

本次安装选择使用 ceph-deploy 2.0.1 ceph-deploy 2.x文档

https://mirrors.tuna.tsinghua.edu.cn/ceph/debian-15.2.16/pool/main/c/ceph-deploy/

在这里插入图片描述

配置安装源,这里用了清华镜像的安装源

# 添加镜像源
wget -q -O- 'https://mirrors.tuna.tsinghua.edu.cn/ceph/keys/release.asc' | apt-key add -
echo deb https://mirrors.tuna.tsinghua.edu.cn/ceph/debian-15.2.16  $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
# apt 更新
apt update
# 再次查询ceph-deploy
apt-cache madison ceph-deploy

在这里插入图片描述

安装ceph-deploy 2.0.1

apt install  ceph-deploy=2.0.1

在这里插入图片描述

ceph-deploy --version

在这里插入图片描述

到此 ceph-deploy 安装完成

部署ceph集群

部署ceph集群管理相关软件

注意: 以下操作都是在ceph-controller主机上执行

主要操作:

  • 1 创建ceph集群
  • 2 部署Mon
  • 3 部署MGR
  • 4 部署 Ceph-Dashboard

准备工作文件夹

准备一个工作文件夹,用于保存ceph-deploy 部署过程中的各种文件

mkdir -p /ops/ceph-cluster

在这里插入图片描述

配置ceph安装源

可以配置环境变量来实现ceph-deploy 使用指定的安装源 (因为本次实验使用的ceph 版本为octopus)

一些常用的镜像安装源

  • http://mirrors.163.com/ceph
  • http://mirrors.163.com/ceph/keys/release.asc
  • https://download.ceph.com
  • https://download.ceph.com/keys/release.asc

这里用清华镜像的安装源

vi /etc/profile

加入以下环境变量
export CEPH_DEPLOY_GPG_URL=https://mirrors.tuna.tsinghua.edu.cn/ceph/keys/release.asc
export CEPH_DEPLOY_REPO_URL=https://mirrors.tuna.tsinghua.edu.cn/ceph/debian-octopus/

source /etc/profile

在这里插入图片描述

安装ceph 所需的安装包

命令 ceph-deploy install 【主机】(多个用主机用空格分开)可以安装ceph集群所需的各种安装包

例如
ceph-deploy install ceph-controller  在ceph-controller主机上安装各种所需包
ceph-deploy install ceph-osd1 ceph-osd2 ceph-osd3

在这里插入图片描述

安装完成后可以使用ceph -v看到版本

在这里插入图片描述

初始化集群

在ceph-controller控制机 /ops/ceph-cluster文件夹下执行ceph-deploy new
ceph-deploy new 能够部署一个默认名称为ceph的新集群,并且生成集群配置文件和密钥文件

初始化集群
ceph-deploy new ceph-controller

在当前目录下会生成ceph.conf文件和ceph.mon.keyring文件

在这里插入图片描述

安装mon mgr

安装mon 与 mgr 监控管理

# 初始化moniter节点,并生成keyring
ceph-deploy --overwrite-conf mon create-initial

在这里插入图片描述

注意 mon对应的服务名称为ceph-mon@【主机名称】

例如
ceph-mon@ceph-osd1
ceph-mon@ceph-osd2
ceph-mon@ceph-controller

可以使用

  • systemctl status ceph-mon@ceph-controller 查看服务状态
  • systemctl restart ceph-mon@ceph-controller 重启服务

在这里插入图片描述

#可以使用ceph-deploy admin 【主机】将admin.keyring复制到做为管理节点的主机上
#命令可以跟多台主机
ceph-deploy admin ceph-controller
执行此命令可以看到在 /etc/ceph文件夹下增加了 ceph.client.admin.keyring文件


#可以使用ceph-deploy mgr create 【主机】创建管理节点,命令可以跟多台主机
ceph-deploy mgr create ceph-controller

使用ceph -s 查看当前ceph集群状态

在这里插入图片描述

安装配置Ceph Dashboard

安装Ceph Dashboard 参考官方文档 https://docs.ceph.com/en/octopus/mgr/dashboard/

apt install ceph-mgr-dashboard

在这里插入图片描述

安装完ceph-mgr-dashboard后可能需要重启一下主机

关闭https,配置IP和端口

ceph config set mgr mgr/dashboard/ssl false
ceph config set mgr mgr/dashboard/server_addr 192.168.0.17
ceph config set mgr mgr/dashboard/server_port 18804
启动 ceph dashboard
ceph mgr module enable dashboard

在这里插入图片描述

浏览器访问 http://192.168.0.17:18804/ dashboard成功启动

在这里插入图片描述

配置账号

创建账号的命令如下
ceph dashboard ac-user-create 【用户名】 -i 【包含密码的文件】【角色】
例如创建jim 赋予 管理员角色
ceph dashboard ac-user-create jim -i jim.key administrator

在这里插入图片描述

使用创建好的账户登录Ddashboard

在这里插入图片描述

部署ceph集群osd

ceph -s 可以看到当前的ceph集群健康状态

在这里插入图片描述

OSD count 0 < osd_pool_default_size 3
ceph集群至少要3个OSD

虚拟机挂载硬盘

在Virtualbox上给虚拟机ceph-osd1 ceph-osd2 ceph-osd3加硬盘

选择虚拟机 -》 设置 -》存储 -》添加虚拟硬盘

在这里插入图片描述点击创建

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

在这里插入图片描述

登录ceph-osd1主机,新增的磁盘已经可以识别

lsblk
新增的磁盘已经可以识别

在这里插入图片描述

安装ceph相关软件

注意:以下操作需要在ceph-controller主机 /ops/ceph-cluster文件夹下操作

给ceph-osd1 ceph-osd2 ceph-osd3主机安装ceph相关软件

ceph-deploy install ceph-osd1 ceph-osd2 ceph-osd3

在这里插入图片描述

如果出现以下错误,需要在ceph-osd1 ceph-osd2 ceph-osd3上安装python (apt install python

bash: python2: command not found
[ceph_deploy][ERROR ] RuntimeError: connecting to host: ceph-osd1 resulted in errors: IOError cannot send (already closed?)

在这里插入图片描述

部署osd

1 使用ceph-deploy disk list 【主机】可以查看主机可使用的磁盘

ceph-deploy disk list ceph-osd1 ceph-osd2 ceph-osd3

在这里插入图片描述

可使用的磁盘 /dev/sdb

2 使用 ceph-deploy disk zap 【主机 磁盘名称】 格式化磁盘

ceph-deploy disk zap ceph-osd1 /dev/sdb
ceph-deploy disk zap ceph-osd2 /dev/sdb
ceph-deploy disk zap ceph-osd3 /dev/sdb

在这里插入图片描述

3 使用 ceph-deploy osd create 创建osd

ceph-deploy osd create ceph-osd1  --data /dev/sdb 
ceph-deploy osd create ceph-osd2  --data /dev/sdb 
ceph-deploy osd create ceph-osd3  --data /dev/sdb 

在这里插入图片描述

安装完成后执行ceph -s再次查看ceph集群状态

在这里插入图片描述
ceph-deploy osd create 还可以使用更高级的创建方式
如果有更多的磁盘可以使用 –block-db --block-wal 参数

bluestore(裸设备,文件系统方式为filestore)方式,ceph 会在 osd 里面使用 rocksdb 存放对象的元数据,这时候就会有三类数据Object Data Blobs(对象数据)、SST文件(rocksdb数据文件)、wal文件(rocksdb日志文件,类似redis的aof文件),这时候把 sst 或者 wal 文件放在更快的 ssd 或者 NVMe盘上,会提升 osd 储存性能
--data 选项指定的是Object Data存放的硬盘 (不指定--block-db和--block-wal 所有数据都放在--data指定的硬盘上)
--block-db 选项指定的是SST文件存放位置 
--block-wal 选项指定的是wal文件存放位置
其中 block-db 大小应该不小于 4% data,也就是说如果 --data 盘 1T,--block-db 应该不小于40G

扩展ceph集群

Ceph集群至少需要一个monitor才能运行,为了高可以用需要部署奇数个monitor,实现仲裁
在这里插入图片描述

修改 /ops/ceph-cluster文件夹下的ceph.conf文件添加

public_network = 192.168.0.0/24

在这里插入图片描述

ceph-deploy mon create 命令

ceph-deploy --overwrite-conf mon create ceph-osd1
ceph-deploy --overwrite-conf mon create ceph-osd2
注意--overwrite-conf参数 用于覆盖已经存在的ceph.conf

在这里插入图片描述

安装完成后执行ceph -s再次查看ceph集群状态 monitor已经成功安装3个

在这里插入图片描述

简单使用ceph集群

创建一个pool

ceph osd pool create mytest 128 128

在这里插入图片描述

保存数据
echo "hello jimliu " > ./1.txt
rados -p mytest put object1 ./1.txt
rados -p mytest ls

在这里插入图片描述

后记

ceph -s 查看 health: HEALTH_WARN

1 clock skew detected on mon.ceph-osd2
可能原因是时间不同步

需要各个节点安装NTP软件

2 mon is allowing insecure global_id reclaim

ceph config set mon auth_allow_insecure_global_id_reclaim false

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

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

相关文章

找不到msvcp140.dll无法继续执行代码,解决方法

msvcp140.dll电脑文件中的dll文件&#xff0c;即动态链接库文件&#xff0c;若计算机中丢失了某个dll文件&#xff0c;就会导致某些软件和游戏等程序无法正常启动运行&#xff0c;并且导致电脑系统弹窗报错&#xff0c;其安装方法&#xff1a;1、打开浏览器输入“【dll修复程序…

迅为iTOP-RK3588开发板Android12源码定制开发kernel开发

内核版本是 5.10.66 版本&#xff0c;内核默认的配置文件是 3588-android12/kernel-5.10/arch/arm64/configs/rockchip_defconfig 如果我们要使用图形化界面配置内核&#xff0c;操作方法如下所示&#xff1a; 方法一&#xff1a; 1 首先将默认的配置文件 rockchip_defconf…

stable diffusion其他微调方法

textual inversion 发布时间&#xff1a;2022 目标&#xff1a;与DreamBooth一样&#xff0c;都是想要微调模型生成特定目标或风格的图像 方法&#xff1a;通过在vocabulary中添加一个额外的embedding来学习输入的新特征。预训练模型的所有参数都锁住&#xff0c;只有新的emb…

yolo-v4

目录 一&#xff1a;前言 二&#xff1a;一些数据增强的方法 三&#xff1a;自提议 四&#xff1a;dropout 普通的dropout yolov4的dropblock 五&#xff1a;Label smothing 标签平滑 六&#xff1a; GIOU&#xff0c;DIOU&#xff0c;CIOU 七&#xff1a; 对网络结构的…

移动端APP组件化架构实践

作者&#xff1a;何乐乐 前言 对于中大型移动端APP开发来讲&#xff0c;组件化是一种常用的项目架构方式。个人最近几年在工作项目中也一直使用组件化的方式来开发&#xff0c;在这过程中也积累了一些经验和思考。主要是来自在日常开发中使用组件化开发遇到的问题以及和其他开…

Lecture 16 Dependency Grammar

目录 Dependency GrammarDependency GrammarDependency RelationsApplication: Question AnsweringApplication: Information ExtractionDependency vs. ConstituencyProperties of a Dependency TreeProjectivityTreebank Conversion Transition-based ParsingDependency Pars…

【openEuler 20.03 TLS编译openGauss2.1.0源码】

openEuler 20.03 TLS编译openGauss2.1.0源码 一、安装环境二、安装前准备二、安装步骤 一、安装环境 项目Value操作系统openEuler 20.03 64bit with ARMopenGauss2.1.0openGauss-third_party2.1.0 二、安装前准备 项目Value购买华为ECS鲲鹏 8vCPU32G 100M/s带宽 openEuler 2…

组网配置案例

汇聚层与接入层或者汇聚层与核心层组网 案例&#xff1a; port-group技术&#xff1a;可实现对于所有组内接口进行相同配置 [ACC-1]port-group group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/9 [ACC-1-port-group]port link-type access [ACC-1-port-group]port…

【大数据学习番外篇之爬虫1】 爬虫的介绍与基本使用

目录 1. 爬虫的介绍 2. 爬虫基本使用 2.1 爬取搜狗首页的页面数据 2.2 网页采集器 1. 爬虫的介绍 前戏&#xff1a; 1.你是否在夜深人静的时候&#xff0c;想看一些会让你更睡不着的图片却苦于没有资源... 2.你是否在节假日出行高峰的时候&#xff0c;想快速抢购火…

【CentOS安装软件系列】Centos7安装Mysql8

前言 公司的系统都是内网部署的&#xff0c;mysql也需要自己在内网部署&#xff0c;虽然使用docker安装很方便&#xff0c;但是有一定的风险。所以简单记录一下怎么安装mysql&#xff0c;以备不时之需。 一、下载安装包 下载地址&#xff1a;https://downloads.mysql.com/arch…

javaScript蓝桥杯-----天气趋势 A

目录 一、介绍二、准备三、目标四、代码五、完成 一、介绍 日常生活中&#xff0c;气象数据对于人们的生活具有非常重要的意义&#xff0c;数据的表现形式多种多样&#xff0c;使用图表进行展示使数据在呈现上更加直观。 本题请实现一个 Y 城 2022 年的天气趋势图。 二、准备…

【Python】一文带你认识 Web 框架之 FastAPI

作者主页&#xff1a;爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typeblog个…

TI DSP芯片C2000系列读取FLASH数据

本文记录如何读取TI芯片的flash数据 进入TI官网下载UNIFLASH工具 点击查看详情 点击下载选项&#xff0c;根据系统下载对应版本 下载完成之后&#xff0c;点击安装。安装完成之后双击图标点开。如果你的板子已经供电&#xff0c;且编程器已经连接好&#xff0c;UNIFLASH会自动…

使用C++处理一行输入未知个数的字符的问题

今天分享一下使用C处理一行输入未知个数的字符的问题。 一&#xff0c;问题描述 在一行输入未知个数字符&#xff0c;以回车结束输入。 二&#xff0c;分析问题 第一种方式使用String类型&#xff0c;直接读入一串字符&#xff0c;这种方法简单高效。第二种方式一个一个字符…

HCIA-DHCP,FTP,Telnet

目录 DHCP&#xff1a; DHCP的优点&#xff1a; DHCP的工作原理 DHCP的配置 DHCP全局地址池案例&#xff1a; FTP FTP介绍 FTP基本配置 Telnet Telnet的应用场景 Telnet设备配置 Telnet配置案例 DHCP&#xff1a; 解决传统手工配置IP的问题&#xff0c;可以实现IP的…

Openlayers优化加载地图瓦片太慢的问题,Openlayers瓦片缓存实现和请求失败瓦片重试功能

专栏目录: OpenLayers入门教程汇总目录 前言 Openlayers默认加载地图瓦片很慢,通过对比使用openlayers和leaflet加载速度,能够明显看到openlayers加载速度比leaflet要慢很多。 通过Openlayers源码发现是因为Openlayers的瓦片加载机制是通过tileQueue瓦片加载队列来顺序加载…

变电所运维云平台在电力系统中的应用

安科瑞虞佳豪 变电所运维云平台可以看做是电力监控系统的网络应用延伸&#xff0c;变电所运维云平台通过互联网&#xff0c;电力运维人员通过手机可以随时随地了解工厂配电系统的运行情况&#xff0c;做到无人值守或者少人值守&#xff0c;同时可以监测用能状况、漏电、线缆异…

基于图像识别框架Airtest的Windows项目自动化测试实践

写在前面 本次分享的内容是基于Airtest实现Windows应用的自动化测试&#xff0c;内容大纲&#xff1a; Airtest框架介绍&#xff1a;Airtest适用项目、Airtest特点、Airtest的优势 Airtest框架组成、原理 Airtest环境搭建及IDE的简单使用 Airtest开展Windows应用自动化测试实…

Navicat恢复数据库连接及查询sql的解决办法

文章目录 如题一. 恢复Navicat数据库连接信息注册表编辑工具 二. 恢复Navicat每个数据库的sql文件等 如题 因为公司给电脑加域&#xff0c;导致使用新的用户账户&#xff0c;原先的很多配置都失效了&#xff0c;本篇是讲述一下如何恢复数据库连接工具Navicat的连接数据。 一.…

300多个日夜的付出,从外包跑路的我,上岸阿里,没人知道我经历了什么

前言&#xff1a; 没有绝对的天才&#xff0c;只有持续不断的付出。对于我们每一个平凡人来说&#xff0c;改变命运只能依靠努力幸运&#xff0c;但如果你不够幸运&#xff0c;那就只能拉高努力的占比。 2023年5月&#xff0c;我有幸成为阿里的一名自动化测试工程师&#xff…