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

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

{{toc_here}}

[((<[ITPASS2022]2022年度サーバ構築ログマニュアル>)) へ戻る]

= 作業内容

== phase 0
#準備

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


== phase 1
#入替え開始

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


* 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 までのものがないことを確認する.
 ただし UID は /etc/passwd に書かれているので, このファイルと diff の結果を比べた.



== phase 4
#root ログイン禁止

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

* /home 領域の rsync が終わっていることを確認する.
* tako に対する root ログインが必要な作業が終わったので root ログインを禁止した状態に戻す.


== phase 5

特に作業を行わない.


== phase 6
#tako, ika の交換: ネットワークの再起動

=== ネットワークの再起動

OS を再起動する.

# reboot

この作業後, 新サーバに接続できなくなった場合は,
該当サーバを再起動し, phase 1 を参考に全サービスを一時停止しておく.

以後は新サーバ (新 ika) で作業を行う.

== phase 7

特に作業を行わない.


== 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 つとも正常に出力されていればよい.

=== 文字コードの追加

端末上で, 例えば ‘ダウンロード’ 等の日本語の文字が表示されない. そのため, /etc/bash.bashrc の最下行に export LANG=ja_JP.UTF-8 を書き足す.

=== サービス停止の再確認

* /usr/sbin/inetd によって起動されるネットワークサービスの停止 (tako)

  構築中にパッケージの引き継ぎをした際, 一度停止したネットワークサービスが再び立ち上がってしまっているので, これを止める.
  /etc/inetd.conf を編集して不必要なサービスが上がらないようにする. 2022 年度はコメントアウトする必要が無かった.

   # vi /etc/inetd.conf

  で ident, pop3, skkserv をコメントアウトし, inetd のプロセスを再起動する.

   # /etc/init.d/openbsd-inetd restart

=== 念の為の再起動

すべての作業終了後に, 念の為に OS を再起動しておく.

  # reboot

2020 年度は, ezmlm の動作が不調で, 原因を考えてもわからず, とりあえず OS を
再起動したら正常に動作するようになった.


[((<[ITPASS2022]2022年度サーバ構築ログマニュアル>)) へ戻る]