PR

[VMware] Xen からVMware Server2 移行動作確認

確認

取り敢えず動作しているように見えるが、Xen という異なった環境からの移行だから正しく移行されたか確認していく。ここでは遭遇したいくつかの例を挙げる。なお、おそらくほとんどが pc.casey.jp » [Linux] Xen イメージをVMware イメージに変換する で操作ミスがあったものと思われる。すべからく変換は正しく行われたと言える。

スポンサードリンク

Linux の起動に失敗する

ファイルシステムが違うなどのエラー表示があった場合、  /boot/grub/menu.lst を修正する。

ネットワークに接続できない

VMware のネットワークアダプタ設定が正しくなかったので、構成を修正した。

Apache が起動しない

httpd を停止中: [失敗]
httpd を起動中:
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs

上記のようなエラーが出ている場合は、正しくApache が終了していなかったことが原因だ。以下のコマンドを使って、正しく終了できなかったApache を探す。

# /usr/sbin/lsof -i | grep http

httpd     2891    root    3u  IPv6   8322       TCP *:http (LISTEN)
httpd     2891    root    5u  IPv6   8327       TCP *:https (LISTEN)
httpd     2944  apache    3u  IPv6   8322       TCP *:http (LISTEN)
httpd     2944  apache    5u  IPv6   8327       TCP *:https (LISTEN)
httpd     2945  apache    3u  IPv6   8322       TCP *:http (LISTEN)
httpd     2945  apache    5u  IPv6   8327       TCP *:https (LISTEN)
httpd     2946  apache    3u  IPv6   8322       TCP *:http (LISTEN)
httpd     2946  apache    5u  IPv6   8327       TCP *:https (LISTEN)
httpd     2947  apache    3u  IPv6   8322       TCP *:http (LISTEN)
httpd     2947  apache    5u  IPv6   8327       TCP *:https (LISTEN)
httpd     2948  apache    3u  IPv6   8322       TCP *:http (LISTEN)
httpd     2948  apache    5u  IPv6   8327       TCP *:https (LISTEN)
httpd     2949  apache    3u  IPv6   8322       TCP *:http (LISTEN)
httpd     2949  apache    5u  IPv6   8327       TCP *:https (LISTEN)
httpd     2950  apache    3u  IPv6   8322       TCP *:http (LISTEN)
httpd     2950  apache    5u  IPv6   8327       TCP *:https (LISTEN)
httpd     2951  apache    3u  IPv6   8322       TCP *:http (LISTEN)
httpd     2951  apache    5u  IPv6   8327       TCP *:https (LISTEN)

今回の場合、上記が正しく終了していなかった。以下のコマンドを使って終了させる。

# kill 2944 2945 2946 2950 2951 2891

Apache に再起動コマンドを送り、正しく起動できるか確かめる。

# service httpd restart
httpd を停止中:                                            [失敗]
httpd を起動中:                                            [  OK  ]

起動に成功したら期待通りのアクセスが出来るか確かめる。まだ問題が残っているかもしれないから pc.casey.jp » Firefox hosts切替アドオン-SwitchHosts などを使うと便利。

やっぱりオカシイ

何度か再起動するなどしていると、shutdownする際にhttpd が正しく終了できずにFAILED になっている。上記と同じくプロセスをkill すれば起動できる。調べてみると終了が正しくできないようだ。なぜだろう。

confファイルに問題がないか調べる。

# apachectl configtest
Syntax OK

logファイルに手がかりがないか調べる。

# tail /etc/httpd/logs/error_log
[Tue Jan 04 20:43:52 2011] [notice] caught SIGTERM, shutting down
[Tue Jan 04 20:44:58 2011] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Jan 04 20:44:59 2011] [notice] Digest: generating secret for digest authentication …
[Tue Jan 04 20:44:59 2011] [notice] Digest: done
[Tue Jan 04 20:44:59 2011] [notice] Apache/2.2.3 (CentOS) configured — resuming normal operations

その他の方法で調べてみる。

# /usr/sbin/httpd
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs

様々な情報があったが、意外なところに答えはあった。httpd.conf でpid が何故か 「PidFile run/apache2.pid」 になっていた。これを正しく httpd.pid に修正し、kill し、 service httpd restart を行うと正しく動作した。これはハマった。が、変更した覚えもない。そもそも自分が触る部分でもない。誰が悪さをしたのだろうか。まさかVMware Server2 じゃないだろうな…。

proftpd が起動しない

コンソール起動画面を見ているとproftpd もFAILD となっている。確かめてみる。

# service proftpd restart
proftpd を停止中:                                          [失敗]
proftpd を起動中:                                          [失敗]

他の方法で確かめる。

# /usr/sbin/proftpd
– warning: handling possibly truncated configuration data at line 154 of ‘/etc/proftpd.conf’
*****.jp – fatal: Socket operation on non-socket

エラーの内容が表示された。1行目と2行目の2つのエラーがあるようだ。

改行コードのエラーを直す

1行目はWindowsでファイルを編集したことに選る改行コードのエラーということらしいのでviで適当に保存しなおす。

# /usr/sbin/proftpd
****.jp – fatal: Socket operation on non-socket

改善されたようだ。もうひとつの問題に対処する。

起動方式の間違いを正す

このproftpd は常時待機しておらず、接続があったときに起動するよう設定されている。そのような設定になっているときに /usr/sbin/proftpd としてはいけないそうだ。当然といえば当然だが、そうすると、boot の際にService として起動していないか確かめると、起動するよう設定されていたのでoff にする。

# chkconfig proftpd off

念のためシステムを再起動する。起動画面のService に表示されず、OKなのかFAILD なのか不明だがクライアントからFTP接続すると接続できた。つまり、接続要求に応じて起動する(設定通りの)動作をしていることになる。これで問題は解 決した。ただ、これらはFAILD になっていても動作してしまうから、以前から存在していたのかもしれない。コンソールなどほとんど見ることはないから…。

不用品の削除

この状態で yum update を行うと Xen 関連のアップデートも行われてしまう。Xen 関連を削除する。

# yum remove kernel-xen kernel-xen-headers

参考文献

コメント