Używam małej uClibc
i busybox
opartą systemu osadzonego na urządzeniu x86. Korzystam z initramfs, ale również instaluję ext3
katalog niestandardowy na kompaktowym urządzeniu flash w trybie IDE, którego używam do przechowywania trwałych danych rejestrowania pomiarów utworzonych przez niestandardową pisaną aplikację c ++. Wybrałem ext3
system plików, ponieważ jest on zalecany ze względu na bezpieczeństwo przed utratą zasilania podczas korzystania z napędów CF w trybie IDE w kilku książkach, które przeczytałem ( Budowanie systemów Linux wbudowanych przez Karima Yaghmoura i Embedded Linux Primer autorstwa Christophera Hallinana). Jest to szczególnie ważne, a dane mają kluczowe znaczenie.
Jednak ze względu na niektóre komentarze w moim poprzednim pytaniu Mylę się z tym, jak przywrócić uszkodzone pliki ext3, jeśli wystąpi przerwa w zasilaniu podczas zapisu pliku , wydaje się, że w rzeczywistości ten system plików nie oferuje gwarancji bezpieczeństwa przed uszkodzeniem danych z powodu zasilania utrata. Więc chciałbym wiedzieć, czy
- Czy to
ext3
właściwie najlepszy wybór dla tej konfiguracji? - Czy utrata zasilania podczas operacji zapisu na dysku powoduje jedynie uszkodzenie części danych, które okresowo dołączam do pliku, czy może uszkodzić cały plik?
- Czy dane, które nie są zapisywane w momencie utraty zasilania, są całkowicie bezpieczne? W szczególności, czy istnieje ryzyko, że mój
initramfs.cpio
plik może zostać uszkodzony również? - Czy jest jakaś metoda, której mogę użyć w kodzie aplikacji do ochrony danych (tj. Utworzenie dodatkowej partycji i zapisanie moich danych do obrazów lustrzanych, aby zawsze były 2 kopie) - szybkość nie jest prawdziwym problemem dla mojej aplikacji tak kosztowne operacje kopiowania są dopuszczalne.
Widziałem i czytałem odpowiedzi na to pokrewne pytanie: Czy systemy plików kronikowania gwarantują zapobieganie uszkodzeniom po awarii zasilania? , ale nie obejmuje niektórych rzeczy, które mnie dezorientują.
Zdaję sobie sprawę, że zadaję wiele pytań, ale wydaje się, że pomimo przeczytania dużej ilości materiałów, zasadniczo nie zrozumiałem ryzyka dla moich danych w przypadku utraty zasilania.