Subversion

1,718 views

Published on

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,718
On SlideShare
0
From Embeds
0
Number of Embeds
37
Actions
Shares
0
Downloads
7
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Subversion

  1. 1. Subversion サーバ運用管理への適用事例 id: ghiblar Mail: ghiblar@gmail.com
  2. 2. 導入のきっかけ 1年半前までは3名の少人数のプロジェクト 少人数ならではの声掛けによるデータ 整合性の保持が可能 データはマスタファイルを更新し、 ファイル名_{日付} 形式の命名規則で管理 データ量も少なかったため、不要になった データも非表示にするなどで消失を防ぐ
  3. 3. 導入のきっかけ 会社内組織変更により環境に変化が 電話オペレータをしていたメンバーが サーバオペレーションの研修も兼ねて着任 プロジェクトのリーダーが退職 新卒社員が教育を兼ねて着任 顧客との契約規模の増加に伴い、 管理データが倍増 業務多忙と経験の浅いメンバーの 増加によりミスが多発!!
  4. 4. 表面化した課題 管理データ増大に伴い編集データ量増加 → 不要なデータは削除すべき → 変更履歴の管理が必要 経験の浅いメンバーに対してのフォロー → おかしなデータを発見した場合に迅速に確認したい → ミスを未然に防ぐために変更内容を確認すべき やりたいことはプログラムのバージョン管理に似てるけ ど・・・
  5. 5. 管理したいデータ 運用に必要なスクリプト類の管理 監視パラメータファイルの管理 ドキュメント(バイナリ)ファイルの管理 DC内ラック図、機器構成表、監視設定項目一覧 Excelファイル
  6. 6. バージョン管理をやってみよう たくさん種類があるけど、どのバージョ ン管理システムを使う? RCS CVS Subversion Git mercurial
  7. 7. バージョン管理をやってみよう 必要なものは? リポジトリサーバ (集中管理) クライアント (個人の編集作業) Windowsから使うには? Excelファイル(バイナリ)ってつかえるの? TortoiseSVN(Subversion)ならExcelファイルの差分も見れる!! Subversionて使えそう
  8. 8. バイナリファイル(.ods)の比較
  9. 9. 初期導入 サーバはどうする? Linux(CentOS)ならパッケージで配布されているらしい Linux ⇔ Windows (リポジトリ) (クライアント) で決定!!
  10. 10. 初期導入 リポジトリサーバ Linux(CentOS) ・svnserver を利用 プロセスの単独起動でOK 通信方法は ・svn+ssh を利用 どうしよう? 利用者全員がリポジトリサーバに ssh接続可能であることが必要 クライアント ・svn+WebDAV を利用 Windows SubversionだけでなくApacheの 設定も必要
  11. 11. 初期導入 svnserver と TortoiseSVN を利用 svnserver は手動起動 # svnserver -d /var/svn バックアップはとりあえず後まわし
  12. 12. 導入後1ヶ月 利用方法をキチンと取り決めていなかったた めに使い方がまちまちに 管理対象を明確に決めていなかったために commit されずに消されてしまったデータが 複数存在 更新したはずのデータが元通りになっている状況 も・・・
  13. 13. ポリシー決定 リポジトリでリビジョン管理するファイルを ドキュメント化 データ量が多く更新頻度が高いドキュメントに限定 運用手順の明確化 最低限実施すべき手順を明文化して作業時のあいま いさをなくす
  14. 14. 最低限必要な手順 svn update ↓ 編集 ↓ svn commit 3つの作業を 確実にこなす
  15. 15. 必要な手順を実施するために 複数人での編集をできるだけ避けたい 作業時の衝突・マージは複雑 まずは一人で編集する(ように見せる) ロックを利用 作業前に アップデート⇒ロック を実施
  16. 16. 導入した作業手順 svn updateを実施 編集するファイルのロックを取得 編集 svn commit (編集をやめる場合はロックの開放)
  17. 17. 環境整備 svnserverの自動起動設定 設置した本人以外起動できない・・・ 自動起動用のスクリプトを作成 chkconfigで管理して再起動時もOK サーバ障害時に手軽に復旧したい サーバ自体は壊れるものだし・・・ svnadmin コマンド(dump,restore)で最低限の 復旧手順を整備 手順を作った本人じゃない と・・・
  18. 18. 当面の課題 バックアップ・リストアの効率化 現状、週1回フルバックアップ・1日1回差分バック アップ そもそもレプリケーションができれば接続先 を切り替えるだけで直ぐに利用可能 svnsync を利用したレプリケーションを検討中

×