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 /root
folderze i wpisz polecenie, nano
a 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 cd
polecenia, gdy piszę cd /home
i 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 apt
i 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/fstab
pliku:
/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 /?
/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żemount -o remount,rw /dev/mapper/debian-root
powiedzieć nam, czy spowoduje to błąd.df
Odpowiedzi:
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ą
dmesg
polecenia. .Większość prawdziwych dysków twardych obsługuje SMART i można użyć
smartctl
do 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.
źródło