Je courais un petit uClibc
et busybox
système embarqué basé sur un dispositif x86. J'utilise un initramfs mais je monte également un ext3
répertoire personnalisé sur un périphérique compact flash en mode IDE que j'utilise pour stocker des données d'enregistrement de mesure persistantes créées par une application c ++ écrite personnalisée. J'ai choisi le ext3
système de fichiers car il est recommandé pour la sécurité contre les pertes de puissance lors de l'utilisation de lecteurs CF en mode IDE dans quelques livres que j'ai lus ( Building Embedded Linux Systems par Karim Yaghmour et Embedded Linux Primer par Christopher Hallinan). Ceci est particulièrement important et les données sont essentielles.
Cependant, en raison de certains des commentaires de ma question précédente Confusion avec la façon de restaurer des fichiers ext3 corrompus en cas de panne de courant pendant l'écriture d'un fichier, il semblerait qu'en fait, ce système de fichiers n'offre pas la garantie de sécurité contre la corruption de données due à l'alimentation perte. Je voudrais donc savoir si
- Est-ce
ext3
réellement le meilleur choix pour cette configuration? - La perte de puissance pendant une opération d'écriture de disque ne corrompe-t-elle que périodiquement la partie des données que j'ajoute au fichier ou peut-elle corrompre l' intégralité du fichier?
- Les données qui ne sont pas écrites au moment de la coupure de courant sont-elles totalement sûres? En particulier, y a-t-il un risque que mon
initramfs.cpio
fichier soit également corrompu? - Existe-t-il une méthode que je peux utiliser dans mon code d'application pour protéger les données (c'est-à-dire créer une partition supplémentaire et écrire mes données pour refléter les images afin qu'il y ait toujours 2 copies) - la vitesse n'est pas un vrai problème pour mon application, des opérations de copie si coûteuses sont acceptables.
J'ai vu et lu les réponses à cette question connexe: les systèmes de fichiers de journalisation garantissent-ils contre la corruption après une panne de courant? , mais cela ne couvre pas tout à fait certaines des choses qui me déroutent.
Je me rends compte que je pose beaucoup de questions, mais il semble qu'en dépit de la lecture de beaucoup de documents, j'ai eu un échec fondamental à comprendre les risques pour mes données en cas de panne de courant.