Eu realmente não sei por onde começar, já que tudo isso é uma excelente informação. Começarei com algumas informações sobre os SSDs, depois uma descrição de todos os diferentes métodos de armazenamento em cache e apenas a partir daí. Espero que você
Vantagens / Desvantagens
- Preço: os SSDs são de alguma forma caros
- Capacidade máxima e comum: SSDs de alta capacidade são muito raros e caro
- Velocidade: é aqui que os SSDs recebem a vantagem
- Durabilidade: um SSD não tem partes móveis
Melhor ter um sistema híbrido, para ter o melhor dos dois mundos (capacidade, confiabilidade, velocidade, etc.)
O kernel do Linux 3.9 (disponibilizado em 28 de abril de 2013) apresenta o SSD cache. O mapeador de dispositivos do kernel agora inclui um alvo de cache chamado dm-cache que permite que SSDs ou outros dispositivos de armazenamento sejam usados como cache para um disco rígido. Basicamente, acelera gravações de dados e lê pois permite que o SSD mais rápido armazene primeiro os dados em cache e, em seguida, transfira-os para o disco rígido mais lento.
Fonte: Iwn
Flashcache é um módulo originalmente escrito e lançado por Facebook (Mohan Srinivasan, Paul Saab e Vadim Tkachenko) em abril de 2010. É um módulo do kernel que permite o armazenamento em cache de uma unidade em outra unidade. Isso é mais usado para armazenar em cache unidade rotacional em uma unidade de estado sólido menor para desempenho razões. Isso lhe dá a velocidade de um SSD e o tamanho de um padrão unidade rotacional para arquivos recentemente armazenados em cache. FlashCache é um general cache de bloco de write-back de propósito para o Linux.
Fonte: ArchLinux
Bcache é um cache de camada de bloco do kernel do Linux. Permite um ou mais rápido unidades de disco, como unidades de estado sólido baseadas em flash (SSDs) para atuar como um cache para uma ou mais unidades de disco rígido mais lentas.
Discos rígidos são baratos e grandes, os SSDs são rápidos, mas pequenos e caros. Não seria bom se você pudesse transparentemente obter as vantagens de ambos? Com Bcache, você pode ter seu bolo e comê-lo também.
Patches Bcache para o kernel do Linux permitem usar SSDs para cache outros dispositivos de bloco. É análogo ao L2Arc para ZFS, mas o Bcache também faz writeback cache (além de apenas escrever através do cache), e é sistema de arquivos agnóstico. Ele foi projetado para ser ligado com um mínimo de esforço, e para trabalhar bem sem configuração em qualquer configuração. De padrão, ele não armazenará em cache IO sequencial, apenas as leituras e gravações aleatórias que os SSDs se destacam. Ele é adequado para desktops, servidores, high end storage arrays, e talvez até mesmo embutidos.
O objetivo do design é ser tão rápido quanto o SSD e o dispositivo em cache (dependendo do acerto do cache versus a falta e do write-through versus write-back escreve) dentro da margem de erro. Ainda não está lá, principalmente para leituras sequenciais. Mas o teste mostrou que é enfaticamente possível, e mesmo em alguns casos fazer melhor - principalmente gravações aleatórias.
Fonte: Bcache
O Bcache tem uma grande desvantagem e tira a memória do sistema para implementar o cache.
O EnhanceIO é uma solução que é executada abaixo da camada do aplicativo. permitindo que os aplicativos utilizem os benefícios de desempenho dos SSDs sem grandes mudanças na infraestrutura de TI. Um cache SSD pode render mais dos benefícios de mudar de HDDs para SSDs em uma fração do custo de um sistema all-SSD. Um sistema em cache normalmente opera com menos potência do que um sistema baseado em HDD de desempenho similar, e que cria um benefício colateral ao reduzir os requisitos de resfriamento.
Um cache SSD também pode estender a vida útil de um sistema existente melhorar o desempenho para atender às crescentes demandas por meio de investimento, e não através de um upgrade / substituição por atacado do sistema existente.
O armazenamento em cache também permite acesso mais rápido aos dados sem o sobrecarga de administração de armazenamento para adquirir e instalar novo disco prateleiras, configurando novos LUNs e migrando dados para os novos LUNs. O cache é quase transparente e requer pouco ou nenhum tempo de inatividade. O EnhanceIO é baseado no Flashcache.
Fonte: Stec-Inc
bcache é o mais inútil de todos, porque requer especialmente partição de dados preparada (formatada). Isso dificulta (se possível) para anexar cache à partição existente com dados como se fosse precisa de 200% de capacidade e para realizar longos movimentos de dados, a fim de ativar / desativar o armazenamento em cache.
O brilho do EnhanceIO é que ele não precisa de intermediários dispositivo em tudo e pode ser anexado a qualquer dispositivo de bloco on-the-fly mesmo quando o dispositivo já estiver montado. Outra coisa super legal é que você pode anexar o cache EnhanceIO não apenas para particionar, mas para particionar bloquear dispositivo para armazenar em cache todas as suas partições de uma só vez. Assim como flashcache Os módulos do enchanceio são construídos com DKMS e podem ser usados com kernels.
Fonte: Debian
Vantagens do Cache do DM
Os caches DM usam uma arquitetura simplificada, o que os torna adaptáveis e fácil de personalizar. Os usuários podem ajustar o tamanho do bloco e o cache capacidade com base na quantidade de dados que terá de manipular ou no valor dos dados. Se um aplicativo específico precisar armazenar um ótimo lidar de dados em seqüência, os usuários podem configurar o cache para que propósito. Se um usuário quiser registrar informações em um banco de dados simultaneamente com o cache, que não irá interferir com o cache do operações.
Desvantagens do Cache do DM
Uma desvantagem de usar um cache DM é que o sistema operacional Linux tem espaço limitado para armazenar metadados. Se o cache for grande e inclui muitos blocos pequenos, que somam muitos metadados para a informação armazenada. Para resolver este problema, o usuário deve aumentar o tamanho do bloco. Outro problema possível é que, depois de um servidor travar, os metadados do cache podem não corresponder mais ao conteúdo do cache, embora seja possível restaurar a configuração correta eventualmente.
Fonte: complementos de Fraser Sherman
Portanto, a partir das informações acima, fica claro que o EnhanceIO é o caminho a percorrer, mas, na minha opinião, como é baseado no Flashcache, eu usaria o cache de flash. Mas com certeza vou experimentar os dois antes de tomar uma decisão final.