IT pass HikiWiki - [Memo2020][ITPASS]サーバ交換作業 (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

なお, tcpserver は立ち上がらないようになっていたため意味はなかった.

== ログインユーザの確認

  # w

== プロセスの確認

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

  # ps aux


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

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

tako において, 一時的に root ログインを許可するために, /etc/ssh/sshd_config を編集して ssh を再起動した.

# vi /etc/ssh/sshd_config

# systemctl restart ssh


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

=== 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.20201201


* 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 を再起動した.

# reboot

#この作業後, 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 つとも正常に出力されていればよい.
2 つとも正常に出力されていた.

#[((<[ITPASS2018]2018年度サーバ構築マニュアル>)) へ戻る]