rsyncミラーシステム管理のための説明
1.
新しいrsyncミラーを作る
概要
新しいrsyncミラーの立ち上げは、以下の手順が必要となってきます。
- bugzilla上で認識されること。
- 一時的な監視状態のサーバをrsync1.us.gentoo.orgのiptableルールセットに追加。
- 正常にミラーされていることを定期的にテストを行う。
- 新規ミラーのためにDNSレコードを作成する。
- 新規ミラーのためにUltraDNSに、Directional DNSサービスを設定する。
Bugzilla
rsyncミラーサーバを作るためにユーザが、まず行うことは、バグ(訳注:申請書)をhttp://bugs.gentoo.orgに、提出することです。 そこから、ミラー管理者が、バグを認識し、初期リポートの中に以下の情報が含まれているか確認します。
- サーバ名
- ミラーのIPアドレス
- サーバ管理人の連絡先
- 一度に接続が許可される最大接続数
- サーバのスペック(CPU, RAM, 回線のスピード)
-
Rsync Mirrors Policyに記載されている、そのほかの要求事項。
もし、情報が不十分であれば、バグのフォローアップとして要求してください。 その後、次のステップに進んでください。
試験採用期間
新しいrsyncミラーサーバは、rsync1.us.gentoo.orgに対してタイムリーに同期しているかを定期的に確認するために、最低48時間から最大96時間の監視状態におかれます。
このセットアップを行うために、ミラー管理者は、rsync1.us.gentoo.org上のiptableルールセットを変更しなければなりません。そして、rsync1.us.gentoo.orgにsshを使ってログインし、以下のオペレーションを実行する必要があります。
コード表示 1.1: vimとsudoを使って/etc/init.d/rsyncを編集する |
# sudo /usr/bin/vim /etc/init.d/rsync
|
コード表示 1.2: Testing sectionを見つけて、新しいミラーを追加する |
#######
#
# TESTING MIRRORS
# PUT MIRRORS THAT ARE IN THE TESTING PHASE HERE
# MAKE SURE TO REFERENCE THE BUGZILLA # SO WE CAN TRACK THEM
#
######
#bug #12345
addMirror 192.168.1.1
|
注意:
各エントリは少なくとも2行で構成されるべきです。 バグナンバーへの参照をコメントとし、実際のアクセスエントリです。
アクセス行はaddMirror <ipアドレス>のフォーマットに従うことが必須です。
|
また、現在のiptableルールセットに、手動でルールを設定する必要があります。
コード表示 1.3: sudoを使って現在のiptablesルールセットにエントリを追加する |
# sudo /sbin/iptables -A tcp_packets -p TCP -s <ip address> --dport 873 -j tcp_allowed
|
ここから、次の48~96時間のあいだ、:00と:30の間隔でrsyncミラーが正常に同期しているか監視されます。
もし、ミラーがいかなる種類の非整合性をみせたなら、バグエントリに報告し、可能であれば、そのサーバ管理人とともに問題の解決にあたります。
注意:
残っている作業項目は、監視期間中に監視プロセスを自動化するためのスクリプトを書くことです。
|
DNSエントリを追加する
ミラー候補が監視機関を経過した後、ミラー管理人は、そのミラーのDNSエントリを作成すべきです。
各ミラーは5つのDNSレコードが必要です。
- rsyncマスタのレコード。 AレコードかCNAMEです。 例: rsync5.us.gentoo.org
- サーバ管理者の連絡情報を記載しているTXTレコード。 例: "Joe Admin <joe@user.com>"
-
rsync.gentoo.orgローテーション内の適切なエントリ。
- 国コード内ローテーションの適切なエントリ。 例: rsync.uk.gentoo.org
- 大陸コード内ローテーションの適切なエントリ。 例: rsync.namerica.gentoo.org
重要:
われわれが、問題のあるrsyncミラーをローテーションのなかから素早く取り除けるように、新規エントリは、20分以上のTTLで作成されるべきではありません。
|
重要:
DNSラウンドロビンローテーションは、ローテーション内でのCNAMEをサポートしません。
ラウンドロビンローテーションないの、ローテーションは、Aレコードである必要があります。
|
注意:
rsync.gentoo.orgと同じく、rsync.europe.gentoo.org、rsync.us.gentoo.org、rsync.namerica.gentoo.orgは、いっぱいになりつつあり、これらのローテーションにサーバを追加する場合、ミラー管理者の裁量に任されます。
一般的に、これらのローテーションには、少なくとも25ユーザの接続を許可し、10Mbps以上の接続を有する十分なスペックのサーバが加えられべきです。
|
エントリを作成するためには、ミラー管理人アカウントを使用してUltraDNSにログインし、webインタフェース経由でレコードを作成してください。
Directional DNSを追加する
マスタrsync.gentoo.orgローテーションに対して、われわれはユーザのIPアドレスの場所をもとに、Directional DNSを使って特定のミラーセットを対象とします。
この機能を地理的な位置と考えるのが一番簡単ですが、実際には、ユーザのネットワーク接続と複数のUltraDNSサーバへの接近度に依存しています。
Directional DNSサービスを有効にするためには、以下の手順に従ってください。
-
UltraDNSに、管理インタフェースを使ってログインする。
-
rsync.gentoo.orgドメインを選択する。
- Directional DNS機能を設定したいレコードを見つけます。
- そのエントリの回転する球体(灰色かブルー色)をクリックします。 結果、ポップアップが表示されます。
- UltraDNSが結果としてレコードを返すサーバを選択します。 サーバは、地理的に近いところを選択すべきです。
-
finishedをクリックして、Directional DNSの画面を閉じてください。
重要:
ミラー管理者は、rsync.gentoo.orgがある特定セットに対してあまりにもたくさんのレコードを返さないように、定期的に(チェックし)保証しなければなりません。
ラウンドロビンセットとして、約22レコード以上を返すときは、UDPが扱うことができるレコード数を超えています。
このためUDPによるDNSが要求が失敗するため、その障害回避としてUDPの代わりにTCPが使用されます。しかしこれは、TCPポートの53をブロックしているユーザに問題を起こします。
|
iptablesアクセスリストの更新
一度、ミラー候補が立ち上がり機能したら、ミラー管理人はrsync1.us.gentoo.orgのiptablesアクセスリストを、変更を反映するためにアップデートするべきです。
コード表示 1.4: vimとsudoを使って/etc/init.d/rsyncを編集する |
# sudo /usr/bin/vim /etc/init.d/rsync
|
コード表示 1.5: テストミラーセクションのエントリをファイルの適切な部分への移動 |
#######
#
# TESTING MIRRORS
# PUT MIRRORS THAT ARE IN THE TESTING PHASE HERE
# MAKE SURE TO REFERENCE THE BUGZILLA # SO WE CAN TRACK THEM
#
######
#bug #12345
addMirror 192.168.1.1
[snip]
# .us RSYNC MIRRORS
# rsync5.us "Joe Admin <joe@admin.com>"
addMirror 192.168.1.1
|
注意:
その2行はサーバ管理者名を参照するコメントと、実際のアクセスエントリに含まれるE-mailアドレスとで構成されます
アクセス行はaddMirror <ipアドレス>のフォーマットに従うことが必須です。
|
2.
rsyncミラーの更新
監視期間がないことと、新規レコードの追加ではなく、既存レコードを変更する以外、rsyncミラーのアップデートは上記のステップと同じです。
3.
rsyncミラーを削除する
rsyncミラーを削除するには、以下の手順を完了するだけです。
- rsync1.us.gentoo.orgの/etc/init.d/rsyncのエントリを削除する。
- rsync1.us.gentoo.orgのiptablesエントリを手動で削除する。
- UltraDNSの5つのエントリすべてを削除する。
コード表示 3.1: sudoを使って、現在のiptableルールセットのエントリを削除する |
# sudo /sbin/iptables -D tcp_packets -p TCP -s <ip address>
|
|