IT pass HikiWiki - [Memo2015][ITPASS]サーバ交換事前作業 Diff

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

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

{{toc_here}}

= 2 週間前から

== 2 日前の作業, 当日前半の作業者のスケジュール確保

((*入れ替え 2 日前および入れ替え前半の作業には
tako の root パスワードが必要になる.*))
これらの作業のために tako の root パスワード保持者のスケジュールは
必ず確保しておくこと.
万が一のため, ika の root パスワード保持者も現場にいるようにする.
難しい場合は root パスワード保持者の交代も検討すること.

== サーバ停止アナウンス

入れ替え日には ITPASS サーバの全サービスを停止することとなるため,
その旨を伝えるアナウンスを数度行った
(入替え日の 2 週間前から当日 30 分前まで).

= 2 日前まで

以下の作業は滞ると当日の作業に大きく影響するため,
念のため 1 日遅れても大丈夫なように, 2 日前までに行う.

この作業では((*コマンドの実行に数時間以上かかる*))ので,
十分早い時間に始めるか, 画面をロックして帰れるようにしておく.
* 2015 年 11 月現在では, Debian のバグで, Gnome で画面をロックすると, パスワードを入力しても画面ロックが解除できない不具合があることがわかったため, 画面をロックして帰っていない.
((*決して他人が操作できる状態で端末を放置しないこと.*))

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

/home 以下のデータを同期した.
サーバ交換作業当日にも同様の作業を行うが,
その際の時間を短縮するために予め行っておく.

=== 公開鍵認証の際のセキュリティ設定の変更 (root ログイン許可)

まず tako 側の ika に対する通信許可の設定を行った.

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

=== rsync で転送されるファイルの確認

/root/.ssh/ の秘密鍵でログインするため, まず以下の作業を行った.

   ika$ sudo -s -H
   ika# cd /root  

いきなり rsync コマンドを実行すると予期せぬ間違い (転送元と転送先の設定を間違って, 転送先のファイルを全て消してしまう等) が起こりうるため, まずは rsync コマンドに -n オプションをつけて実行した.
-n オプションをつけて実行すると, 実際のファイルの転送は行わずに, 転送されるはずのファイルのリストが出力される.

* rsync する際, gate の home 領域や,
  aquota.user ファイルまで tako に同期してしまわないよう
  オプション --exclude で除外する.
* 外部記憶装置にあるファイルが転送されることのないように
  -x というオプションを加える.
* ここでは一度ファイルリストを /tmp ディレクトリ以下に出力し,
  確認してから実際の転送を行うこととする.

このコマンドはサーバ交換の際にも実行するので,
当日コマンドを打ち直す手間が省けるように
シェルスクリプトとして作成した.
名前は動作内容を想像しやすいものなら何でも良いが,
ここでは rsync_ika2tako.sh としておく.

  #!/bin/sh
  rsync -n -av --delete -e ssh -x \
     --exclude=gate \
     --exclude=aquota.user --exclude=quota.user \
     /home/ tako-itpass.scitec.kobe-u.ac.jp:/home/ \
     2>&1 | tee /tmp/rsync_tako12ika.log

行末の日本円マークはバックスラッシュとして読み替えること.
((*スペースを入れる位置に注意すること.*))
なお, rsync に関するオプション (-av, --delete, -e 等) については,
man の rsync(1) の項目を参照のこと.
また, "/home" と "/home/" では転送内容が異なるため注意しなければならない.

上記スクリプトを実行した.
tako の root パスワードが求められるので入力した.

  ika# chmod 744 rsync_ika2tako.sh
  ika# ./rsync_ika2tako.sh

動作終了後,
/tmp/rsync_ika2tako.log を見て, 転送される予定のファイルを確認した.
もし予期しないファイルが削除, 転送されてしまうことはないことを確認した.
なお, 上記コマンドを実行すると,

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

という警告が出て, リストは適切に出力されない場合があるが, 今回は出なかった.


=== rsync でファイルを転送

((<URL:#rsync で転送されるファイルの確認>)) で動作確認したスクリプトから -n オプションを除いて実行する.
実行時に tako の root パスワードが要求される.

実行後, tako 内の /home 以下にファイルが転送されていることを確認すること.

最後に, ((<URL:#公開鍵認証の際のセキュリティ設定の変更 (通信許可)>))で行なった設定を元に戻し, root ログインを禁止した.
念のため, ika から tako に ssh で入れないことも確認した.