Enviar búsqueda
Cargar
Alfresco勉強会#18 alfrescoのバックアップとリストア
•
6 recomendaciones
•
9,492 vistas
Tasuku Otani
Seguir
Vista de diapositivas
Denunciar
Compartir
Vista de diapositivas
Denunciar
Compartir
1 de 15
Descargar ahora
Descargar para leer sin conexión
Recomendados
Alfresco勉強会#28 alfresco 5.0の検索機能をみてみよう
Alfresco勉強会#28 alfresco 5.0の検索機能をみてみよう
Tasuku Otani
【第1.5回勉強会】後編 alfrescoの基本操作
【第1.5回勉強会】後編 alfrescoの基本操作
マジセミ by (株)オープンソース活用研究所
Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと
Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと
Jun Terashita
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた
Tasuku Otani
AlfrescoとSolr(中編)
AlfrescoとSolr(中編)
Ashitaba YOSHIOKA
Alfresco勉強会#24 コンテンツのライフサイクル
Alfresco勉強会#24 コンテンツのライフサイクル
Jun Terashita
0からわかるAlfresco
0からわかるAlfresco
MoritakaSoma
Share UIカスタマイズ Widget編
Share UIカスタマイズ Widget編
MoritakaSoma
Recomendados
Alfresco勉強会#28 alfresco 5.0の検索機能をみてみよう
Alfresco勉強会#28 alfresco 5.0の検索機能をみてみよう
Tasuku Otani
【第1.5回勉強会】後編 alfrescoの基本操作
【第1.5回勉強会】後編 alfrescoの基本操作
マジセミ by (株)オープンソース活用研究所
Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと
Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと
Jun Terashita
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた
Tasuku Otani
AlfrescoとSolr(中編)
AlfrescoとSolr(中編)
Ashitaba YOSHIOKA
Alfresco勉強会#24 コンテンツのライフサイクル
Alfresco勉強会#24 コンテンツのライフサイクル
Jun Terashita
0からわかるAlfresco
0からわかるAlfresco
MoritakaSoma
Share UIカスタマイズ Widget編
Share UIカスタマイズ Widget編
MoritakaSoma
Alfresco勉強会#28 メタデータテンプレート
Alfresco勉強会#28 メタデータテンプレート
Jun Terashita
Alfresco勉強会#26 alfresco community 5.0でssoを設定する
Alfresco勉強会#26 alfresco community 5.0でssoを設定する
Tasuku Otani
Alfresco Bulk Import toolのご紹介
Alfresco Bulk Import toolのご紹介
MoritakaSoma
Alfresco勉強会#40 QRコードによる文書の振り分け
Alfresco勉強会#40 QRコードによる文書の振り分け
Takeshi Totani
Alfresco紹介
Alfresco紹介
Tetsuya Hasegawa
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
Hironobu Suzuki
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
Satoyuki Tsukano
PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題
NTT DATA OSS Professional Services
Database on Kubernetes - HA,Replication and more -
Database on Kubernetes - HA,Replication and more -
t8kobayashi
Zabbixで学ぶ統計解析入門
Zabbixで学ぶ統計解析入門
Takeo Noda
ApexトリガのBest Practiceを目指して
ApexトリガのBest Practiceを目指して
Takahiro Yonei
Amazon S3を中心とするデータ分析のベストプラクティス
Amazon S3を中心とするデータ分析のベストプラクティス
Amazon Web Services Japan
ASTERIA WARP開発前に知っておくべき10の鉄則(AUG関西支部編)
ASTERIA WARP開発前に知っておくべき10の鉄則(AUG関西支部編)
ASTERIA User Group
SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみよう
Shinsuke Sugaya
Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道
Shinsuke Sugaya
社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ
Shinsuke Sugaya
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Masahito Zembutsu
C# における Redis 徹底活用
C# における Redis 徹底活用
Takaaki Suzuki
Más contenido relacionado
La actualidad más candente
Alfresco勉強会#28 メタデータテンプレート
Alfresco勉強会#28 メタデータテンプレート
Jun Terashita
Alfresco勉強会#26 alfresco community 5.0でssoを設定する
Alfresco勉強会#26 alfresco community 5.0でssoを設定する
Tasuku Otani
Alfresco Bulk Import toolのご紹介
Alfresco Bulk Import toolのご紹介
MoritakaSoma
Alfresco勉強会#40 QRコードによる文書の振り分け
Alfresco勉強会#40 QRコードによる文書の振り分け
Takeshi Totani
Alfresco紹介
Alfresco紹介
Tetsuya Hasegawa
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
Hironobu Suzuki
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
Satoyuki Tsukano
PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題
NTT DATA OSS Professional Services
Database on Kubernetes - HA,Replication and more -
Database on Kubernetes - HA,Replication and more -
t8kobayashi
Zabbixで学ぶ統計解析入門
Zabbixで学ぶ統計解析入門
Takeo Noda
ApexトリガのBest Practiceを目指して
ApexトリガのBest Practiceを目指して
Takahiro Yonei
Amazon S3を中心とするデータ分析のベストプラクティス
Amazon S3を中心とするデータ分析のベストプラクティス
Amazon Web Services Japan
ASTERIA WARP開発前に知っておくべき10の鉄則(AUG関西支部編)
ASTERIA WARP開発前に知っておくべき10の鉄則(AUG関西支部編)
ASTERIA User Group
SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみよう
Shinsuke Sugaya
Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道
Shinsuke Sugaya
社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ
Shinsuke Sugaya
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Masahito Zembutsu
C# における Redis 徹底活用
C# における Redis 徹底活用
Takaaki Suzuki
La actualidad más candente
(20)
Alfresco勉強会#28 メタデータテンプレート
Alfresco勉強会#28 メタデータテンプレート
Alfresco勉強会#26 alfresco community 5.0でssoを設定する
Alfresco勉強会#26 alfresco community 5.0でssoを設定する
Alfresco Bulk Import toolのご紹介
Alfresco Bulk Import toolのご紹介
Alfresco勉強会#40 QRコードによる文書の振り分け
Alfresco勉強会#40 QRコードによる文書の振り分け
Alfresco紹介
Alfresco紹介
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題
Database on Kubernetes - HA,Replication and more -
Database on Kubernetes - HA,Replication and more -
Zabbixで学ぶ統計解析入門
Zabbixで学ぶ統計解析入門
ApexトリガのBest Practiceを目指して
ApexトリガのBest Practiceを目指して
Amazon S3を中心とするデータ分析のベストプラクティス
Amazon S3を中心とするデータ分析のベストプラクティス
ASTERIA WARP開発前に知っておくべき10の鉄則(AUG関西支部編)
ASTERIA WARP開発前に知っておくべき10の鉄則(AUG関西支部編)
SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみよう
Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道
社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
C# における Redis 徹底活用
C# における Redis 徹底活用
Alfresco勉強会#18 alfrescoのバックアップとリストア
1.
第18回Alfresco勉強会 Alfrescoのバックアップとリストア 2013/09/25 @_tasky
2.
自己紹介 私は… ◦ @_tasky
平日は… ◦ 株式会社イージフでAlfrescoやLiferayをいじってます 休日は… ◦ 1児(2歳♀)の父親業やってます
3.
Contents はじめに バックアップ/リストア対象データ
バックアップの種類 コールドバックアップ ◦ バックアップの方法 ◦ リストアの方法 ホットバックアップ ◦ ホットバックアップのポイント ◦ バックアップの方法 ◦ リストアの方法 ◦ デモ (おまけ)Alfrescoが吹っ飛んだ時のデータ救出
4.
はじめに 本資料の内容はAlfrescoCommunity 4.2.dに基づいています ◦
データベースはPostgreSQLを利用(インストーラ標準) ◦ 全文検索エンジンSolrを利用(インストーラ標準) 具体的な手順(コマンドとか)は色々はしょってたりもっと気 の利いた方法があったりしますが、最低限これでできますよ、 ということで… インストール方法は以下の資料を参考にしてください http://www.slideshare.net/TasukuOtani/alfresco15-alfresco-4 http://aegif-labo.blogspot.jp/2012/03/alfresco40.html ここらへんの記事を参考にしています http://wiki.alfresco.com/wiki/Backup_and_Restore http://docs.alfresco.com/4.2/index.jsp?topic=%2Fcom.alfresco.enterprise.do c%2Fconcepts%2Fch-backup-restore.html http://docs.alfresco.com/4.2/index.jsp?topic=%2Fcom.alfresco.enterprise.do c%2Fconcepts%2Fch-backup-restore.html
5.
バックアップ/リストア対象データ バックアップ/リストア対象データ=Alfrescoがバックエンドで 管理するデータ ◦ データベース
MySQL, PostgreSQL, Oracle等が管理するデータ ◦ ファイルシステム コンテンツのファイル実体 ファイルシステム上に元ファイルと同バイナリで保存される(名前は 変わる) ◦ 全文検索インデックス(オプション) 全文検索用のインデックス ファイルシステム上にファイルとして保存される データベースとファイルシステムから再構成可能であるため、オプ ション扱い(ゼロから再構成するには時間がかかるのでバックアップ を取る)
6.
バックアップの種類 コールドバックアップ ◦ アプリケーションを停止してバックアップを取得する ◦
整合性の取れたバックアップデータを安全に取得できる ◦ サービス提供時間等、サービス品質が落ちる(と判断される)可 能性がある ホットバックアップ ◦ アプリケーションが稼働したままバックアップを取得する ◦ バックアップデータ自体の整合性が保証されない ◦ システム停止に伴うサービス品質低下が起こらない ※ もちろん、リストア時に整合性をとるための処理を行えば問題ありません(自動実行さ れるものと、手動で実行する必要のあるものがあります)
7.
コールドバックアップ バックアップの方法 1. Alfrescoを停止する 2. 以下の3つのバックアップを取得する ◦
データベース : PostgreSQLのデータディレクトリ <alf_dir>/alf_data/postgresql 以下全部 ◦ ファイルシステム : contentstoreディレクトリ <alf_dir>/alf_data/contentstore 以下全部 ◦ 全文検索インデックス : solr/workspace, solr/archiveディレクトリ <alf_dir>/alf_data/solr/workspace <alf_dir>/alf_data/solr/archive 以上!とても簡単!! ※ Luceneの場合は<alf_dir>/alf_data/lucene-indexesディレクトリをバックアップします ※ データバックアップの他に、システムバックアップ(導入直後のVMスナップショットや ハードディスクイメージ等)を取っておくと復旧が早いです
8.
コールドバックアップ リストアの方法 1. (必要に応じて)Alfresco/PostgreSQLを再セットアップする 2. バックアップデータを以下のディレクトリにコピーする ◦
データベース : PostgreSQLバックアップデータ <alf_dir>/alf_data/postgresql ◦ ファイルシステム : contentstoreバックアップデータ <alf_dir>/alf_data/contentstore ◦ 全文検索インデックス : Solrインデックスバックアップデータ <alf_dir>/alf_data/solr/workspace <alf_dir>/alf_data/solr/archive PostgreSQL, Alfrescoを起動する 以上!とっても簡単!! ※ コピー先にファイルが存在する場合は、コピー前に削除もしくは移動しておきます ※ Luceneの場合はバックアップデータを<alf_dir>/alf_data/lucene-indexesに戻します ※ Alfresco起動ユーザとバックアップ実行ユーザが異なる場合はファイルのownerに注意!
9.
ホットバックアップ ホットバックアップのポイント 3つのバックアップ対象のバックアップ順序がとても重要 1. 全文検索インデックス 2.
データベース 3. ファイルシステム 全文検索インデックスはAlfrescoが定期的に(日次で)生成 するバックアップを使う ◦ 全文検索インデックス(=ただのファイル)をAlfresco起動中にコ ピーすると、壊れたバックアップデータとなる ◦ バックアップ生成時刻はsolr/workspaceが2AM、solr/archiveが4AM ※ Luceneの場合のバックアップは3AMに生成されます ※ 時刻の変更はsolr.backup.alfresco.cronExpression, solr.backup.archive.cronExpression (Solr)、 index.backup.cronExpression (Lucene)をalfresco-global.propertiesで設定します
10.
ホットバックアップ バックアップの方法 1. 全文検索インデックスのバックアップを取得する ◦ <alf_dir>/alf_data/solrBackup
以下全部をコピーする 2. データベースのホットバックアップを取得する ◦ [事前準備] バックアップ実行ユーザのホームディレクトリ に.pgpassファイルを作成しておく(chmod 0600 .pgpass) ◦ 以下のコマンドを実行してPostgreSQLのホットバックアップを 取得する(.pgpassでパスワード入力を省略できる) 3. ファイルシステムのバックアップを取得する ◦ <alf_dir>/alf_data/contentstore 以下全部をコピーする ※ .pgpassの中身は<hostname>:<port>:<dbname>:<user>:<password> ※ RDBMSの種類や構成に合わせて適宜ホットバックアップを実施してください ※ Luceneの場合は<alf_dir>/alf_data/backup-lucene-indexesをバックアップします # /opt/alfresco-4.2.d/postgresql/bin/pg_dump -U alfresco -w --format=plain alfresco > /backup/pgdump.sql localhost:5432:alfresco:alfresco:admin
11.
ホットバックアップ リストアの方法(1) 1. (必要に応じて)Alfresco/PostgreSQLを再セットアップする 2. バックアップデータを以下のディレクトリにコピーする ◦
ファイルシステム : contentstoreバックアップデータ <alf_dir>/alf_data/contentstore ◦ 全文検索インデックス : Solrインデックスバックアップデータ solrBackup/alfresco/snapshot.* -> <alf_dir>/alf_data/solr/workspace/SpaceStore/index solrBackup/archive/snapshot.* -> <alf_dir>/alf_data/solr/archive/SpaceStore/index
12.
ホットバックアップ リストアの方法(2) 3. PostgreSQLを起動する 4. データベースを復元する ◦
以下のコマンドを実行してテーブルを作成する ◦ バックアップスクリプトを流す 5. Alfrescoを起動する ※ RDBMSの種類や構成に合わせて適宜リストアを実施してください ※ Luceneの場合はバックアップデータを<alf_dir>/alf_data/lucene-indexesにコピーし、 alfresco-global.propertiesでindex.recovery.mode=AUTOと設定してAlfrescoを起動します。イ ンデックスリカバリが走るので、無事に終わったら設定を元に戻しておきます # /opt/alfresco-4.2.d/postgresql/bin/psql postgres=#CREATE ROLE alfresco PASSWORD'admin' LOGIN NOSUPERUSERINHERIT NOCREATEDB NOCREATEROLE; postgres=#CREATE DATABASEalfrescoWITH OWNER = alfresco ENCODING = 'UTF8'TEMPLATE = template0TABLESPACE= pg_default LC_COLLATE = 'ja_JP.UTF-8' LC_CTYPE = 'ja_JP.UTF-8'CONNECTION LIMIT = -1; postgres=# ¥c alfresco alfresco postgres=# ¥i /backup/pgdump.sql
13.
ホットバックアップ デモ 1. ホットバックアップ 2. コンテンツの追加 3.
リストア
14.
(おまけ) Alfrescoが吹っ飛んだ時のデータ救出 データベースとファイルシステムのバックアップデータからAlfresco内に登録されてい たファイルを救出する ◦ ファイル実体はバイナリとしてはそのままだがファイル名が変わっている(e.g.
0f6f21e8-937b- 40fc-9efd-832d835634fc.bin) ◦ データベースで管理されている情報と突合し、元ファイル名を知る必要がある 答え 1. 同バージョンのAlfrescoを別途インストールし、バックアップデータからリストアす る(基本的にはこちらを推奨) 2. 以下のクエリを投げ、元ファイル名と現ファイルパスの一覧を出力する(もうちょっ と賢いクエリあるかも…) SELECT docid.string_value, url.content_urlFROM alf_node_propertiesnp INNER JOIN alf_content_dataacd on np.long_value = acd.id INNER JOIN alf_content_urlurl on acd.content_url_id= url.id INNER JOIN alf_node_propertiesdocid on docid.node_id = np.node_id INNER JOIN alf_qnameaqn on docid.qname_id= aqn.id WHERE aqn.local_name= "name" and aqn.ns_id= 6 商品1.jpg store://2013/9/24/11/10/2d0bd698-2846-40d7-aa08-db4e62b09d66.bin 商品4.jpg store://2013/9/24/11/10/36fd9b2f-0744-4767-804b-83fd97716fde.bin 商品5.jpg store://2013/9/24/11/10/60f7fe0a-36a8-46e5-ba82-bdc112f94366.bin 商品2.jpg store://2013/9/24/11/10/685484d9-3dba-4178-aa08-1dc7e926c3c4.bin
15.
まとめ バックアップ/リストア対象データ ◦ データベース ◦
ファイルシステム ◦ 全文検索インデックス コールドバックアップ ◦ データディレクトリをコピーするだけ ホットバックアップ ◦ 全文検索インデックス→データベース→ファイルシステム ◦ 全文検索インデックスは生成されたバックアップデータ
Descargar ahora