ceph文件存储特性(ceph对象存储元数据存在哪里)

ceph文件存储特性(ceph对象存储元数据存在哪里)p class f center img src http dingyue ws 126 net 2022 0217 ae89ef4ag00r gif br p

大家好,我是讯享网,很高兴认识大家。




讯享网

                <p class="f_center"><img src="http://dingyue.ws.126.net/2022/0217/ae89ef4ag00r7feqt00eed200m8003pg00it0034.gif"/><br/></p><p id="0LCJ8AM1">新钛云服已为您服务<strong>1403</strong>天</p><p class="f_center"><img src="http://dingyue.ws.126.net/2022/0217/d609f629g00r7fequ000gd2008c0066g008c0066.gif"/><br/></p><p>概述<ul><li id="0LCJ8AQN"></p><p id="0LCJ8AMA">本文详细介绍了对象存储的生命周期管理是什么、如何使用它以及使用 RGW 创建自定义存储类。</p><p></li></ul>前提条件<ul><li id="0LCJ8AQO"></p><p id="0LCJ8AMB">本文假设您部署了一个 Ceph 集群,其中包含 2 个 RGW,并创建了所需的 RGW 池,例如 buckets.data、buckets.index、buckets.non-ec、rgw.log rgw.meta。</p><p></li><li id="0LCJ8AQP"></p><p id="0LCJ8AMC">如果没有ceph存储或者 RGW 未启用,请参考Ceph官网文档进行安装以及启用您的 RGW 。</p><p></li></ul>步骤<ul><li id="0LCJ8A"></p><p id="0LCJ8AMD">本文将详细介绍我们如何将对象迁移到不同类别的存储中,以便根据时间将它们分开。例如,我们可以规定将超过 N 天的对象移动到称为“cold”的存储类。可以将对象设置为在一段时间后过期,而不是移动到单独的存储类,然后将其发送到 Ceph 垃圾回收器进行删除。</p><p></li><li id="0LCJ8AQR"></p><p id="0LCJ8AME">除了删除之外,辅助存储类可以绑定到一个具有更激进的纠删码池的池,该池可以提供更好的存储效率,但可能不会那么冗余。对于不再被认为生产所需但仍希望保留副本而不是彻底删除的文件,这可能是一个很好的折衷方案。</p><p></li></ul>创建新的存储类和池</p><p id="0LCJ8AMF">注意:如果您只希望创建过期和删除对象的规则,而不是将它们移动到新的存储层,则可以跳过此部分,您可以直接转到“创建 S3 生命周期管理策略”</p><p><ul><li id="0LCJ8AQS"></p><p id="0LCJ8AMG">本文假定默认 RGW 配置。如果您设置了自定义区域组或区域和放置目标,则必须将默认名称替换为您配置的名称。</p><p></li><li id="0LCJ8AQT"></p><p id="0LCJ8AMH">要确定您是否使用默认配置,请运行以下命令:</p><p></li></ul></p><p id="0LCJ8AMI">root@labosd1:~# radosgw-admin zonegroup list<br/>root@labosd1:~# radosgw-admin zone list<br/>root@labosd1:~# radosgw-admin zonegroup placement list</p><p><ul><li id="0LCJ8AQU"></p><p id="0LCJ8AMK">对于默认配置,它将如下所示:</p><p></li></ul></p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0217%2F2fc8a851j00r7fequ0012d200j6009lg00j6009l.jpg&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0217%2F364fdeddj00r7fequ000nd200iw0094g00iw0094.jpg&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p><ul><li id="0LCJ8AQV"></p><p id="0LCJ8AMO">如果输出不同,请务必在以下指南中将“default”和“default-placement”替换为正确的命名方案。</p><p></li></ul>添加新的存储类<ul><li id="0LCJ8AR0"></p><p id="0LCJ8AMP">首先,在 Ceph RGW 结构中创建一个新的存储类,以便可以创建一个新池,然后将该池分配给新类。本文将为其存储类使用名称“COLD”。您可能希望改用 AWS 使用的存储类。它们有预定义的存储类别,例如 1A-Standard。你可以在https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html链接处获取AWS常用的存储类。</p><p><br/></li></ul></p><p id="0LCJ8AMQ">root@labosd1:~# radosgw-admin zonegroup placement add <br/>--rgw-zonegroup default <br/>--placement-id default-placement <br/>--storage-class COLD</p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0217%2Febe339d8j00r7feqv000md200u0006xg014w009f.jpg&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p><ul><li id="0LCJ8AR1"></p><p id="0LCJ8AMT">接下来,为刚刚创建的存储类提供区域放置信息。此外,设置存储类“COLD”将绑定到的池的名称。尚未创建池。可以在下一步中完成。</p><p></li></ul></p><p id="0LCJ8AMU">root@labosd1:~# radosgw-admin zone placement add <br/>--rgw-zone default <br/>--placement-id default-placement <br/>--storage-class COLD <br/>--data-pool default.rgw.cold.data <br/>--compression lz4</p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0217%2Fa88c468cj00r7feqw0048d200kq00qvg00kq00qv.jpg&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p><ul><li id="0LCJ8AR2"></p><p id="0LCJ8AN1">输出应显示在存储类“COLD”下分配了新的数据池。接下来,创建新池。这可以通过仪表板轻松完成,您可以在其中选择池类型(副本或纠删码)、归置组的数量、压缩类型等。只需确保池名称与上述命令中使用的名称匹配即可。</p><p></li></ul></p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0217%2F59cd9052j00r7feqx001vd200u000lhg00uz00m6.jpg&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p><ul><li id="0LCJ8AR3"></p><p id="0LCJ8AN4">新的存储类现在已经完成并且可以使用了。接下来的步骤是创建和设计一个生命周期,以完全按照您的意愿去做。本文将使用一些简单的示例。</p><p></li></ul>创建 S3 生命周期管理策略<ul><li id="0LCJ8AR4"></p><p id="0LCJ8AN5">下一步将需要在系统上安装 s3cmd。您还可以使用适用于 Windows 的 S3 browser之类的工具,它允许您创建 s3 ACL 策略。</p><p></li><li id="0LCJ8AR5"></p><p id="0LCJ8AN6">本文将使用 s3cmd。安装 s3cmd,然后使用他们的内置工具通过 –configure 参数对其进行配置。输入将构建 s3 策略的 s3 存储桶的访问密钥和密钥,并将其指向正确的 RGW 端点和端口。</p><p></li><li id="0LCJ8AR6"></p><p id="0LCJ8AN7">下面的示例将提供设置的格式。</p><p></li><li id="0LCJ8AR7"></p><p id="0LCJ8AN8">确保“DNS-style bucket+hostname:port template”只是您的 RGW 的 IP 地址和它使用的端口,而不使用存储桶或位置变量。</p><p></li><li id="0LCJ8AR8"></p><p id="0LCJ8AN9">不需要默认区域。您只需要在该配置处通过 Enter 跳过。</p><p></li><li id="0LCJ8AR9"></p><p id="0LCJ8ANA">在配置结束时,s3cmd 将要求测试设置。如果成功,您可以继续。S3cmd 将在 /root/.s3cfg 生成一个配置文件。</p><p></li></ul></p><p id="0LCJ8ANB">root@octrgw1:~# apt install s3cmd<br/>root@octrgw1:~# s3cmd –configure</p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0217%2Fb029232ej00r7feqy000sd200ei007gg00ei007g.jpg&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p><ul><li id="0LCJ8ARA"></p><p id="0LCJ8ANE">要测试功能,请运行 s3cmd ls。这应该列出与提供的访问密钥和秘密密钥相关的存储桶。</p><p></li></ul>生命周期配置<ul><li id="0LCJ8ARB"></p><p id="0LCJ8ANF">创建存储类并配置 s3cmd 后,我们现在可以创建一些生命周期管理规则。这些管理规则通过 xml 文件创建,然后可以使用 s3cmd 将其传递到存储桶。</p><p></li><li id="0LCJ8ARC"></p><p id="0LCJ8ANG">可以在 AWS (https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html)网站上找到更全面的生命周期规则列表。但是,请注意此页面针对的是 Amazon S3,因此请记住,有些内容可能不会与 Ceph 一致,但大多数规则都应该适用于Ceph RGW。</p><p></li><li id="0LCJ8ARD"></p><p id="0LCJ8ANH">使用生命周期管理工具,您可以选择“transition”和“expiration”</p><p></li><li id="0LCJ8ARE"></p><p id="0LCJ8ANI">您可以创建包含两个步骤的规则。</p><p></li><li id="0LCJ8ARF"></p><p id="0LCJ8ANJ">为了创建这些生命周期规则,请创建一个 XML 文件并在该 XML 文件中创建您的规则。</p><p></li><li id="0LCJ8ARG"></p><p id="0LCJ8ANK">例如,可以制定一条规则,在 1 个月后将对象移到新的存储类,然后在 2 个月后将它们过期以删除。该生命周期规则如下所示:</p><p></li></ul></p><p id="0LCJ8ANM">Transition then Expire Rule</p><p id="0LCJ8ANN">Enabled</p><p id="0LCJ8ANO">30<br/>COLD</p><p id="0LCJ8ANP">60</p><p><ul><li id="0LCJ8ARH"></p><p id="0LCJ8ANS">对于更简单的规则,您可以简单地指示删除早于设定日期的对象。这条规则看起来类似于:</p><p></li></ul></p><p id="0LCJ8ANU">Expire after 1 year</p><p id="0LCJ8ANV">Enabled</p><p id="0LCJ8AO0">365</p><p><ul><li id="0LCJ8ARI"></p><p id="0LCJ8AO3">最后,对于仅将对象移动到新存储类而不将它们标记为过期的规则,您可以使用如下规则:</p><p></li></ul></p><p id="0LCJ8AO5">Transition objects to COLD storage class</p><p id="0LCJ8AO6">Enabled</p><p id="0LCJ8AO7">30<br/>COLD</p><p><ul><li id="0LCJ8ARJ"></p><p id="0LCJ8AOA">在这些规则中,您还可以看到“前缀”匹配的配置。这允许灵活地在单个存储桶上运行所有不同的规则,并且只要使用正确的前缀上传对象,该规则将仅适用于它。这可以让您在单个存储桶中拥有多个过期规则。这看起来像这样:</p><p></li></ul></p><p id="0LCJ8AOC">prefix expiration</p><p id="0LCJ8AOD">dir1</p><p id="0LCJ8AOE">Enabled</p><p id="0LCJ8AOF">120</p><p id="0LCJ8AOG">dir2</p><p id="0LCJ8AOH">Enabled</p><p id="0LCJ8AOI">60</p><p><ul><li id="0LCJ8ARK"></p><p id="0LCJ8AOL">上面的规则会在 120 天后过期所有前缀为 dir1 的对象,并在 60 天后过期所有前缀为 dir2 的对象。</p><p></li><li id="0LCJ8ARL"></p><p id="0LCJ8AOM">要使创建的规则生效,请在安装了 s3cmd 的主机上创建一个新的 xml 文件。</p><p></li><li id="0LCJ8ARM"></p><p id="0LCJ8AON">复制上面的规则以及您的环境所需的更改。</p><p></li><li id="0LCJ8ARN"></p><p id="0LCJ8AOO">例子:</p><p></li></ul></p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0217%2Fb029232ej00r7feqy000sd200ei007gg00ei007g.jpg&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p><ul><li id="0LCJ8ARO"></p><p id="0LCJ8AOR">保存文件。此文件保存为生命周期过期.xml。此策略将附加到的 s3 存储桶且命名为 lifecycletest。</p><p></li><li id="0LCJ8ARP"></p><p id="0LCJ8AOS">使用 s3cmd,在正确的存储桶上设置生命周期策略。</p><p></li></ul></p><p id="0LCJ8AOT">root@octrgw1:~# s3cmd setlifecycle lifecycle-expire.xml s3://lifecycletest</p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0217%2Fddb16c55j00r7feqz0015d200mw007yg00mw007y.jpg&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p><ul><li id="0LCJ8ARQ"></p><p id="0LCJ8AP0">测试是否已设置生命周期。</p><p></li></ul></p><p id="0LCJ8AP1">root@octrgw1:~# s3cmd info s3://lifecycletest</p><p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0217%2Fbc12fd25j00r7feqz000wd200p30062g00p30062.jpg&thumbnail=660x2147483647&quality=80&type=jpg"/><br/></p><p id="0LCJ8AP4">当使用 transition 规则而不是 expire 规则时,s3cmd info 将无法正确显示出它。您将需要使用 S3 Browser这样的工具来查看生命周期规则。S3 Browser也可用于创建这些规则。使用 S3 Browser 的唯一缺点是它不允许使用自定义存储类,例如使用“COLD”。它仅使用标准 Amazon S3 命名,因此在使用 transition 而不是 expire 规则时,最好使用 s3cmd 和 XML 文件。</p><p><ul><li id="0LCJ8ARR"></p><p id="0LCJ8AP5">可在此处找到 s3 Browser生命周期管理指南:https ://s3browser.com/bucket-lifecycle-configuration.aspx</p><p></li></ul>Debug 配置<ul><li id="0LCJ8ARS"></p><p id="0LCJ8AP6">如果您想创建和测试其中的一些规则,最好使用 Ceph 内置的 RGW debug 模式 。这允许设置任意的时间段(通常为 60 秒)。通过该 debug 模式, 我们可以快速测试规则以确保它们完全按照预期进行,并提供快速调试的能力。</p><p></li><li id="0LCJ8ART"></p><p id="0LCJ8AP7">为此,您必须通过 SSH 连接到充当 RGW 的节点。进入系统盘后,使用 sudo 权限打开 ceph.conf。它可以在 /etc/ceph/ceph.conf 中找到相关配置</p><p></li><li id="0LCJ8ARU"></p><p id="0LCJ8AP8">将以下行添加到 conf 文件中:</p><p></li></ul></p><p id="0LCJ8AP9">rgw lc debug interval = 60</p><p><ul><li id="0LCJ8ARV"></p><p id="0LCJ8APB">这将生命周期间隔设置为每 60 秒到 24 小时关联一次。另外,需要确认您是否使用多个 RGW,如果是的话,则将其添加到每个 RGW 的配置文件中。</p><p></li><li id="0LCJ8AS0"></p><p id="0LCJ8APC">保存配置文件后,重新启动 RGW。将下面 octrgw1 替换为您的 RGW 的名称。</p><p></li></ul></p><p id="0LCJ8APD">root@octrgw1:~# systemctl restart ceph-radosgw@rgw.octrgw1</p><p>故障排除<ul><li id="0LCJ8AS1"></p><p id="0LCJ8APE">如果您的生命周期规则有问题,很可能是因为规则编写不正确,或者 RGW debug interval 不起作用。</p><p></li><li id="0LCJ8AS2"></p><p id="0LCJ8APF">为了检查您的 RGW 生命周期规则的状态,请在带有管理员密钥环的节点上运行以下命令。</p><p></li></ul></p><p id="0LCJ8APG">root@octrgw1:~# radosgw-admin lc list</p><p><ul><li id="0LCJ8AS3"></p><p id="0LCJ8API">这列出了您已有的生命周期规则。如果它们未设置为“完成”,您可以通过运行以下命令强制 Ceph 启动规则:</p><p></li></ul></p><p id="0LCJ8APJ">root@octrgw1:~# radosgw-admin lc process</p><p id="0LCJ8APL"><strong>了解新钛云服</strong></p><p id="0LCJ8APT"><strong>往期技术干货</strong></p><p class="f_center"><img src="http://dingyue.ws.126.net/2022/0217/5bdd9157g00r7fer000mad200u000u0g01jk01jk.gif"/><br/></p><p class="f_center"><img src="http://dingyue.ws.126.net/2022/0217/8637fed4g00r7fer100aod200dw00dwg00dw00dw.gif"/><br/></p>

讯享网
小讯
上一篇 2025-05-28 23:49
下一篇 2025-05-15 14:26

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/191302.html