关于ceph osd auth keyring

2024-04-11 06:36
文章标签 keyring auth osd ceph

本文主要是介绍关于ceph osd auth keyring,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概述

关于osd auth 认证

误删osd auth认证

如果在删除osd时,id指定错误,错误执行了ceph auth del osd.x,此时osd工作目录还在,osd重启会因为认证无法启动。只要重新添加该osd auth认证即可

ceph auth add osd.{osd-num} osd 'allow *' \mon 'allow profile osd' \mgr 'allow profile osd' \-i /var/lib/ceph/osd/ceph-{osd-num}/keyring

上述原理和命令对于各位运维来说应该非常熟悉,不算新鲜命令,不做展开。

关于osd重建的一些构想

上述命令从另一个角度,也可以理解为,为拥有完成结构的osd,添加auth认证,从而可以加入集群。
在ceph运维中最常见的一种场景:换盘重建
假设一个大规模集群,出现硬盘损坏,以往的方案:

  • 删除原有osd(down,out,del osd.id,auth 认证,crush结构,lvm,pv,vg等)
  • 物理更换硬盘
  • 用新硬盘进行prepare和activate等等

此步骤没有任何问题,确实可以完成硬盘重建。但对集群来说,pg状态经历了至少3次变化

  • osd out时,由于reweight的变化,osd会进行计算迁移
  • osd remove时,由于tree中weight变化,pg会计算迁移
  • 新osd进入时,pg会向新osd进行backfill(即使新osd.id与原先osd相同,上面的pg分布也会发生变化)

也就是说完全删除osd,再重新create的方法,会引起额外的pg迁移和恢复时间,且在集群规模很大,pg很多时,很多pg要重新参与计算分布

能否有一种方式优化呢?

显然可以,只要不进行out和删除osd的操作,保持osd tree结构没有发生过变化,就可以优化这个过程。
将旧盘拔下后,直接插上新盘。以一个init.conf(结构和ceph.conf类似,cluster为空或者补齐0)正常zap、prepare

ceph-volume lvm zap ......
ceph-volume lvm prepare --cluster init .......

挂载临时temp,

然后将旧的osd的几个配置文件恢复,分别是:

  • whoami(osd编号,手写就行)
  • keyring(auth认证,ceph auth get-or-create osd.${ID}获取,将集群中的auth认证写到文件,与上述误删过程恰好相反)
  • fsid(实际是osd的uuid,从旧的硬盘中获取,或者ceph osd dump获取)
  • ceph_fsid(集群的cluster_id从别的osd或者ceph.conf或者ceph-conf --lookup fsid获取)

恢复完成后,umount掉temp临时目录
进行activate激活即可,新硬盘会直接承担旧硬盘的osdid,并承担原有工作。

这篇关于关于ceph osd auth keyring的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/893326

相关文章

2.1ceph集群部署准备-硬件及拓扑

硬件配置及建议 时至今日,ceph可以运行在各种各样的硬件平台上,不管是传统的x86架构平台(intel 至强系列、基于amd的海光系列等),还是基于arm的架构平台(比如华为鲲鹏),都可以完美运行ceph集群,展现了其强大的适应能力。 ceph的不同组件对硬件的需求有些许不同,下面是官方推荐的硬件要求: 组件资源最低配置要求OSD处理器最少1 core每200-500 MB/s最少1 co

Ceph-deploy搭建ceph集群

Ceph介绍及安装 一、Ceph介绍1.1 ceph说明1.2 Ceph架构1.3 Ceph逻辑组织架构1.3.1 Pool1.3.2 PG1.3.3 PGP 二、部署Ceph集群2.1 部署方式:2.2 服务器准备`monitor、mgr、radosgw`:`MDS`(相对配置更高一个等级)`OSD节点 CPU`:`OSD 节点内存`: 2.3 部署环境**2.3.1、四台服务器作

ceph-iscsi 手动安装过程中的一些问题记录以及解决办法

ceph-iscsi 手动安装教程 安装教程,建议直接看官方文档,猛戳传送门。官方教程是英文版的(不知道有没有中文版),都是一些基础英语,问题不大,实在不行找个翻译软件帮帮忙,哈哈哈。 多啰嗦一点,官方教程里面全部是通过git 一个一个安装的,比较麻烦。可以使用如下命令,比较省事(以ubuntu系统作为示例): `sudo apt update // 更新apt 数据库 sudo apt -

Django 第十四课 -- 用户认证(Auth)组件

Django 用户认证(Auth)组件一般用在用户的登录注册上,用于判断当前的用户是否合法,并跳转到登陆成功或失败页面。 Django 用户认证(Auth)组件需要导入 auth 模块: # 认证模块from django.contrib import auth# 对应数据库from django.contrib.auth.models import User 返回值是用户对象。

Ceph RBD使用

CephRBD使用 一、RBD架构说明二、RBD相关操作1、创建存储池2、创建img镜像2.1 创建镜像2.1.2 查看镜像详细信息2.1.3 镜像其他特性2.1.4 镜像特性的启用和禁用 3、配置客户端使用RBD3.1 客户端配置yum源3.2 客户端使用admin用户挂载并使用RBD3.2.1 同步admin账号认证文件3.2.2 客户端映射 3.3 客户端使用普通用户挂载并使用RBD

ceph中pg与pool关系

在Ceph中,PG(Placement Group)和Pool是非常重要的概念,它们在Ceph的存储架构中扮演着关键角色。理解这些概念有助于更好地管理和优化Ceph集群。下面详细介绍这两个概念及其相互关系。 Pool(存储池) 定义: Pool(存储池)是Ceph中逻辑上的存储单元,用于组织和管理数据。用户可以通过创建不同的Pool来为不同的应用程序或用途分配存储空间。 类型: Pool可以

python http 认证 auth oauth 认证

# -*- coding: utf-8 -*-import requestsBASE_URL = 'https://api.github.com'def construct_url(end_point):return '/'.join([BASE_URL, end_point])def basic_auth():"""http基本认证"""response = requests.get(cons

ceph rgw reshard (by quqi99)

作者:张华 发表于:2024-08-31 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明(http://blog.csdn.net/quqi99) 问题 今天执班遇到一个ceph问题,一个osd device坏了,导致整个client中断。后来这个就解决了,也顺序学习了一下。 原因 bucket里的object太多了,导致它的metadata oma

了解ceph scrub deep-scrub

目的 了解 ceph scrub, deep-scrub 作用了解 ceph scrub, deep-scrub 相关配置 参考告警 $ ceph -scluster:id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxhealth: HEALTH_WARN434 pgs not deep-scrubbed in time <------

ceph-rgw zipper的设计理念(1)

0.前言 RGW在ceph存储中的主要作用是提供S3和Swift的协议访问支持。Zipper工作主要是将RGW分为协议部分和后端部分。协议部分还是支持S3和Swift协议,包括身份认证、协议参数解析和op操作解析等等;后端部分主要是对接不同的存储,比如rados(zipper中变换为RadosStore,主要通过RADOS访问ceph集群)、DBstore(可以用 SQL,特别是本地 SQLi