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

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

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

{{toc_here}}


= 当日作業

== 概要

大まかな作業内容は以下の通りである.

* 前半 (root パスワード保持者が中心になって行う)
  * プロセスやサービスの停止
  * 一時的に root ログインを許可して, 必要なファイルを転送
* 後半 (全員で行う)
  * ホスト名・IP アドレスの交換後, ネットワーク再起動
  * 各種サービスの設定変更後, OS 再起動
  * サービスなどの動作確認

特に記述がない限り, ひとつの phase 内の全作業が
完了してから次の phase に進むようにすること.
また同一 phase 内に複数項目
(Hiki ソースでの "===" の項目)
がある場合は複数人で同時に行ってもよい.

== phase 0 (準備)

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

== phase 1 (入替え開始)

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

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

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


== phase 2 (tako の root ログイン許可)

=== tako の root ログイン許可

tako において一時的に root ログインを許可する.
方法は((<[ITPASS2011a]root ログインの許可・禁止>))を参考にする.

== phase 3 (ika から tako へ各種データをコピー)

((*この phase の作業には tako の root パスワードが必要*)).

scp コマンドで移す際には, パーミッションやグループ等の設定を変えてしまわないように注意 (オプション p の使用).

=== ika から tako へ /home 領域を rsync

前回 rsync を行ってから変更があった分のために再度 rsync を行う.
前回 シェルスクリプトを作ってある場合はそれを実行するのみでよい.

作業内容の詳細は((<"[ITPASS2011a]サーバ交換事前作業#ika から tako へ /home 領域を rsync">))と同じなので, 不明点がある場合はそちらを参照のこと.

この作業は多少時間がかかる可能性がある.
コマンドの実行が成功していること確認したら,
別途端末を開いて他の作業を並行して行うと時間が節約できる.

=== ika から tako へ各種設定ファイルをコピー

* ika から tako へ cron の設定ファイルをコピー

    tako# scp -p -r root@ika-itpass:/var/spool/cron/crontabs /var/spool/cron/
  
* ika から tako へ popauth の設定ファイル /usr/local/qpopper/pop.auth をコピー

    tako# cd /usr/local/qpopper
    tako# cp pop.auth pop.auth.YYYYMMDD    # YYYYMMDD は今日の日付
    tako# scp -p root@ika-itpass:/usr/local/qpopper/pop.auth .

* ika から tako へ /etc/shadow のユーザ部分をコピー

  * ika, tako に別々の端末でログインする.
  * tako の /etc/shadow を
    /etc/shadow.YYYYMMDD (YYYYMMDD は今日の日付) にバックアップ.
  * ssh, diff コマンドを組み合わせて
    ika と tako の /etc/shadow を比較する.

      tako# ssh root@ika-itpass cat /etc/shadow | diff - /etc/shadow

  * 上記の出力を見て, tako 側の /etc/shadow に書かれていない UID のうち
    1000 〜 29999 までのものがあるか確認する. あれば
    ika 側からコピーする. (UID とユーザ名の対応については /etc/passwd を参照)

== phase 4 (root ログイン禁止)

=== tako の root ログイン禁止

* /home 領域の rsync が終わっていることを確認する
* tako に対する root ログインが必要な作業が終わったので, ((<[ITPASS2011a]root ログインの許可・禁止>))を参考に root ログインを禁止した状態に戻す.