Ativar sync no nível do sistema de arquivos geralmente não é uma boa solução (geralmente, nem sempre). Quando sync está habilitado, ele não apenas força uma liberação de buffer em cada gravação, mas também nega a capacidade do sistema de arquivos de reordenar as gravações para otimizar o IO (escrevendo fragmentos maiores). Isso também resulta em maior fragmentação.
A melhor solução é obter qualquer aplicativo que você esteja usando para usar fsync (ou fdatasync ). Quando um aplicativo grava dados, ele pode fazer uma chamada para fsync , o que forçará esses dados para o disco. Desta forma, são apenas determinados dados que estão sendo sincronizados o tempo todo, e não todo o sistema de arquivos. Ele também é um pouco mais inteligente, pois o fsync pode ser chamado assim que o aplicativo tiver escrito todos os seus dados, e não todos os bits.
Se você estiver usando o syslog-ng, ele poderá habilitar fsync no destino por arquivo ( documentação ). O rsyslog também pode ter esse recurso, mas eu não sei.