rbd cache

cache

1、why

  The existence of cache is based on a mismatch between the performance characteristics of core components of computing architectures, namely that bulk storage cannot keep up with the performance requirements of the CPU and application processing.

2、what

  The technique of storing a copy of data temporarily in rapidly-accessible storage media (also known as memory) local to the CPU and separate from bulk storage

3、with

  • Latency is reduced for active data, which results in higher performance levels for the application.
  • I/O operations to external storage are reduced as much of the I/O is diverted to cache, resulting in lower levels of SAN traffic and contention for the SAN.
  • Data can sit permanently on external storage arrays or traditional storage, which maintains the consistency and integrity of the data using features provided by the array, such as snapshots or replication.
  • Flash is targeted at just the part of the workload that benefits from lower latency, resulting in a more cost-effective use of high $/TB storage.

4、classify

  • Write-through cache directs write I/O onto cache and through to underlying permanent storage before confirming I/O completion to the host. This ensures data updates are safely stored on, for example, a shared storage array, but has the disadvantage that I/O still experiences latency based on writing to that storage. Write-through cache is good for applications that write and then re-read data frequently as data is stored in cache and results in low read latency.(先写cache后写backend,最新的写均能在cache读到)
  • Write-around cache is a similar technique to write-through cache, but write I/O is written directly to permanent storage, bypassing the cache. This can reduce the cache being flooded with write I/O that will not subsequently be re-read, but has the disadvantage is that a read request for recently written data will create a “cache miss” and have to be read from slower bulk storage and experience higher latency.(不写cache,直接写backend,导致最新的写不能再cache获取到读)
  • Write-back cache is where write I/O is directed to cache and completion is immediately confirmed to the host. This results in low latency and high throughput for write-intensive applications, but there is data availability exposure risk because the only copy of the written data is in cache. As we will discuss later, suppliers have added resiliency with products that duplicate writes. Users need to consider whether write-back cache solutions offer enough protection as data is exposed until it is staged to external storage. Write-back cache is the best performing solution for mixed workloads as both read and write I/O have similar response time levels.(依靠副本等策略避免数据丢失)

5、where

  • In the server – Some caching solutions are deployed directly in the server, either on RAID cards or Fibre Channelhost bus adapter (HBA) cards. Products in the market today include LSI’s range of Nytro MegaRAID PCIe cards and Qlogic’s FabricCache.Both these products aim to accelerate I/O by caching data on the card itself or in the case of FabricCache on a connected PCIe SSD device that uses thePCIe bus for power.
  • Working with the hypervisor – In this case the hypervisor is involved in the caching process, typically through one of two methods.
  • In the operating system – Microsoft provides write-back cache within Windows Server 2012 R2 that can be used with Hyper-V. There are other caching software solutions that deploy into the operating system, providing acceleration for Windows and Linux environments, such as FlashSoft from SanDisk.Having caching software integrated with the OS provides the ability to be more targeted with caching software, for example, by applying it only to certain disk volumes or folders, although these solutions may be less flexible with clustered environments

6、problems

for example, the problem of cache warm-up, where cache needs to be loaded with enough active data to reduce cache misses and allow it to start improving I/O response times.

There will always be a trade-off between latency and resiliency and so it becomes dependent on the user to look at whether write-cache is an essential requirement of the deployment.

  One other consideration is the algorithms or logic used to determine what to cache. Some solutions use simple “least recently used” policies to discard data; others are more complex and look at the data for clues as to which should be retained in cache.

7、new

  NVDIMM technology, which uses the DRAM slots and delivers NAND flash storage offers a middle ground by providing performance that comes close to DRAM speeds but provides a permanent storage medium.

参考与引用:

1、http://www.computerweekly.com/feature/Write-through-write-around-write-back-Cache-explained

  

时间: 2024-10-04 05:57:16

rbd cache的相关文章

ceph cache pool配置

0.引入 本文介绍如何配置cache pool tiering. cache pool的作用是提供可扩展的cache,用来缓存ceph的热点数据或者直接用来作为高速pool.如何建立一个cache pool:首先利用ssd盘做一个虚拟的bucket tree, 然后创建一个cache pool,设置其crush映射rule和相关配置,最后关联需要用到的pool到cache pool. 1.建立ssd bucket tree 这是新增ssd bucket(vrack)后的osd tree.其中os

QEMU-KVM 和 Ceph RBD 的 缓存机制总结

