Cher journal, je fais appel à ton expérience.
Je dois implémenter une passerelle qui envoie un flux continue de données reçues par des capteurs (sismique, hydroacoustique,
) vers un central. Ces données devant être stockées, jusqu'à acquittement de la réception par le central.
Il était prévu d'utiliser une solution logiciel spécialisée pour le stockage sur disque, mais celle-ci ne résiste même pas un Ctrl-C (fichier de données totalement inutilisable), alors de là à résister à un arrêt brutal.
Je cherche donc une méthode de stockage sur disque qui puissent résister à un arrêt brutal. J'avais pensé à une base MySQL ou l'utilisation d'une API comme dbm. Malheureusement, je n'ai aucune idée de la résistance de ces solutions. Le but étant de perdre le moins de données possible et que le système puisse repartir sans intervention humaine (ben oui, certains pourraient être déployés dans des stations inhabitées le majeur partie du temps).
Seul impératif, il faut que cela puissent tourner sous Linux et sous Windows via Cygwin. Ben, oui le client n'est pas encore très Linux et veut un truc facilement portable sous Windows au cas il serait déçu par Linux (ce qui n'arrivera pas, je mis engage).
# Re: Ecriture sur disque et résistance aux arrêts brutaux.
Posté par Hardy Damien . Évalué à 6.
[^] # Re: Ecriture sur disque et résistance aux arrêts brutaux.
Posté par davB (site web personnel) . Évalué à 5.
# Re: Ecriture sur disque et résistance aux arrêts brutaux.
Posté par free2.org . Évalué à 4.
[^] # Re: Ecriture sur disque et résistance aux arrêts brutaux.
Posté par Benoit . Évalué à 4.
[^] # Re: Ecriture sur disque et résistance aux arrêts brutaux.
Posté par Schwarzy . Évalué à 4.
[^] # Re: Ecriture sur disque et résistance aux arrêts brutaux.
Posté par ptit_tux . Évalué à 1.
Si tu as du bon hard (prend des disques SCSI qui supportent les coupures de courant) il n'y a pas de problème avec Linux.
Et si linux est l'un des systèmes les plus utilisés en embarqué, c'est pas pour rien.
[^] # Re: Ecriture sur disque et résistance aux arrêts brutaux.
Posté par Schwarzy . Évalué à 1.
Au passage, si Linux est le plus utilisé en embarqué, c'est parce qu'il offre une pile TCP/IP et du stockage. L'embarqué (le high-end) a maintenant pas mal de capacité de ce coté grâce aux progrès technologique et la disponibilité du code source permet de construire des solutions flexible. Par exemple, une borne d'accès Wifi est idéale pour acceullir Linux (réseau et pas de stockage donc tout en RAM pour les data).
Si tu n'as pas besoin de la pile réseau et de faire du stockage Linux n'est plus très interressant. On se retrouve à ce niveau vers le petit embarqué, d'ailleurs QNX se débrouille mieux en terme de consommation mémoire dans ce contexte.
[^] # Re: Ecriture sur disque et résistance aux arrêts brutaux.
Posté par zelyph . Évalué à 5.
[^] # Re: Ecriture sur disque et résistance aux arrêts brutaux.
Posté par Sidoine de Wispelaere . Évalué à 5.
[^] # Re: Ecriture sur disque et résistance aux arrêts brutaux.
Posté par PLuG . Évalué à 0.
par defaut ext2fs est monté en data=ordered (pas journalisé)
mais tu peut specifier data=journal ...
man mount
(ceci dit, une base de donnée c'est peut-etre pas mal ...)
[^] # Re: Ecriture sur disque et résistance aux arrêts brutaux.
Posté par ptit_tux . Évalué à 1.
data=ordered : les données sont journalisé (écriture des données, puis mise à jour du système de fichier).
C'est la valeur par défaut sous RedHat (et surement d'autre). C'est aussi pour ça que les gens trouvent reiserfs rapide (lui il journalise pas les données).
[^] # Re: Ecriture sur disque et résistance aux arrêts brutaux.
Posté par TazForEver . Évalué à 1.
sinon qu'est ce qui te fait penser que ton système peut s'arreter brutalement?
# Re: Ecriture sur disque et résistance aux arrêts brutaux.
Posté par David Pradier . Évalué à 1.
# Re: Ecriture sur disque et résistance aux arrêts brutaux.
Posté par Benoit . Évalué à 2.
Je vais opter pour une base de donné MySQL, pour deux raisons :
- En effet, il est possible de tester l'intégrité des tables et de les réparer très simplement ("CHECK TABLE", "REPAIR TABLE").
- La recherche et l'accès aux données vont être facile à coder.
Petite précision :
En faite, il y relativement peut de chance que la machine s'arrête brutalement, mais au cas où ça arriverait, perdre quelques données n'est pas gênant, mais il faut impératif que le système reparte de lui-même. La bibliothèque proposée par le client génère un "Segmentation Fault" à la réouverture des fichiers de données si le process est interrompu durant une écriture et ne propose aucune fonction pour vérifier l'intégrité des fichiers avant d'y accéder.
[^] # Re: Ecriture sur disque et résistance aux arrêts brutaux.
Posté par PLuG . Évalué à 1.
[^] # Re: Ecriture sur disque et résistance aux arrêts brutaux.
Posté par Benoit . Évalué à 1.
Il y a des fois, il vaut mieux faire table rase.
[^] # Re: Ecriture sur disque et résistance aux arrêts brutaux.
Posté par ptit_tux . Évalué à 2.
# Re: Ecriture sur disque et résistance aux arrêts brutaux.
Posté par B. franck . Évalué à 3.
l'onduleur ne peut plus fournir.
ou alors
- le groupe electrogène qui se met en route automatiquement
ou
- un bon vélo couplé à une dynamo et du guronsan
ou
- une éolienne à sécater les oiseaux migrateurs
ou
- des panneaux solaires
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.