główny system plików tylko do odczytu


25

Jakoś mój Debian poszedł czytać tylko w głównym systemie plików. Nie mam pojęcia, jak to się mogło stać.
Na przykład, kiedy jestem w /rootfolderze i wpisz polecenie, nanoa następnie naciśnij, Tababy wyświetlić listę możliwych plików w tym folderze, otrzymuję komunikat:

root@debian:~# nano -bash: cannot create temp file for here-document: Read-only file system

To samo dotyczy cdpolecenia, gdy piszę cd /homei naciskam, Tababy wyświetlić ścieżki, mam to:

root@debian:~# cd /home -bash: cannot create temp file for here-document: Read-only file system

Mam również problemy z oprogramowaniem takim jak apti innymi. Nie można nawet zaktualizować apt-get. Mam wiele takich błędów:

Err http ://ftp.de.debian.org wheezy-updates/main Sources
406  Not Acceptable
W: Not using locking for read only lock file /var/lib/apt/lists/lock
W: Failed to fetch http ://ftp.de.debian.org/debian/dists/wheezy/Release  rename failed, Read-only file system (/var/lib/apt/lists/ftp.de.debian.org_debian_dists_wheezy_Release -> /var/lib/apt/lists/ftp.de.debian.org_debian_dists_wheezy_Release).
W: Failed to fetch http ://security.debian.org/dists/wheezy/updates/main/source/Sources  404  Not Found
W: Failed to fetch http ://security.debian.org/dists/wheezy/updates/main/binary-amd64/Packages  404  Not Found
W: Failed to fetch http ://ftp.de.debian.org/debian/dists/wheezy-updates/main/source/Sources  406  Not Acceptable
E: Some index files failed to download. They have been ignored, or old ones used instead.
W: Not using locking for read only lock file /var/lib/dpkg/lock

Mam wiele problemów w systemie. Czy można to naprawić? Jak mogę sprawdzić, co się stało? Czego powinienem szukać w dziennikach?

Wiem, że może to wynikać z wiersza w /etc/fstabpliku:

/dev/mapper/debian-root /               ext4    errors=remount-ro 0       1

ale w czym problem? Nie mogę nic znaleźć, a może nie wiem, gdzie szukać.

Edytować:

Przeszukałem dzienniki wiadomości i znalazłem tylko to:

kernel: [    5.709326] EXT4-fs (dm-0): re-mounted. Opts: (null)
kernel: [    5.977131] EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro
kernel: [    7.174856] EXT4-fs (dm-2): mounted filesystem with ordered data mode. Opts: (null)

Myślę, że to prawda, ponieważ mam te same wpisy na innych maszynach Debiana.

Znalazłem coś w dmesg (nieco wyciąłem ten wynik, ponieważ było wiele standardowych rzeczy ext4)

root@gs3-svn:/# dmesg |grep ext4
EXT4-fs error (device dm-0) in ext4_reserve_inode_write:4507: Journal has aborted
EXT4-fs error (device dm-0) in ext4_reserve_inode_write:4507: Journal has aborted
EXT4-fs error (device dm-0) in ext4_dirty_inode:4634: Journal has aborted
EXT4-fs error (device dm-0): ext4_discard_preallocations:3894: comm rsyslogd: Error loading buddy information for 1
EXT4-fs warning (device dm-0): ext4_end_bio:250: I/O error -5 writing to inode 133130 (offset 132726784 size 8192 starting block 159380)
EXT4-fs error (device dm-0): ext4_journal_start_sb:327: Detected aborted journal

5 błędów i 1 ostrzeżenie. Jakieś pomysły? Czy bezpiecznie jest używać mount -o remount, rw /?


2
Poszukaj ciągów znaków „ext4” i „/ dev / mapper / debian-root” w /var/log/messages. Jeśli twój system plików jest uszkodzony, powinieneś go zobaczyć we wczesnych komunikatach jądra podczas uruchamiania. Spróbuj także mount -o remount,rw /dev/mapper/debian-rootpowiedzieć nam, czy spowoduje to błąd.
lgeorget

masz jeszcze df
wolne

Czy możesz uruchomić system z GRUB-a w trybie odzyskiwania? Alternatywnie, edytuj opcje jądra grub i dodaj słowo single na końcu i uruchom. Powinieneś skończyć z powłoką roota, z której możesz uruchomić różne narzędzia do sprawdzania i naprawy dysku.
garethTheRed

zresetowanie „maszyny VM” rozwiązało mój problem (przypadek - Ubuntu działał na Virtual Box)
parasrish

Odpowiedzi:


29

Domyślnym zachowaniem większości systemów plików Linux jest ochrona danych. Kiedy jądro wykryje błąd w podsystemie pamięci, spowoduje, że system plików będzie tylko do odczytu, aby zapobiec (dalszemu) uszkodzeniu danych.

Możesz to nieco dostroić za pomocą opcji mount, errors={continue|remount-ro|panic}która jest udokumentowana w podręczniku systemowym ( man mount).

Gdy główny system plików napotka taki błąd, przez większość czasu błąd ten nie zostanie zapisany w plikach dziennika, ponieważ będą one teraz przeznaczone tylko do odczytu. Na szczęście, ponieważ jest to działanie jądra, pierwotny komunikat o błędzie jest najpierw zapisywany w pamięci, w buforze pierścienia jądra. O ile nie zostało już usunięte z pamięci, możesz wyświetlić zawartość bufora pierścieniowego za pomocą dmesgpolecenia. .

Większość prawdziwych dysków twardych obsługuje SMART i można użyć smartctldo wypróbowania i zdiagnozowania stanu dysku.

W zależności od komunikatów o błędach możesz zdecydować, że nadal można bezpiecznie korzystać z systemu plików i zwrócić go z warunkiem odczytu / zapisu mount -o remount,rw /

Ogólnie jednak błędy dysku są prekursorem do zakończenia awarii dysku. Nadszedł czas, aby utworzyć kopię zapasową danych lub potwierdzić stan istniejących kopii zapasowych.


tak, mam dane kopii zapasowej. Couold, proszę spojrzeć jeszcze raz na moje pytanie? Znalazłem coś w dmesg i zrobiłem małą edycję w moim pytaniu.
s1c

Zazwyczaj spodziewałbym się, że te błędy ext4 zostaną otoczone błędami związanymi z IO lub urządzeniem, ponieważ najprawdopodobniej problemem nie jest sam system plików, ale dysk podstawowy. Patrz na przykład askubuntu.com/questions/141862/…
HBruijn

Jeszcze jedno pytanie. Czy może to być spowodowane zamontowanymi partycjami (pamięć SAN / NAS)? Mam je oczywiście w moim pliku fstab.
s1c

Z mojego doświadczenia wynika, że ​​tylko system plików, w którym wystąpiły błędy We / Wy, jest montowany tylko do odczytu, ani inne partycje, ani zdalne udziały nie powinny być ponownie montowane tylko do odczytu.
HBruijn

Zrobiliśmy mount -o remount, rw /, a następnie chmod do pliku, który działał dla nas. po zakończeniu zmian wykonaj montowanie -o, ro /, aby przywrócić system plików tylko do odczytu.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.