IT pass HikiWiki - [ITPASS2018]サーバ交換作業 (tako) Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
{{toc_here}}
[((<[ITPASS2018]2018年度サーバ構築マニュアル>)) へ戻る]
= 当日作業
== 概要
大まかな作業内容は以下の通りである.
* 前半 (root パスワード保持者が中心になって行う)
* プロセスやサービスの停止
* 一時的に root ログインを許可して, 必要なファイルを転送
* 後半 (全員で行う)
* ホスト名・IP アドレスの交換後, ネットワーク再起動
* 各種サービスの設定変更後, OS 再起動
* サービスなどの動作確認
特に記述がない限り, ひとつの phase 内の全作業が
完了してから次の phase に進むようにすること.
また同一 phase 内に複数項目 (Hiki ソースでの "===" の項目) がある場合は複数人で同時に行ってもよい.
== phase 0 (準備)
* サーバ交換中は Hiki 上のマニュアルを参照できなくなるため,
作業者は予めサーバ交換マニュアルを手元に保存しておく.
* サーバ交換マニュアルから引用されているページについても忘れないように.
* Hiki ページの印刷は推奨されない. 長いコマンドなどが切れてしまうため.
== phase 1 (入替え開始)
ここでは並行できる作業が少ないため, 一部の作業メンバーでスタートする.
((*作業メンバーには, tako, ika の root パスワードを持っている人を含めるようにする*)) (ika の root パスワード保持者は念のため).
=== tako のログインユーザの削除, プロセスの削除, サービスの停止
((<[TEBIKI]サーバ再起動手順>)) を参考に,
tako のログインユーザの削除, プロセスの削除, サービスの停止を行う.
機器のアンマウントや再起動まではしない.
# service apache2 stop
# service bind9 stop
# service openbsd-inetd stop
# service qmail stop
# service tcpserver stop
なお, 2018 年サーバ再構築時には, tcpserver は立ち上がらないようにしてあったため意味はなかった.
== ログインユーザの確認
# w
== プロセスの確認
以下のコマンドでプロセスを確認する.
# ps aux
== phase 2 (tako の root ログイン許可)
=== tako の root ログイン許可
tako において, 一時的に root ログインを許可するために, /etc/ssh/sshd_config を編集して ssh を再起動する.
== phase 3 (ika から tako へ各種データをコピー)
#scp コマンドで移す際には, パーミッションやグループ等の設定を変えてしまわないように注意する (オプション p の使用).
=== ika から tako へ各種設定ファイルをコピー
* ika から tako へ cron の設定ファイルをコピーする.
ika# rsync -av /var/spool/cron/crontabs root@tako-itpass.scitec.kobe-u.ac.jp:/var/spool/cron/
/var/spool/cron/ 以下のパーミッションと所有者, グループが ika と tako で同じであることを確認する.
* tako の /etc/shadow を /etc/shadow.YYYYMMDD (YYYYMMDD は今日の日付) にバックアップする.
tako# cd /etc
tako# cp shadow shadow.20181204
* ssh, diff コマンドを組み合わせて ika と tako の /etc/shadow を比較する.
ika# ssh root@tako-itpass.scitec.kobe-u.ac.jp cat /etc/shadow | diff - /etc/shadow
* 上記の出力の結果
tako 側の /etc/shadow に書かれていない UID のうち 1000 ~ 29999 までのものがないことを確認する.
== phase 4 (root ログイン禁止)
=== tako の root ログイン禁止
* /home 領域の rsync が終わっていることを確認する.
* tako において, ログインを禁止した状態に戻す.
== phase 6 (tako, ika の交換: ネットワークの再起動)
=== ネットワークの再起動
((*混乱を避けるため, ika, tako 両方ともに以下の作業を行うユーザ以外は全員ログアウトし, ネットワークの再起動が完了するまでログインは控えたほうがよい.*))
OS を再起動する.
この作業後, tako (または ika) に接続できなくなった場合は,
該当サーバを再起動し, phase 1 を参考に全サービスを一時停止しておく.
== phase 8 (OS 再起動)
OS を再起動してもサービスが期待通り立ち上がる (立ち上がらない)
ことを確認するため, ika の OS を再起動する.
# reboot
再起動が終わったホストから, phase 9 に進んで良い.
== phase 10 (バックアップの確認)
=== 電脳サーバへのバックアップの確認
ITPASS サーバの資源は, 毎日電脳サーバへバックアップされている. cron によって毎日実行されているそのシェルスクリプトが正常に作動しているか試行する.
電脳サーバにアカウントを持つ者が電脳サーバにログインし,
$ sudo -u kobe -s
によって kobe ユーザになり, kobe のホームディレクトリに移動する.
そこで,
$ ./itpass_rsync_epa2dennou.sh -n
$ ./epalab_rsync_epa2dennou_yyh.sh -n
を実行した. その後, 出力されたログを確認する.
$ cd ./itpass_rsync_epa2dennou_log
$ less itpass_rsync_epa2dennou.log
$ cd ../epalab_rsync_epa2dennou_log
$ less ./epalab_rsync_epa2dennou.log
2 つとも正常に出力されていればよい.
[((<[ITPASS2018]2018年度サーバ構築マニュアル>)) へ戻る]
[((<[ITPASS2018]2018年度サーバ構築マニュアル>)) へ戻る]
= 当日作業
== 概要
大まかな作業内容は以下の通りである.
* 前半 (root パスワード保持者が中心になって行う)
* プロセスやサービスの停止
* 一時的に root ログインを許可して, 必要なファイルを転送
* 後半 (全員で行う)
* ホスト名・IP アドレスの交換後, ネットワーク再起動
* 各種サービスの設定変更後, OS 再起動
* サービスなどの動作確認
特に記述がない限り, ひとつの phase 内の全作業が
完了してから次の phase に進むようにすること.
また同一 phase 内に複数項目 (Hiki ソースでの "===" の項目) がある場合は複数人で同時に行ってもよい.
== phase 0 (準備)
* サーバ交換中は Hiki 上のマニュアルを参照できなくなるため,
作業者は予めサーバ交換マニュアルを手元に保存しておく.
* サーバ交換マニュアルから引用されているページについても忘れないように.
* Hiki ページの印刷は推奨されない. 長いコマンドなどが切れてしまうため.
== phase 1 (入替え開始)
ここでは並行できる作業が少ないため, 一部の作業メンバーでスタートする.
((*作業メンバーには, tako, ika の root パスワードを持っている人を含めるようにする*)) (ika の root パスワード保持者は念のため).
=== tako のログインユーザの削除, プロセスの削除, サービスの停止
((<[TEBIKI]サーバ再起動手順>)) を参考に,
tako のログインユーザの削除, プロセスの削除, サービスの停止を行う.
機器のアンマウントや再起動まではしない.
# service apache2 stop
# service bind9 stop
# service openbsd-inetd stop
# service qmail stop
# service tcpserver stop
なお, 2018 年サーバ再構築時には, tcpserver は立ち上がらないようにしてあったため意味はなかった.
== ログインユーザの確認
# w
== プロセスの確認
以下のコマンドでプロセスを確認する.
# ps aux
== phase 2 (tako の root ログイン許可)
=== tako の root ログイン許可
tako において, 一時的に root ログインを許可するために, /etc/ssh/sshd_config を編集して ssh を再起動する.
== phase 3 (ika から tako へ各種データをコピー)
#scp コマンドで移す際には, パーミッションやグループ等の設定を変えてしまわないように注意する (オプション p の使用).
=== ika から tako へ各種設定ファイルをコピー
* ika から tako へ cron の設定ファイルをコピーする.
ika# rsync -av /var/spool/cron/crontabs root@tako-itpass.scitec.kobe-u.ac.jp:/var/spool/cron/
/var/spool/cron/ 以下のパーミッションと所有者, グループが ika と tako で同じであることを確認する.
* tako の /etc/shadow を /etc/shadow.YYYYMMDD (YYYYMMDD は今日の日付) にバックアップする.
tako# cd /etc
tako# cp shadow shadow.20181204
* ssh, diff コマンドを組み合わせて ika と tako の /etc/shadow を比較する.
ika# ssh root@tako-itpass.scitec.kobe-u.ac.jp cat /etc/shadow | diff - /etc/shadow
* 上記の出力の結果
tako 側の /etc/shadow に書かれていない UID のうち 1000 ~ 29999 までのものがないことを確認する.
== phase 4 (root ログイン禁止)
=== tako の root ログイン禁止
* /home 領域の rsync が終わっていることを確認する.
* tako において, ログインを禁止した状態に戻す.
== phase 6 (tako, ika の交換: ネットワークの再起動)
=== ネットワークの再起動
((*混乱を避けるため, ika, tako 両方ともに以下の作業を行うユーザ以外は全員ログアウトし, ネットワークの再起動が完了するまでログインは控えたほうがよい.*))
OS を再起動する.
この作業後, tako (または ika) に接続できなくなった場合は,
該当サーバを再起動し, phase 1 を参考に全サービスを一時停止しておく.
== phase 8 (OS 再起動)
OS を再起動してもサービスが期待通り立ち上がる (立ち上がらない)
ことを確認するため, ika の OS を再起動する.
# reboot
再起動が終わったホストから, phase 9 に進んで良い.
== phase 10 (バックアップの確認)
=== 電脳サーバへのバックアップの確認
ITPASS サーバの資源は, 毎日電脳サーバへバックアップされている. cron によって毎日実行されているそのシェルスクリプトが正常に作動しているか試行する.
電脳サーバにアカウントを持つ者が電脳サーバにログインし,
$ sudo -u kobe -s
によって kobe ユーザになり, kobe のホームディレクトリに移動する.
そこで,
$ ./itpass_rsync_epa2dennou.sh -n
$ ./epalab_rsync_epa2dennou_yyh.sh -n
を実行した. その後, 出力されたログを確認する.
$ cd ./itpass_rsync_epa2dennou_log
$ less itpass_rsync_epa2dennou.log
$ cd ../epalab_rsync_epa2dennou_log
$ less ./epalab_rsync_epa2dennou.log
2 つとも正常に出力されていればよい.
[((<[ITPASS2018]2018年度サーバ構築マニュアル>)) へ戻る]