Ubuntu20.04使用cephadm部署ceph集群

这篇具有很好参考价值的文章主要介绍了Ubuntu20.04使用cephadm部署ceph集群。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


Cephadm通过在单个主机上创建一个Ceph单机集群,然后向集群中添加主机以扩展集群,进而部署其他服务。

VMware安装Ubuntu20.04并使用Xshell连接虚拟机:https://blog.csdn.net/gengduc/article/details/134889416

Requirements

  • Python3

  • Systemd

  • Podman或Docker

    apt install docker.io # 安装docker
    systemctl status docker.service ## 查看服务运行状态
    

    Ubuntu20.04使用cephadm部署ceph集群,分布式存储Ceph,ceph,ubuntu,cephadm,部署

  • 时间同步chrony或NTP

    apt install chrony
    systemctl status chronyd.service	
    

    Ubuntu20.04使用cephadm部署ceph集群,分布式存储Ceph,ceph,ubuntu,cephadm,部署

  • LVM2

环境

主机名hostname 硬盘设备 ip地址 Ceph服务
node01 一块系统盘/dev/sda、三块用于安装OSD的数据盘/dev/sdb、/dev/sdc、/dev/sdd 192.168.64.128 mon×1、mgr×1、osd×3
node02 一块系统盘/dev/sda、三块用于安装OSD的数据盘/dev/sdb、/dev/sdc、/dev/sdd 192.168.64.129 mon×1、mgr×1、osd×3
node03 一块系统盘/dev/sda、三块用于安装OSD的数据盘/dev/sdb、/dev/sdc、/dev/sdd 192.168.64.130 mon×1、mgr×1、osd×3

Ubuntu20.04使用cephadm部署ceph集群,分布式存储Ceph,ceph,ubuntu,cephadm,部署

我们将通过cephadm部署Ceph集群,在node01上先部署Ceph单机集群,然后添加node02和node03主机扩展至三台设备集群。

安装Cephadm

【node01执行】

apt install cephadm # 安装cephadm工具

whereis cephadm # 检查安装情况
# 输出如下内容
root@node01:~# whereis cephadm
cephadm: /usr/sbin/cephadm

部署Ceph单机集群

引导(bootstrap)建立新集群

Cephadm部署Ceph的方式成为==bootstrap(引导)==。创建新Ceph集群的第一步是在Ceph集群的第一台主机上运行cephadm bootstrap命令。在Ceph集群的第一台主机上运行cephadm bootstrap命令的行为会创建Ceph集群的第一个“监视守护进程”,并且该监视守护进程需要IP地址。您必须将Ceph集群node01的IP地址传递给ceph bootstrap