QEMU-KVM 的缓存机制的概念很多,Linux/KVM I/O 软件栈的层次也很多,网上介绍其缓存机制的文章很多.边学习变总结一下.本文结合 Ceph 在 QEMU/KVM 虚机中的使用,总结一下两者结合时缓存的各种选项和原理. 1. QEMU/KVM 缓存机制 先以客户机(Guest OS) 中的应用写本地磁盘为例进行介绍.客户机的本地磁盘,其实是 KVM 主机上的一个镜像文件虚拟出来的,因此,客户机中的应用写其本地磁盘,其实就是写到KVM主机的本地文件内,这些文件是保存在 KVM 主机本

通过iscsi协议使用ceph rbd

ceph很早就已经支持通过iscsi协议来使用rbd,这篇博文对此做下演示,并且使用OSD Server作为iscsi target端. 一.OSD Server side 1.安装支持rbd的TGT软件包 #echo "deb http://ceph.com/packages/ceph-extras/debian $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/ceph-extras.list #apt-get

从传统运维到云运维演进历程之软件定义存储(三)下

上回书讲到了运维小哥的调优方法论(上),对于Ceph运维人员来说最头痛的莫过于两件事:一.Ceph调优:二.Ceph运维.调优是件非常头疼的事情,下面来看看运维小哥是如何调优的. 关卡二:部署调优关之调优(二) 难度:五颗星 优化方法论 通过对网上公开资料的分析进行总结,对Ceph的优化离不开以下几点: 硬件层面 硬件规划 SSD选择 BIOS设置 操作系统层面 Linux Kernel 内存 Cgroup 网络层面 巨型帧 中断亲和 硬件加速 Ceph层面 Ceph Configuration

ceph

1.Ceph是分布式存储系统,支持三种接口. Object:有原生的API,而且也兼容Swift和S3的API Block:支持精简配置.快照.克隆 File:Posix接口,支持快照 Ceph也是分布式存储系统,它的特点是: 高扩展性:使用普通x86服务器,支持10~1000台服务器,支持TB到PB级的扩展. 高可靠性:没有单点故障,多数据副本,自动管理,自动修复. 高性能:数据分布均衡,并行化度高.对于objects storage和block storage,不需要元数据服务器. 目前In

Ceph性能优化总结(v0.94)

如需转载请标明作者,原文地址:http://xiaoquqi.github.io/blog/2015/06/28/ceph-performance-optimization-summary/ 最近一直在忙着搞Ceph存储的优化和测试,看了各种资料,但是好像没有一篇文章把其中的方法论交代清楚,所以呢想在这里进行一下总结,很多内容并不是我原创,只是做一个总结.如果其中有任何的问题,欢迎各位喷我,以便我提高. 优化方法论 做任何事情还是要有个方法论的,"授人以鱼不如授人以渔"的道理吧,方法通

openstack M版本部署

系统解决方案 一.环境需求 1.网卡 em1 em2 em3 em4 controller1 172.16.16.1 172.16.17.1 none none controller1 172.16.16.2 172.16.17.2 none none compute1 172.16.16.3 172.16.17.3 none none compute2 172.16.16.4 172.16.17.4 none none compute3 172.16.16.5 172.16.17.5 none

Ceph架构及性能优化

对分布式存储系统的优化离不开以下几点: 1. 硬件层面 硬件规划 SSD选择 BIOS设置 2. 软件层面 Linux OS Ceph Configurations PG Number调整 CRUSH Map 其他因素 硬件层面 1.  CPU ceph-osd进程在运行过程中会消耗CPU资源,所以一般会为每一个ceph-osd进程绑定一个CPU核上. ceph-mon进程并不十分消耗CPU资源,所以不必为ceph-mon进程预留过多的CPU资源. ceph-msd也是非常消耗CPU资源的,所以

译:块设备和 OpenStack

libvirt 配置了 librbd 的 QEMU 接口,通过它可以在 OpenStack 中使用 Ceph 块设备镜像.Ceph 块设备镜像被当作集群对象,这意味着它比独立的服务器有更好的性能. 在 OpenStack 中使用 Ceph 块设备,必须首先安装 QEMU,libvirt 和 OpenStack.建议 OpenStack 安装的时候使用独立的物理节点.OpenStack 节点建议最小 8G RAM和四核处理器.下图描述了 OpenStack 和 Ceph 技术层次. Importa