Prioridade IO do NFS no ZFS / Solaris

2

Tenho um NAS Nexenta / ZFS que estou usando como repositório de NFS para um pequeno farm do VMware vSphere. No momento eu tenho todos os discos 9x1TB espelhados (o último disco é configurado como um dispositivo de registro de gravação).

O desempenho do disco é muito bom para minhas necessidades em relação ao NFS. No entanto, uma coisa que notei é que, se eu fizer operações de E / S pesadas no NAS diretamente, o desempenho da VM fica lento. Um exemplo seria copiar 1 TB de dados entre dois sistemas de arquivos ZFS diferentes no mesmo zpool.

Existe alguma maneira boa de garantir que as solicitações de E / S executadas pelo daemon NFS sejam priorizadas em relação a outras operações de E / S no disco? Em um mundo ideal, eu teria minhas VMs fazendo backup em um zpool completamente separado, para que elas não sejam afetadas pela carga nos sistemas de arquivos ZFS. No entanto, estou pensando se há uma boa maneira de fazer isso com um único zpool.

O Linux tem ionice, por isso, se eu estivesse usando isso, eu poderia prefixar um comando mv com um ionice se eu movesse muitos dados em uma prioridade baixa de IO. No entanto, não acho que esteja disponível no kernel do Solaris.

Alguma sugestão?

    
por growse 14.03.2011 / 12:22

4 respostas

4

AFAIK, para o ZFS, toda a E / S é E / S. O que quero dizer com isso é que não diferenciará entre suas operações locais e as que o NFS está solicitando ao ZFS.

Você poderia brincar com as classes de agendamento para, de alguma forma, deixar o processo de userland mais lento, copiando todos esses dados localmente.

BTW, seu disco dedicado de 1TB para gravação de dispositivos de log não o ajudará, a menos que esse disco específico seja muito mais rápido que o restante (por exemplo, SATA 7200 vs SAS 15k). Geralmente, usamos SSDs para dispositivos de log / cache ou nada.

    
por 14.03.2011 / 14:35
2

Adicione mais RAM ... depois disso. Você pode querer considerar adicionar mais RAM. L2ARC em SSDs são ótimos, eu tenho vários. Eles não precisam ser espelhados. O ZIL tem de ser espelhado (não é necessário, mas o seu jogo acaba se não existir e existe alguma falha). Você pode querer adicionar um pouco de RAM também.

Derek

    
por 09.07.2011 / 18:14
1

Você não terá como limitar o seu I / O, a menos que você use alguma mistura feia de pv e dd ... mas isso não vale a pena. O outro pôster está correto porque o seu nono disco é inútil como ZIL. Um SSD ou nenhum disco será melhor para isso. Pode ser útil para o cache L2arc, no entanto.

Veja também: link

    
por 14.03.2011 / 15:00
-1

Você poderia executar suas tarefas pesadas de IO a partir de uma outra VM?

Haverá muita sobrecarga, sim, e você ainda precisará garantir que não sobrecarregue seu NFS, mas dessa forma todo o tráfego é tratado igualmente.

    
por 02.03.2014 / 18:09