IT pass HikiWiki - [ITPASS2009]サーバ交換作業(WWW, Hiki) Diff

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

{{toc}}

[((<ITPASSサーバ構築ドキュメント>)) へ戻る]


= 当日作業

以下では, ITPASS サーバの old から new への移行の作業の
詳細を時系列順 (phase 1 -- 4) にまとめる.
phase 1 -- 4 内のそれぞれの項目は順不同.

== phase 1  (入替え開始)

old のサービスを停止する.

* http (https),
  * サービス停止作業
    * apache2, に関して,
      以下のコマンドで, サービスを一時的に停止する.
      ただし, 再起動すると再びこれらのサービスも起動してしまうため,
      作業途中で再起動の必要性が出てしまった場合は注意.
      永続的にサービスを停止する作業は ((<phase 3|[ITPASS2009]サーバ交換作業(WWW, Hiki)#phase 3>)) にて行う.

        # /etc/init.d/apache2 stop

* ssh などでのログインユーザが居る場合, プロセスを削除

  * ps aux コマンドで確認後, そのようなプロセスがある場合に,
    kill <プロセスID> とする.

== phase 2

=== new 側の old に対する通信許可の設定

root のログインを許可するため, 以下のように設定を変更する. この設定は DNS 班が行うので設定変更されるまで待つ.

以下に方法は記載しておくが, 実際には WWW 班は何もしない.

new の /etc/ssh/sshd_config で,

  PermitRootLogin no

という部分を

  PermitRootLogin yes

に変更する.

さらに, 任意のコマンドを実行出来るように,

  PermitRootLogin forced-commands-only

という部分をコメントアウトする. その後,

  new# /etc/init.d/ssh restart

として設定を反映すること. これにより, root のログインを許可することとなる.

=== old から new へ各種データをコピー

  * old の /var/spool/cron/crontabs 以下の各ファイルを new へコピー
    * scp コマンドで移す際には, パーミッションやグループ等の設定を変えて
      しまわないように注意 (オプション p の使用).

  * old の /etc/shadow のユーザ部分を new へコピー (注意)
    * old, new に別々の仮想端末でログインする.
      new の /etc/shadow を/etc/shadow~にバックアップ.
      old の /etc/shadow のユーザー部分 (UID が 1000 〜 29999 までのもの.
      UID とユーザ名の対応については /etc/passwd) を参照のこと.

      このファイルをそのままコピーすると, new での構築作業用アカウントが消えるので, old と new を比較して,
      UID が new にない UID が 1000 〜 29999 までのものを目視でコピーする.


===  new 側の old に対する通信制限の設定

先ほど, old から new に rsync でファイルを転送するために, root のログインを許可したので, 設定を以下のように変更して元に戻す. この設定は phase 3 で DNS 班が行うのでここでは作業しなくてよい.

以下に一応方法を記載するが, 実際には行わない.

/etc/ssh/sshd_config の

    PermitRootLogin yes

という部分を

    PermitRootLogin no

に変更したのち,

    new# /etc/init.d/ssh restart

として設定を反映することにより元に戻る.

== phase 3

old の設定変更


* 再起動しても以下のサービスが立ち上がらないようにする.

  * http (https), pop3
    * apache2, openbsd-inetd に関して,
      以下のコマンドによって OS が起動する際に立ち上がらないように
      しておく.
      <service> には上記のサービス名を与える.

        # cd /etc/init.d
        # update-rc.d -f <service> remove
        # chmod 644 <service>

    * 余談だが, これら停止したサービスを再開する場合には,
      以下のようにするとよい.

        # cd /etc/init.d
        # update-rc.d <service> defaults
        # chmod 755 <service>

  * 確認作業
    * 再起動を行い, ps aux コマンドで停止したはずのサービスが
      立ち上がっていないことを確認する.

new の設定を変更

* 以下のサービスが定常的に立ち上がるように設定する.
  * http (https)


== phase 4

移行の最終チェック

* new
  * http: 表示できるか, hikiに書き込めるか, gate による
    登録や変更は可能か

* old
  * http: 無効になっているか

== phase 4.5
=== 電脳サーバへのバックアップの確認

ITPASS サーバの資源は, 毎日電脳サーバへバックアップされている. cron によって毎日実行されているそのシェルスクリプトが正常に作動しているか試行する.

電脳サーバへログインし, kobe グループになり, kobe のホームディレクトリに移動.
そこで,

  $ ./itpass_rsync_epa2dennou.sh -n
  $ ./epalab_rsync_epa2dennou_yyh.sh -n

を実行する. その後, 出力されたログを確認する.

  $ cd ./itpass_rsync_epa2dennnou_log
  $ less itpass_rsync_epa2dennnou.log
  $ cd ../epalab_rsync_epa2dennnou_log
  $ less./epalab_rsync_epa2dennnou.log

2 つとも正常に出力されていれば OK.


[((<ITPASSサーバ構築ドキュメント>)) へ戻る]