XenServer 仮想マシンがフリーズしたときの対処法
問題
Xenで、XenCenterにはアクセスが可能なのですが、
仮想マシンが再起動やシャットダウン、起動などの操作を受け付けなくなりました。
どうしたらよいでしょうか。
答え
ホストマシンから見える、仮想マシンのディスクIOプロセスが問題を起こしていることがある。
SSHで対象仮想マシンのXenServerホストに入りルートパーティションのディスク使用率を確認すると、使用率100%になっている。
仮想マシンが固まったと思われる時刻から、エラーが大量に記録されている。
(一部抜粋) Jun 16 05:15:48 xenserver-022 tapdisk[15062]: tap-err:scheduler_wait_for_events: select failed: Bad file descriptor Jun 16 05:15:48 xenserver-022 tap-ctl[30632]: tap-err:tap_ctl_read_raw: failure reading data 0/544 Jun 16 05:15:48 xenserver-022 tap-ctl[30632]: tap-err:tap_ctl_send_and_receive: failed to receive 'pid' message Jun 16 05:15:48 xenserver-022 tapdisk[15062]: tap-err:scheduler_wait_for_events: select failed: Bad file descriptor Jun 16 05:16:01 xenserver-022 last message repeated 437389 times Jun 16 05:16:01 xenserver-022 logrotate: Removing /var/log/daemon.log.103.gz (184kB) as logs are 27660kB over budget 512000kB Jun 16 05:16:01 xenserver-022 tapdisk[15062]: tap-err:scheduler_wait_for_events: select failed: Bad file descriptor
errを起こしているプロセスをkill。
# kill -9 15062
仮想マシンの状態がstopになったことを確認し、仮想マシンを再起動。
今回はXenCenterでのアクセスが可能でしたので、xe-toolstack-restart は行いませんでした。
tapdisk は仮想マシンのディスクIOプロセスのようです。
起動中の仮想マシンの数だけ起動しており、今回問題が起きた仮想マシン用のプロセスに異常があったようです。(Xenの不具合でしょうか。)
コメント