Strona 1 z 2

Przestawianie się systemu plików na tryb tylko do odczytu

: 18 lipca 2013, 11:46
autor: anathiel
Jest to mój pierwszy post tutaj, a więc witam wszystkich :)

Do tej pory wystarczało mi przeglądanie forum i odpowiedź zawsze się znalazła, ale teraz problem jest już taki, że muszę poprosić Was o pomoc. Założyłem ten temat w tym subforum, ponieważ wcześniej korzystałem z edycji desktopowej i opisany dalej problem nigdy nie wystąpił. Zatem o co chodzi...

Problemem jest to, że bardzo rzadko - wręcz raz/dwa razy w miesiącu system plików przełącza się na "tylko do odczytu" - wszystkie usługi działają, działa serwer www, serwery baz danych, samba itd., ale tylko w zakresie nie wymagającym zapisu na dysk. Np. mogę połączyć się przez FTP, pobrać plik, ale utworzyć nowego albo zmienić istniejącego nie jestem w stanie. Mogę logować się przez SSH, listować pliki, ale nie działają niektóre polecenia, np. fdisk -l kiedy chciałem sprawdzić co jest grane, a touch aaa zwraca informację: "System plików wyłącznie do odczytu". Dodam, że korzystam z dysku SSD OCZ 128GB (może to ma jakiś związek, chociaż na desktopowej wersji nie działo się nic złego). Mój kernel to 2.6.32-5-amd64.

Macie może pomysł gdzie szukać przyczyny, które logi przeglądać i na czym się skupić? Z góry dzięki za wszelkie sugestie :)

: 18 lipca 2013, 11:48
autor: mariaczi
Jak wygląda zajętość dysku/partycji pod względem MB oraz węzłów (z ang. inodów)?

: 18 lipca 2013, 11:53
autor: anathiel
mariaczi pisze:Jak wygląda zajętość dysku/partycji pod względem MB oraz węzłów (z ang. inodów)?
Tak to się prezentuje po restarcie systemu, kiedy wszystko wraca do normy:

Kod: Zaznacz cały

~$ df -h
System plikĂłw         rozm. uĹźyte dost. %uĹź. zamont. na
/dev/sda1              74G   46G   24G  66% /
tmpfs                 2,0G     0  2,0G   0% /lib/init/rw
udev                  2,0G  244K  2,0G   1% /dev
tmpfs                 2,0G     0  2,0G   0% /dev/shm
/dev/sda5              33G  1,4G   30G   5% /home

Kod: Zaznacz cały

