Ceph集群安装部署

Ceph集群安装部署

目录
  • Ceph集群安装部署
    • 1、环境准备
      • 1.1 环境简介
      • 1.2 配置hosts解析(所有节点)
      • 1.3 配置时间同步
    • 2、安装docker(所有节点)
    • 3、配置镜像
      • 3.1 下载ceph镜像(所有节点执行)
      • 3.2 搭建制作本地仓库(ceph-01节点执行)
      • 3.3 配置私有仓库(所有节点执行)
      • 3.4 为 Docker 镜像打标签(ceph-01节点执行)
    • 4、安装ceph工具(所有节点执行)
    • 5、引导集群(ceph-01节点执行)
    • 6、添加主机到集群(ceph-01节点执行)
    • 7、部署OSD,存储数据(ceph-01节点执行)
    • 8、访问仪表盘查看状态

1、环境准备

1.1 环境简介

主机名IP磁盘一磁盘二磁盘三CPU内存操作系统虚拟化工具
ceph-01192.168.200.33100G50G50G2C4GUbuntu 22.04VMware15
ceph-02192.168.200.34100G50G50G2C4GUbuntu 22.04VMware15
ceph-03192.168.200.35100G50G50G2C4GUbuntu 22.04VMware15

1.2 配置hosts解析(所有节点)

root@ceph-01:~# cat >> /etc/hosts <<EOF
192.168.200.33 ceph-01
192.168.200.34 ceph-02
192.168.200.35 ceph-03
EOF

1.3 配置时间同步

所有节点执行

# 可配置开启
root@ceph-01:~# timedatectl set-ntp true# 配置上海时区
root@ceph-01:~# timedatectl set-timezone Asia/Shanghai# 系统时钟与硬件时钟同步
root@ceph-01:~# hwclock --systohc

ceph-01节点执行

# 安装服务
root@ceph-01:~# apt install -y chrony# 配置文件
root@ceph-01:~# cat >> /etc/chrony/chrony.conf << EOF
server controller iburst maxsources 2
allow all
local stratum 10
EOF# 重启服务
root@ceph-01:~# systemctl restart chronyd

ceph-02、ceph-03节点

# 安装服务
root@ceph-02:~# apt install -y chrony# 配置文件
root@ceph-02:~# cat >> /etc/chrony/chrony.conf << EOF
pool controller iburst maxsources 4
EOF# 重启服务
root@ceph-02:~# systemctl restart chronyd

2、安装docker(所有节点)

# 安装证书
root@ceph-01:~# apt -y install ca-certificates curl gnupg lsb-release# 安装官方GPG key
root@ceph-01:~# mkdir -p /etc/apt/keyrings
root@ceph-01:~# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg# 建立docker资源库
root@ceph-01:~# echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null# 更新资源库
root@ceph-01:~# apt update# 开始安装docker
root@ceph-01:~# apt -y install docker-ce# 设置开机自启动
root@ceph-01:~# systemctl enable docker

3、配置镜像

3.1 下载ceph镜像(所有节点执行)

root@ceph-01:~# docker pull quay.io/ceph/ceph:v17
root@ceph-01:~# docker pull quay.io/ceph/ceph-grafana:8.3.5
root@ceph-01:~# docker pull quay.io/prometheus/prometheus:v2.33.4
root@ceph-01:~# docker pull quay.io/prometheus/node-exporter:v1.3.1 
root@ceph-01:~# docker pull quay.io/prometheus/alertmanager:v0.23.0

3.2 搭建制作本地仓库(ceph-01节点执行)

# 下载镜像
root@ceph-01:~# docker pull registry# 启动仓库容器
root@ceph-01:~# docker run -d --name registry -p 5000:5000 --restart always 3a0f7b0a13efroot@ceph-01:~# docker ps
CONTAINER ID   IMAGE          COMMAND                   CREATED         STATUS        PORTS                                       NAMES
04b3ea9c4c08   3a0f7b0a13ef   "/entrypoint.sh /etc…"   1 second ago   Up Less than a second   0.0.0.0:5000->5000/tcp, :::5000->5000/tcp   registry

3.3 配置私有仓库(所有节点执行)

