yumが動かなかったときの対処(Cannot open logfile /var/log/yum.log)
結論
yum install を実行したら失敗→rebootしたら問題なく実行できた。
本来はしっかりとチェックしてからrebootすべき。
原因:ファイルシステムのエラーが原因でディスクがread-onlyになっていました。
ログ
vpsを借りてgitをインストールしようとしたら失敗した。
# yum install git
読み込んだプラグイン:fastestmirror
Cannot open logfile /var/log/yum.log
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in <module>
yummain.user_main(sys.argv[1:], exit_code=True)
File "/usr/share/yum-cli/yummain.py", line 298, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 124, in main
base.doLock()
File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 1851, in doLock
while not self._lock(lockfile, mypid, 0644):
File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 1917, in _lock
errmsg = _('Could not create lock at %s: %s ') % (filename, str(msg))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position 11: ordinal not in range(128)
調査〜復旧
dmesgコマンドでOSのログを確認しました。
#dmesg
・・・・
JBD2: Detected IO errors while flushing file data on sda1-8
JBD2: Detected IO errors while flushing file data on sda1-8
JBD2: Detected IO errors while flushing file data on sda1-8
・・・・
Aborting journal on device sda1-8.
EXT4-fs error (device sda1): ext4_journal_start_sb: Detected aborted journal
EXT4-fs (sda1): Remounting filesystem read-only
・・・・
ファイルシステムがエラーを検知して読み込み専用になったようです。
なにも載っていないサーバなので容赦なくrebootしてみました。(危険!!)
reboot後にログの確認
#dmesg | tail -50
・・・・
sd 2:0:0:0: [sda] Attached SCSI disk
EXT4-fs (sda1): INFO: recovery required on readonly filesystem
EXT4-fs (sda1): write access will be enabled during recovery
EXT4-fs warning (device sda1): ext4_clear_journal_err: Filesystem error recorded from previous mount: IO failure
EXT4-fs warning (device sda1): ext4_clear_journal_err: Marking fs in need of filesystem check.
EXT4-fs (sda1): recovery complete
EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts:
dracut: Mounted root filesystem /dev/sda1
・・・・
問題なく復旧したっぽい。
yumも問題なく実行できました。
本来すべきことは
今回は壊れても問題ないサーバのため容赦なくリブートしてみました。
ちょっと検索してみると
- ハードディスクが壊れていないかチェック(badblocksコマンド?)
- バックアップの取得
- (壊れていたら)fsckコマンド
などなどあるので慎重に調査のした上で対処してください。
<参考>
ファイルシステムが読み込み専用になってしまった
Ubuntu システムログ その6 - HDDが故障もしくは故障しそうな時に出力されるログ・ファイルのバックアップについて
Web系エンジニアbcoのメモ帳