首页 > 其他分享 >ceph高速缓存池

ceph高速缓存池

时间:2023-08-06 19:45:10浏览次数:38  
标签:存储 缓存 cache ceph images osd 高速缓存

一. 缓存池运维

1.1 自定义硬盘类型

ceph osd crush class ls

ceph osd crush class create ssd

ceph osd crush class create sata

ceph osd crush rm-device-class osd.3

ceph osd crush set-device-class ssd osd.3

1.2 自定义角色管理不同类型硬盘

ceph osd crush rule ls

ceph osd crush rule create-replicated rule-ssd default host ssd

ceph osd crush rule create-replicated rule-sata default host sata

ceph osd crush rule create-replicated rule-hdd default host hdd

1.3 设置存储池为不同角色

  • 针对同一个存储池设置角色会覆盖
ceph osd pool create images 32 32

ceph osd pool set images crush_rule rule-hdd

ceph osd pool set images crush_rule rule-ssd

ceph osd pool set images crush_rule rule-sata
  • 可查看不同硬盘类型对应的角色是谁
ceph osd crush rule ls-by-class hdd

ceph osd crush rule ls-by-class ssd

ceph osd crush rule ls-by-class sata
  • 查看存储池对应的角色
ceph osd pool get images crush_rule

1.4 配置存储池副本满足要求

  • 将名为"images"的OSD池的"min_size"属性设置为1,表示只需要一个副本即可满足数据可用性的要求。
    • Ceph通常使用数据复制来确保数据的持久性和高可用性。通过设置较大的"size"值,可以增加数据的冗余和可靠性,但也会消耗更多的存储空间。相反,设置较小的"size"值可以节省存储空间,但可能降低数据的可靠性,因为在一个副本不可用的情况下,数据将无法访问。
ceph osd pool set images min_size 1

1.5 创建缓存池

  • 已 rule-ssd 角色创建存储池

ceph osd pool create cache 64 64 rule-ssd
  • 这条ceph命令的意思是将名为"images"的存储池设置为"cache"层。

    • 在Ceph中,层级存储(Tiering)是一种数据存储和访问的方式,它将不同类型的存储池组合在一起,以实现更高效的数据管理和访问。
    • 层级存储通常由两个主要层级组成:热层(hot tier)和冷层(cold tier)。热层通常是较快、较昂贵的存储,而冷层通常是较慢、较便宜的存储。
ceph osd tier add images cache
  • 将名为"cache"的存储池(也称为缓存池)的缓存模式设置为"writeback"。

    • 在Ceph中,层级存储(Tiering)允许将数据从一个池(通常是慢速、较便宜的池,称为冷层)自动迁移到另一个池(通常是较快、较昂贵的池,称为热层)中,以提高数据的访问性能。缓存池通常用作热层,而这个命令是在配置缓存池的缓存模式时使用的。
    • "writeback"是一种缓存模式,它指定数据写入到缓存池时的行为。具体来说,当缓存模式设置为"writeback"时,写入的数据首先会写入到缓存池中,并且很快地确认写入已完成(不等待数据复制到后端的主要存储池)。然后,Ceph后台进程会异步地将数据从缓存池迁移到主要存储池中,以实现层级存储的目标。
ceph osd tier cache-mode cache writeback
  • 将名为"images"的存储池设置为"cache"池的覆盖层。

    • 在Ceph中,层级存储(Tiering)允许将数据从一个池(通常是较慢、较便宜的池,称为冷层)自动迁移到另一个池(通常是较快、较昂贵的池,称为热层)中,以提高数据的访问性能。在这个命令中,"images"是指定的主要存储池,而"cache"是指定的用作热层的缓存池。
    • 命令ceph osd tier set-overlay images cache用于将"images"存储池设置为"cache"池的覆盖层。这意味着"images"存储池将使用"cache"存储池作为其热层缓存。数据将首先写入到"cache"池中,然后根据层级存储策略,Ceph会将部分数据从"cache"池迁移到"images"池,以实现数据的层级存储和访问优化。