# 配置仓库地址
root@ceph-01:~# cat > /etc/docker/daemon.json << EOF
{
"insecure-registries":["192.168.200.33:5000"]
}
EOF# 重启docker
root@ceph-01:~# systemctl daemon-reload
root@ceph-01:~# systemctl restart docker

3.4 为 Docker 镜像打标签(ceph-01节点执行)

# 打地址标签
root@ceph-01:~# docker tag 0912465dcea5 192.168.200.33:5000/ceph:v17# 查看打开的标签
root@ceph-01:~# docker images | grep 0912465dcea5
192.168.200.33:5000/ceph           v17       0912465dcea5   12 months ago   1.34GB
quay.io/ceph/ceph                  v17       0912465dcea5   12 months ago   1.34GB# 推入仓库
root@ceph-01:~# docker push 192.168.200.33:5000/ceph:v17

4、安装ceph工具(所有节点执行)

root@ceph-01:~# apt install -y cephadm ceph-common

5、引导集群(ceph-01节点执行)

# 初始化mon节点
root@ceph-01:~# mkdir -p /etc/ceph
root@ceph-01:~# cephadm --image 192.168.200.33:5000/ceph:v17 bootstrap --mon-ip 192.168.200.33 --initial-dashboard-user admin --initial-dashboard-password 000000 --skip-pull

6、添加主机到集群(ceph-01节点执行)

# 传输ceph密钥
root@ceph-01:~# ssh-copy-id -f -i /etc/ceph/ceph.pub ceph-02
root@ceph-01:~# ssh-copy-id -f -i /etc/ceph/ceph.pub ceph-03
# 集群机器发现
root@ceph-01:~# ceph orch host add ceph-02
root@ceph-01:~# ceph orch host add ceph-03# 查看主机
root@ceph-01:~# ceph orch host ls
HOST     ADDR            LABELS  STATUS  
ceph-01  192.168.200.33  _admin          
ceph-02  192.168.200.34                  
ceph-03  192.168.200.35                  
3 hosts in cluster
ps:
# 要部署其他监视器
ceph orch apply mon "ceph-01,ceph-02,ceph-03"# 删除集群
cephadm rm-cluster --fsid d92b85c0-3ecd-11ed-a617-3f7cf3e2d6d8 --force

7、部署OSD,存储数据(ceph-01节点执行)

# 查看可用的磁盘设备
root@ceph-01:~# ceph orch device ls
HOST     PATH      TYPE  DEVICE ID   SIZE  AVAILABLE  REFRESHED  REJECT REASONS  
ceph-01  /dev/sdb  hdd              53.6G  Yes        18m ago                    
ceph-01  /dev/sdc  hdd              53.6G  Yes        18m ago                    
ceph-02  /dev/sdb  hdd              53.6G  Yes        45s ago                    
ceph-02  /dev/sdc  hdd              53.6G  Yes        45s ago                    
ceph-03  /dev/sdb  hdd              53.6G  Yes        32s ago                    
ceph-03  /dev/sdc  hdd              53.6G  Yes        32s ago   # 添加到ceph集群中,在未使用的设备上自动创建osd
root@ceph-01:~# ceph orch apply osd --all-available-devicesPS:
# 从特定主机上的特定设备创建OSD:
ceph orch daemon add osd ceph-01:/dev/sdb
ceph orch daemon add osd ceph-02:/dev/sdb
ceph orch daemon add osd ceph-03:/dev/sdb
# 查看osd磁盘
root@ceph-01:~# ceph -scluster:id:     cf4e18fa-36a8-11ee-b041-03777440eaachealth: HEALTH_OKservices:mon: 3 daemons, quorum ceph-01,ceph-02,ceph-03 (age 3m)mgr: ceph-01.ydxjzm(active, since 7m), standbys: ceph-02.zpbmpmosd: 6 osds: 0 up, 6 in (since 1.16241s)data:pools:   1 pools, 1 pgsobjects: 2 objects, 449 KiBusage:   120 MiB used, 300 GiB / 300 GiB availpgs:     1 active+cleanroot@ceph-01:~# ceph df
--- RAW STORAGE ---
CLASS     SIZE    AVAIL     USED  RAW USED  %RAW USED
hdd    300 GiB  300 GiB  120 MiB   120 MiB       0.04
TOTAL  300 GiB  300 GiB  120 MiB   120 MiB       0.04--- POOLS ---
POOL  ID  PGS   STORED  OBJECTS     USED  %USED  MAX AVAIL
.mgr   1    1  449 KiB        2  449 KiB      0     95 GiB

