Ceph集群安装

2023-05-16

一、准备工作:
    首先会帮你准备一个 ceph-deploy 管理节点、以及三个Ceph 节点(或虚拟机),以此构成 Ceph 存储集群。
    以下步骤中admin-node为管理节点,node1为monitor节点,node2、node3为OSD节点。
1、安装源(所有节点):
# sudo yum install -y yum-utils && sudo yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/ && sudo yum install --nogpgcheck -y epel-release && sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && sudo rm /etc/yum.repos.d/dl.fedoraproject.org*
#vim /etc/yum.repos.d/ceph.repo
[ceph-noarch]
name=Ceph noarch packages
baseurl=http://download.ceph.com/rpm/el7/noarch/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
# yum update && sudo yum install ceph-deploy
2、安装NTP(所有节点) :
# yum install ntp ntpdate ntp-doc
# vim /etc/ntp.conf
添加:
server 202.120.2.101 iburst
restrict -4 default kod notrap nomodify
restrict -6 default kod notrap nomodify
# service ntpd restart
3、安装SSH(所有节点) :
# yum install openssh-server
# service sshd restart
4、创建部署 CEPH 的用户(所有节点):
# useradd -d /home/cephd -m cephd
注意:用户名不能是ceph
# passwd cephd
# echo "cephd ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephd
# sudo chmod 0440 /etc/sudoers.d/cephd
5、允许SSH无密码登录(管理节点):
# ssh-keygen
输出:
Generating public/private key pair.
Enter file in which to save the key (/ceph-admin/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /ceph-admin/.ssh/id_rsa.
Your public key has been saved in /ceph-admin/.ssh/id_rsa.pub.
# ssh-copy-id cephd@node1
# ssh-copy-id cephd@node2
# ssh-copy-id cephd@node3
# vim  ~/.ssh/config
添加:
Host node1
  Hostname node1
  User cephd
Host node2
  Hostname node2
  User cephd
Host node3
  Hostname node3
  User cephd
6、关闭防火墙(所有节点):
或开放端口6789 和 OSD 使用的 6800-7300端口(所有节点)
7、如果报错(所有节点):
在 CentOS 和 RHEL 上执行 ceph-deploy 命令时可能会报错。如果你的 Ceph 节点默认设置了 requiretty ,执行 sudo visudo 禁用它,并找到Defaults requiretty 选项,把它改为 Defaults:ceph !requiretty 或者直接注释掉,这样 ceph-deploy 就可以用之前创建的用户(创建部署 Ceph 的用户 )连接了。
# sudo visudo
将Defaults requiretty 改成 Defaults:ceph !requiretty
8、优先级/首选项(所有节点):
# yum install yum-plugin-priorities
二、搭建存储集群:
1、创建集群目录(管理节点):
# mkdir my-cluster
# cd my-cluster
2、创建集群(管理节点):
注意:如果在某些地方碰到麻烦,想从头再来,可以用下列命令清除配置:
# ceph-deploy purgedata {ceph-node} [{ceph-node}]
# ceph-deploy forgetkeys
用下列命令可以连 Ceph 安装包一起清除:
# ceph-deploy purge {ceph-node} [{ceph-node}]
如果执行了 purge ,你必须重新安装 Ceph 。
# ceph-deploy new {initial-monitor-node(s)}
例如:
# ceph-deploy new node1
在当前目录下用 ls 和 cat 检查 ceph-deploy 的输出,应该有一个 Ceph 配置文件、一个 monitor 密钥环和一个日志文件。详情见 ceph-deploy new -h 。
# vim ceph.conf
增加:
osd pool default size = 2    #把 Ceph 配置文件里的默认副本数从 3 改成 2
public network = {ip-address}/{netmask}  #如果有多个网卡可以把 public network 写入[global] 段下
3、安装ceph(管理节点):
# cd my-cluster
# ceph-deploy install admin-node node1 node2 node3      安装ceph
报错:[ERROR ] RuntimeError: remote connection got closed, ensure ``requiretty`` is disabled for network
解决:# sudo visudo    将Defaults requiretty 改成 Defaults:ceph !requiretty
报错:[ERROR ] RuntimeError: NoSectionError: No section: 'ceph'
解决:# yum remove ceph-release
# ceph-deploy mon create-initial      配置初始 monitor、并收集所有密钥
4、添加OSD(OSD节点):
# ssh node2
# mkdir /var/local/osd0
# ssh node3
# mkdir /var/local/osd1
5、准备OSD(管理节点):
# ceph-deploy osd prepare node2:/var/local/osd0 node3:/var/local/osd1
# ceph-deploy osd activate node2:/var/local/osd0 node3:/var/local/osd1   激活OSD
# ceph-deploy admin admin-node node1 node2 node3   拷贝密钥到其他节点
# chmod +r /etc/ceph/ceph.client.admin.keyring
# ceph health    检查健康状态
HEALTH_OK
三、扩展集群:
把 OSD 添加到 monitor 节点
# ssh node1
# sudo mkdir /var/local/osd2
# ssh admin-node
# ceph-deploy osd prepare node1:/var/local/osd2   准备osd
# ceph-deploy osd activate node1:/var/local/osd2   激活osd
# ceph -w     查看状态
四、添加元数据服务器:
1、创建元数据服务器(管理节点):
# ceph-deploy mds create node1
2、添加 RGW 例程(管理节点):
# ceph-deploy rgw create node1
# vim ceph.conf
添加:
[client]rgw frontends = civetweb port=80
3、添加MONITORS(管理节点):
# ceph-deploy mon add node2 node3     新增两个监视器
报错:[ceph_deploy.admin][ERROR ] RuntimeError: config file /etc/ceph/ceph.conf exists with different content; use --overwrite-conf to overwrite
[ceph_deploy][ERROR ] GenericError: Failed to configure 1 admin hosts
解决:# ceph-deploy --overwrite-conf mon add node2 node3
# ceph quorum_status --format json-pretty    检查法定人数状态
五、存入/检出对象数据(管理节点):
# echo {Test-data} > testfile.txt
# ceph osd pool create data 64 64    创建一个pool,名字为data
pool 'data' created
# rados put test-object-1 testfile.txt --pool=data   将对象存入pool
# rados -p data ls    查看存入对象
test-object-1
# ceph osd map data test-object-1    定位对象
osdmap e19 pool 'data' (6) object 'test-object-1' -> pg 6.74dc35e2 (6.22) -> up ([1], p1) acting ([1], p1)
# rados rm test-object-1 --pool=data     从pool中删除此对象
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ceph集群安装 的相关文章

  • 4. 在 Proxmox VE 安装Ceph

    4 在 Proxmox VE 安装 Ceph 1 安装 按图操作即可 2 参考 1 https blog csdn net ggeol article details 109112815
  • Ceph 配置URL访问s3 Bucket

    一 创建json文件 xff0c 用于编辑policy xff0c 文件内容如下 xff08 Version并不重要 xff09 xff0c Action存在多种选择 如步骤三所示 xff0c 并且允许同时选择多个 xff0c 本文只是通过
  • MySQL8.0 集群安装 (K8S)

    尝试了很多版本的mysql镜像 xff0c 都存在这样那样的的问题 原始需求中 xff0c 需要同时支持x86 64 AMD64 和aarch64 ARM64V8 xff0c 最后找到Oracle官方出品的MySQL Server 8 0镜
  • k8s的ceph

    ceph安装 地址 xff1a https rook io docs rook v1 8 quickstart html 特性丰富 1 xff0c 支持三种存储接口 xff1a 块存储 文件存储 对象存储 2 xff0c 支持自定义接口 x
  • CentOS8联网部署Ceph-Quincy集群

    文章目录 1 环境准备1 1 关闭selinux1 2 关闭防火墙1 3 配置免密1 4 设置yum源1 5 安装依赖1 6 设置时间同步1 7 安装docker 2 安装Ceph2 1 安装cephadm2 2 部署ceph集群2 3 集
  • s3操作ceph 创建bucket 报错 命名 错误 botocore.exceptions.ClientError: An error occurred (InvalidBucketName)

    报错信息 Traceback span class token punctuation span most recent call last span class token punctuation span s3 create bucke
  • 手把手带你部署Ceph集群

    前言 xff1a Ceph作为开源的分布式文件系统 xff0c 可以轻松地将存储容量扩展到PB以上并拥有不错的性能 Ceph提供对象存储 块存储和文件系统三种存储方式 xff0c 如果不想花时间安装ceph xff0c 可以通过ceph d
  • CentOS 7部署 Ceph分布式存储架构

    一 概述 随着OpenStack日渐成为开源云计算的标准软件栈 Ceph也已经成为OpenStack的首选后端存储 Ceph是一种为优秀的性能 可靠性和可扩展性而设计的统一的 分布式文件系统 ceph官方文档 http docs ceph
  • 分布式存储Ceph中的逻辑结构Pool和PG

    Ceph中的逻辑对象有Object Pool PG 本文简单介绍相关的概念以及之间的关系 PG状态变化过程等 1 Ceph集群中的逻辑结构 1 1 Object Object是Ceph的最小存储单元 大小可以自己定义通常为2M或4M 每个O
  • Ceph:ceph修复osd为down的情况

    ceph修复osd为down的情况 今天巡检发现ceph集群有一个osds Down了 通过dashboard 查看 ceph修复osd为down的情况 点击查看详情 可以看到是哪个节点Osds Down 了 通过命令查看Osds状态 查看
  • PG概述及OSD对PG状态的影响

    前言 随着分布式存储的广泛应用 目前对PG的关注越来越多 本文基于ONStor分布式存储系统简要介绍一下PG的状态变化 重点说明OSD对PG状态的影响 一 Ceph分布式存储概述 Ceph是一个统一的分布式存储系统 设计初衷是提供较好的性能
  • 【分布式】ceph存储

    目录 一 存储基础 单机存储设备 单机存储的问题 商业存储解决方案 二 分布式存储 软件定义的存储 SDS 分布式存储的类型 Ceph 优势 Ceph 架构 Ceph 核心组件 Pool中数据保存方式支持两种类型 Pool PG 和 OSD
  • ceph-cursh规则实战及PGS unknown 问题处理

    问题描述 root ceph mon01 ceph s cluster id 92d4f66b 94a6 4c40 8941 734f3c44eb4f health HEALTH ERR 1 filesystem is offline 1
  • ceph环境清理

    第一步 在 root ceph 目录下执行 第一个节点 ceph deploy purge ceph01 ceph02 ceph03 ceph04 ceph deploy purgedata ceph01 ceph02 ceph03 cep
  • Ceph集群生产环境安装部署

    前言 ceph的组件以及工作流程非常的复杂 是一个庞大的系统 在尝试ceph之前尽量多查阅官方的文档 理解ceph的mon osd mds pg pool等各组件 Unit的协同工作方式 Ceph官方文档 一 配置规划 二 部署 1 ntp
  • 查询统计Ceph上的pg 总数

    本文中的命令的第一版来源于国外的一个博客 后面的版本为我自己修改的版本 查询的命令如下 ceph pg dump awk pg stat col 1 while col up col col 0 9a f 0 9a f match 0 0
  • 基于dmclock分布式限流策略

    结合Cepb自身的特点 较为合理的做法是将QoS机制直接嵌入每个OSD中来实现 dmclock基本原理 mclock算法 mClock基本原理主要包含以下两个方面 1 为客户端设置一套QoS模板 并在每个1 0请求中携带该QoS模板 2 服
  • BlueStore 架构及原理分析

    BlueStore 架构及原理分析 Ceph 底层存储引擎经过了数次变迁 目前最常用的是 BlueStore 在 Jewel 版本中引入 用来取代 FileStore 与 FileStore 相比 Bluesore 越过本地文件系统 直接操
  • Ceph分布式存储详解

    一 Ceph概述 1 存储发展史 企业中使用存储按照其功能 使用场景 一直在持续发展和迭代 大体上可以分为四个阶段 DAS Direct Attached Storage 即直连存储 第一代存储系统 通过SCSI总线扩展至一个外部的存储 磁
  • Ceph入门到精通-Macvlan网络模式

    Docker中的Macvlan网络模式提供了一种将容器直接连接到宿主机网络的方式 使得容器可以拥有自己的MAC地址和与宿主机网络的直接连接 以下是使用Macvlan网络模式的一般步骤 创建Macvlan网络 docker network c

随机推荐

  • Web自动化测试(二)—— Selenium-API操作

    其他Web测试知识参考 xff1a Web自动化测试 目录 一 元素定位 1 如何进行元素定位 xff1f 2 浏览器开发者工具 2 1 如何使用浏览器开发者工具 二 元素定位方式 1 id定位 2 name定位 3 class name定
  • Java中字符串中子串的查找共有四种方法(indexof())

    亲测可用 xff0c 若有疑问请私信 indexOf 方法返回一个整数值 xff0c 指出 String 对象内子字符串的开始位置 如果没有找到子字符串 xff0c 则返回 1 如果 startindex 是负数 xff0c 则 start
  • 使用rust构建一个js引擎

    转载于 https my oschina net lilugirl2005 blog 3067895
  • Linux下使用acme.sh 配置https 免费证书

    acme sh 简单来说acme sh 实现了 acme 协议 可以从 let s encrypt 生成免费的证书 acme sh 有以下特点 xff1a 一个纯粹用Shell xff08 Unix shell xff09 语言编写的ACM
  • iOS 性能优化之内存优化

    近四年没更CSDN了 xff0c 感慨万千 近年来在搞一款比较大的APP xff0c 项目中代码量100w 43 xff0c 里面使用的三方库 其他领域的二进制包比较多 xff1b 以前这些三方 二进制都挤在同一个工程目录下 xff0c 导
  • 内核升级和降级

    查看已安装的内核 sudo dpkg get selections grep linux 不一样的系统版本升级内核要装的东西对应也不一样 xff0c 需要根据 get selections 安装对应的内核组件 使用apt get 即可完成安
  • Docker: Debian安装Docker

    Debian安装Docker 内容由 网络搜罗整理而来 xff0c 记录与共享 一 APT安装 官方Debian存储库中提供的Docker安装包可能不是最新版本 为了确保我们获得最新版本 xff0c 我们将从官方Docker存储库安装Doc
  • CodeBlocks快捷键

    原文地址 xff1a https blog csdn net lxt lucia article details 79572829 一 汇总 1 编辑部分 xff1a 按住Ctrl xff0c 滚动鼠标滚轮 xff0c 放大或缩小字体 Ct
  • ubuntu 操作系统的目录结构

    Ubuntu 系统的目录众多 xff0c 但是所有的目录都是在 目录下面的 xff0c 并且 Ubuntu 系统是不分 C 盘 D 盘等的 那么 Ubuntu 系统的这些目录具体有哪些呢 xff1f 他们的作用分别是什么呢 xff1f 下面
  • ubuntu安装和查看已安装

    说明 xff1a 由于图形化界面方法 xff08 如Add Remove 和Synaptic Package Manageer xff09 比较简单 xff0c 所以这里主要总结在终端通过命令行方式进行的软件包安装 卸载和删除的方法 一 U
  • CloudKitty安装指导

    安装以下几个模块 xff1a cloudkitty api API service cloudkitty processor Processing service collecting and rating cloudkitty dbsyn
  • Release file for http://xxx/ubuntu/dists/bionic-updates/InRelease is not valid yet报错解决

    参考 https blog 51cto com 5437315 2420097 中说明的原因 原因 xff1a 系统时间与网络时间 xff08 仓库 xff09 的不同导致更新错误 按照这个原因解释 xff0c 我查看了自己虚拟机内ubun
  • Android平台下的图片/视频转Ascii码图片/视频 (二)

    忙里偷闲又来写一篇文章 xff0c 最近在更新一些好玩的图片算法 xff0c 当然也没落下优化ascii码的图像效果 xff0c 这次我将更换一种计算ascii码的方式 xff0c 这样能更好的添加一些效果 xff0c 并且更加清楚的讲解一
  • usage: conda-script.py [-h] [-V] command ... conda-script.py: error: the following arguments are re

    网上看到很多修改condarc文件的说法 xff0c 各有分说 xff0c 各有办法 xff0c 但又不统一 实际上就是你的tensorflow版本不行 https mirrors tuna tsinghua edu cn anaconda
  • github文件下载慢的完美解决方案

    经常光顾github的程序猿朋友有可能面临这样的问题 xff0c 公司或者家里的网速不给力或者 xff0c 宽带运营商比较渣渣 xff08 笔者的宽带是北京宽带通 xff0c 对 就是长城宽带 xff0c 访问国外这种没被墙的网站慢的一匹
  • Java多态实现原理

    Java多态概述 多态是面向对象编程语言的重要特性 xff0c 它允许基类的指针或引用指向派生类的对象 xff0c 而在具体访问时实现方法的动态绑定 Java 对于方法调用动态绑定的实现主要依赖于方法表 xff0c 但通过类引用调用 inv
  • Class文件内容及常量池

    当JVM运行Java程序的时候 xff0c 它会加载对应的class文件 xff0c 并提取class文件中的信息存放在JVM开辟出来的方法区 内存中 那么这个class文件里面到底有些什么内容呢 xff1f 一 class文件内容概述 c
  • 解决Multiple dex files define Landroid/support/v4/accessibilityservice的问题

    Error Execution failed for task 39 DeviceManage transformClassesWithDexForDebug 39 gt com android build api transform Tr
  • pyecharts 图表 将 Html 文件转成图片

    使用 pyecharts 生成图表是非常方便的 xff0c 而且官方文档也特别详细 xff0c 可以满足基本全部的图表需求 但是生成后的图表默认是 html 文件 当需要发送邮件时 xff0c html 文件放在邮件附件 xff0c 邮件里
  • Ceph集群安装

    一 准备工作 xff1a 首先会帮你准备一个 ceph deploy 管理节点 以及三个Ceph 节点 xff08 或虚拟机 xff09 xff0c 以此构成 Ceph 存储集群 以下步骤中admin node为管理节点 xff0c nod