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

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

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

{{toc_here}}


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

/home 以下のデータを同期する.

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

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

tako において一時的に root ログインを許可する.

/etc/ssh/sshd_config で,

   PermitRootLogin no

という部分を

   PermitRootLogin yes

に変更した.
さらに, 任意のコマンドを実行出来るように,

   PermitRootLogin forced-commands-only

という部分があればコメントアウトする (2014 年度は無かった).
その後,

   # service ssh restart

として設定を反映させた.

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

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

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

いきなり rsync コマンドを実行すると予期せぬ間違い (転送元と転送先の設定を間違って, 転送先のファイルを全て消してしまう等) が起こりうるため, まずは rsync コマンドに -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_ika2tako.log

上記スクリプトを実行した.
マニュアルには tako の root パスワードが求められるとあったが, そんなことはなかった.

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

動作終了後,
/tmp/rsync_ika2tako.log を見て, 転送される予定のファイルを確認した.
長すぎて一行一行確認することは不可能なので, /home 下以外が転送されたり削除されたりしないかという点のみ確認した

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

((<URL:#rsync で転送されるファイルの確認>)) で動作確認したスクリプトから -n オプションを除いて実行した.

ログアウトしても続行できるように, nohup を付けて実行した.
  nohup ./rsync_ika2tako.sh &
上記実行後にログアウトしたところ,
  rsync error: unexplained error (code 129) at rsync.c(549) [sender=3.0.9]
と表示されて終了してしまったので, 普通に実行しなおした.
  ./rsync_ika2tako.sh &
転送完了までには 3 時間ほどかかった.

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

=== root ログインの禁止

最後に, ((<URL:#公開鍵認証の際のセキュリティ設定の変更 (通信許可)>))で行なった設定を元に戻し, root ログインを禁止した.

/etc/ssh/sshd_config の

    PermitRootLogin yes

という部分を

    PermitRootLogin no

に変更したのち,

    # service restart

として設定を反映させた.

念のため, ika から tako に ssh で入れないことも確認した.