[Memo2012][ITPASS]サーバ交換作業(tako)
phase 0 (準備)
- サーバ交換中は Hiki 上のマニュアルを参照できなくなるため,
作業者は予めサーバ交換マニュアルを手元に保存した.
- サーバ交換マニュアルから引用されているページについても忘れないように.
- Hiki ページの印刷は推奨されない. 長いコマンドなどが切れてしまうため.
phase 1 (入替え開始)
ここでは並行できる作業が少ないため. 一部の作業メンバーでスタートした. 作業メンバーには, tako, ika の root パスワードを 持っている人を含めるようにする (ika の root パスワード保持者は念のため).
ika, tako のログインユーザの削除, プロセスの削除, サービスの停止
[ITPASS2011a]サーバ再起動手順 を参考に, ika, tako のログインユーザの削除, プロセスの削除, サービスの停止を行った. 機器のアンマウントや再起動まではしない.
root になって を実行し, マシンにログインしているユーザーを確かめた. ログインユーザーはいなかった.
以下のコマンドでプロセスを確認した.
apache, bind, openbsd-inetd, qmail, tcptopserver のサービスを一時的に落 とした. 以下のように表示され, サービスが停止できた
# /etc/init.d/apache2 stop Stopping web server: apache2. # /etc/init.d/bind stop Stopping domain name service: namedWARNING: key file (/usr/local/bind/etc/rndc.key) exists, but using default configuration file (/usr/local/bind/etc/rndc.conf). # /etc/init.d/open stop openbsd-inetd openvpn # /etc/init.d/openbsd-inetd stop Stopping internet superserver: inetd. # /etc/init.d/qmail stop Stopping mail-transfer agent: qmail /bin/kill 1619 # /etc/init.d/tcpserver stop Stopping smtp server: tcpserver
phase 2 (tako の root ログイン許可)
tako の root ログイン許可
tako において一時的に root ログインを許可した.
# vim /etc/ssh/sshd_config PermitRootLogin no
を
PermitRootLogin yes
に変更し, root ログインを許可した.
/etc/init.d/ssh restart
で設定を反映させた.
phase 3 (ika から tako へ各種データをコピー)
この phase の作業には tako の root パスワードが必要.
scp コマンドで移す際には, パーミッションやグループ等の設定を変えてしまわないように注意 (オプション p の使用).
ika から tako へ /home 領域を rsync
前回 rsync を行ってから変更があった分のために再度 rsync を行った. bind を止めたので, 先日作ったスクリプトの中の ホスト名をIP アドレスに書 き換えて rsync を実行した.
ika から tako へ各種設定ファイルをコピー
ika から tako へ cron の設定ファイルをコピー
ika# scp -p -r /var/spool/cron/crontabs 133.30.109.21:/var/spool/cron/
/var/spool/cron のパーミッション, /var/spool/cron/crontabs のパーミッション, 所有者・グループがika と同じになっているか確認.
ika から tako へ popauth の設定ファイル /usr/local/qpopper/pop.auth をコピー
ika# cd /usr/local/qpopper/ ika# cp pop.auth pop.auth.20121107 ika# /usr/local/qpopper# scp -p /usr/local/qpopper/pop.auth 133.30.109.21:/usr/local/qpopper/
- ika から tako へ /etc/shadow のユーザ部分をコピー
tako の /etc/shadow を /etc/shadow.YYYYMMDD (YYYYMMDD は今日の日付) にバックアップ.
tako# cd /etc tako# cp shadow shadow.20121107
ssh, diff コマンドを組み合わせて ika と tako の /etc/shadow を比較した.
ika# ssh 133.30.109.21 cat /etc/shadow | diff -u - /etc/shadow | lv
- 上記の出力を見て, tako 側の /etc/shadow に書かれていない UID のうち 1000 〜 29999 までのものがあるか確認. 1000〜29999 までのものはなかった.
phase 4 (root ログイン禁止)
tako の root ログイン禁止
- /home 領域の rsync が終わっていることを確認.
tako に対する root ログインが必要な作業が終わったので, root ログインを禁止した状態に戻した.
# vim /etc/ssh/sshd_config PermitRootLogin yes
を
PermitRootLogin no
に変更し, root ログインを禁止した.
/etc/init.d/ssh restart
で設定を反映させた.
phase 8 (OS 再起動)
OS を再起動してもサービスが期待通り立ち上がる (立ち上がらない) ことを確認するため, tako, ika とも OS を再起動した.
[ITPASSサーバ構築・運用ドキュメント へ戻る]
Keyword(s):
References:[[ITPASS2012]2012年度サーバ構築ログ]