Monte-os com a opção de flush. Isso é feito por padrão no Ubuntu.
Ou seja, eu quero ser capaz de arrancá-los a qualquer momento sem me preocupar se os dados serão perdidos. Eu quero que cada escrita seja escrita imediatamente.
Monte-os com a opção de flush. Isso é feito por padrão no Ubuntu.
A opção 'flush' é uma opção de meio-termo. Isso aumentará suas chances sobre uma montagem padrão, no entanto, ainda há algum armazenamento em cache. AFAIK, destina-se a fornecer um equilíbrio para drives flash.
Se você quiser ir ainda mais longe, use as opções 'sync' e 'dirsync'. Estes têm desvantagens, no entanto. Você pode ter um enorme impacto no desempenho, pois os flash drives precisam apagar um bloco não utilizado e, em seguida, gravar todo esse bloco com os dados e alterações do bloco antigo. Esse tamanho de bloco de apagamento depende do hardware e geralmente é muito maior que o tamanho do bloco de io. Você pode acabar em uma situação em que a unidade tenha que gravar 4 MB apenas para substituir um bit.
Não apenas o desempenho do tanque io io síncrono, mas o enorme aumento nos ciclos de apagamento / gravação de blocos reduzirão drasticamente a vida útil do seu disco.
Nada vai protegê-lo da perda de dados em um arquivo aberto por um aplicativo e em um estado inconsistente, ou seja, não fechado, quando você puxar a unidade.
Finalmente, a unidade pode ter cache no hardware. Configurá-lo para gravação também pode ser dependente de hardware. Eu não ficaria surpreso se um número considerável de drives flash USB tivessem cache e nem sequer reportassem isso para o Linux.
Uma opção não relacionada ao cache que aumenta a velocidade de gravação é "descartada". Isso faz com que os flash drives que o suportam apaguem ou "apare" imediatamente os blocos que não são mais usados por um arquivo ou pelo sistema de arquivos, uma vez liberados. Como você deseja obter dados do cache rapidamente, isso garantirá que você tenha muitos blocos apagados prontos para gravações, acelerando o io quando precisar.
Felicidades, Jon