Navegue pelos fóruns do laboratório doméstico por alguns minutos e você certamente encontrará dezenas de dicas sobre como melhorar os recursos do seu servidor de armazenamento conectado à rede. Muitas delas, como habilitar multicanal SMB e usar um SSD como unidade de inicialização, são na verdade muito sensata e podem melhorar o desempenho do seu servidor de armazenamento. Mas é igualmente provável que receba conselhos sobre a ativação acidental de serviços – alguns dos quais podem fazer mais mal do que bem.
Um desses aspectos são os caches SSD, pois eles contêm mais do que aparenta. Se você usar o ZFS como seu sistema de arquivos base como eu, muitas vezes verá postagens sobre os três tipos de caches (bem, tecnicamente dois, porque chamar o último de cache seria um nome um pouco impróprio) e como eles podem acelerar suas tarefas NAS. Mas depois de pensar em cada um deles, tenho que admitir que simplesmente não valem a pena para o consumidor médio. Na melhor das hipóteses, eles podem melhorar tarefas realmente específicas, enquanto configurações mais complexas podem até danificar sua unidade de memória.
O aumento de velocidade L2ARC só funciona em condições especiais
Não é muito útil para servidores domésticos
Começando com o cache SSD mais comum que as pessoas recomendam, o cache de troca adaptativo de nível 2 somente leitura foi projetado para complementar o ARC baseado em RAM. Digamos que seu NAS tenha 16 GB de armazenamento e 50% disso seja alocado pelo TrueNAS para cache de RAM. Dependendo da capacidade de armazenamento do seu NAS, 8 GB de ARC podem ser um pouco baixos, então você pode alocar centenas de GB de qualquer SSD antigo como cache secundário na forma de L2ARC. No papel, a capacidade extra, bem como a velocidade mais rápida (em comparação com o HDD) de um SSD, devem aumentar significativamente as velocidades de transferência.
Infelizmente, o cache de leitura com SSD tem algumas peculiaridades irritantes. Primeiro, as gravações constantes no cache podem reduzir a vida útil de um SSD. Portanto, você pode optar por unidades de alta resistência se não quiser que sua unidade NVMe cara seja sobrecarregada por operações de cache frequentes. Além disso, há o fato de que o L2ARC apenas melhora a velocidade de leitura dos dados que você provavelmente acessa com bastante frequência, o que significa que tudo, desde backups até sessões ocasionais de filme, não se beneficiará do cache SSD. Essencialmente, você esgotará a resistência do seu SSD sem melhorar significativamente as tarefas do seu laboratório doméstico.
Claro, você deverá experimentar velocidades mais altas ao acessar o mesmo conjunto de arquivos usando a configuração L2ARC. Mas, a menos que você esteja executando VMs em um NAS, gravando bancos de dados constantemente ou executando jogos em unidades de rede (sim, eu tentei isso e funciona surpreendentemente bem), não há muito sentido em configurar o cache de leitura SSD. E isso assumindo que o L2ARC pode até acelerar as operações de leitura. Em um sistema com pouca RAM, você pode desperdiçar espaço valioso de RAM para corresponder à tabela de mapeamento L2ARC, resultando em latência adicional. Combine isso com falhas ocasionais de cache e você verá por que não vale a pena usar o L2ARC em um ambiente de laboratório doméstico.
4 erros do ZFS que você comete apenas uma vez (e como evitá-los)
O ZFS pode oferecer muitos benefícios, mas também pode quebrar seu NAS se você não seguir suas regras
SLOG oferece suporte apenas a operações de gravação síncronas
E mesmo assim, foi projetado para aumentar a persistência das transferências de arquivos
Um log de intenções separado pode melhorar tecnicamente o desempenho das tarefas de gravação, mas afeta apenas aquelas que são de natureza síncrona. Para referência, a maioria das tarefas em um NAS típico são assíncronas, o que significa que uma tarefa de gravação é considerada concluída assim que é gravada na RAM, em vez de ser armazenada no HDD, como seria de esperar. O problema com tarefas assíncronas é que se houver falha de energia antes que o sistema de arquivos possa transferir dados da RAM para o disco rígido, toda a operação falhará. Por outro lado, os arquivos envolvidos em operações de gravação síncrona são primeiro enviados para a RAM e gravados em uma unidade de dados persistente (comumente chamada de log de intenção do ZFS) antes que a operação seja considerada concluída.
Em um pool normal apenas de disco rígido, as operações síncronas podem demorar um pouco para serem concluídas porque não serão consideradas concluídas até que o arquivo seja gravado no ZIL terrivelmente lento em seu(s) disco(s) rígido(s). Despejar um SSD como ZIL pode acelerar significativamente as tarefas síncronas, especialmente se você estiver armazenando máquinas virtuais ou bancos de dados inteiros em um compartilhamento de rede em seu NAS. Mas todas as antigas operações de backup e tarefas de arquivamento de mídia não beneficiarão seu armazenamento SLOG. E como as cargas de trabalho NAS típicas não exigem operações de sincronização extremamente lentas, o SLOG se torna outra adição desnecessária ao hub de armazenamento mestre comum.
Caramba, nem é um cache
Até agora, todo cache SSD que mencionei tem uma coisa em comum: perdê-lo não afetará o pool de armazenamento real cujos dados residem nele. Se uma unidade com cache de leitura L2ARC falhar, você pode simplesmente substituí-la e continuar as tarefas de backup normalmente. O espelhamento é melhor para unidades SLOG – não porque perdê-lo quebraria seu array, mas porque a configuração incorreta do SLOG enviaria suas operações síncronas de volta para um ZIL mais lento e baseado em disco rígido. Obviamente, você poderá perder os arquivos que pretendia manter nas unidades NAS se a unidade SLOG falhar durante a transferência, mas o pool geral não deverá ser danificado.
Mas a situação é radicalmente diferente se você seguir a rota VDEV de metadados especiais. Caramba, nem é um cache, mas como vi tantas pessoas tratando-o como tal, tenho que resolver suas falhas. Se você configurar o SSD como um VDEV de metadados dedicado, ele descarregará pedaços menores de dados (incluindo metadados) do HDD para a unidade muito rápida. Curiosamente, esse recurso realmente melhorará o desempenho ao acessar diretórios em seus pools, realizar operações de indexação em mídia arquivada e executar tarefas de limpeza.
Um aviso? O VDEV dedicado faz parte do seu pool de armazenamento e, se algo acontecesse com esse SSD, você perderia todos os dados armazenados no pool abrangente. Isso exigirá que você invista em várias unidades de alta resistência e configure-as em uma imagem espelhada para garantir que seu VDEV dedicado não vá para o paraíso da tecnologia e leve o resto dos seus arquivos com ele. Dados os preços dos SSDs de consumo de última geração, sem falar de seus equivalentes de nível empresarial, e o fato de que dispositivos NAS com compartimentos de unidade suficientes para suportar configurações redundantes de VDEV dedicadas para todos os seus pools de armazenamento podem custar um braço e uma perna, não posso recomendar ativar esse recurso em seu servidor de armazenamento.
Se você estiver executando o Proxmox a partir de um SSD, desative esses dois serviços para evitar desgaste do disco
Algumas otimizações para ajudar a manter seu SSD Proxmox em ótima forma
Mas você ainda pode usar unidades SSD antigas em seu NAS
Honestamente, comecei a pesquisar caches SSD para poder impedir que as unidades NVMe e SATA de alta velocidade que extraí de hardware antigo acumulassem poeira. Mas o problema é o seguinte: colocá-los em um NAS como pools de armazenamento de dados acessados com frequência faz muito mais sentido para laboratórios domésticos típicos do que definir configurações de L2ARC ou SLOG. Contanto que você tenha uma velocidade Ethernet decente, você pode simplesmente ativar o compartilhamento de rede em seu SSD antigo e usá-lo para transferir arquivos em velocidades incríveis. Foi assim que surgiu minha experiência com a execução de jogos Steam a partir de um NAS, e ainda tenho alguns títulos que consomem muito armazenamento armazenados em um compartilhamento iSCSI conectado à minha unidade PCIe Gen 3. Ele também pode servir como um pool de inicialização decente para convidados virtuais experimentais, embora você provavelmente queira fazer backup deles em um array adequado se estiver tentando fazer algo remotamente importante com as VMs e contêineres armazenados em seu SSD antigo.










