Jak odporny jest Ubuntu na powtarzające się wyłączenia po wyłączeniu zasilania?

15

Moja firma rozważa użycie Ubuntu jako systemu operacyjnego do użytku na urządzeniu sprzętowym.

Zostałby zainstalowany na kompaktowym dysku flash - najwyraźniej nie jest to standardowy dysk flash, ale szczególny rodzaj pamięci, który ma „poradzić sobie” z natychmiastowym wyłączeniem zasilania (nie jestem pewien, jak to osiągnąć, ale podobno są to „wysokiej klasy” " karta).

Jednostki, które byłyby uruchamiane przy użyciu Ubuntu, są tego typu jednostkami, które nie będą wdzięcznie wyłączane - kabel zasilający zostanie odłączony i tyle.

Czy ktoś może udzielić mi porady na temat potencjalnych problemów, które mogą wystąpić? Czy Ubuntu to dobry system, który może poradzić sobie z tego rodzaju awarią zasilania i zrestartować się przy następnym uruchomieniu?

Zdaję sobie sprawę, że nic nie jest niezniszczalne, ale czy jest to powszechnie używany system operacyjny dla instalacji osadzonej? Czy prosi o problemy z używaniem Ubuntu w tego rodzaju środowisku?

matematyk 1975
źródło
1
Czy jest jakiś sposób na włączenie zasilacza UPS lub podtrzymania bateryjnego w swoich urządzeniach? Nawet stosunkowo niewielki dałby Linuksowi wystarczająco dużo czasu, aby z wdziękiem go zamknąć. Najlepiej byłoby, gdybyś najpierw powiedział swoim aplikacjom (jak tylko UPS się uruchomi), aby mogły się zamknąć, zanim Linux zmusi je do zrobienia tego w bardzo krótkim czasie.
Joe
Zastanawiam się, czy byłoby możliwe użycie systemu plików z funkcją kopiowania przy zapisie, takiego jak ZFS? Wtedy teoretycznie niemożliwe byłoby uzyskanie uszkodzenia, ponieważ przy następnym uruchomieniu przywrócenie nastąpiłoby do ostatniego znanego dobrego stanu FS, unikając później ewentualnych częściowo zapisanych danych.
Wizek

Odpowiedzi:

12

Uwaga: ta odpowiedź pochodzi z perspektywy środowiska produkcyjnego, w którym utrata danych lub przestoje mogą prowadzić do utraty pieniędzy, klientów, awarii urządzeń przemysłowych itp. Jeśli tylko majstrujesz przy Raspberry Pi w domu, powiedziałbym, że nie ma problem ... :)

Bym nie polecam Ubuntu w konfiguracji domyślnej, a (domyślnie) ext4 filesystem przez projekt, osadzonym środowiska tam, gdzie byłoby powtarzalne „niewdzięczny” przestoje jak sugerujesz.

Jeśli mam rację, używasz Ubuntu 8.04, który najlepiej obsługuje ext3. Chociaż oba systemy ext3 / ext4 używają kronikowania jako sposobu zachowania integralności plików (zapisu) i pomocy w odzyskiwaniu, nie należy na nich polegać, gdy „wyciągnięcie kabla zasilającego” jest regułą, a nie wyjątkiem.

  • Idealną opcją, zakładając, że twój system nie będzie wymagał dynamicznej rekonfiguracji po skonfigurowaniu, jest zamontowanie głównego systemu plików tylko do odczytu i całkowite użycie tymczasowej partycji w pamięci podczas działania (podobnie jak LiveCD). W takim przypadku system powróciłby do swojej „początkowej” konfiguracji przy każdym uruchomieniu.
  • Aby przechowywać (ograniczoną liczbę) danych użytkownika w nieulotny sposób, możesz utworzyć partycję dodatkową, być może używając systemu plików zoptymalizowanego dla Flash Media, takiego jak JFFS2, w zależności od wewnętrznej struktury karty CF. Aby zmniejszyć ryzyko uszkodzenia danych przez wyciągnięcie wtyczki, można wyłączyć sprzętowe buforowanie zapisu dla urządzenia i zamontować je w trybie synchronicznym (synchronizacji), wyłączając buforowanie zapisu przez jądro. Te opcje mogą poważnie wpłynąć na przepustowość i wydajność, nawet na „wysokiej klasy” karcie CF, więc trzeba będzie również wziąć pod uwagę przeznaczenie.
