Use o SWAP como cache de disco no Linux

2

Estou usando diferentes tipos de discos no meu servidor. É possível usar um disco mais rápido como SWAP e pedir ao Linux para usá-lo como cache de disco

Pelo que entendi, o Linux usa SWAP apenas para dados de aplicativos, não para cache de disco.

Mas eu quero usar um disco mais rápido como cache para discos mais lentos, como fazemos em dm-cache, flashcache e enhanceIO

Alguém poderia sugerir parâmetros ou maneiras de fazer isso sem usar qualquer driver de terceiros

    
por ondway 16.06.2016 / 13:59

1 resposta

2

Eu acho que você está confuso. Você não precisa trocar para armazenar em cache um disco lento usando um disco mais rápido. O espaço de troca é totalmente não relacionado a essa tarefa, é usado para aumentar a memória virtual disponível para um sistema (o kernel trará páginas para um dispositivo de troca quando precisar de mais memória para outra coisa - e, é claro, usando um disco rápido como um SSD ou um dispositivo de swap de RAM comprimido como zram é melhor do que usar um disco lento).

De qualquer forma, ignore o swap. É irrelevante aqui. bcache ou flashcache ou dm-cache todos fazem o que você quer.

BTW, o linux já usa toda a RAM disponível para armazenar discos em cache - e libera automaticamente a RAM do cache quando é necessário por um programa. O cache de RAM é muito mais rápido que o armazenamento em cache SSD.

Você só precisa de um cache baseado em SSD se quiser armazenar mais dados do que caberá na RAM.

A RAM é mais rápida (cerca de US $ 90 a US $ 150 por 16GB no momento - junho de 2016 - dependendo da marca, tipo e velocidade), mas os SSDs são maiores e mais baratos (aprox. US $ 80 a US $ 240,00). e os SSDs ficarão mais baratos e maiores muito mais rápido que a RAM .... eles já estão se tornando com preços razoáveis para modelos de mais de 500 GB, e até um Samsung SSD de 2 TB custa menos de 4 vezes o preço de um 7200 RPM de alta qualidade 2 TB HDD, e menos de 8 vezes o preço do HDD mais barato de 2 TB.

Espero que a lacuna de preço se feche rapidamente nos próximos anos e, no longo prazo, os SSDs serão mais baratos e maiores do que os HDDs (e também muito mais rápidos). Eu estou ansioso para isso, eu quero substituir meus zpools HDD com zpools SSD. É claro que, até lá, os sticks de memória RAM de 64 GB ou mais também estarão amplamente disponíveis e com preço razoável.

Chega dessa digressão, de volta ao cache ...

A partir das descrições no pacote Debian:

bcache :

Bcache allows the use of SSDs to cache other block devices.

Documentation for the run-time interface is included in the kernel tree; in Documentation/bcache.txt.

flashcache :

Flashcache is a write-back block device cache for Linux. Using the Linux device mapper (DM) it provides an overlay mapper, to cache chunks of data on a high speed caching device like a solid-state drive for fast read access.

Flashcache supports FIFO and LRU cache sets, is configurable and error resistant. It comes with a DKMS kernel module and a corresponding user land for command and control.

Trecho da página dm-cache da wikipedia:

dm-cache is a component (more specifically, a target) of the Linux kernel's device mapper, which is a framework for mapping block devices onto higher-level virtual block devices.

It allows one or more fast storage devices, such as flash-based solid-state drives (SSDs), to act as a cache for one or more slower storage devices such as hard disk drives (HDDs); this effectively creates hybrid volumes and provides secondary storage performance improvements.

Além disso, o ZFS tem suporte interno para usar um dispositivo de bloqueio rápido (como um SSD) para armazenar em cache o pool.

Eu uso o ZFS e nem olhei para bcache ou fastcache por anos, então não posso recomendar um sobre o outro.

BTW, há uma postagem interessante sobre esse assunto no link , que também menciona < href="http://man7.org/linux/man-pages/man7/lvmcache.7.html"> lvmcache e EnhanceIO - Eu não sei nada sobre eles além do fato de que eles existem.

O desenvolvedor do Redhat / Fedora, Vratislav Podzimek, blogou uma comparação entre bcache vs lvmcache .

    
por 17.06.2016 / 07:23