système de fichiers racine en lecture seule

25

D'une certaine manière, ma Debian est allée lire uniquement dans le système de fichiers racine. Je ne sais pas comment cela a pu arriver.
Par exemple, lorsque je suis dans le /rootdossier et tapez la commande, nanopuis appuyez sur Tabpour répertorier le fichier possible dans ce dossier, j'obtiens le message:

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

La même chose pour la cdcommande lorsque je tape cd /homeet appuie sur Tabpour répertorier les chemins d'accès, j'ai ceci:

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

J'ai également des problèmes avec des logiciels comme aptet d'autres. Impossible même de mettre à jour apt-get. J'ai beaucoup d'erreurs comme celle-ci:

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

J'ai beaucoup de problèmes avec le système. Est-il possible de résoudre ce problème? Comment puis-je vérifier ce qui s'est passé? Que dois-je rechercher dans les journaux?

Je sais que cela pourrait être dû à la ligne dans le /etc/fstabfichier:

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

mais quel est le problème? Je ne trouve rien ou je ne sais pas où chercher.

Modifier:

J'ai fait des recherches dans les journaux de messages et n'ai trouvé que ceci:

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)

Je suppose que c'est correct, car j'ai les mêmes entrées sur d'autres machines Debian.

J'ai trouvé quelque chose dans dmesg (j'ai coupé un peu cette sortie car c'était beaucoup de choses ext4 standard)

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 erreurs et 1 avertissement. Des idées? Est-il sûr d'utiliser mount -o remount, rw /?

s1c
la source
2
Recherchez les chaînes "ext4" et "/ dev / mapper / debian-root" dans /var/log/messages. Si votre système de fichiers est corrompu, vous devriez le voir dans les premiers messages du noyau lors du démarrage. Essayez également de mount -o remount,rw /dev/mapper/debian-rootnous dire si cela vous génère une erreur.
lgeorget
avez-vous aussi de l'espace restant, ce qui vous donne la commandedf
Kiwy
Pouvez-vous démarrer en «mode de récupération» depuis grub? Vous pouvez également modifier les options du noyau grub et ajouter le mot single à la fin et démarrer. Vous devriez vous retrouver avec un shell racine à partir duquel vous pouvez exécuter divers outils pour vérifier et réparer votre disque.
garethTheRed
la réinitialisation de la "machine virtuelle" a résolu mon problème (cas - Ubuntu fonctionnait sur Virtual Box)
parasrish

Réponses:

29

Le comportement par défaut de la plupart des systèmes de fichiers Linux consiste à protéger vos données. Lorsque le noyau détecte une erreur dans le sous-système de stockage, il rend le système de fichiers en lecture seule pour éviter (plus) la corruption des données.

Vous pouvez régler cela quelque peu avec l'option de montage errors={continue|remount-ro|panic}qui est documentée dans le manuel du système ( man mount).

Lorsque votre système de fichiers racine rencontre une telle erreur, la plupart du temps, l'erreur ne sera pas enregistrée dans vos fichiers journaux, car ils seront désormais également en lecture seule. Heureusement, puisqu'il s'agit d'une action du noyau, le message d'erreur d'origine est d'abord enregistré dans la mémoire, dans le tampon d'anneau du noyau. À moins qu'il n'ait déjà été vidé de la mémoire, vous pouvez afficher le contenu du tampon en anneau avec la dmesgcommande. .

La plupart des vrais disques durs prennent en charge SMART et vous pouvez utiliser smartctlpour essayer de diagnostiquer la santé du disque.

Selon les messages d'erreur, vous pouvez décider qu'il est toujours sûr d'utiliser le système de fichiers et de le retourner en lecture-écriture avec mount -o remount,rw /

Cependant, en général, les erreurs de disque sont un précurseur pour terminer la défaillance du disque. Il est maintenant temps de créer une sauvegarde de vos données ou de confirmer l'état de vos sauvegardes existantes.

HBruijn
la source
oui j'ai les données de sauvegarde. Je vous prie de bien vouloir revoir ma question? J'ai trouvé quelque chose dans dmesg et j'ai fait un petit montage dans ma question.
s1c
En règle générale, je m'attends à ce que ces erreurs ext4 soient entourées d'erreurs liées aux E / S ou au périphérique, car le problème n'est probablement pas le système de fichiers en tant que tel, mais le disque sous-jacent. Voir par exemple askubuntu.com/questions/141862/…
HBruijn
Encore une question. Serait-ce à cause des partitions montées (stockage SAN / NAS)? Je les ai bien sûr dans mon fichier fstab défini.
s1c
D'après mon expérience, seul le système de fichiers qui a subi les erreurs d'E / S est monté en lecture seule, ni les autres partitions ni les partages distants ne doivent être remontés en lecture seule.
HBruijn
Nous avons monté -o remount, rw /, puis chmod dans le fichier qui fonctionnait pour nous. une fois les modifications effectuées, montez -o remount, ro / pour ramener le système de fichiers en lecture seule.