Desempenho ruim executando "cp -al" em uma exportação NFS

1

Estou no processo de implementar um backup de um WD My Book Live Duo. Este dispositivo está configurado com o software RAID0. O diretório de origem do backup é a raiz do dispositivo e o destino é um diretório dentro do mesmo sistema de arquivos (tomando o cuidado apropriado para evitar a cópia recursiva dos próprios arquivos de backup). Há uma camada de criptografia para arquivos de backup (os arquivos de origem são texto não criptografado), o que requer mais poder de computação do que o NAS é capaz de fornecer. Por causa disso, as operações de consumo da CPU são realizadas em um servidor que está na mesma rede.

O NAS está exportando dois diretórios por meio do NFS. Um é somente leitura e contém todo o sistema de arquivos (é a origem do backup), e o outro é o de leitura / gravação (é a raiz do backup). Os detalhes da configuração são indicados no final do post.

O servidor de backup usa encfs como camada de criptografia e rsnapshot para realizar o backup em si.

O problema é: A primeira etapa do backup, que consiste em cp -al do último diretório de backup em um novo diretório, leva cerca de duas horas para ser concluída.

Eu realizei os seguintes testes no lado do servidor NFS até o momento:

  • A mesma operação de cp -al leva cinco minutos se executada diretamente no NAS
  • dd /dev/zero ~/test.tmp mostra um rendimento muito próximo de 100 MiB / s
  • top mostra baixo consumo de CPU. No entanto, média de carregamento é alta (~ 4)
  • iperf taxa de transferência é de 1.000 Mbps, então o link da rede está funcionando com a capacidade total esperada
  • vmstat 1 mostra valores muito altos wa (aguardando E / S) (~ 80-90%)
  • Configurar MTU para 9000 (testado com ping -M do mybackup ) não parece ter efeito
  • A exportação com async parece não ter efeito

Os seguintes testes foram realizados no lado do cliente NFS:

  • dd /dev/zero /e/test.tmp (criptografado) mostra o mesmo rendimento que dd /dev/zero /b (não criptografado). Portanto, a camada de criptografia não parece ser o problema. A taxa de transferência é de ~ 30 MiB / s, o que é bastante baixo, difícil. Usar o SMB para executar este teste produz resultados semelhantes
  • top mostra baixo consumo de CPU. média de carregamento está abaixo de 2 (o servidor tem 2 núcleos)
  • vmstat 1 mostra que o sistema está quase inativo
  • A configuração de tcp,hard,intr,nfsvers=3,rsize=32768,wsize=32768 opções de montagem não parece ter efeito

Arquivos de configuração

Servidor NFS

# /etc/exports

# 'mybackup' is the name of the backup server
/               mybackup(ro,sync,no_subtree_check,no_root_squash,crossmnt)

# This export has to be explicitly declared to enable clients to access /DataVolume/b
/DataVolume     mybackup(ro,async,no_subtree_check,no_root_squash)

# This is the backup root.
/DataVolume/b   mybackup(rw,async,no_subtree_check,no_root_squash)

Cliente NFS

# /etc/fstab

# 'ewnas' is the name of the NAS
ewnas:/                 /r      nfs     auto,noatime,tcp,hard,intr,nfsvers=3,rsize=32768,wsize=32768    0       0
ewnas:/DataVolume/b     /b      nfs     auto,noatime,tcp,hard,intr,nfsvers=3,rsize=32768,wsize=32768    0       0

Eu tenho ficado preso com isso por vários dias agora. Qualquer contribuição será muito apreciada.

Agradecemos antecipadamente

Guillermo

    
por Guillermo López Alejos 27.07.2014 / 11:50

1 resposta

0

Já experimentou o rsync para ver se o desempenho é melhor?

rsync -Paz --exclude-from 'rsync-exclude.txt' fromssh@server:path tossh@server:path

Discussão de referência

    
por 27.07.2014 / 12:42