ceph radosgw 原有zone placement信息丢失数据恢复

概述

近期遇到一个故障环境,因为某些原因,导致集群原有zone、zonegroup等信息丢失(osd,pool等状态均健康)。原有桶和数据无法访问,经过一些列fix后修复, 记录过程

恢复realm和pool相关信息

重新初始化realm

radosgw-admin realm create --rgw-realm=zzrealm --default

创建zonegroup

radosgw-admin zonegroup create --rgw-realm=zzrealm --rgw-zonegroup=zzzonegroup --master --default

创建zone

radosgw-admin zone create --rgw-realm=zzrealm --rgw-zonegroup=zzzonegroup --rgw-zone=zzzone --master --default

如果realm,zonegroup以及zone和之前创建过程一样,则使用的indexpool和datapool和之前一致。如果发生了变化,则需要重新指定对应的池。

radosgw-admin zone placement modify --placement-id=default-placement --data-pool data-pool --index-pool index-pool

重启rgw实例

systemctl restart ceph-radosgw@.target

至此,索引和桶信息等数据恢复完成,通过s3cmd和s3browser都可以看到桶列表。
但访问桶内数据时候会报错。

ERROR: S3 error: 301 (Moved Permanently)

恢复旧桶的zonegroup id

虽然旧的桶无法访问,但仍可以创建新桶和访问新桶内数据,我们新建一个桶testnew。底层查看桶信息

radosgw-admin bucket stats --bucket=""

发现新桶和旧桶的zonegroup id不一致。
在这里插入图片描述

获取旧桶的桶id

radosgw-admin metadata get bucket:test

其中bucket_id的行就是桶id

导出旧桶配置

其中同名后面的一大长串为上一步查询的桶id

radosgw-admin metadata get bucket.instance:testnew:6a3071ed-d182-4bdd-9398-ab21f6bf4f9d.24280.7>> testnew.json

修改桶配置json文件

找到zonegroup这一行,编辑修改为与新桶一直,即新的zonegroup id。

桶配置json导回到桶

radosgw-admin metadata put bucket.instance:testnew:6a3071ed-d182-4bdd-9398-ab21f6bf4f9d.24280.7<testnew.json

然后重启rgw实例

至此完成数据访问恢复。

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

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

相关文章

我找到了全网最低价买服务器的 bug !!!

拍断大腿 周五&#xff0c;放松一下&#xff0c;给大家分享下我最近的事儿&#xff0c;以及带大家薅个&#xff08;可能会有&#xff09;的羊毛。 上个月&#xff0c;家里买了 Apple TV&#xff08;可理解为苹果的电视盒子&#xff09;装了 infuse&#xff08;一个在电视盒子上…

宝兰德应用服务器软件通过保险业信息技术应用创新攻关实验室产品适配测试认证

近期&#xff0c;宝兰德中间件核心产品「应用服务器软件 V9.5.5」&#xff08;以下简称&#xff1a;应用服务器软件&#xff09;顺利通过了保险业信息技术应用创新攻关实验室产品适配测试。标志着宝兰德应用服务器软件符合信息技术产品适配要求&#xff0c;能够全面支持金融保险…

读python、pytorch代码时代码函数记录

在读取pytorch训练代码时&#xff0c;作为小白的自己&#xff0c;总是碰到一些没用过的函数和语法&#xff0c;这里记录学习下&#xff1a; os.sep:跨平台路径分隔符,在Python中&#xff0c;os模块提供了一些与操作系统交互的功能&#xff0c;其中os.sep是一个非常重要的属性。…

Python语言字母:深度解析与魅力探索

Python语言字母&#xff1a;深度解析与魅力探索 Python&#xff0c;作为一种广泛使用的编程语言&#xff0c;其字母背后蕴含着丰富的内涵和深厚的魅力。本文将从四个方面、五个方面、六个方面和七个方面&#xff0c;深入剖析Python语言字母所蕴含的秘密和魅力&#xff0c;带您…

解决CentOS 7无法识别ntfs的问题

解决CentOS 7无法识别ntfs的问题 方式一&#xff1a; Centos默认不支持ntfs文件格式&#xff0c;直接在Centos7上插U盘或移动硬盘无法识别&#xff0c;安装 ntfs-3g即可&#xff1a; # yum install epel-release -y # yum install ntfs-3g -y[rootbogon ~]# rpm -qa | grep nt…

系统与软件工程软件测试设计技术

测试设计技术包含基于规格说明书的技术&#xff0c;基于结构的技术&#xff0c;基于经验的技术三大项。 一 基于规格说明书的技术&#xff1a; 1.1 等价类划分 等价类划分使用测试项模型将测试项输入和输出划分为等价类(也称为“分区”)&#xff0c;其中每个等价类都应当作为…

由于找不到 XXX.dll,无法继续执行代码。重新安装程序可能会解决此问题——解决方案

由于找不到 XXX.dll&#xff0c;无法继续执行代码。重新安装程序可能会解决此问题——解决方案 一、问题描述 之前项目都是在Ubuntu操作系统下完成&#xff0c;进行的很顺利。由于我没有Linux物理机&#xff0c;每次都要打开虚拟机感觉挺麻烦的&#xff0c;我就想着把在Linux上…

