Temat: JBD2: Detected IO errors while flushing file data on sda1-8

Zacznę może od Grunwaldu, jak to mówią u mnie w rodzinie. W styczniu skonfigurowałem następujący zestaw: TP-Link TL-WDR3600 z Gargoyle, do którego podpięty jest dysk 500 MB (już dość leciwy, 5 letni z dużym przebiegiem), z którego CIFSem udostępniona jest zawartość pod Openeleca postawionego na Raspberry Pi. Początkowo miałem jeszcze do routera podpięty pendrive GoodRama 8 GB, na którym zrobiony był Exroot i Swap. Na routerze był zainstalowany Transmission. Nie było żadnych problemów z tą konfiguracją, transfer na laptopa z hdd miałem około 7-8 mb/s, torrenty ładnie się ściągały.

Po miesiącu Transmission zaczął mi sypać router. Po uruchomieniu ściągania czegokolwiek, sypało się WiFi. Zrobiłem wtedy upgrade Gargoyle do wersji 1.6.0.2 i wywaliłem Exroota. Pomogło. Transmission mieści się na pamięci wewnętrzej routera (na podłączonym HDD nie mam Swapa, czyli w chwili obecnej system nie ma żadnego Swapa). Wszystko pięknie działało przez kolejne 5 miesięcy.

Około miesiąc temu znowu zaczęło się sypać. Spadł dramatycznie transfer z HDD po sieci, co kończy się tym, że jak torrent leci szybciej niż 500 kb/s to nie da się niczego oglądać przez XBMC, bo się tnie. Zrobiłem wczoraj e2fsck, poznajdywał błędy i je naprawił. Transfer się poprawił (do około 6 MB/s) ale nie wszystko co mam na dysku da się oglądać czy nawet skopiować z niego. Zauważyłem również taki błąd w logach przy ściąganiu torrentów (ograniczone do 15 peerów): JBD2: Detected IO errors while flushing file data on sda1-8.

Jak na moje, HDD mi się sypie, ale nie jestem w stanie tego potwierdzić. Jakim programem mogę pod Windowsem przetestować gruntownie dysk Ext4?

Ewentualnie odbiją się brak Swap'a albo jakiś problem w konfiguracji całego ekosystemu.

Zapomniałem dodać, że wczoraj kupiłem huba usb z zasilaniem i podpiąłem przez niego HDD bezpośrednio do Raspberry Pi. Filmy, które się po sieci wysypywały, dalej się wysypują.

2

Odp: JBD2: Detected IO errors while flushing file data on sda1-8

Ustaw w transmission full prealokację, bo tak robi defragmentację materiału i w rezultacie masz mniejsze transfery z dysku. Wada - na początku będzie tworzył plik, więc super zatka system. Ale docelowo później będziesz mógł to pobierać szybciej. To propo wydajności. Jak chcesz przywrócić wydajność to skopiuj (skopiuj, nie przenieś) filmy na inny dysk, skasuj tamte i przenieś jeszcze raz.

Co do sypania się dysku - nie wiem.  Może faktycznie umiera lub nie znosi takiego obciążenia.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: JBD2: Detected IO errors while flushing file data on sda1-8

Dziękuję za szybką odpowiedź. Zastanawiam się czy go nie sformatować i zrobić na nim drugą partycję na swapa? Ma to sens czy zrobić tylko to kopiowanie, o którym pisałeś?

4

Odp: JBD2: Detected IO errors while flushing file data on sda1-8

Masz w logach info o braku pamięci? Ubija router procesy podczas normalnego działania?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5 (edytowany przez DrLastContaQt 2014-08-17 11:43:05)

Odp: JBD2: Detected IO errors while flushing file data on sda1-8

Podczas normalnego działania nic się nie sypie i w logach  też nic o pamięci nie ma. Nawet podczas ściągania czy kopiowania zajętość ramu jest na poziomie 20%.

6 (edytowany przez build000 2014-08-18 22:26:07)

Odp: JBD2: Detected IO errors while flushing file data on sda1-8

Też mi się wydaje, że dysk do wymiany.
Co do transmission to jak pisze C.:

option preallocation 2
# nie wiem czy to działa pod openwrt (normalnie jest 1), ale chyba tak.

oraz dodatkowo, aby wychwycić więcej błędów z działania demona, czego nie pokazuje normalnie, dać:

option message_level 2

- może się wtedy okazać, że Twoje przypuszczenia co do zajętości pamięci (oraz innych ustawień, np. w /etc/sysctl.conf) są błędne, to raz, oraz tak - transmission zdecydowanie lubi mieć swap - nawet jak go używa sporadycznie - działa wtedy wydajniej (szczególnie ma to znaczenie w takich wynalazkach jak router).

7

Odp: JBD2: Detected IO errors while flushing file data on sda1-8

A co za błędy wyrzuciło przy sprawdzaniu systemu plików? Jeśli nie można odtwarzać części plików po tej akcji, znaczy, że fsck je uszkodził podczas naprawy systemu plików i te pliki, co nie działają, nadają się do wyrzucenia.

Co do sprawdzania dysku -- weź sobie ściągnij jakiś live-cd z linuxem (najprościej ubuntu) i załaduj go, tam sobie sprawdzisz czy z dyskiem jest wszystko w porządku -- w skrócie to puścić fsck z opcją skanowania powierzchni (czy są badblocki) i odczytać raport smart. Jeśli nie będzie problemów, znaczy, że dysk jest ok.

8

Odp: JBD2: Detected IO errors while flushing file data on sda1-8

Tylko raczej z założenia jak 5-letni dysk zaczyna takie błędy pokazywać, to raczej bardziej niż prawdopodobne, że "Abraham go wzywana swoje łono".
wink