Status de espera de E / S alta do BluRay Burner com UDF; Otimização possível?

1

Recentemente, reduzi minha rede doméstica, com uma das maiores mudanças sendo uma mudança para o uso de uma unidade BD-RE para backup. Com anos de fotos e vídeos caseiros consumindo cerca de 25 GB, e documentos [importantes] bem abaixo de 10 GB, isso parece um ótimo caminho a percorrer.

Tudo funciona perfeitamente, minha única preocupação é a sobrecarga. Eu tenho o disco formatado UDF e um script executando rsync nightly para sincronizar os caminhos selecionados no sistema de arquivos para a unidade.

Durante a sincronização, as minhas CPUs estão mostrando aproximadamente 25% no estado de espera. Isso não seria tão ruim, mas permanece nesse nível por um longo tempo e, no processo, reduz a velocidade a um rastreamento. Eu até observei minha média de carga subindo para 15.9+ (em um Core 2 Quad). A utilização da CPU "real" durante esse tempo é de apenas 6% (todas as VMs combinadas), portanto, isso é estritamente um gargalo de E / S.

Documentação específica para gravadores de Blu-Ray é escassa (no Linux) em comparação com tudo o mais, e nunca tive um gargalo de I / O alto o suficiente para justificar qualquer análise profunda. Considerando que a unidade está gravando a 2x (~ 9MB / s), ela deve ser concluída em aproximadamente uma hora, mas, em vez disso, é executada por muitas horas.

Existe alguma maneira de otimizar isso para reduzir os estados de espera? Eu sou simplesmente restringido por drivers de kernel / hardware / ??? Isso é apenas um efeito colateral desagradável de usar o UDF que eu não conheço? Isso poderia ter alguma coisa a ver com a execução de 3 VMs (2x Windows e 1x MythTV), além do NFS junto com esse processo? Existe alguma maneira de determinar com certeza qual parte do quebra-cabeça é o problema?

Desculpe pela enxurrada de perguntas no final; qualquer ajuda é muito apreciada.

EDIT: Após a resposta de psusi, eu tive um pensamento; Existe uma maneira de priorizar I / O em uma base por dispositivo? Algo ao longo das linhas de "cartão PCI garantido XXX 1MB / s", "limitar dispositivo de bloco XXX a 20MB / s", etc.

    
por AC2MO 28.09.2011 / 18:52

1 resposta

1

O tempo de espera é normal. Wait significa que a cpu não está ocupada, mas poderia estar se um programa (rsync) não estivesse esperando pelo disco IO (escrevendo no blueray lento). É 25% porque você tem 4 CPUs, e o rsync só poderia estar usando uma delas (1/4 = 25%), se não estivesse esperando no disco.

Como a taxa de transferência geral está baixa, isso porque o rsync precisa primeiro ler o arquivo do disco, calcular somas de verificação, ler o arquivo do hd, comparar, descobrir o que mudou e depois gravar as partes alteradas. Todo esse tempo gasto lendo vai atrasar as coisas.

rsync é realmente destinado a mover dados em uma rede lenta entre dois discos rígidos rápidos, e não em um disco ótico udf montado em leitura / gravação. Você estaria melhor usando um sistema de backup convencional como tar .

    
por 28.09.2011 / 20:13

Tags