O cache de gravação geralmente não tem nada a ver com o BIOS, mas não há opção para alterar as configurações de cache de disco. Com o linux, usar hdparm -W 0
deve ajudar.
A configuração é persistente, portanto, se você não tiver o hdparm para brincar em seus sistemas de produção, deverá ser capaz de desativar o cache de gravação de disco em um sistema diferente e reconfigurar o disco.
BTW: Eu apoiaria a ideia de um sistema de arquivos raíz não gravável (assim seu sistema poderia inicializar em uma espécie de "modo de recuperação" e permitir acesso remoto mesmo se o sistema de arquivos gravável não fosse montável por algum motivo). E se você puder alterar o design do hardware, considere o uso de dispositivos mtd em vez de discos IDE / SATA com um sistema de arquivos com reconhecimento de flash, como jffs2 . Temos usado essa combinação com vários dispositivos incorporados (principalmente soluções de roteadores VPN no campo) por vários anos, com bons resultados. Atualização: a raiz do seu problema parece ser que você está executando um sistema de arquivos ext4 com o diário desativado - has_journal
está faltando na lista Filesystem features
. Basta desligar todos os serviços, verificar se algo ainda tem arquivos abertos usando lsof +f -- /
, remontar sua partição raiz somente leitura com mount -o remount,ro /
, ativar o diário com tune2fs -O has_journal /dev/sda1
e configurar o modo de diário "ordenado" como a montagem padrão opção usando tune2fs -o journal_data_ordered /dev/sda1
- você terá que re-executar fsck (de preferência de um sistema de recuperação) e remontar root / reboot após esta operação.
Com essas configurações, os metadados têm a garantia de serem recuperados do diário, mesmo no caso de uma falha de energia repentina. Os dados reais também são consistentemente gravados no disco, embora você possa ver dados de vários segundos antes da perda de energia durante a inicialização. Se isso não for aceitável, você pode considerar o uso da opção tune2fs -o journal_data /dev/sda1
mount com seu sistema de arquivos - isso incluiria todos os dados gravados no disco no diário - isso obviamente lhe proporcionaria melhor consistência de dados, mas ao custo de uma penalidade de desempenho e maior nível de desgaste em seu SSD.