8、访问仪表盘查看状态

访问:https://192.168.200.33:8443/

图片.png-136.3kB

访问:https://192.168.200.33:3000/

图片.png-164.1kB

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

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

相关文章

opencv实战项目 手势识别-手势控制鼠标

手势识别系列文章目录 手势识别是一种人机交互技术&#xff0c;通过识别人的手势动作&#xff0c;从而实现对计算机、智能手机、智能电视等设备的操作和控制。 1. opencv实现手部追踪&#xff08;定位手部关键点&#xff09; 2.opencv实战项目 实现手势跟踪并返回位置信息&…

register_chrdev函数简单使用

register_chrdev函数网上介绍的文章比较多&#xff0c;就不概述了。 以下是例子。 #include<linux/module.h> #include<linux/kernel.h> #include<linux/init.h> #include<linux/fs.h> #include<linux/slab.h> #include<linux/timer.h> …

AAAI论文阅读

文章目录 Open-Vocabulary Multi-Label Classifcation via Multi-Modal Knowledge Transfer——知识蒸馏的范畴Med-EASi: Finely Annotated Dataset and Models for Controllable Simplifcation of Medical Texts——医学领域数据集构建“Nothing Abnormal”: Disambiguating M…

UE 5 GAS 在项目中处理AttributeSet相关

这一篇文章是个人的实战经验记录&#xff0c;如果对基础性的内容不了解的&#xff0c;可以看我前面一篇文章对基础的概念以及内容的讲解。 设置AttributeSet 使用GAS之前&#xff0c;首先需要设置参数集AS&#xff0c;这个是用于同步的一些参数&#xff0c;至于如何设置GAS&a…

Mysql之安装-字符集设置-用户及权限操作-sqlmode设置

1、概述 MySQL支持大型数据库&#xff0c;支持5000万条记录的数据仓库&#xff0c;32位系统表文件最大可支持4GB&#xff0c;64位系统支持最大的表文件为8TB。使用标准的SQL数据语言形式。 2、Linux的mysql安装 &#xff08;1&#xff09;检查是否已安装&#xff1a;rpm -qa…

梯度下降求极值,机器学习深度学习

目录 梯度下降求极值 导数 偏导数 梯度下降 机器学习&深度学习 学习形式分类

Apollo让自动驾驶如此简单

前言&#xff1a; 最近被新能源的电价闹的不行&#xff0c;买了电车的直呼上当了、不香了。但电车吸引人不只是公里油耗低&#xff0c;还有良好的驾车使用感。比如辅助驾驶、甚至是自动驾驶。今天来介绍一个头部自动驾驶平台Apollo&#xff0c;Apollo是一个开源的、自动驾驶的软…

Linux 创建用户赋予root权限,并限定登录ip

1.创建jms用户 创建组 groupadd jms创建用户 -g 指定分组 useradd -m -d /home/jms jms -g jms -s /bin/bash设置用户密码 passwd jms2.赋予root权限 编辑文件 vim /etc/sudoers添加如下内容 jms ALL(ALL:ALL) NOPASSWD: ALL3.限定登录ip 编辑文件&#xff0c;在末尾添…

【论文阅读】基于深度学习的时序预测——FEDformer

系列文章链接 论文一&#xff1a;2020 Informer&#xff1a;长时序数据预测 论文二&#xff1a;2021 Autoformer&#xff1a;长序列数据预测 论文三&#xff1a;2022 FEDformer&#xff1a;长序列数据预测 论文四&#xff1a;2022 Non-Stationary Transformers&#xff1a;非平…

git checkout -b

