范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

分布式存储系统之Ceph集群存储池操作

  前文我们了解了ceph的存储池、PG、CRUSH、客户端IO的简要工作过程、Ceph客户端计算PG_ID的步骤的相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16733806.html;今天我们来聊一聊在ceph上操作存储池相关命令的用法和说明;
  在ceph上操作存储池不外乎就是查看列出、创建、重命名和删除等操作,常用相关的工具都是"ceph osd pool"的子命令,ls、create、rename和rm等;
  1、创建存储池
  副本型存储池创建命令格式
  1
  ceph osd pool create [pgp-num] [replicated] [crush-rule-name] [expected-num-objects]   提示:创建副本型存储池上面的必要选项有存储池的名称和PG的数量,后面可以不用跟pgp和replicated来指定存储池的pgp的数量和类型为副本型;即默认创建不指定存储池类型,都是创建的是副本池;   纠删码池存储池创建命令格式   1
  ceph osd pool create erasure [erasure-code-profile] [crush-rule-name] [expected-num-objects]   提示:创建纠删码池存储池,需要给定存储池名称、PG的数量、PGP的数量已经明确指定存储池类型为erasure;这里解释下PGP,所谓PGP(Placement Group for Placement purpose)就是用于归置的PG数量,其值应该等于PG的数量; crush-ruleset-name是用于指定此存储池所用的CRUSH规则集的名称,不过,引用的规则集必须事先存在;   erasure-code-profile参数是用于指定纠删码池配置文件;未指定要使用的纠删编码配置文件时,创建命令会为其自动创建一个,并在创建相关的CRUSH规则集时使用到它;默认配置文件自动定义k=2和m=1,这意味着Ceph将通过三个OSD扩展对象数据,并且可以丢失其中一个OSD而不会丢失数据,因此,在冗余效果上,它相当于一个大小为2的副本池 ,不过,其存储空间有效利用率为2/3而非1/2。   示例:创建一个副本池   示例:创建一个纠删码池   2、获取存储池的相关信息   列出存储池:ceph osd pool ls [detail]   [cephadm@ceph-admin ~]$ ceph osd pool ls   testpool   rbdpool   .rgw.root   default.rgw.control   default.rgw.meta   default.rgw.log   cephfs-metadatpool   cephfs-datapool   reppool   erasurepool   [cephadm@ceph-admin ~]$ ceph osd pool ls detail   pool 1 "testpool" replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 16 pgp_num 16 last_change 42 flags hashpspool stripe_width 0   pool 2 "rbdpool" replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 64 pgp_num 64 last_change 81 flags hashpspool,selfmanaged_snaps stripe_width 0 application rbd   removed_snaps [1~3]   pool 3 ".rgw.root" replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 8 pgp_num 8 last_change 84 owner 18446744073709551615 flags hashpspool stripe_width 0 application rgw   pool 4 "default.rgw.control" replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 8 pgp_num 8 last_change 87 owner 18446744073709551615 flags hashpspool stripe_width 0 application rgw   pool 5 "default.rgw.meta" replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 8 pgp_num 8 last_change 89 owner 18446744073709551615 flags hashpspool stripe_width 0 application rgw   pool 6 "default.rgw.log" replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 8 pgp_num 8 last_change 91 owner 18446744073709551615 flags hashpspool stripe_width 0 application rgw   pool 7 "cephfs-metadatpool" replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 64 pgp_num 64 last_change 99 flags hashpspool stripe_width 0 application cephfs   pool 8 "cephfs-datapool" replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 128 pgp_num 128 last_change 99 flags hashpspool stripe_width 0 application cephfs   pool 9 "reppool" replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 last_change 126 flags hashpspool stripe_width 0   pool 10 "erasurepool" erasure size 3 min_size 2 crush_rule 1 object_hash rjenkins pg_num 32 pgp_num 32 last_change 130 flags hashpspool stripe_width 8192   [cephadm@ceph-admin ~]$   提示:后面接detail表示列出存储池的详细信息;   获取存储池的统计数据:ceph osd pool stats [pool-name]   [cephadm@ceph-admin ~]$ ceph osd pool stats reppool   pool reppool id 9   nothing is going on   [cephadm@ceph-admin ~]$ ceph osd pool stats   pool testpool id 1   nothing is going on   pool rbdpool id 2   nothing is going on   pool .rgw.root id 3   nothing is going on   pool default.rgw.control id 4   nothing is going on   pool default.rgw.meta id 5   nothing is going on   pool default.rgw.log id 6   nothing is going on   pool cephfs-metadatpool id 7   nothing is going on   pool cephfs-datapool id 8   nothing is going on   pool reppool id 9   nothing is going on   pool erasurepool id 10   nothing is going on   [cephadm@ceph-admin ~]$   提示:不指定存储池名称表示查看所有存储池的统计数据;   显示存储池的用量信息:rados df 或者ceph df   [cephadm@ceph-admin ~]$ rados df   POOL_NAME USED OBJECTS CLONES COPIES MISSING_ON_PRIMARY UNFOUND DEGRADED RD_OPS RD WR_OPS WR   .rgw.root 1.1 KiB 4 0 12 0 0 0 27 18 KiB 4 4 KiB   cephfs-datapool 0 B 0 0 0 0 0 0 0 0 B 0 0 B   cephfs-metadatpool 2.2 KiB 22 0 66 0 0 0 49 51 KiB 46 13 KiB   default.rgw.control 0 B 8 0 24 0 0 0 0 0 B 0 0 B   default.rgw.log 0 B 175 0 525 0 0 0 16733 16 MiB 11158 0 B   default.rgw.meta 0 B 0 0 0 0 0 0 0 0 B 0 0 B   erasurepool 0 B 0 0 0 0 0 0 0 0 B 0 0 B   rbdpool 389 B 5 0 15 0 0 0 50 32 KiB 19 10 KiB   reppool 0 B 0 0 0 0 0 0 0 0 B 0 0 B   testpool 0 B 0 0 0 0 0 0 2 2 KiB 2 1 KiB   total_objects 214   total_used 10 GiB   total_avail 890 GiB   total_space 900 GiB   [cephadm@ceph-admin ~]$   提示:rados df和ceph df显示稍微有点差别,rados 信息比较全面但偏底层;ceph df人类比较容易看懂;   3、存储池重命名   命令格式:ceph osd pool rename old-name new-name   4、删除存储池   我们知道删除存储池意味着数据的丢失;所以ceph为了防止我们意外删除存储池实施了两个机制;我们要删除存储池,必须先禁用这两个机制;   第一个机制是NODELETE标志,其值需要为false,默认也是false;即允许我们删除;第二个机制是集群范围的配置参数mon allow pool delete,其默认值为"false",这表示默认不能删除存储池;即我们要删除存储池,需要将第二个机制mon allow pool delete 的值修改为true即可删除存储池;   查看nodelete的值命令格式:ceph osd pool get pool-name nodelete   修改命令nodelete的值命令格式:ceph osd pool set pool-name nodelete false|true   提示:我们要删存储池,需要将nodelete的值设置为false,即不允许删除为假,即表示允许删除;   修改mon allow pool delete的值命令格式:ceph tell mon.* injectargs --mon-allow-pool-delete={true|false}   提示:删除之前将其值设置为true,删除完成后再改为false;   删除rep-pool存储池   提示:虽然我们进用了上述的两个防止意外删除存储池的机制外,我们在直接删除存储池ceph还会提示我们需要将存储池的名称写两遍以及加--yes-i-really-really-mean-it选项来确定删除存储池的操作;   提示:删除需要删除的存储池以后,我们需要将mon allow pool delete的值修改为false防止后面误删除存储池;   5、设置存储池配额   Ceph支持为存储池设置可存储对象的最大数量(max_objects)和可占用的最大空间(max_bytes)两个纬度的配额,命令格式ceph osd pool set-quota max_objects|max_bytes ;获取存储池配额的相关信息命令格式:ceph osd pool get-quota ;   6、配置存储池参数   存储池的诸多配置属性保存于配置参数中,获取配置:ceph osd pool get ;设定配置:ceph osd pool set ;   存储池常用的可配置参数   size:存储池中的对象副本数;   min_size:I/O所需要的最小副本数;   pg_num:存储池的PG数量;   pgp_num:计算数据归置时要使用的PG的有效数量;   crush_ruleset:用于在集群中映射对象归置的规则组;   nodelete:控制是否可删除存储池;   nopgchange:控制是否可更改存储池的pg_num和pgp_num;   nosizechange:控制是否可更改存储池的大小;   noscrub和nodeep-scrub:控制是否可整理或深层整理存储池以解决临时高I/O负载的问题;   scrub_min_interval:集群负载较低时整理存储池的最小时间间隔;默认值为0,表示其取值来自于配置文件中的osd_scrub_min_interval参数;   scrub_max_interval:整理存储池的最大时间间隔;默认值为0,表示其取值来自于配置文件中的osd_scrub_max_interval参数;   deep_scrub_interval:深层整理存储池的间隔;默认值为0,表示其取值来自于配置文件中的osd_deep_scrub参数;   7、存储池快照   关于存储池快照   • 存储池快照是指整个存储池的状态快照;   • 通过存储池快照,可以保留存储池状态的历史;   • 创建存储池快照可能需要大量存储空间,具体取决于存储池的大小;   创建存储池快照命令格式: ceph osd pool mksnap 或者rados -p mksnap   列出存储池的快照命令格式:rados -p lssnap   [cephadm@ceph-admin ~]$ ceph osd pool mksnap cephfs-metadatpool metadatasnap1   created pool cephfs-metadatpool snap metadatasnap1   [cephadm@ceph-admin ~]$ rados -p cephfs-metadatpool lssnap   1 metadatasnap1 2022.09.30 00:20:55   1 snaps   [cephadm@ceph-admin ~]$   回滚存储池至指定的快照命令格式: rados -p rollback   [cephadm@ceph-admin ~]$ rados -p cephfs-metadatpool lssnap   1 metadatasnap1 2022.09.30 00:20:55   2 metadatasnap2 2022.09.30 00:22:35   2 snaps   [cephadm@ceph-admin ~]$ rados -p cephfs-metadatpool rollback cephfs-metadatpool metadatasnap2   rolled back pool cephfs-metadatpool to snapshot metadatasnap2   [cephadm@ceph-admin ~]$   删除存储池快照命令格式: ceph osd pool rmsnap 或 rados -p rmsnap   [cephadm@ceph-admin ~]$ rados -p cephfs-metadatpool lssnap   1 metadatasnap1 2022.09.30 00:20:55   2 metadatasnap2 2022.09.30 00:22:35   2 snaps   [cephadm@ceph-admin ~]$ ceph osd pool rmsnap cephfs-metadatpool metadatasnap1   removed pool cephfs-metadatpool snap metadatasnap1   [cephadm@ceph-admin ~]$ rados -p cephfs-metadatpool lssnap   2 metadatasnap2 2022.09.30 00:22:35   1 snaps   [cephadm@ceph-admin ~]$ rados -p cephfs-metadatpool rmsnap metadatasnap2   removed pool cephfs-metadatpool snap metadatasnap2   [cephadm@ceph-admin ~]$ rados -p cephfs-metadatpool lssnap   0 snaps   [cephadm@ceph-admin ~]$   提示:不用的快照建议及时清除;   8、存储池数据压缩   BlueStore存储引擎提供即时数据压缩,以节省磁盘空间,启用压缩命令格式:ceph osd pool set compression_algorithm snappy;压缩算法有none、zlib、lz4、zstd和snappy等几种,默认为snappy;zstd有较好的压缩比,但比较消耗CPU;lz4和snappy对CPU占用比例较低;不建议使用zlib;   设置压缩模式命令格式:ceph osd pool set compression_mode aggressive ;压缩模式:none、aggressive、passive和force,默认值为none; none表示不压缩; passive表示若提示COMPRESSIBLE,则压缩;aggressive表示除非提示INCOMPRESSIBLE,否则就压缩; force表示始终压缩;   其它可用的压缩参数   compression_required_ratio:指定压缩比,取值格式为双精度浮点型,其值为SIZE_COMPRESSED/SIZE_ORIGINAL,即压缩后的大小与原始内容大小的比值,默认为.875;   compression_max_blob_size:压缩对象的最大体积,无符号整数型数值,默认为0,表示没有限制;   compression_min_blob_size:压缩对象的最小体积,无符号整数型数值,默认为0,表示没有限制;   提示:压缩最小体积和最大体积都是以字节为单位;   全局压缩选项   可在ceph配置文件中设置压缩属性,它将对所有的存储池生效;可设置的相关参数如下   • bluestore_compression_algorithm   • bluestore_compression_mode   • bluestore_compression_required_ratio   • bluestore_compression_min_blob_size   • bluestore_compression_max_blob_size   • bluestore_compression_min_blob_size_ssd   • bluestore_compression_max_blob_size_ssd   • bluestore_compression_min_blob_size_hdd   • bluestore_compression_max_blob_size_hdd   9、纠删码池配置文件   列出纠删码配置文件命令格式: ceph osd erasure-code-profile ls   获取指定的配置文件的相关内容:ceph osd erasure-code-profile get default   [cephadm@ceph-admin ~]$ ceph osd erasure-code-profile ls   default   [cephadm@ceph-admin ~]$ ceph osd erasure-code-profile get default   k=2   m=1   plugin=jerasure   technique=reed_sol_van   [cephadm@ceph-admin ~]$   自定义纠删码配置文件   命令格式:ceph osd erasure-code-profile set [] [] [] [] [ ...] [--force]   • - directory:加载纠删码插件的目录路径,默认为/usr/lib/ceph/erasure-code;   • - plugin:用于生成及恢复纠删码块的插件名称,默认为jerasure;   • - crush-device-class:设备类别,例如hdd或ssd,默认为none,即无视类别;   • - crush-failure-domain:故障域,默认为host,支持使用的包括osd、host、rack、row和room等;   • - --force:强制覆盖现有的同名配置文件;   例如,如果所需的体系结构必须承受两个OSD的丢失,并且存储开销为30%;   [cephadm@ceph-admin ~]$ ceph osd erasure-code-profile ls   default   [cephadm@ceph-admin ~]$ ceph osd erasure-code-profile set myprofile k=4 m=2 crush-failure-domain=osd   [cephadm@ceph-admin ~]$ ceph osd erasure-code-profile ls   default   myprofile   [cephadm@ceph-admin ~]$   纠删码插件   Ceph支持以插件方式加载使用的纠删编码插件,存储管理员可根据存储场景的需要优化选择合用的插件。目前,Ceph支持的插件包括如下三个:   1、jerasure:最为通用的和灵活的纠删编码插件,它也是纠删码池默认使用的插件;不过,任何一个OSD成员的丢失,都需要余下的所有成员OSD参与恢复过程;另外,使用此类插件时,管理员还可以通过technique选项指定要使用的编码技术;   • reed_sol_van:最灵活的编码技术,管理员仅需提供k和m参数即可;    • cauchy_good:更快的编码技术,但需要小心设置PACKETSIZE参数;   • reed_sol_r6_op、liberation、blaum_roth或liber8tion:仅支持使用m=2的编码技术,功能特性类同于RAID 6;   2、 lrc:全称为Locally Repairable Erasure Code,即本地修复纠删码,除了默认的m个编码块之外,它会额外在本地创建指定数量(l)的奇偶校验块,从而在一个OSD丢失时,可以仅通过l个奇偶校验块完成恢复;   3、isa:仅支持运行在intel CPU之上的纠删编码插件,它支持reed_sol_van和cauchy两种技术;   例如,下面的命令创建了一个使用lrc插件的配置文件LRCprofile,其本地奇偶校验块为3,故障域为osd   [cephadm@ceph-admin ~]$ ceph osd erasure-code-profile set LRCprofile plugin=lrc k=4 m=2 l=3 crush-failure-domain=osd   [cephadm@ceph-admin ~]$ ceph osd erasure-code-profile ls   LRCprofile   default   myprofile   [cephadm@ceph-admin ~]$   原文链接:https://www.cnblogs.com/qiuhom-1874/p/16743611.html