LaneKeepingEnv(自动驾驶仿真)

LaneKeepingEnv环境的工作原理可以归纳如下&#xff1a; 初始化阶段&#xff1a; 环境在创建时&#xff0c;会调用__init__方法进行初始化。初始化过程中&#xff0c;会设置一些关键的属性&#xff0c;如lane&#xff08;当前车道&#xff09;、lanes&#xff08;所有车道的列…

中国版Wayve决战端到端,等待数据的大力出奇迹

作者 |王博 编辑 |德新 「人工智能的定律只有一个&#xff0c;就是规模定律&#xff08;Scaling Law&#xff09;&#xff0c;大力出奇迹。端到端是描述方式&#xff0c;更应该去考虑如何去生产更多的自动驾驶合适的数据&#xff0c;来喂养更大更合适的模型&#xff0c;取得更…

zeppelin(kylin的可视化界面安装)(从头到尾安装)

zeppelin(kylin的可视化界面安装) 1、zeppelin安装前的准备工作&#xff1a; 1、虚拟机安装配置好jdk&#xff0c; 2、虚拟机安装配置好Hadoop&#xff0c; 3、虚拟机安装配置好Hive 4、虚拟机安装配置了hbase 5、安装了kylin&#xff08;麒麟&#xff09; 6、下载了zeppelin…

小程序域名怎么配置?三步教您配置

小程序域名怎样配置&#xff1f;在当今数字化时代&#xff0c;小程序已成为企业展示品牌形象、提供便捷服务的重要渠道。然而&#xff0c;许多开发者在搭建小程序时&#xff0c;都会遇到服务器域名配置的问题。今天&#xff0c;我们将为您揭秘小程序服务器域名配置的小tip&…

C语言野指针、规避野指针、assert宏断言

目录 a.野指针成因 1.指针未初始化 2.指针越界访问 3.指针指向的空间释放 b.规避野指针 1.指针初始化 2.小心指针越界 3.指针变量不再使用时&#xff0c;及时置NULL&#xff0c;指针使用之前检查有效性 4.避免返回局部变量的地址 c.assert宏断言的使用 概念&#xff1…

【MySQL】SQL通用语法

【MySQL】SQL通用语法 SQL是结构化查询语言&#xff08;Structured Query Language&#xff09;的缩写&#xff0c;是一种专门用来管理和操作关系型数据库的标准化语言。SQL能够实现数据库的创建、查询、更新和删除操作&#xff0c;以及对数据进行存储、检索和管理。通过SQL语句…

串口屏在焊接机上的应用

在现代工业自动化浪潮中&#xff0c;焊接技术作为制造业的脊梁&#xff0c;其精准与效率直接关系到产品的质量和生产线的流畅性。而在这场技术的革新中&#xff0c;串口屏以其独特的优势&#xff0c;正成为焊接机领域的璀璨明星。今天&#xff0c;就让我们一同探索串口屏如何助…

动手学深度学习28 批量归一化

动手学深度学习28 批量归一化 批量归一化代码从零实现调包简洁实现 QA https://www.bilibili.com/video/BV1X44y1r77r/?spm_id_fromautoNext&vd_sourceeb04c9a33e87ceba9c9a2e5f09752ef8 批量归一化 n个比较小的数相乘&#xff0c;值会越来越小。 批量归一化&#xff1a;…

opencv-python(四)

读取图像文件 image cv2.imread(path, flag) flag&#xff1a;1. 默认值&#xff0c;依原图像读取图像&#xff0c;保留Alpha透明度通道。2.IMREAD_GRAYSCALE&#xff1a;将图像转为灰度再读取。3.IMREAD_COLOR&#xff1a;将图像转为三通道BGR彩色再读取。 可读取的图像格…

upload-labs-第五关

目录 第五关 1、构造.user.ini文件 2、构造一个一句话木马文件&#xff0c;后缀名为jpg 3、上传.user.ini文件后上传flag.jpg 4、上传成功后访问上传路径 第五关 原理&#xff1a; 这一关采用黑名单的方式进行过滤&#xff0c;不允许上传php、php3、.htaccess等这几类文件…

Python 自定义类型提示 from __future__ import annotations

Python 自定义类型提示 from __future__ import annotations 正文方法1方法2方法3 正文 今天&#xff0c;遇到了一个比较有意思的问题&#xff0c;我自定义一个矢量类型&#xff0c;但是我想在它的方法中加入类型提示&#xff0c;但是遇到了错误&#xff0c;代码如下&#xff…

Vue根据后端返回的tabList动态渲染组件信息

最近做了一个功能&#xff0c;后端根据配置信息&#xff0c;动态返回一个tabList&#xff0c;其中结构是List<String,Object> tabList; map里面的数据是 label、value 页面需要根据tablist动态渲染组件&#xff08;不同的tab都使用了组件进行了封装&#xff09; 实现效果…

都给我冲!微信视频号下载助手可快速提取视频号视频,已测可用

不少视频内容创作者在写文案&#xff0c;以及收集素材的时候发现微信视频号的视频无法下载&#xff0c;该怎么办呢&#xff1f; 都给我冲&#xff01;已实测好用的视频号下载助手&#xff0c;无论是个人或者企业都可以快速保存视频号视频。 你也不用担心自己是用到什么设备&am…