ceph osd tier set-overlay images cache
  • 将名为"cache"的存储池(也称为缓存池)的"hit_set_type"属性设置为"bloom"。

    • 在Ceph中,"hit_set_type"属性用于配置缓存池的命中集(Hit Set)类型。命中集是用于跟踪缓存池中哪些对象被频繁访问的数据结构。通过记录这些信息,Ceph可以更有效地判断哪些数据适合保留在缓存池中,从而提高缓存的命中率和性能。
    • 当"hit_set_type"属性设置为"bloom"时,Ceph将使用布隆过滤器(Bloom Filter)作为命中集的类型。布隆过滤器是一种快速且高效的数据结构,用于检查一个元素是否存在于一个集合中。在这种命中集类型下,Ceph可以使用布隆过滤器快速判断一个对象是否在缓存池中,从而更好地管理缓存数据。
ceph osd pool set cache hit_set_type bloom
  • 将名为"cache"的存储池(也称为缓存池)的"hit_set_count"属性设置为1。

    • 在Ceph中,"hit_set_count"属性用于配置命中集(Hit Set)的数量。命中集是用于跟踪缓存池中哪些对象被频繁访问的数据结构。通过记录这些信息,Ceph可以更有效地判断哪些数据适合保留在缓存池中,从而提高缓存的命中率和性能。
    • 将"hit_set_count"设置为1意味着只使用一个命中集。这样,Ceph将仅跟踪缓存池中的一个命中集,用于记录频繁访问的对象信息。相比使用多个命中集,这可能会减少命中集的内存占用,但也可能会影响到缓存的命中率,因为只有一个命中集来记录访问模式。
    • 需要注意的是,设置"hit_set_count"的值应根据实际使用情况和性能需求进行调整。较小的"hit_set_count"值可能减少命中集的内存占用,但可能会牺牲一定的命中率。较大的"hit_set_count"值可能会提高命中率,但也会增加内存使用。因此,需要根据实际情况权衡取舍,并进行适当的性能测试和监控来优化缓存池的配置。
ceph osd pool set cache hit_set_count 1
  • 将images存储池设置为块类型
ceph osd pool application enable images rbd
  • 方法1: 将名为"cache"的存储池(也称为缓存池)的"target_max_objects"属性设置为256。

    • 在Ceph中,"target_max_objects"是缓存池的一个属性,用于设置缓存池的目标最大对象数。缓存池是层级存储中的热层,用于存储频繁访问的数据,以提高数据的访问性能。
    • 通过将"target_max_objects"设置为256,Ceph会尝试保持缓存池中的对象数量约为256个。如果缓存池中的对象数量超过了该值,Ceph会根据缓存策略选择性地将一些对象从缓存池中淘汰,以确保缓存池的大小保持在目标范围内。
    • 1个对象是1MB,这个能最大存储1024MB=1G
ceph osd pool set cache target_max_objects 256
  • 查看存储池状态
ceph osd dump | egrep 'images|cache'
  • 方法2:将名为"cache"的存储池(也称为缓存池)的"cache_target_full_ratio"属性设置为0.1。

    • 在Ceph中,"cache_target_full_ratio"属性用于设置缓存池的目标满池比率。缓存池是层级存储中的热层,用于存储频繁访问的数据,以提高数据的访问性能。
    • 通过将"cache_target_full_ratio"设置为0.1,Ceph将设定缓存池的目标满池比率为10%。这意味着当缓存池使用的空间达到总空间的10%时,Ceph会认为缓存池已经满,不再接受更多的数据。这样可以确保缓存池不会完全填满,从而避免缓存池因过度使用而导致性能下降或故障。
    • 需要注意的是,"cache_target_full_ratio"的设置应根据实际需求和性能要求进行调整。较小的值可能导致缓存池过早满池,从而限制了其性能提升的能力。较大的值可能会使缓存池过度使用,可能影响其他存储资源的可用性。因此,设置合理的"cache_target_full_ratio"值需要综合考虑存储需求和性能目标。
ceph osd pool set cache cache_target_full_ratio 0.1

1.6 缓存池使用

rbd create images/disk1 -s 10G

# 可以发现缓存池与副本池都有disk1块设备
rbd ls -p images
rbd ls -p cache

# 映射到服务器
rbd map images/disk1

mkfs.xfs /dev/rbd0

mount /dev/rbd0 /mnt/
  • 如果不用了,那么需要手动释放掉缓存池中的数据到存储池中
rados -p cache cache-flush-evict-all