cephadm bootstrap --mon-ip <node01的ip地址>
# 例如
cephadm bootstrap --mon-ip 192.168.64.128
root@node01:~# cephadm bootstrap --mon-ip 192.168.64.128
Creating directory /etc/ceph for ceph.conf # 创建配置文件目录
Verifying podman|docker is present... # docker/podman存在
Verifying lvm2 is present... # lvm2存在
Verifying time synchronization is in place... # 时间同步
Unit systemd-timesyncd.service is enabled and running # 时间同步启用并正在运行
Repeating the final host check...
podman|docker (/usr/bin/docker) is present # docker存在
systemctl is present 
lvcreate is present
Unit systemd-timesyncd.service is enabled and running
Host looks OK # 主机状态OK
Cluster fsid: 3c6aed32-9644-11ee-b2df-17e04a57112a # 集群fsid,是集群的唯一标识
Verifying IP 192.168.64.128 port 3300 ... # 验证主机端口
Verifying IP 192.168.64.128 port 6789 ...
Mon IP 192.168.64.128 is in CIDR network 192.168.64.0/24 # mon IP地址,及所在网段
Pulling container image quay.io/ceph/ceph:v15... # 拉去ceph镜像
Extracting ceph user uid/gid from container image...
Creating initial keys...
Creating initial monmap...
Creating mon...
Waiting for mon to start... # 等待mon启动
Waiting for mon...
mon is available
Assimilating anything we can from ceph.conf...
Generating new minimal ceph.conf... # 生成集群的最小配置
Restarting the monitor...
Setting mon public_network...
Creating mgr...
Verifying port 9283 ...
Wrote keyring to /etc/ceph/ceph.client.admin.keyring # 生成密钥环
Wrote config to /etc/ceph/ceph.conf # 写入配置
Waiting for mgr to start... # 等待mgr启动
Waiting for mgr...
mgr not available, waiting (1/10)...
mgr not available, waiting (2/10)...
mgr not available, waiting (3/10)...
mgr not available, waiting (4/10)...
mgr not available, waiting (5/10)...
mgr not available, waiting (6/10)...
mgr is available
Enabling cephadm module...
Waiting for the mgr to restart...
Waiting for Mgr epoch 5...
Mgr epoch 5 is available
Setting orchestrator backend to cephadm...
Generating ssh key...
Wrote public SSH key to to /etc/ceph/ceph.pub # 写入SSH密钥到ceph.pub
Adding key to root@localhost's authorized_keys...
Adding host node01...
Deploying mon service with default placement...
Deploying mgr service with default placement...
Deploying crash service with default placement...
Enabling mgr prometheus module...
Deploying prometheus service with default placement...
Deploying grafana service with default placement...
Deploying node-exporter service with default placement...
Deploying alertmanager service with default placement...
Enabling the dashboard module...
Waiting for the mgr to restart...
Waiting for Mgr epoch 13...
Mgr epoch 13 is available
Generating a dashboard self-signed certificate...
Creating initial admin user...
Fetching dashboard port number...
Ceph Dashboard is now available at: # Ceph Dashboard可用

	     URL: https://node01:8443/
	    User: admin
	Password: qdnqrh6owz

You can access the Ceph CLI with:

	sudo /usr/sbin/cephadm shell --fsid 3c6aed32-9644-11ee-b2df-17e04a57112a -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring

Please consider enabling telemetry to help improve Ceph:

	ceph telemetry on

For more information see:

	https://docs.ceph.com/docs/master/mgr/telemetry/

Bootstrap complete. # 引导创建集群完成

  • 在node01上为新集群创建mon和mgr守护程序。
  • 为Ceph集群生成新的SSH密钥,并将其添加到root用户的/root/.ssh/authorized_keys文件中。
  • 将公钥的副本写入/etc/ceph/ceph.pub
  • 将最小配置文件写入/etc/ceph/ceph.conf。与集群通信需要此文件。
  • 写入client.admin管理(特权!)密钥/etc/ceph/ceph.client.admin.keyring
  • _admin标签添加到node01引导主机。默认情况下,任何带有此标签的主机都将(也)获得/etc/ceph/ceph.conf/etc/ceph/ceph.client.admin.keyring的副本。

验证:查看集群状态

cephadm类似与进入docker容器的docker exec命令

Ubuntu20.04使用cephadm部署ceph集群,分布式存储Ceph,ceph,ubuntu,cephadm,部署

Ceph DashBoard访问地址:https://192.168.64.128:8443。

没有配置本地主机的DNS解析,不要直接使用主机名node01访问)。

Ubuntu20.04使用cephadm部署ceph集群,分布式存储Ceph,ceph,ubuntu,cephadm,部署

管理OSD

列出可用的OSD设备

# 查看设备列表,显示可用作OSD的设备
ceph orch device ls [--hostname=...] [--wide] [--refresh]

Ubuntu20.04使用cephadm部署ceph集群,分布式存储Ceph,ceph,ubuntu,cephadm,部署

部署OSD

# 创建新的OSD
ceph orch daemon add osd <host>:<device-path> [--verbose]
root@node01:/# ceph orch daemon add osd node01:/dev/sdb
Created osd(s) 0 on host 'node01'
root@node01:/# ceph orch daemon add osd node01:/dev/sdc
Created osd(s) 1 on host 'node01'
root@node01:/# ceph orch daemon add osd node01:/dev/sdd
Created osd(s) 2 on host 'node01'

Ubuntu20.04使用cephadm部署ceph集群,分布式存储Ceph,ceph,ubuntu,cephadm,部署

删除OSD

ceph orch osd rm <osd_id(s)> [--replace] [--force] # 删除OSD
ceph orch device zap <hostname> <path> # 擦除设备(清除设备)