创建分支&#xff1a; $ git branch mybranch 切换分支&#xff1a; $ git checkout mybranch 创建并切换分支&#xff1a; $ git checkout -b mybranch 更新master主线上的东西到该分支上&#xff1a;$git rebase master 切换到master分支&#xff1a;$git checkout master …

模拟栈(c++题解)

实现一个栈&#xff0c;栈初始为空&#xff0c;支持四种操作&#xff1a; push x – 向栈顶插入一个数 xx&#xff1b;pop – 从栈顶弹出一个数&#xff1b;empty – 判断栈是否为空&#xff1b;query – 查询栈顶元素。 现在要对栈进行 M 个操作&#xff0c;其中的每个操作 …

3.6 Spring MVC文件上传

1. 文件上传到本地 实现方式 Spring MVC使用commons-fileupload实现文件上传&#xff0c;注意事项如下&#xff1a; l HTTP请求方法是POST。 l HTTP请求头的Content-Type是multipart/form-data。 SpringMVC配置 配置commons-fileupload插件的文件上传解析器CommonsMultip…

tp5伪静态设置

nginx伪静态 location / {if (!-e $request_filename) {rewrite ^(.*)$ /index.php?s$1 last;break;} } apache伪静态 <IfModule mod_rewrite.c>Options FollowSymlinks -MultiviewsRewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME…

SpringBoot复习:(34)@EnableWebMvc注解为什么让@WebMvcAutoconfiguration失效?

它导入了DelegatingWebMvcConfiguration 它会把容器中的类型为WebMvcConfigurer的bean注入到类型为WebMvcConfigurerComposite的成员变量configurers中。 可以看到它继承了WebMvcConfigurerSupport类 而WebMvcConfigureAutoConfiguration类定义如下 可以看到一个Conditional…

Flink源码之RPC

Flink是一个典型的Master/Slave分布式实时处理系统&#xff0c;分布式系统组件之间必然涉及通信&#xff0c;也即RPC&#xff0c;以下图展示Flink组件之间的关系&#xff1a; RPCGateWay 一般RPC框架可根据用户业务类生成客户端和服务器端通信底层代码&#xff0c;此时只需定…

边缘计算:连接智能世界的变革之力

随着物联网和人工智能的迅猛发展&#xff0c;边缘计算作为一种新兴的计算模式正受到越来越多的关注。边缘计算将数据处理和分析的能力从云端向网络的边缘推移&#xff0c;为各行各业带来了巨大的机遇和挑战。本文将探讨边缘计算的定义、应用领域以及对未来智能世界的影响。 1.…

【微信小程序篇】-请求封装

最近自己在尝试使用AIGC写一个小程序&#xff0c;页面、样式、包括交互函数AIGC都能够帮我完成(不过这里有一点问题AIGC的上下文关联性还是有限制&#xff0c;会经常出现对于需求理解跑偏情况&#xff0c;需要不断的重复强调&#xff0c;并纠正错误&#xff0c;才能得到你想要的…

基于机器学习进行降雨预测 -- 机器学习项目基础篇(13)

在本文中&#xff0c;我们将学习如何构建一个机器学习模型&#xff0c;该模型可以根据一些大气因素预测今天是否会有降雨。这个问题与使用机器学习的降雨预测有关&#xff0c;因为机器学习模型往往在以前已知的任务上表现得更好&#xff0c;而这些任务需要高技能的个人来完成。…

mysql正则表达式

mysql正则表达式 : REGEXP 规则基本和java正则规则一样,有些特殊字符有差异. 举例: -- 匹配以英文开头,4位英文字母8位数字/4位数字-4位数字 select * from tableName where code REGEXP ^[A-Z]{4}[0-9]{8}/[0-9]{3}-[0-9]{3}$ ;将code中的3位数字改成4位.高位补0. -- 数据…

Jmeter快捷方式和应用图标设置

很多人在安装Jmeter,安装到本机却没有icon&#xff0c;每次使用的时候&#xff0c;每次打开应用都要找目录&#xff0c;不太方便。 【解决问题】 使用bin路径下的一个.bat文件&#xff0c;创建快捷方式。 【操作步骤】 Step1、将Jmeter 安装bin路径下的jmeter.bat 发送快捷方…