ish
źródło
4
Muszę zadzwonić do FUD. Na dzienniku ext3 / 4 z pewnością można polegać, aby utrzymać system plików w stanie gotowości do pracy po wyciągnięciu wtyczki. Nie robi to jednak w przypadku danych użytkownika, więc aplikacje zapisujące pliki w czasie awarii mogą uszkodzić swoje dane, chyba że są ostrożne. Włączenie synchronizacji na nośnikach flash nie tylko drastycznie spowolni działanie, ale także spowoduje szybsze zużycie pamięci flash. JFFS i YAFFS są również przeznaczone do użycia z bezpośrednią pamięcią flash NOR wbudowaną w systemy wbudowane; ext4 działa lepiej na urządzeniach typu konsumenckiego, które wykonują wewnętrzne wyrównywanie zużycia.
psusi
1
O ile mi wiadomo, te karty są naprawdę dobre - ale obecnie używany jest DOS. Urządzenia muszą rejestrować dane oprzyrządowania w regularnych odstępach czasu. Ponieważ te dane są krytyczne z biznesowego punktu widzenia, wydaje mi się, że lepiej unikać używania ubuntu. Po prostu nie mogę uwierzyć, że DOS wydaje się bardziej niezawodnym podejściem. W każdym razie dziękuję bardzo za tę doskonałą odpowiedź !! O ile wiem, karty, których używamy, mają wewnętrzne wyrównywanie zużycia.
matematyk
1
Nie jestem pewien, co otrzymałeś na viz. wyrównanie zużycia i spłukiwanie. Chodzi mi o to, że synchronizacja prowadzi do większej liczby zapisów, które szybciej zużyją flash. Również w przypadku korzystania z dziennika ext3 / 4 fsckNIE jest wykonywane po awarii zasilania; jądro używa dziennika do szybkich napraw po zamontowaniu fs. Unikanie długo fsckpo awarii jest powodem, dla którego dodano księgowanie.
psusi
2
@ mathematician1975: jeśli chcesz używać Linuksa do tych celów, potrzebujesz dystrybucji w czasie rzeczywistym / wbudowanej, może czegoś takiego jak ucLinux , a nie pełnej dystrybucji pulpitu / serwera, takiego jak Ubuntu ... :)
ish
2
@ mathematician1975 - jeśli są to „kluczowe dane biznesowe”, to z pewnością chcesz zainstalować UPS? Żaden system operacyjny na Ziemi nie może zagwarantować danych odpornych na uszkodzenia po wyciągnięciu wtyczki w dowolnym momencie. Jak już wspomniano, pomogłoby uczynić wszystko tylko do odczytu oprócz danych, a lekka dystrybucja Linuksa może bezpiecznie i szybko zamknąć się na sygnał z UPS.
Paddy Landau
5

System operacyjny będzie działał poprawnie, o ile jest skonfigurowany do użytku tylko do odczytu. LiveCD mają taką konfigurację, abyś mógł je wyłączyć w dowolnym momencie, a system operacyjny nie ucierpi.

Na dysku do odczytu i zapisu systemy plików ext4 są bardzo odporne. Ale bez względu na system plików, każdy dysk, który można zapisać, będzie podlegał uszkodzeniu plików.

Sepero
źródło
1

Jesteś w trybie awaryjnym. Po zalogowaniu wpisz

journalctl -xb

aby wyświetlić dzienniki systemowe, systemctl rebootponownie uruchomić i / systemctl defaultlub exituruchomić system w trybie domyślnym.

Naciśnij w Entercelu konserwacji (lub naciśnij CTRL- Daby kontynuować):

Widziałem ten komunikat za każdym razem po awarii zasilania, każdy system operacyjny Windows jest o wiele bardziej odporny na awarię zasilania, niż Linux jako domyślna konfiguracja.

W moim mieście zamknięcie sieci energetycznej odbywa się dwa razy w miesiącu w lecie.

Fernando
źródło
-1

Używam Ubuntu od około 18 miesięcy i eksperymentowałem z różnego rodzaju programami i plikami do pobrania. Moim zdaniem na temat Ubuntu jest zdecydowanie najbardziej stabilny dostępny system operacyjny.

Programy i pliki do pobrania, które zniszczyłyby systemy operacyjne Windows, zostały po prostu usunięte przez Ubuntu i Kubuntu, Ubuntu jest naprawdę łatwy w użyciu, ma wszystko, czego kiedykolwiek potrzebujesz, aplikacje biurowe i robocze są doskonałe i nigdy nie dostaje wirusa ani programów takich jak Windows.

Kubuntu wydaje się mieć jeszcze kilka zabawek, trochę trudniej jest się z nimi uporać, ale równie solidny jak ubuntu. Jedynym minusem jednego z nich jest to, że nie można grać w gry 3D ani oglądać skygo tak, jak można to zrobić w systemie Windows, ale poza tym nie widzę żadnego powodu, aby używać czegokolwiek innego.

Darrell W.
źródło
To jednak tak naprawdę nie rozwiązuje tego pytania, które pyta konkretnie o to, jak dobrze system Ubuntu wytrzymuje wiele nagłych awarii zasilania.
Eliah Kagan