Ubuntu20.04使用cephadm部署ceph集群,分布式存储Ceph,ceph,ubuntu,cephadm,部署

管理主机

列出主机信息

ceph orch host ls [--format yaml] [--host-pattern <name>] [--label <label>] [--host-status <status>] [--detail]

Ubuntu20.04使用cephadm部署ceph集群,分布式存储Ceph,ceph,ubuntu,cephadm,部署

添加主机到集群

将新主机添加到集群,两个步骤:

  1. 在新主机的root用户的authorized_keys文件中安装群集的公共SSH密钥:

    ssh-copy-id -f -i /etc/ceph/ceph.pub root@*<new-host>*
    

    Ubuntu20.04使用cephadm部署ceph集群,分布式存储Ceph,ceph,ubuntu,cephadm,部署

  2. 告诉Ceph集群新主机是集群的新节点:

    ceph orch host add *<newhost>* [*<ip>*] [*<label1> ...*]
    

    Ubuntu20.04使用cephadm部署ceph集群,分布式存储Ceph,ceph,ubuntu,cephadm,部署

    Ubuntu20.04使用cephadm部署ceph集群,分布式存储Ceph,ceph,ubuntu,cephadm,部署

这里在将node03添加进集群的时候,node03节点的mgr服务没有部署成功。重新放置部署。

Ubuntu20.04使用cephadm部署ceph集群,分布式存储Ceph,ceph,ubuntu,cephadm,部署

Ubuntu20.04使用cephadm部署ceph集群,分布式存储Ceph,ceph,ubuntu,cephadm,部署

Ubuntu20.04使用cephadm部署ceph集群,分布式存储Ceph,ceph,ubuntu,cephadm,部署

从集群中删除主机

从主机中删除守护进程后,才可以安全的删除主机。

ceph orch host rm <host> # 从集群中删除主机

Ubuntu20.04使用cephadm部署ceph集群,分布式存储Ceph,ceph,ubuntu,cephadm,部署

部署Ceph集群

按照上面的方法部署三台设备的Ceph集群,步骤如下:

  1. 使用cephadm bootstrap引导部署Ceph单机集群
  2. 在引导主机node01上部署OSD
  3. 向集群中添加主机node02、node03
  4. 分别在node02和node03上部署OSD

Ubuntu20.04使用cephadm部署ceph集群,分布式存储Ceph,ceph,ubuntu,cephadm,部署

至此,三台设备的集群部署完成!通过Ceph Dashboard查看集群信息。
Ubuntu20.04使用cephadm部署ceph集群,分布式存储Ceph,ceph,ubuntu,cephadm,部署文章来源地址https://www.toymoban.com/news/detail-753757.html

