当前位置: 首页 > news >正文

推荐坪山网站建设wordpress category

推荐坪山网站建设,wordpress category,怎么把电脑网站做服务器吗,傻瓜式wordpress1.基本原理介绍 1.1 ceph中的对象(object) 在Ceph存储中#xff0c;一切数据最终都会以对象(Object)的形式存储在硬盘#xff08;OSD#xff09;上#xff0c;每个的Object默认大小为4M。 通过rados命令#xff0c;可以查看一个存储池中的所有object信息#xff0c;例如…1.基本原理介绍 1.1 ceph中的对象(object) 在Ceph存储中一切数据最终都会以对象(Object)的形式存储在硬盘OSD上每个的Object默认大小为4M。 通过rados命令可以查看一个存储池中的所有object信息例如下面的命令列出了存储池中的所有object。 rados -p pool-842bd759258f4ec9843afd1e78549350 ls 1.2 rbd块与object之间的对应关系 知道一切数据都会以object的形式存在于硬盘中后我们还需要了解对象和rbd块之间的对应关系是什么。在ceph存储中每个rbd块都有一个block_name_prefix。这个值是唯一的通过rbd info或rados命令可以查询到每个存储rbd块真实数据的对象会以这个作为名称前缀。所以通过blocak_name_prefix我们可以找到rbd块对应的对象有哪些。 1.3 rbd块中object的先后顺序如何区分 我们知道一个object的大小为4M因此一个rbd块对应的object通常会有多个。那么我们如何知道一个object对应rbd块中的哪一部分数据呢要知道这个我们就需要了解一下object的命令规则。 Object 名称由三部分组成 rbd_data.这是 RBD 存储卷的默认块名称前缀用来标识这个 Object 存储的是一个 RBD 存储卷。 115ea266096aee.这是 RBD 存储卷的 ID用来唯一标识一个 RBD 存储卷。每个 RBD 存储卷有一个唯一的 ID可以通过 rbd info 命令查看。 0000000000000c45这是块的序号用于标识这个 Object 存储的是 RBD 存储卷中的第几个块。在 RBD 存储卷中每个块都有一个唯一的序号。采用的是16进制 所以通过objec的序号我们可以知道object中保存了rbd块中哪个位置的数据。 2.object操作工具介绍 ceph-objectstore-tool是ceph提供的一个能对osd中存储的object进行增删改查的工具。该工具只能操作处于停止状态的osd。 下面的命令列出osd2中所有的object包括object所属的pg和位置信息 ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-2 --op list 下面的命令是根据上一条命令获取的信息将object导出到本地的文件test.raw中 ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-2/ --type bluestore --pgid $pgid ‘$Object_attr’ get-bytes  test.raw 3.离线导出数据实战 3.1数据导出整体流程 通过rbd的name获取rbd块的object前缀 停止掉一台服务器上的全部osd通过object前缀找出rbd相关的所有对象数据并导出。三副本故障域为服务器的情况下如果ceph集群有四台或以上存储服务器的话一台服务器上可能不具备一个rbd块的完整副本需要将多个节点的osd上导出的数据拼成一个完整的副本。 通过dd命令将所有对象数据拼接成一个完整的rbd卷 3.2手动导出数据 rados -p $pool-name listomapvals rbd_directory|grep $rbd_name -C 5 ##获取rbd块的blocak_name_prefix信息 通过上图可以看到rbd的id为59adb9d46665c可以得到blocak_name_prefix为rbd_data.59adb9d46665c 接着查询osd2中与rbd块相关的对象查询前需要先将osd2停输出的结果中一行为一个对象。 systemctl stop ceph-osd2ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-2 --op list 2/dev/null | grep rbd_data.59adb9d46665c 再通过查询到的object信息将object数据导出到本地 ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-$i/ --type bluestore --pgid $PGID $OBJECT_JSON get-bytes $RBD_PREFIX/$OID 通过dd命令创建一个新卷再将object中的数据复制到新卷中复制对象中的数据时要根据object的位置调整数据写入的位置即seek的值。object数据复制操作要执行多次直到所有object中的数据都复制到创建的新卷中数据导出操作完成。 dd if/dev/zero ofrbd_data.1cabc42df0c8c4.raw bs1 count0 seek2147483648 ##创建一个空文件用来放对象的中的数据 echo $(( 0x00000000000000ff )) ##16进制转十进制获取对象在rbd块中的位置信息 dd ifrbd_data.1cabc42df0c8c4.0000000000000000 ofrbd_data.1cabc42df0c8c4.raw seek0 bs4M count1 convnotrunc   ##将对象中的数据复制到之前创建的空文件中。 数据导出完成后默认是一个raw格式的文件可以根据需要转换成qcow2或其他格式的文件。 qemu-img convert -f raw -O qcow2 -p rbd_data.115ea266096aee.build.raw restore.qcow2 3.3通过脚本导出数据 手动导出rbd数据是一个十分繁琐的操作因此下面提供了两个脚本可以完成导出对象数据以及将对象数据合并成一个新卷的操作。 数据导出脚本将某个rbd中的对象从osd中导出到本地。脚本执行前有两个地方需要修改。RBD_PREFIX的值修改为要导出rbd的blocak_name_prefix。declare osds的值修改为要执行脚本服务器上所有的osd id。 #!/bin/bash# Export rbd_data.xxxxxxxxx to local file from all inactive osds # Number of concurrentN64RBD_PREFIXrbd_data.39c97c1ed6026c mkdir $RBD_PREFIX #all osd id in one ceph nodedeclare osds(8 9 10 11) for i in ${osds[]}do(echo $RBD_PREFIX in osd $i echo Export object...for j in $(ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-$i --op list 2/dev/null|grep $RBD_PREFIX)doecho $jPGID$(echo $j|jq .[0] -r)OBJECT_JSON$(echo $j | jq .[1])OID$(echo $j | jq .[1].oid -r)ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-$i/ --type bluestore --pgid $PGID $OBJECT_JSON get-bytes $RBD_PREFIX/$OIDdone) if [[ $(jobs -r -p | wc -l) -ge $N ]]; thenwaitfidonewaitecho All done.数据合并脚本。将导出到本地的对象中的数据复制到一个新卷中。脚本在执行前需要将RBD_PREFIX的值修改为要导出rbd的blocak_name_prefix。 #!/bin/bashRBD_PREFIXrbd_data.3262b63ba984f7IMAGE_NAME$RBD_PREFIX.build.rawrm -f $IMAGE_NAMEdd if/dev/zero of$IMAGE_NAME bs1 count0 seek2147483648for i in $(ls ./$RBD_PREFIX | sort)doidx$(echo $i|awk -F . {print $3})idxOct$(echo $((0x$idx)))dd if./$RBD_PREFIX/$i of$IMAGE_NAME seek$idxOct bs4M count1 convnotruncdone 4 总结 ceph本身提供了rbd export命令用来导出rbd块。用命令导出数据的方式更简单直接。本文主要针对某些osd无法启动、rbd命令无法执行的场景可以通过文中的方式来进行数据导出。同时通过这种导出对象的方式我们也能了解ceph数据存储的更多细节。 5 参考资料 https://docs.ceph.com/en/pacific/man/8/ceph-objectstore-tool/
http://www.zqtcl.cn/news/538473/