1.7 删除缓存池

rados -p cache ls

# 释放到存储池中
rados -p cache cache-flush-evict-all

ceph osd tier rm-overlay images

ceph osd tier rm images cache

标签:存储,缓存,cache,ceph,images,osd,高速缓存
From: https://www.cnblogs.com/wsxier/p/17609817.html

相关文章

  • ceph-nfs
    一.ceph-nfs1.cephfs1.1配置启动cephfscephnfs基于cephfs,需要先配置cephfscephosdpoolcreatecephfs-metadata1616cephosdpoolcreatecephfs-data3232cephfsnewcephfscephfs-metadatacephfs-datacephorchapplymdscephfs--placement="3storag......
  • CephFS快照镜像(官方教程)
    CephFS支持通过cephfs-mirror工具将快照异步复制到远程CephFS文件系统。通过镜像快照数据,然后创建与要同步的快照同名的快照(对于远程文件系统上的给定目录)来同步快照。1.要求【主(本地)和辅助(远程)Ceph集群版本应为Pacific或更高版本。】2.创建用户首先为镜像守护程序......
  • ceph-iscsi
    1.安装服务服务端可有多个,可以选择多个节点安装aptinstall-yceph-iscsiceph-common2.配置ceph-iscsi创建iSCSI存储池cephosdpoolcreateiscsi-images1616replicatedcephosdpoolapplicationenableiscsi-imagesrbd注意在服务端配置vim/etc/ceph/is......
  • Ceph的安装和学习
    1.安装单节点的Ceph  2.开启mimicCephdashboard[root@ceph-node~]#sudoceph-vcephversion13.2.10(564bdc4ae87418a232fc901524470e1a0f76d641)mimic(stable)$sudocephmgrmoduleenabledashboard$sudocephdashboardcreate-self-signed-cert[ceph......
  • ceph16版本部署
    1.初始化配置IP主机名10.0.0.10storage0110.0.0.11storage0210.0.0.12storage031.1配置离线源(所有节点)tarzxvfceph16pkg.tar.gz-C/opt/cat>/etc/apt/sources.list<<EOFdeb[trusted=yes]file:///opt/ceph16pkg/debs/EOFaptcleanallap......
  • promethues + grafana 监测ceph集群状态
    前最近在使用海量小文件压测ceph集群,想着搭建一个可视化的界面来监测集群状态,由于很久之前使用过promethues+grafana监测k8s集群状态,用来监测ceph集群应该问题不大,那么就开始吧!首先了解下promethues和grafana是什么?promethues:补充grafana:补充1、启用cephprometheu......
  • ceph 部署步骤和原理理解
    1.ceph的官方源在国外,网速比较慢,此处添加ceph源为阿里源(每个节点上均执行)vim/etc/yum.repos.d/ceph.repo[Ceph]name=Cephpackagesfor$basearchbaseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/x86_64/enabled=1gpgcheck=1type=rpm-mdgpgkey=https://downlo......
  • ceph相关问题记录:1 MDSs report oversized cache
    遇到问题:使用vdbench压测ceph目录,期间会进行海量小文件的创建,当达到10亿+数量时,集群出现警告1MDSsreportoversizedcache其实根据字面意思不难看出,是因为mds内存不够导致解决方法查看一下当前mds内存限制mds_cache_memory_limit是4G,报警阈值mds_health_cache_thresho......
  • kubernetes使用ceph作为持久化存储
    1.资源规划官方:https://ceph.com/en官方文档:https://docs.ceph.com/en/latest/start/introceph是一种开源的分布式的存储系统包含以下几种存储类型:块存储(rbd),对象存储(RADOSFateway),文件系统(cephfs)介绍:本篇文件主要是在ubuntu22.04本地去搭建一套ceph集群,后续使用storagec......
  • ceph存储osd启动异常处理和正常启停操作
    机器角色:cloudstack虚拟机的宿主机;ceph存储机器。事件:ceph存储的物理机器由于内存异常,需要停机更换,仅仅是把该物理机上面的虚拟机迁移走,同时启动了停机维护,然后就直接关机。结果造成重启之后ceph异常 原因:由于异常关闭,ceph进程的相关信息没有正常关闭,信息没有同步到文件系统,如pid......