[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サーバ構築・運用ドキュメント へ戻る]

Last modified:2012/11/16 15:50:25
Keyword(s):
References:[[ITPASS2012]2012年度サーバ構築ログ]