相关文章:

  • 如何知道一个网站是谁做的北京装饰公司前十名
  • 杭州网站建设哪个平台好visualstudio 做网站
  • 广州站是哪个站h5建站系统
  • 网站首页网址应该有对应的域名南京高端模板建站
  • 自己做的网站竞价优化怎么做网站流量赚钱吗
  • 人力资源网站建设mip网站模板
  • 太原市住房和城乡建设部网站网站 备案 换空间
  • 怎么做网站备份网站运营数据周报表怎么做
  • 度更新网站做详情页网站
  • 酷炫网站模板wordpress自动发货插件
  • 网站做多个镜像wordpress无法显示向导
  • 交易类网站建设费用工厂招工最新招聘信息
  • 俄语网站建设网站建设的实训报告
  • 朝阳市做网站的公司wordpress msg
  • 企业管理系统免费版seo关于网站
  • 几度设计网站设计制作平板电脑支架
  • 游戏设计 网站上海中企动力做网站多少钱
  • flash 开发的网站网上国网app推广经验
  • pyhton可以做网站吗文章wordpress
  • 省住房城乡建设厅门户网站电子商务网站建设用什么软件
  • 怎么给自己的网站做模版企业网站开发外包
  • 哪家可以做网站东莞网站建设少儿托管
  • 最好的网站建设公司排名生物技术网站开发
  • 网站建设经验大总结不良人网页设计怎么做
  • 宁波市余姚建设局网站学做网站要代码
  • 戴尔公司网站开发的经营目标贵州省铜仁市城乡建设局网站
  • 商务网站建设简答题及答案网站备案 域名证书
  • 网站后门怎么去除贾汪城乡建设局网站
  • 烟台住房和城乡建设厅网站重庆网站界面设计
  • 企业网站推广服务协议html编程语言