愿所有人,往事清零,未来可期愿所有人,往事清零,未来可期在我们的一生中,要经历很多事,无论何事只要我们尽心尽意尽力去做了,无论成绩如何,无论结果如何,都不要太过于在意。人生如书,翻过一页还有下一页,页页记录着来自内心的独白妈妈就是我的全世界我们有多少家长打着为子女好的旗号,来给他们施加以各种各样的压力,当孩子们不能承受而加以反抗的时候,我们开始加以暴力情绪,大吼,甚至打骂。当我们以这样的态度面对孩子的时候,他们只能用火!火!火!游园赏灯冰雪热十大景区畅快游玩,就在临夏嗨兔年!临夏市是一座活力无限热情好客的宜游之城!钱兔似景宏兔展,玉兔呈祥福满堂。兔年春节,临夏市到处张灯结彩灯光璀璨,玩冰戏雪欢乐不断,冬春旅游系列活动热闹非凡,正值新春佳节的魅力花都公园40岁王宝强兔年两次上央视晚会,一人仨节目,演完小品演京剧,牛大年初一,王宝强发表动态我爹说我昨晚小品演的还行,但还可以再进步。说今晚看看你戏唱的怎么样?因为晚上,王宝强要参加央视戏曲晚会。王宝强动态截图今年春节,谁是人生赢家?非王宝强莫属!4代内存条依旧是中流砥柱?高性价比,毁灭者戈戟系列可以一试过年了,促销的也少了,因为过年不比国庆节之类的节日,很多单位都放假了,所以买东西也不是很方便,所以商家促销的也并不多。现在大家的目标很统一,在家休息玩。不过窝在家里玩游戏的也不在少高清修复老照片维密超模系列(4)之荷兰超模大咖布莱克叶埃南作者鸿运18k文鸿运18k回顾流金岁月,赏析维密超模情感图片维多利亚的秘密时尚秀中文名维多利亚的秘密时尚秀外文名VictoriasSecretFashionShow维多利亚的秘密品她回应缺席兔年春晚一直等到最后一刻1月21日除夕夜,在央视2023年春晚舞台上,著名歌唱家李谷一未能如往年一样领唱保留曲目难忘今宵,让许多观众感到遗憾。网友表示,没有李谷一老师领唱难忘今宵,总感觉春晚的收尾不完整。迪拜拥有价值16万英镑的套房金牙刷的世界最豪华酒店内部如果您计划去迪拜度假并希望享受真正的皇室待遇,请考虑入住迪拜皇家亚特兰蒂斯酒店。当然,前提是您不介意每晚花费高达160,000英镑的住宿费。在亚特兰蒂斯皇家迪拜酒店举行的开业典礼上那些意欲取代C的编程语言,成功了吗?2022年出现了许多可以与C竞争的语言。就在今年的CPPNorthC大会上,谷歌宣布了一门新的编程语言Carbon,并称其将是C的继任者。对于这一事件,国外媒体和开发者们也询问了C作为动视暴雪FTC诉讼的一部分,微软想让索尼公开其游戏开发计划微软收购动视暴雪(ActivisionBlizzard)的计划最近遇到了一个重大障碍,美国联邦贸易委员会(FederalTradeCommission)提起诉讼,要求阻止这笔交易。iOS16。3正式版终于来了!这部分用户必须要升级iOS16。3正式版推出苹果在今天凌晨正式推送了iOS16。3正式版系统,虽然看起来是一次大版本更新,但实际上,本次iOS16。3系统的更新内容极其有限。本次更新后版本号变为20D
Access打开指定弹出式窗体源码示例分享!Access打开指定弹出式窗体,并将其定位在当前控件下方。经修改Access网友的源码而来函数名称OpenFormForfrmName,必选参数,需要打开的窗体名称功EQS,将不可复制落实到每个触点当人们提到梅赛德斯奔驰,总能随口说出诸如AMGGTS级G级等一系列传奇车型。毋庸置疑,任何时期梅赛德斯奔驰都拥有领先同级的豪华产品,EQS也不例外,在产品百花齐放的电动化时代再次创36氪首发A轮融资,研制卫星互联网核心硬件36氪获悉,卫星激光通信设备研制商氦星光联(HiStarlink)宣布完成PreA轮融资,此次融资距离天使轮系列融资仅6个月。PreA轮由中关村发展前沿基金领投,老股东奇绩创坛和首全球富豪大出血巴菲特公司二季度亏损3000亿,最惨的还不是他前情回顾在当地时间的8月6日,巴菲特的旗下公司伯克希尔哈撒韦终于公布出了他的第二季度财报根据这份财报显示公司竟然在二季度净亏损达到了近438亿美元。但是这并不是各类的情况,不少企业姚明跟恩比德对比到底谁更出色?这两个人对比我个人觉得没有可比性,虽然我是中国人,但不是站在国人角度支持姚明,是姚明根本就强于恩比德。姚明职业生涯不管国家队还是火箭队都是绝对核心,每场比赛都是肉搏战,09年受伤的陈浩民孙耀威顶烈日为网红伴舞,直播带货沦为背景板,网友太掉价近日,有媒体曝出陈浩民和孙耀威两人合体现身,参加了一场由大网红国岳夫妇举办的活动,为国岳夫妇站台撑场,引发了网友们的热议。视频中,陈浩民和孙耀威两人都穿着西装,一灰一棕,看起来非常哈文李咏去世后,婉拒公婆出席葬礼,4年了,父母未能去扫墓爸妈,李咏虽然不在了,但是您们还有我和法图麦。您们永远都是我的公公婆婆,我永远都是李家的媳妇,永远都是李家人!2018年,在著名主持人李咏去世后,他的妻子哈文强忍着悲痛的心情为他办iPhone桌面一键美化,这也太可爱了吧Hello宝子们,我是爱搞机的躺倒鸭!你们知道吗,其实iPhone也是可以自定义主题桌面的。操作流程很简单1。保存自己喜欢的图片,最好是同一色系同一主题的。我浅浅的给大家准备了几张王皓一家四口同框,娇妻穿卫衣配休闲裤时尚靓丽,俩儿子活泼可爱着装打扮最重要的作用就是展现出自身的气质和优势,身材上的优势体现,可以让整体的魅力指数直线上升,让你的穿着打扮看上去更加时尚有韵味。而不同类型的单品,对于每一个身材修饰效果也不一样00后的emo游戏史为装可爱连续炸桥800次,半夜敲钟100回游戏可以说是目前最受欢迎的休闲娱乐方式,仅国内就有着将近7亿的游戏用户,这当中包含了各个年龄群体,自然也有众多的00后在其中。00后一直以来话题热度都比较高,因为他们更加具有自我意文咏珊谢霆锋曾对她一见钟情,陈冠希也曾为她戒烟文咏珊是以模特的身份出道的,从嫩模到演员,她的转型之路走的也不是这么的容易。文咏珊和杨颖因为同是模特出道,以前的两人也是好朋友,不过因为两人的发展道路不一样,交集也越来越少。文咏珊