Eu tenho um servidor com 2 HDs (2x 1 TB), rodando em RAID 1 (SW-RAID). Eu quero melhorar o desempenho de E / S usando flashcache
. Existem máquinas virtuais KVM em execução, usando LVM
.
Com relação a isso, tenho as seguintes perguntas:
- Isso vai funcionar?
flashcache
funciona para dispositivos de bloco, no entanto, todas essas são máquinas virtuais com sua própria configuração. - Quanto eu esperaria aumentar o desempenho? A maioria das máquinas virtuais executa sites e alguns jogos de host.
- Qual é o tamanho do SSD? Ter um SSD maior aumentaria o desempenho, já que é capaz de armazenar mais arquivos em cache?
- O que acontece se o SSD morrer? Iria
flashcache
recuperar arquivos do disco rígido tradicional e eu poderia simplesmente substituir o SSD? - Quanto mais rápido seria
writeback
em comparação comwritethrough
ewritearound
?
Infelizmente, como não tenho acesso a um sistema de teste, poderia instalar flashcache
em um servidor ativo sem desmontar os discos? Encontrei um ótimo tutorial aqui que eu estaria usando.
centos
kvm-virtualization
lvm
flashcache
Devator
fonte
fonte
Respostas:
O Flashcache, para quem nunca viu antes, é um método para estender o cache de blocos do Linux com uma unidade SSD. É mais barato do que executar um servidor com meio TB de RAM apenas para armazenamento em cache.
Deveria. O cache de bloco do Linux funciona armazenando em cache os blocos acessados , não os arquivos . Enquanto você não estiver dando às máquinas KVM acesso direto aos dispositivos de bloco (você não está), o Linux Block Cache estará em jogo. No entanto, se você estiver dando acesso direto ao dispositivo de bloco das máquinas KVM, a resposta será menos clara.
Se você estiver usando discos virtuais com backup de arquivo, definitivamente funcionará.
Se você estiver usando discos virtuais suportados por LV, eu não sei.
Isso é algo que não podemos responder. Depende de uma variedade de coisas. Em resumo, você obterá o melhor desempenho para dimensionar seu SSD para ser maior que o conjunto ativo de blocos. Se você obtiver um cache perfeito, seu desempenho será semelhante à execução de todo o sistema em SSDs. O que você efetivamente estará fazendo.
Descobrir o tamanho exato de que você precisa é algo que não podemos ajudar. Obviamente, mais é melhor, mas encontrar a proporção exata entre o cache-SSD e o armazenamento primário não é uma questão simples.
Para complicar isso, as gravações estão definidas para serem liberadas imediatamente, como certas operações do sistema de arquivos e algumas configurações do banco de dados. Essas gravações serão armazenadas em cache apenas brevemente e seu desempenho não será afetado de forma alguma pela presença ou ausência de flashcache.
O mesmo acontece quando você diz ao Linux para fazer cache de descargas, mas com um toque. Com os descartes, qualquer gravação não liberada que estiver no cache do bloco será liberada no disco. O que acontece quando o SSD desaparece depende do modo de armazenamento em cache :
Gravação : todas as gravações são gravadas no cache e no armazenamento primário em paralelo, portanto, as chances de uma perda súbita de SSD causando erros nas VMs são muito pequenas.
Gravação : todas as gravações são gravadas no armazenamento primário e armazenadas em cache somente quando lidas. Sem chance de erros nas VMs.
Writeback : todas as gravações vão primeiro para o cache e são gravadas no armazenamento primário em segundo plano. O mais provável é causar erros nas suas VMs, caso o SSD falhe e eu não usaria esse modo na produção.
Depende de quanto você está escrevendo. Se suas gravações saturam periodicamente seu armazenamento primário, o aumento de desempenho pode ser bastante significativo. Se você costuma ler com alguma gravação, provavelmente não notará melhorias.
Além disso, o write-back é uma política ruim para o que você está fazendo, portanto, não o use.
fonte
writeback
lo, pois ele pode corromper tudo sem um pouco de BBU. Não usarei o cache do SSD, afinal, apenas um SSD normal. Obrigado novamente!Sim, funcionará bem desde que você use os dispositivos de bloco corretos. E há um truque.
Quando o LVM procura PVs, deve ver a partição através do próprio disco rígido e também do dispositivo "virtual" do flashcache.
Um sintoma óbvio deve ser que as ferramentas LVM se queixam de PVs duplicados.
A correção, para evitar esses avisos e mais importante, verifique se o dispositivo flashcache é usado pelo LVM2, é adaptar o filtro
/etc/lvm/lvm.conf
.A página de
LVM.CONF(5)
manual explicará melhor do que eu, mas vou deixar um exemplo, se todos os volumes físicos forem suportados pelo flashcache:fonte
Também existe um nível do criador lessfs. Isso permitirá que você crie dispositivos híbridos entre SSD e HDD. O desempenho da camada parece superar o Flashcache.
http://www.lessfs.com/wordpress/
http://www.lessfs.com/wordpress/?p=776
//Cristão
fonte
Alguns aplicativos abrem arquivos sem buffer.
http://man7.org/linux/man-pages/man2/open.2.html
Por exemplo, isso é muito comum para bancos de dados. Portanto, verifique se o flashcache funciona com esse conjunto de aplicativos.
fonte