IT pass HikiWiki - [Memo2012][ITPASS]サーバ交換作業1週間後に行う作業 Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
{{toc_here}}
[((<ITPASSサーバ構築・運用ドキュメント>)) へ戻る]
サーバ交換作業1週間後に行う作業を坂廼邊, 佐藤, 柏本が行った.
= 本サーバから予備サーバへのバックアップ設定
== 準備
以降では, 運用中の ITPASS サーバのホスト名を ((*itpass*)),
予備サーバを ((*itpassbk*)) と称する. 実際には, 使用するホストの名称に置き換えて作業を行う.
まず, itpass, itpassbk ともに
SSH デーモンが立ち上がっていることを確認した.
== itpass 側での公開鍵作成
バックアップのための公開鍵を作成した.
itpass$ sudo -s -H
itpass# cd /root
itpass# ssh-keygen -t dsa
(鍵の置き場はデフォルトの /root/.ssh/id_dsa とした)
(パスフレーズは空にした)
== itpassbk 側の鍵の設置
itpass で作成した公開鍵 itpass:/root/.ssh/id_dsa.pub を
itpassbk:/root/.ssh/authorized_keys (無かったので新たに作成した) の最後尾に追記した.
ここで itpass から直接追記しようとすると,
itpassbk 側の root パスワードが必要になるので,
一旦 itpassbk の自分のディレクトリに鍵を置いた後,
itpassbk で root となり authorized_key に追記する.
しかし, このままでは itpass で root を取られると
itpassbk もそのまま乗っ取られることが考えられるため,
公開鍵認証の際にはバックアップ以外の動作をできないよう,
また itpass 以外からのアクセスを受け付けないよう制限をかける.
そのために, 上記で設置した authorized_keys 内の
itpassbk の公開鍵の行の冒頭に以下を加えた.
なお, 見やすさのため改行してあるが, 一行で書くこと.
またカンマの前後に空白は開けないこと.
そして, 最後の "no-agent-forwarding" と公開鍵の冒頭に書いてある
"ssh-dss" または "ssh-rsa" の間には空白を一文字入れること.
command="rsync --server -vvlogDtpre.iLsf --delete . /home/",no-pty,
from="ika-itpass.scitec.kobe-u.ac.jp",no-port-forwarding,
no-X11-forwarding,no-agent-forwarding
これをauthorized_keys 内のitpassbk の公開鍵の行の冒頭に加えた.
== itpassbk 側の通信許可
最近の OpenSSH では, デフォルトでは root のログインを許可しないため,
設定を変更する. /etc/ssh/sshd_config の
PermitRootLogin no
という部分を
PermitRootLogin forced-commands-only
に変更したのち,
itpassbk# /etc/init.d/ssh restart
として設定を反映させた. これにより, ((<#itpassbk 側の鍵の設置|URL:#itpassbk 側の鍵の設置>))
で指定したコマンドでのみログインを許可することとなる.
== itpass 側でのデータ転送用スクリプトの設置
=== バックアップスクリプトを置くディレクトリの確認
オリジナルの cron 用スクリプトは /etc/cron.local/daily に置く.
確認した.
((*もしこのディレクトリがなければ
((<[ITPASS2011a]システムログメールの設定>))
が行われていない可能性があるので
システムログメールの作業担当者に連絡すること*)).
=== バックアップ用スクリプトの用意
rsync_itpassbk.sh をダウンロードした.
これを /etc/cron.local/daily/230_rsync_itpassbk に設置する.
# wget
http://itpass.scitec.kobe-u.ac.jp/~itpass/server/2011/system_backup/rsync_itpassbk.sh
# mv rsync_itpassbk.sh /etc/cron.local/daily/230_rsync_itpassbk
/etc/cron.local/daily/230_rsync_itpassbk に実行権限を設定する.
# chmod 755 /etc/cron.local/daily/230_rsync_itpassbk
==== バックアップスクリプトの書き換え
# vim /etc/cron.local/daily/230_rsync_itpassbk
+BKSUBDIRS="aoelab cps epalab itpass gate"
のcps の部分を消した.
== hiki データバックアップスクリプトの設置
((<rsync_itpassbk.sh|URL:../server/2011/system_backup/rsync_localbk_hiki.sh>))
を /etc/cron.local/weekly/210_rsync_localbk_hiki に設置した.
# wget
http://itpass.scitec.kobe-u.ac.jp/~itpass/server/2011/system_backup/rsync_localbk_hiki.sh
# mv rsync_localbk_hiki.sh /etc/cron.local/weekly/210_rsync_localbk_hiki
/etc/cron.local/weekly/210_rsync_localbk_hiki に実行権限を設定する.
# chmod 755 /etc/cron.local/weekly/210_rsync_localbk_hiki
== crontab の編集
/etc/crontab を編集した. 以下の 2 行があることを確認した.
25 6 * * * root cd / && run-parts --report /etc/cron.local/daily
47 6 * * 7 root cd / && run-parts --report /etc/cron.local/weekly
== バックアップログファイルの作成
ログファイルのためのディレクトリとファイルを作成.
# mkdir /var/log/rsync-log
# touch /var/log/rsync-log/itpassbk.log
# touch /var/log/rsync-log/localbk_hiki.log
== バックアップログファイルの logrotate の設定
/etc/logrotate.d/ 以下に rsync_itpassbk という設定ファイルを作成した.
# vi /etc/logrotate.d/rsync_itpassbk
以下の内容を書き込んだ.
/var/log/rsync-log/itpassbk.log {
weekly
create 0644 root root
rotate 12
}
/etc/logrotate.d/ 以下に rsync_localbk_hiki という設定ファイルを作成した.
# vi /etc/logrotate.d/rsync_localbk_hiki
以下の内容を書き込んだ.
/var/log/rsync-log/localbk_hiki.log {
monthly
create 0644 root root
rotate 12
}
== itpassbk のローカルバックアップの停止
220_rsync_localbk_root, 225_rsync_localbk_home の実行権限を外した.
# cd /etc/cron.local/daily/
# chmod a-x 220_rsync_localbk_root 225_rsync_localbk_home
= 不要なファイルの削除
~itpass/public_html/ の test という名前のディレクトリを削除した.
= 再構築作業用 chikuwa* ユーザの削除
userdel -r [アカウント名]
で, chikuwa1, 2, 3, 9 を削除した.
* visudo から chikuwa1, 2, 3, 9 を削除した.
[((<ITPASSサーバ構築・運用ドキュメント>)) へ戻る]
[((<ITPASSサーバ構築・運用ドキュメント>)) へ戻る]
サーバ交換作業1週間後に行う作業を坂廼邊, 佐藤, 柏本が行った.
= 本サーバから予備サーバへのバックアップ設定
== 準備
以降では, 運用中の ITPASS サーバのホスト名を ((*itpass*)),
予備サーバを ((*itpassbk*)) と称する. 実際には, 使用するホストの名称に置き換えて作業を行う.
まず, itpass, itpassbk ともに
SSH デーモンが立ち上がっていることを確認した.
== itpass 側での公開鍵作成
バックアップのための公開鍵を作成した.
itpass$ sudo -s -H
itpass# cd /root
itpass# ssh-keygen -t dsa
(鍵の置き場はデフォルトの /root/.ssh/id_dsa とした)
(パスフレーズは空にした)
== itpassbk 側の鍵の設置
itpass で作成した公開鍵 itpass:/root/.ssh/id_dsa.pub を
itpassbk:/root/.ssh/authorized_keys (無かったので新たに作成した) の最後尾に追記した.
ここで itpass から直接追記しようとすると,
itpassbk 側の root パスワードが必要になるので,
一旦 itpassbk の自分のディレクトリに鍵を置いた後,
itpassbk で root となり authorized_key に追記する.
しかし, このままでは itpass で root を取られると
itpassbk もそのまま乗っ取られることが考えられるため,
公開鍵認証の際にはバックアップ以外の動作をできないよう,
また itpass 以外からのアクセスを受け付けないよう制限をかける.
そのために, 上記で設置した authorized_keys 内の
itpassbk の公開鍵の行の冒頭に以下を加えた.
なお, 見やすさのため改行してあるが, 一行で書くこと.
またカンマの前後に空白は開けないこと.
そして, 最後の "no-agent-forwarding" と公開鍵の冒頭に書いてある
"ssh-dss" または "ssh-rsa" の間には空白を一文字入れること.
command="rsync --server -vvlogDtpre.iLsf --delete . /home/",no-pty,
from="ika-itpass.scitec.kobe-u.ac.jp",no-port-forwarding,
no-X11-forwarding,no-agent-forwarding
これをauthorized_keys 内のitpassbk の公開鍵の行の冒頭に加えた.
== itpassbk 側の通信許可
最近の OpenSSH では, デフォルトでは root のログインを許可しないため,
設定を変更する. /etc/ssh/sshd_config の
PermitRootLogin no
という部分を
PermitRootLogin forced-commands-only
に変更したのち,
itpassbk# /etc/init.d/ssh restart
として設定を反映させた. これにより, ((<#itpassbk 側の鍵の設置|URL:#itpassbk 側の鍵の設置>))
で指定したコマンドでのみログインを許可することとなる.
== itpass 側でのデータ転送用スクリプトの設置
=== バックアップスクリプトを置くディレクトリの確認
オリジナルの cron 用スクリプトは /etc/cron.local/daily に置く.
確認した.
((*もしこのディレクトリがなければ
((<[ITPASS2011a]システムログメールの設定>))
が行われていない可能性があるので
システムログメールの作業担当者に連絡すること*)).
=== バックアップ用スクリプトの用意
rsync_itpassbk.sh をダウンロードした.
これを /etc/cron.local/daily/230_rsync_itpassbk に設置する.
# wget
http://itpass.scitec.kobe-u.ac.jp/~itpass/server/2011/system_backup/rsync_itpassbk.sh
# mv rsync_itpassbk.sh /etc/cron.local/daily/230_rsync_itpassbk
/etc/cron.local/daily/230_rsync_itpassbk に実行権限を設定する.
# chmod 755 /etc/cron.local/daily/230_rsync_itpassbk
==== バックアップスクリプトの書き換え
# vim /etc/cron.local/daily/230_rsync_itpassbk
+BKSUBDIRS="aoelab cps epalab itpass gate"
のcps の部分を消した.
== hiki データバックアップスクリプトの設置
((<rsync_itpassbk.sh|URL:../server/2011/system_backup/rsync_localbk_hiki.sh>))
を /etc/cron.local/weekly/210_rsync_localbk_hiki に設置した.
# wget
http://itpass.scitec.kobe-u.ac.jp/~itpass/server/2011/system_backup/rsync_localbk_hiki.sh
# mv rsync_localbk_hiki.sh /etc/cron.local/weekly/210_rsync_localbk_hiki
/etc/cron.local/weekly/210_rsync_localbk_hiki に実行権限を設定する.
# chmod 755 /etc/cron.local/weekly/210_rsync_localbk_hiki
== crontab の編集
/etc/crontab を編集した. 以下の 2 行があることを確認した.
25 6 * * * root cd / && run-parts --report /etc/cron.local/daily
47 6 * * 7 root cd / && run-parts --report /etc/cron.local/weekly
== バックアップログファイルの作成
ログファイルのためのディレクトリとファイルを作成.
# mkdir /var/log/rsync-log
# touch /var/log/rsync-log/itpassbk.log
# touch /var/log/rsync-log/localbk_hiki.log
== バックアップログファイルの logrotate の設定
/etc/logrotate.d/ 以下に rsync_itpassbk という設定ファイルを作成した.
# vi /etc/logrotate.d/rsync_itpassbk
以下の内容を書き込んだ.
/var/log/rsync-log/itpassbk.log {
weekly
create 0644 root root
rotate 12
}
/etc/logrotate.d/ 以下に rsync_localbk_hiki という設定ファイルを作成した.
# vi /etc/logrotate.d/rsync_localbk_hiki
以下の内容を書き込んだ.
/var/log/rsync-log/localbk_hiki.log {
monthly
create 0644 root root
rotate 12
}
== itpassbk のローカルバックアップの停止
220_rsync_localbk_root, 225_rsync_localbk_home の実行権限を外した.
# cd /etc/cron.local/daily/
# chmod a-x 220_rsync_localbk_root 225_rsync_localbk_home
= 不要なファイルの削除
~itpass/public_html/ の test という名前のディレクトリを削除した.
= 再構築作業用 chikuwa* ユーザの削除
userdel -r [アカウント名]
で, chikuwa1, 2, 3, 9 を削除した.
* visudo から chikuwa1, 2, 3, 9 を削除した.
[((<ITPASSサーバ構築・運用ドキュメント>)) へ戻る]