Alfrescoのバックアップとレストア

2,740 views
2,513 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,740
On SlideShare
0
From Embeds
0
Number of Embeds
22
Actions
Shares
0
Downloads
28
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Alfrescoのバックアップとレストア

  1. 1. Alfresco 勉強会 #13 @mryoshio
  2. 2. 目次自己紹介Alfrescoバックアップとレストアデモ ( ホットバックアップ )まとめ 2
  3. 3. 3
  4. 4. 普段の仕事某 A 社で Alfresco 導入の手伝いやカスタマイズ,サ ポートを担当 → Alfresco のコンサルティング某 A 社で Liferay 導入の (ry 4
  5. 5. 勉強会との関わり基本的に毎回ネタを振り絞って機能等を紹介過去のスライドはこちら http://www.slideshare.net/mryoshio 5
  6. 6. 最近の悩み仕事でもっとコード書きたい ( 言語問わず ) 6
  7. 7. 7
  8. 8. 簡単な説明英 Alfresco 社が開発している OSS の ECM http://svn.alfresco.com/repos/alfresco-open-mirror/ ( ソースコード )エンタープライズ・コンテンツ管理 Documentum (*1) や SharePoint (*2) が競合コスト Community Edition → 無償 Enterprise Edition → サブスクリプションを購入 *1 http://sharepoint.microsoft.com/ *2 http://www.emc.com/domains/documentum/ 8
  9. 9. 9
  10. 10. 今日の話の元ネタhttp://docs.alfresco.com/4.0/index.jsp?topic= %2Fcom.alfresco.enterprise.doc%2Fconcepts%2Fch- backup-restore.htmlhttp://wiki.alfresco.com/wiki/Backup_and_Restore *↑ を読んで理解できる人は聞かなくて良いです。 10
  11. 11. バックアップの対象リポジトリ ( コンテンツ実体 ) dir.root で設定されたディレクトリ ( 通常 alf_data) 。メタデータ (DB) コンテンツの属性情報等。検索インデクス ( 通常 dir.root/lucene-indexes) 最悪無くても大丈夫 ( メタデータを元に再構築可 能) 。 ※ 今回は, Solr を使ってる場合は考えてない。 11
  12. 12. 要するに必須 dir.root が指すディレクトリ DB の内容おまけ Lucene インデクス  多くの場合 dir.root 内にあるのでまとめて取るけど。 設定ファイル  dir.root  index.recovery.mode  db.driver/db.url 12
  13. 13. バックアップの種類コールドバックアップ Alfresco を停止した状態で行うバックアップ  = リポジトリや DB への書き込みが無い状態 停止して対応できる余裕がある場合はこっち  ( あまり無いと思うけど )ホットバックアップ Alfresco が起動した状態で行うバックアップ  = リポジトリや DB への書き込みがあり得る 余裕が無い(普通そうでしょ)場合はこちら 13
  14. 14. コールドバックアップalfresco を停止DB をバックアップ 使ってる DB の流儀に従って下さい。リポジトリをバックアップ 厳密には lucene-indexes は不要だけど多分 dir.root 内にあるのでついでに。バックアップしたものをセットで保存 14
  15. 15. ホットバックアップ( 1/2 )[ 重要 ] 手順の順番が大事。コールドと同じだけど。DB をバックアップその後すぐに,リポジトリをバックアップバックアップしたものをセットで保存 15
  16. 16. ホットバックアップ( 2/2 )何で手順が大事なの? 壊れるから何が壊れるの? DB とリポジトリの整合性 バックアップ時に書き込みされていたコンテンツのメ タデータが DB に存在する,かつ,リポジトリに実体 が存在しない状態が発生したら困る。復元できないの? 頑張ればできるかもしれないけど無駄な労力 そんなのしたくない 16
  17. 17. 整合性 : ◯コンテンツに対し, 実体とメタデータが存在 name: diargram.pdf mimetype: application/pdf creator: Mike Davis creationDate: 2013/1/23 … 17
  18. 18. 整合性 : △コンテンツに対し, 実体のみが存在 Alfresco はコンテン ツを存在しないと ? 見なす 18
  19. 19. 整合性 : ×コンテンツに対し, メタデータのみが存在 ? ? name: diargram.pdf mimetype: application/pdf Alfresco はコンテン creator: Mike Davis ツが壊れていると creationDate: 2013/1/23 判断 = エラー発 … 生 19
  20. 20. 20
  21. 21. 環境Apache Tomcat 6.0.35Alfresco Community Edition v4.0.0 (4.0.e)MySQL 5.x 21
  22. 22. デモの流れ負荷の生成 Alfresco に負荷がかかっている状況の用意 Alfresco にコンテンツを作り続けるホットバックアップ( DB ,リポジトリ)Alfresco のプロセスを殺すバックアップセットを使いレストアAlfresco 再起動 22
  23. 23. 負荷の生成( 1/2 )今日使うサンプルプログラムの場所 https://github.com/mryoshio/AlfrescoStudy.git/backup_re store/test_webscript/ リクエストを受ける度にランダム値の内容を持つラン ダム名ファイルを作成する。test_python/ 上記 Web Script に対するリクエストを送信 23
  24. 24. 負荷の生成( 2/2 )コンテンツ作成 Web Script の配置 test_webscript/* をすべて /Company Home/Data Dictionary/Web Scripts/org/alfresco/mryoshio/ へアップ ロードPython スクリプトの実行 python main.py 5 =>5 スレッドで次の手順を無限ループ  コンテンツ作成 WebScript 実行リクエストの送信  ランダム値のスリープ 24
  25. 25. ホットバックアップDB をバックアップその後すぐに,リポジトリをバックアップバックアップしたものをセットで保存 25
  26. 26. レストアDB 再作成 & ダンプデータの流し込みバックアップしたリポジトリの展開alfresco の起動 26
  27. 27. 27
  28. 28. Alfresco?バックアップの対象 ?バックアップの種類 ? 28

×