[Memo2014][ITPASS]サーバ交換事前作業
[ITPASSサーバ構築・運用ドキュメント へ戻る]
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 でファイルを転送
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 ログインの禁止
最後に, 公開鍵認証の際のセキュリティ設定の変更 (通信許可)で行なった設定を元に戻し, root ログインを禁止した.
/etc/ssh/sshd_config の
PermitRootLogin yes
という部分を
PermitRootLogin no
に変更したのち,
# service restart
として設定を反映させた.
念のため, ika から tako に ssh で入れないことも確認した.
Keyword(s):
References:[[ITPASS2014]2014年度サーバ構築ログ]