Ramdisk como o comportamento do ZFS

1

É possível configurar o ZFS para evitar o uso de ramdisk?

No próximo cenário:

  • crie um arquivo grande (100 GB, por exemplo) ou vários arquivos pequenos (há muito mais RAM livre do que o tamanho total do arquivo (s))
  • elimine este ficheiro

quase não será disco IO. O E / S de disco deve ocorrer quando não houver mais RAM livre ou quando o cache for esvaziado explicitamente (antes da reinicialização / desligamento) ou os dados no cache antigos (horas) - não há problema se o cache for esvaziado de vez em quando, mas não com muita freqüência ( uma vez em uma hora é ok). O desempenho é mais importante que a integridade dos dados.

Eu poderia usar o ramdisk para isso, mas seria muito mais conveniente se fosse possível configurar o zfs assim.

    
por ISanych 14.11.2017 / 16:28

1 resposta

2

É melhor você usar um RAMdisk, mas isso exigirá um esforço extra, mas lutar contra o ZFS o quanto for necessário para fazer isso provavelmente levará mais.

Isso é basicamente totalmente contrário à maneira como o ZFS deseja trabalhar. O ZFS fará tudo o que estiver ao seu alcance para manter seus dados seguros e, depois disso, fará com que seus dados sejam rápidos.

Se você realmente quiser fazer isso no ZFS, seria muito arriscado e não tenho idéia se realmente funcionaria. Você precisaria criar um Zpool completamente separado para lidar com isso, e ele provavelmente quebraria completamente muito rapidamente depois que você o implementasse. Você basicamente precisaria configurar o ZFS para manter grandes quantidades de dados sujos (somente em cache) e estaria lutando contra o desejo do ZFS de manter esses dados confiáveis.

Você precisaria mexer com a configuração de um limite zfs_dirty_data_max insanamente alto e definir zfs_delay_min_dirty_percent como 100 para o conjunto inteiro; jogue uma tonelada de RAM nele; ajuste as filas de E / S para todas as operações de gravação e a quantidade de gravações permitidas em um determinado momento.

Tudo isso basicamente quebraria o desejo da ZFS de garantir que seus dados permaneçam seguros, não importa o que aconteça. Além disso, você provavelmente teria seu desempenho totalmente prejudicado sempre que atingisse esses limites e o ZFS tentasse enviar 100 GB de dados em buffer para o disco de uma só vez, em vez de fazer muitas gravações menores de 100 MB.

Se você realmente quer tentar fazê-lo funcionar, dê uma olhada nos parâmetros ajustáveis no ZoL (que eu suponho que você esteja usando em vez do Oracle / Solaris ZFS): link

    
por 15.11.2017 / 00:00