読み取り専用ルートファイルシステム

読み取り専用ルートファイルシステム

どういうわけか、私のDebianはルートファイルシステムで読み取り専用になりました。どうやってこれが起こったのかわかりません。たとえば、フォルダ
内にあるときにコマンドを入力し、キーを押してそのフォルダ内の可能なファイルを一覧表示すると、次のメッセージが表示されます。/rootnanoTab

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

cdcd /homeパスを一覧表示するために入力してキーを押すときのコマンドも同じですTab

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

私もこのようなソフトウェアに問題がありましたapt。更新を適切に受け取ることもできません。次のエラーがたくさんあります。

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 / を使用しても安全ですか?

答え1

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

errors={continue|remount-ro|panic}システムマニュアル()に記載されているインストールオプションを使用して、これを調整することができますman mount

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

ほとんどの物理ハードドライブのサポート賢いこれを使用してsmartctlディスクの状態を診断できます。

エラーメッセージに基づいて、ファイルシステムがまだ安全に使用されていることを確認し、読み取りおよび書き込み条件を返すことができます。mount -o remount,rw /

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

関連情報