IT pass HikiWiki - [Memo2012][ITPASS]サーバ交換作業(tako) Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

{{toc_here}}

== phase 0 (準備)

* サーバ交換中は Hiki 上のマニュアルを参照できなくなるため,
  作業者は予めサーバ交換マニュアルを手元に保存した.
  * サーバ交換マニュアルから引用されているページについても忘れないように.
  * Hiki ページの印刷は推奨されない. 長いコマンドなどが切れてしまうため.

== phase 1 (入替え開始)

ここでは並行できる作業が少ないため.
一部の作業メンバーでスタートした.
((*作業メンバーには, tako, ika の root パスワードを
持っている人を含めるようにする*))
(ika の root パスワード保持者は念のため).

=== ika, tako のログインユーザの削除, プロセスの削除, サービスの停止

((<[ITPASS2011a]サーバ再起動手順>)) を参考に,
ika, tako のログインユーザの削除, プロセスの削除, サービスの停止を行った.
機器のアンマウントや再起動まではしない.


root になって
# w
を実行し, マシンにログインしているユーザーを確かめた.
ログインユーザーはいなかった.

以下のコマンドでプロセスを確認した.
# ps aux

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