web-dev-qa-db-ja.com

ルートファイルシステムのみを読み取り

どういうわけか私のDebianはルートファイルシステムでのみ読み取りに行きました。これがどうして起こったのか、私にはわかりません。
たとえば、私が/rootフォルダにいて、コマンドnanoを入力した後、 Tab そのフォルダーにある可能性のあるファイルをリストするには、次のメッセージが表示されます。

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

cd /homeと入力してを押すと、cdコマンドでも同じ Tab 私が持っているパスをリストするには:

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

aptなどのソフトウェアにも問題があります。 apt-get updateもできません。私はこのような多くのエラーがあります:

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

システムに多くの問題があります。それを修正することは可能ですか?何が起こったか確認するにはどうすればよいですか?ログで何を探す必要がありますか?

/etc/fstabファイルの行が原因である可能性があります。

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

しかし、問題は何ですか?何も見つからないか、どこを見ればよいのかわかりません。

編集:

私はメッセージログを検索し、これだけを見つけました:

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)

他のdebianマシンでも同じエントリがあるので、私はそれが正しいと思います。

私はdmesgで何かを見つけました(私は多くの標準的な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つのエラーと1つの警告。何か案は? mount -o remount、rw /を使用しても安全ですか?

25
s1c

ほとんどのLinuxファイルシステムのデフォルトの動作は、データを保護することです。カーネルは、ストレージサブシステムでエラーを検出すると、ファイルシステムを読み取り専用にして、(さらに)データの破損を防ぎます。

これは、システムマニュアル(errors={continue|remount-ro|panic})に記載されているマウントオプションman mountで多少調整できます。

ルートファイルシステムでこのようなエラーが発生すると、ほとんどの場合、ログファイルも読み取り専用になるため、エラーはログファイルに記録されません。幸い、これはカーネルアクションであるため、元のエラーメッセージは最初にメモリのカーネルリングバッファに記録されます。すでにメモリからフラッシュされていない限り、dmesgコマンドを使用してリングバッファの内容を表示できます。 。

ほとんどの実際のハードディスクは [〜#〜] smart [〜#〜] をサポートしており、smartctlを使用してディスクの状態を診断できます。

エラーメッセージによっては、ファイルシステムを使用しても安全で、mount -o remount,rw /

ただし、一般に、ディスクエラーは完全なディスク障害の前兆です。ここで、データのバックアップを作成するか、既存のバックアップのステータスを確認します。

30
HBruijn