到了这里,关于Ubuntu20.04使用cephadm部署ceph集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kylin v10基于cephadm工具离线部署ceph分布式存储

    ceph:octopus OS:Kylin-Server-V10_U1-Release-Build02-20210824-GFB-x86_64、CentOS Linux release 7.9.2009 Ceph可用于向云平台提供对象存储、块设备服务和文件系统。所有Ceph存储集群部署都从设置每个Ceph节点开始,然后设置网络。 Ceph存储集群要求:至少有一个Ceph Monitor和一个Ceph Manager,并且至少有

    2024年02月14日
    浏览(25)
  • 【ubuntu】ubuntu 20.04安装docker,使用nginx部署前端项目,nginx.conf文件配置

    docker 官网:Install Docker Engine on Ubuntu 1.将apt升级到最新 2.使用apt安装 docker 和 docker-compose (遇到提示输入 y ) 3.将当前用户添加到docker用户组 4.运行hello-world 运行成功 1.修改配置文件 修改conf/nginx.conf 2.重新挂载 给容器设置自启动(如果提示就去掉sudo) 给docker设置开机自启动

    2024年01月20日
    浏览(42)
  • Ubuntu20.04部署ntp服务

    系统版本 ip地址 Ubuntu20.04镜像 服务端 Ubuntu20.04 10.1.0.55 ubuntu-20.04.5-live-server-amd64 客户端 Ubuntu20.04 10.1.0.56 ubuntu-20.04.5-live-server-amd64 ntp服务安装包: ntp_4.2.8p12+dfsg-3ubuntu4.20.04.1_amd64.deb ntpdate安装包: ntpdate_4.2.8p12+dfsg-3ubuntu4.20.04.1_amd64.deb Ubuntu下载地址: https://ubuntu.com/download/serv

    2024年02月07日
    浏览(45)
  • ubuntu 20.04部署brc20 ordinals铭文

    1、btc节点部署文档详见btc节点部署 官方文档 2、更改之前节点部署rpc访问方式 下载bitcoin包后相对路径:bitcoin-26.0/share/rpcauth/rpcauth.py 文件 执行文件 创建cookie文件 注释掉bitcoin.conf的账号密码 3、编译ordinals代码 根据情况,如果没有rust环境执行安装 4、同步ordinals数据

    2024年01月16日
    浏览(43)
  • C++ TinyWebserver 部署到Linux下,并运行(使用的是Vmware的虚拟机运行Ubuntu20.04)

    环境:Vmware+Ubuntu20.04 1. Tinyweb server项目地址:https://github.com/qinguoyi/TinyWebServer 2. 首先进行mysql5.7的安装: 参考教程 : Ubuntu20.04安装MySQL5.7-实测3种方法(保姆级教程):https://blog.csdn.net/liuhuango123/article/details/128264867, 使用方法 2 3. 装好mysql后项目开始,按照TinyWebserver 中 rea

    2024年02月02日
    浏览(31)
  • (二)如何在两台运行Ubuntu 20.04的系统上建立RabbitMQ集群

    如何在两台运行Ubuntu 20.04的系统上建立RabbitMQ集群。建立RabbitMQ集群需要一些特定的步骤,下面是一个概述: 安装RabbitMQ和Erlang :首先,在两台服务器上都执行您提供的快速安装脚本以安装RabbitMQ和Erlang。 详见《(一)Ubuntu 20.04 (Focal Fossa) 上安装RabbitMQ和Erlang,并配置管理员,并

    2024年01月23日
    浏览(36)
  • Ubuntu20.04部署编译LVI-SAM

    该动图来自LVI-SAM开源地址(https://github.com/TixiaoShan/LVI-SAM) 近期在学习SLAM相关知识,拜读了此篇经典论文LVI-SAM,因为部署的时候系统版本与开源略有不同,遇到一些问题,故在此记录一下。 若是大手子,请直接忽视本文。 衷心建议大家先参照开源各版本进行环境配置,可以

    2024年02月11日
    浏览(55)
  • Centos stream 8 使用 cephadm 安装 Ceph (17.2.6 quincy)集群

    名称 IP 角色 备注 cephnode120 10.0.49.120 _admin 双网卡 双硬盘/sda/60G  /sdb/160G cephnode121 10.0.49.121 _storage 双网卡 双硬盘/sda/60G  /sdb/160G    cephnode122 10.0.49.122 _storage 双网卡 双硬盘/sda/60G  /sdb/160G centos8 因不再维护需将repos源换成阿里源  保存退出 :wq  cephadm 手动安装系统要求: Pyth

    2024年02月07日
    浏览(23)
  • ubuntu20.04部署ntp服务器ntpd(ntpdate )

    首先,在终端中更新你的包列表,然后安装NTP。输入下面的命令: 编辑NTP的配置文件,这里我们使用nano文本编辑器,但你也可以使用你喜欢的其他编辑器。 在此文件中,找到以\\\"pool\\\"开头的行,它们定义了NTP将与之同步的服务器。你可以保留默认值,或者根据需要添加/更改。

    2024年02月02日
    浏览(34)
  • Ubuntu20.04部署安装Kubernetes1.23<最新尝试,无坑版>

    节点安排: name IP master 172.16.10.21 node1 172.16.10.22 node2 172.16.10.23 如果接下来的步骤中没有特殊指明是哪台机器要做的话,就都要执行 1.1.首先安装ubuntu的虚拟机,配置静态IP地址,使其能够正常上网,更换为国内镜像源,并且能够被xshell正常连接上(如果这步出现问题可以查看

    2024年02月11日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包