~$ df -i
System plikĂłw         iwÄzĹy  uĹźyteI  wolneI %uĹź.I zamont. na
/dev/sda1            4890624  203468 4687156    5% /
tmpfs                 505127       5  505122    1% /lib/init/rw
udev                  503917     798  503119    1% /dev
tmpfs                 505127       1  505126    1% /dev/shm
/dev/sda5            2199344   12545 2186799    1% /home
Chociaż chyba niepotrzebnie robiłem restart, bo teraz to nic nie da :( Rozumiem, że liczba i-nodów mogła rosnąć, aż w końcu wyczerpała dostępną liczbę no i to spowodowało problem?

: 18 lipca 2013, 11:57
autor: mariaczi
W logach w chwili "przełączenia" na tylko do odczytu nic się nie pojawia?

: 18 lipca 2013, 12:09
autor: anathiel
mariaczi pisze:W logach w chwili "przełączenia" na tylko do odczytu nic się nie pojawia?
Właśnie analiza logów nic mi do tej pory nie podpowiedziała. Ze względu na okresowe odpalanie skryptów zapisujących pewne dane wiem kiedy nastąpiła "zwiecha" - było to dzisiaj około 8.50 i poniżej wklejam to, co wydaje się być interesujące - ostatni log przed zawieszeniem i pierwszy po restarcie (około 10.15):

Kod: Zaznacz cały

SYSLOG:
--------------------------------
Jul 18 08:50:01 ech-server /USR/SBIN/CRON[27054]: (root) CMD (   /usr/bin/perl /var/www/monitorix/cgi-bin/monitorix.cgi mode=localhost graph=all when=year color=black)
Jul 18 10:17:37 ech-server kernel: imklog 4.6.4, log source = /proc/kmsg started.


MESSAGES:
--------------------------------
Jul 18 08:03:52 ech-server rsyslogd: [origin software="rsyslogd" swVersion="4.6.4" x-pid="1424" x-info="http://www.rsyslog.com"] rsyslogd was HUPed, type 'lightweight'.
Jul 18 10:17:37 ech-server kernel: imklog 4.6.4, log source = /proc/kmsg started.
Co do pozostałych logów, to przeglądnąłem już chyba wszystkie i nie ma tam żadnej podpowiedzi w okolicach godziny 8.50...

: 22 lipca 2013, 08:32
autor: Bastian
Podaj troche szczegółów nt. systemu plików:

Kod: Zaznacz cały


dump2fs /dev/sda1 /dev/sda5

Kod: Zaznacz cały


mount


: 22 lipca 2013, 08:55
autor: lun
Spotkałem się z taką sytuacją kiedy dysk dostawał timeout (ale był to wirtualny linux to na macierzy dyskowej).

Daj wszystkie logi o dyskach:

Kod: Zaznacz cały

sudo grep -i sda /var/log/messages
Sprawdzałeś czy w momencie przełączenia widzisz przy dysku "ro" wpisując

Kod: Zaznacz cały

mount

: 22 lipca 2013, 09:43
autor: anathiel
lun pisze:Spotkałem się z taką sytuacją kiedy dysk dostawał timeout (ale był to wirtualny linux to na macierzy dyskowej).
Swego czasu tak robiłem ze zwykłym dyskiem HDD, żeby był cichszy - usypiałem go po pewnym czasie bezczynności, ale tutaj jest już czysta instalka i żadne tego typu operacje się nie pojawiają, bo oczywiście nie ma tutaj mowy o "głośności" dysku.
lun pisze:Daj wszystkie logi o dyskach:

Kod: Zaznacz cały

sudo grep -i sda /var/log/messages
Być może zdążyły się już do tej pory takowe usunąć, ale po wydaniu tego polecenia nie dostaję nic, żadnych wiadomości odnośnie dysków.
lun pisze:Sprawdzałeś czy w momencie przełączenia widzisz przy dysku "ro" wpisując

Kod: Zaznacz cały

mount
Właśnie tego nie zrobiłem, pospieszyłem się z restartem i teraz muszę wyczekiwać powtórzenia się takiej sytuacji. Jeśli chodzi o ten moment, to wynik mam taki:

Kod: Zaznacz cały

/dev/sda1 on / type ext4 (rw,errors=remount-ro)tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda5 on /home type ext4 (rw)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
nfsd on /proc/fs/nfsd type nfsd (rw)
no ale tak, jak piszesz - może się to zmienić po "odpięciu się" systemu plików - będę miał to na uwadze.

: 22 lipca 2013, 09:56
autor: Bastian

Kod: Zaznacz cały


/dev/sda1 on / type ext4 (rw,errors=remount-ro)tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)

usun dyrektywe

Kod: Zaznacz cały


errors=remount-ro

z

Kod: Zaznacz cały


/etc/fstab

daj

Kod: Zaznacz cały


mount -a

a najlepiej wrzuć serwer do single usera i potraktuj dysk

Kod: Zaznacz cały


fsck /dev/sda1

Pewnie masz jakieś błędy logiczne na dysku, i ta dyrektywa Ci przemontowuje dysk jako ro.

: 22 lipca 2013, 10:33
autor: lun
Pamiętaj że rotacja zrzuca starsze logi do innych plików (tylko akurat nie pamiętam czy są pakowane, czy nie), więc starsze również możesz podejrzeć.
Bastian mnie ubiegł, bo właśnie chciałem napisać to samo. Dyrektywa przestawia ci dysk w tryb RO, po znalezieniu błędów ;-). Jak usuniesz dyrektywę i przemontujesz zasób, nie powinieneś mieć już objawu przestawiania w tryb odczytu, ale nie eliminuje to problemu z dyskiem.
Z tego co widzę, masz system na dysku SSD, a niestety specyfiką tych dysków jest "padanie" komórek. Nie wiem jak linux radzi sobie z dyskami SSD, bo nie miałem doświadczeń z tym związanych, ale same dyski SSD to nadal bardzo słabo wykorzystywany potencjał :)