Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Yukiya Hayashi
PDF, PPTX
3,493 views
PostgreSQL DBのバックアップを一元化しよう
PostgreSQL Conference Japan 2017での発表資料です。
Engineering
◦
Read more
4
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 56
2
/ 56
3
/ 56
4
/ 56
5
/ 56
6
/ 56
7
/ 56
8
/ 56
9
/ 56
10
/ 56
11
/ 56
12
/ 56
13
/ 56
14
/ 56
15
/ 56
16
/ 56
17
/ 56
18
/ 56
19
/ 56
20
/ 56
21
/ 56
22
/ 56
23
/ 56
24
/ 56
25
/ 56
26
/ 56
27
/ 56
28
/ 56
29
/ 56
30
/ 56
31
/ 56
32
/ 56
33
/ 56
34
/ 56
35
/ 56
36
/ 56
37
/ 56
38
/ 56
39
/ 56
40
/ 56
41
/ 56
42
/ 56
43
/ 56
44
/ 56
45
/ 56
46
/ 56
47
/ 56
48
/ 56
49
/ 56
50
/ 56
51
/ 56
52
/ 56
53
/ 56
54
/ 56
55
/ 56
56
/ 56
More Related Content
PDF
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
by
NTT DATA Technology & Innovation
PDF
OSC北海道2014_JPUG資料
by
Chika SATO
PPTX
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
by
NTT DATA Technology & Innovation
PDF
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
PDF
アーキテクチャから理解するPostgreSQLのレプリケーション
by
Masahiko Sawada
PDF
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
PPTX
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
by
NTT DATA Technology & Innovation
PDF
バックアップことはじめ JPUG第29回しくみ+アプリケーション分科会(2014-05-31)
by
Chika SATO
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
by
NTT DATA Technology & Innovation
OSC北海道2014_JPUG資料
by
Chika SATO
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
by
NTT DATA Technology & Innovation
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
アーキテクチャから理解するPostgreSQLのレプリケーション
by
Masahiko Sawada
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
by
NTT DATA Technology & Innovation
バックアップことはじめ JPUG第29回しくみ+アプリケーション分科会(2014-05-31)
by
Chika SATO
What's hot
PDF
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
by
NTT DATA Technology & Innovation
PDF
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
by
NTT DATA Technology & Innovation
PPTX
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
by
Miki Shimogai
PPTX
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
by
Ohyama Masanori
PDF
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
by
NTT DATA Technology & Innovation
PDF
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
by
Hironobu Suzuki
PDF
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
PDF
いまさら聞けないPostgreSQL運用管理
by
Uptime Technologies LLC (JP)
PPTX
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
PDF
PostgreSQLバックアップの基本
by
Uptime Technologies LLC (JP)
PDF
PostgreSQLレプリケーション徹底紹介
by
NTT DATA OSS Professional Services
PDF
Where狙いのキー、order by狙いのキー
by
yoku0825
PDF
pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
PDF
PostgreSQL監査
by
Ayumi Ishii
PDF
PostgreSQL 15の新機能を徹底解説
by
Masahiko Sawada
PDF
PostgreSQL Unconference #29 Unicode IVS
by
Noriyoshi Shinoda
PDF
PostgreSQLの関数属性を知ろう
by
kasaharatt
PPTX
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
by
NTT DATA Technology & Innovation
PPTX
SQLチューニング入門 入門編
by
Miki Shimogai
PDF
Apache Arrow - データ処理ツールの次世代プラットフォーム
by
Kouhei Sutou
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
by
NTT DATA Technology & Innovation
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
by
NTT DATA Technology & Innovation
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
by
Miki Shimogai
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
by
Ohyama Masanori
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
by
NTT DATA Technology & Innovation
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
by
Hironobu Suzuki
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
いまさら聞けないPostgreSQL運用管理
by
Uptime Technologies LLC (JP)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
PostgreSQLバックアップの基本
by
Uptime Technologies LLC (JP)
PostgreSQLレプリケーション徹底紹介
by
NTT DATA OSS Professional Services
Where狙いのキー、order by狙いのキー
by
yoku0825
pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
PostgreSQL監査
by
Ayumi Ishii
PostgreSQL 15の新機能を徹底解説
by
Masahiko Sawada
PostgreSQL Unconference #29 Unicode IVS
by
Noriyoshi Shinoda
PostgreSQLの関数属性を知ろう
by
kasaharatt
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
by
NTT DATA Technology & Innovation
SQLチューニング入門 入門編
by
Miki Shimogai
Apache Arrow - データ処理ツールの次世代プラットフォーム
by
Kouhei Sutou
Similar to PostgreSQL DBのバックアップを一元化しよう
PDF
MySQLとPostgreSQLの基本的なバックアップ比較
by
Shinya Sugiyama
PDF
5ステップで始めるPostgreSQLレプリケーション@hbstudy#13
by
Uptime Technologies LLC (JP)
PDF
JPUG 沖縄支部セミナー資料(2013-04-27)
by
Chika SATO
PDF
MySQLバックアップの基本
by
yoyamasaki
PDF
HAクラスタで PostgreSQLレプリケーション構成の 高可用化
by
Takatoshi Matsuo
PDF
[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう by PostgreS...
by
Insight Technology, Inc.
PDF
バックアップ時の問題から学んだDBエンジニアに必要なスキルとは
by
TakeshiYamamoto2049
PDF
Chugoku db 17th-postgresql-9.6
by
Toshi Harada
MySQLとPostgreSQLの基本的なバックアップ比較
by
Shinya Sugiyama
5ステップで始めるPostgreSQLレプリケーション@hbstudy#13
by
Uptime Technologies LLC (JP)
JPUG 沖縄支部セミナー資料(2013-04-27)
by
Chika SATO
MySQLバックアップの基本
by
yoyamasaki
HAクラスタで PostgreSQLレプリケーション構成の 高可用化
by
Takatoshi Matsuo
[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう by PostgreS...
by
Insight Technology, Inc.
バックアップ時の問題から学んだDBエンジニアに必要なスキルとは
by
TakeshiYamamoto2049
Chugoku db 17th-postgresql-9.6
by
Toshi Harada
More from Yukiya Hayashi
PDF
I have a problem when operating AWS with multiple accounts
by
Yukiya Hayashi
PDF
My misstake on Ansible’s lineinfile module
by
Yukiya Hayashi
PDF
AWS SSO x On-Prem AD Easy IAM user management on Jtf2021
by
Yukiya Hayashi
PDF
AWS Cognito makes old web apps available from anywhere
by
Yukiya Hayashi
PDF
アドベントカレンダー から学ぶOCIの空気感
by
Yukiya Hayashi
PDF
オンボーディングを楽しむ
by
Yukiya Hayashi
PDF
事前アンケート集計 Terraform meetup tokyo#2
by
Yukiya Hayashi
PDF
I want the power of onboarding!
by
Yukiya Hayashi
PDF
How did you start learning Azure
by
Yukiya Hayashi
PDF
My feelings of going to the first conference overseas
by
Yukiya Hayashi
PDF
Let's split text by awk command
by
Yukiya Hayashi
PDF
What i feel when began use AWS CodePipeline as GitLab Ci user
by
Yukiya Hayashi
PDF
How to get rid of terraform plan diffs
by
Yukiya Hayashi
PDF
Task and Time monitoring with Backlog and Toggl
by
Yukiya Hayashi
PDF
Oiradaichi's Akamai Journey
by
Yukiya Hayashi
PDF
What does the monitoring tool use at oisix ra daichi?
by
Yukiya Hayashi
PDF
We love backlog ! in reCap event.
by
Yukiya Hayashi
PDF
What we expect of neo4j
by
Yukiya Hayashi
PDF
Backlog World 2019 LT - We love backlog !
by
Yukiya Hayashi
PDF
20190116 neo4jug-lt
by
Yukiya Hayashi
I have a problem when operating AWS with multiple accounts
by
Yukiya Hayashi
My misstake on Ansible’s lineinfile module
by
Yukiya Hayashi
AWS SSO x On-Prem AD Easy IAM user management on Jtf2021
by
Yukiya Hayashi
AWS Cognito makes old web apps available from anywhere
by
Yukiya Hayashi
アドベントカレンダー から学ぶOCIの空気感
by
Yukiya Hayashi
オンボーディングを楽しむ
by
Yukiya Hayashi
事前アンケート集計 Terraform meetup tokyo#2
by
Yukiya Hayashi
I want the power of onboarding!
by
Yukiya Hayashi
How did you start learning Azure
by
Yukiya Hayashi
My feelings of going to the first conference overseas
by
Yukiya Hayashi
Let's split text by awk command
by
Yukiya Hayashi
What i feel when began use AWS CodePipeline as GitLab Ci user
by
Yukiya Hayashi
How to get rid of terraform plan diffs
by
Yukiya Hayashi
Task and Time monitoring with Backlog and Toggl
by
Yukiya Hayashi
Oiradaichi's Akamai Journey
by
Yukiya Hayashi
What does the monitoring tool use at oisix ra daichi?
by
Yukiya Hayashi
We love backlog ! in reCap event.
by
Yukiya Hayashi
What we expect of neo4j
by
Yukiya Hayashi
Backlog World 2019 LT - We love backlog !
by
Yukiya Hayashi
20190116 neo4jug-lt
by
Yukiya Hayashi
PostgreSQL DBのバックアップを一元化しよう
1.
DBのバックアップを一元化しよう ~BaRManによる”スタイリッシュ”バックアップのススメ~ 林 如弥 (はやし ゆきや) @morihaya55 CC0
https://pixabay.com/en/restaurant-bar-stools-lights-2618315/ PostgreSQL PostgreSQL Conference Japan 2017
2.
アジェンダ • 本セッションのゴール • バックアップについておさらい •
BaRMan導入前 • 何故BaRManを選択したか • BaRMan導入後 • 運用していて注意するところ • BaRMan導入方法 • まとめ
3.
本セッションのゴール • BaRManというツールの魅力を知って頂く – どんな機能があり –
どう運用が楽になるのか – もちろんデメリット(注意点)もあるよ BaRMan - Backup and Recovery Manager
4.
バックアップについておさらい はじめに
5.
バックアップについておさらい • 論理バックアップ – >
pg_dumpやpg_dumpallでSQLファイル保存 • 物理バックアップ – オフライン・バックアップ -> DBを停止した状態で$PGDATAをバックアップ – オンライン・バックアップ -> DBを起動した状態で$PGDATAとWALログをバックアッ プ [Let‘s Postgres](https://lets.postgresql.jp/documents/technical/backup/1)
6.
バックアップについておさらい • 論理バックアップ – >規模が大きいとバックアップもリストアも時間が かかる •
物理バックアップ – オフライン・バックアップ -> DBを停止しなくてはならない – オンライン・バックアップ -> 手順がちょっと複雑。PITRができる。(アーカイブ出力 設定、取得時のpg_start_backup()実行 ※v9.1からは pg_basebackupで簡単に)
7.
バックアップについておさらい • 論理バックアップ – >難易度:簡単 •
物理バックアップ – オフライン・バックアップ -> 難易度:簡単 – オンライン・バックアップ -> 難易度:ちょっと難しい
8.
バックアップについておさらい • 論理バックアップ – RPO:バックアップ取得時 –
RTO:データ量に比例して長くなる • 物理バックアップ – オフライン・バックアップ • RPO:バックアップ取得時 • RTO:仕組み次第で一瞬(ローカルに2世代持つ等) – オンライン・バックアップ • RPO:直近。WALファイルでロールフォワード • RTO:データ量に比例して長くなる
9.
バックアップについておさらい 本番用途のDBの場合、RPOを重視して物理オ ンライン・バックアップを採用するのが一般的(と 思います) ※BaRManで行うのも物理オンライン・バック アップです
10.
BaRMan導入前
11.
BaRMan導入前 環境、サーバによって異なるバック アップ方式が混在していた
12.
BaRMan導入前 パターンA 手動定期作業としてpg_dumpで週次で論理 バックアップを取得し、ダンプ集積用のサーバ へ保管 DB BK SQL pg_dump
13.
BaRMan導入前 パターンB cronで独自シェルで以下を取得 ・日次でオンラインバックアップ ・30分単位でwalアーカイブ コールドスタンバイDBサーバと、ダンプ集積用 のサーバへ保管 DB BK rsync WAL Cold-Std-DB WAL rsync rsync rsync WAL $PGDATA $PGDATA
$PGDATA
14.
BaRMan導入前 パターンC cronでpg_rmanを使用し以下を取得 ・日次でFullバックアップ ・30分単位でArchバックアップ DB WAL Hot-Std-DB $PGDATA SR WAL $PGDATA pg_rman
15.
BaRMan導入前 パターンD 不定期で取得した 物理オフラインバックアップが散在 DB BK $PGDATA rsync $PGDATA _bk1 $PGDATA _bk2 cp -Rp ※オンライン・バックアップと見分けがつかないorz
16.
BaRMan導入前 用途に合わせた柔軟なバックアップと いえば聞こえが良いけど、管理者とし ては「このDBの場合は、このバック アップ方法」という状態は嬉しくない そんな課題を抱えていましたが….
17.
https://unsplash.com/photos/cjOWoz4iq7k
18.
BaRMan導入のチャンス到来 サーバ筐体の保守期限切れが近づき、 リプレースが必要になった(IT式年遷宮) もろもろ見直す! ・バックアップツールにBaRMan ・PostgreSQL 8系 ->
9.5へVUP ・PG-REX構成(SRでHot standby) https://unsplash.com/photos/cjOWoz4iq7k
19.
何故BaRManを選択したか ばーまん→
20.
何故BaRManを選択したか • 複数DBのリモートバックアップ • pgコマンドによるSR+ベースバックアップ •
バックアップカタログ • 世代管理(リテンションポリシー) • Pythonで書かれている
21.
何故BaRManを選択したか • 複数DBのリモートバックアップ – >
一元管理したい • pgコマンドによるSR+ベースバックアップ – > SRの設定だけすれば良い。OS意識しない • バックアップカタログ – > どのベースから、どこまでリストアするか • 世代管理(リテンションポリシー) – > “find -mtime +180 | xargs rm” はもう嫌だ • Pythonで書かれている – > いざとなったら読める
22.
何故BaRManを選択したか 他の方法も検討したが、”複数DBをリ モートで管理”できるBaRManにした • 自分で開発 ->
車輪の再発明ツライ • pg_rman -> 単体DB用。リモートできない (NFSとかはできれば避けたい…) • wal-e -> 単体DB用。GitHubスター2K超とダ ントツ。クラウド時代のツールな印象
23.
BaRMan導入後 ばーまん→
24.
DB BaRMan導入後 BK Hot-Std-DB SR DB Hot-Std-DB SR DB Hot-Std-DB SR DB
Hot-Std-DB SR BaRMan Pacemaker/Corosync Pacemaker/Corosync Pacemaker/CorosyncPacemaker/Corosync DB SR SR
25.
BaRMan導入後 全てのDBのバックアップデータは、 BaRManによってBKサーバへ集約される ー>「このDBのバックアップデータ、ローカ ルだっけ?リモートだっけ?」問題の解消
26.
BaRMan導入後 全てのDBからBKサーバへSR(ストリーミン グ・レプリケーション)で更新データ(wal)を 常に送信 さらにPostgreSQL 9.4からのレプリケーショ ンスロットを利用 ー>「walの管理めんどい」問題の解消
27.
BaRMan導入後 動作としてはBaRManから ”pg_receivexlog”コマンドを利用して常に walを受信 # ps auxf
※一部省略 barman … /usr/bin/python /usr/bin/barman -c /etc/barman.conf -q receive-wal db009-6535 barman … ¥_ /usr/local/postgres/bin/pg_receivexlog -- dbname=dbname=replication host=db009 port=6535 replication=true user=postgres application_name=barman_receive_wal -
28.
BaRMan導入後 DBから見るとBaRManはSRのスタンバイDB に見える # ps auxf
※一部省略 postgres … postgres: wal sender process postgres 192.168.11.12(41372) streaming 1/92A23BC0 postgres=# SELECT * FROM pg_stat_replication; ※一部省略 -[ RECORD 1 ]----+------------------------------ pid | 12518 usesysid | 10 usename | postgres application_name | barman_receive_wal client_addr | 192.168.11.12 state | streaming sync_state | async
29.
BaRMan導入後 レプリケーションスロットを利用することで、 無駄の無いwalローテーションが行われる postgres=# select *
from pg_replication_slots; -[ RECORD 1 ]+----------- slot_name | barman plugin | slot_type | physical datoid | database | active | t active_pid | 12521 xmin | catalog_xmin | restart_lsn | 1/92000000
30.
BaRMan導入後 バックアップのカタログ機能で複数サーバ の取得状況を確認できる # barman list-backup
all ※一部省略 db003-5432 20171025...- Size: 1.1 GiB - WAL Size: 688.0 MiB db003-5432 20171018...- Size: 984.2 MiB - WAL Size: 1.7 GiB db004-5432 20171025...- Size: 98.2 MiB - WAL Size: 0 B db004-5432 20171018...- Size: 108.5 MiB - WAL Size: 48.0 MiB db005-5432 20171025...- Size: 339.3 MiB - WAL Size: 0 B -> 「このDBのバックアップいつ取得し た?」問題の解消
31.
BaRMan導入後 ベースバックアップの取得は内部的 に”pg_basebackup”を利用するため、 PostgreSQLのプロトコルだけで完結する。 「DBがコンテナ/Windows上だから ssh/rsyncできない」問題の解消 ※リストアは別のお話…
32.
運用していて注意するところ 良いことばかり じゃない!
33.
https://unsplash.com/photos/0zBJmvRpYMM
34.
BaRManサーバがボトルネックになる • ディスク容量 • ネットワーク帯域 •
バックアップデータの可用性 https://unsplash.com/photos/0zBJmvRpYMM
35.
BaRManサーバがボトルネックになる • ディスク容量 –> DB数×保存世代数+各DBのWAL •
ネットワーク帯域 –> 複数DBを並列リストアするには辛い • バックアップデータの可用性 –> バックアップデータのバックアップ? https://unsplash.com/photos/0zBJmvRpYMM
36.
BaRManサーバがボトルネックになる 【対策】 rsyncで待機サーバにBaRMan管理 ディレクトリを定期コピーし、可用性向上と 2並列でのリストアを可能とした https://unsplash.com/photos/0zBJmvRpYMM BK BaRMan $barman _home BK_2 $barman _home rsync BaRMan SR ※超大規模環境のグループ化して分散するなどの方法を考える必要がありそう
37.
DBのF/O後のフォローが必要 PG-REX構成でF/Oした場合、以下のフォ ロー作業が必要 1. F/O後のDBへスロット作成 2. ベースバックアップ取得 3.
旧プライマリDBのスロット削除 ※さらにF/B後も同じ作業が必要
38.
DBのF/O後のフォローが必要 1. 正常時 DB Hot-Std-DB SR Pacemaker/Corosync BK BaRMan SR 2.
障害->マスタDBの切り替わり DB DB(NEW!) Pacemaker/Corosync BK BaRMan
39.
DBのF/O後のフォローが必要 3. 旧マスタの障害復旧 DB DB(NEW!) Pacemaker/Corosync BK BaRMan 4.
SR再構成 Hot-Std-DB DB(NEW!) Pacemaker/Corosync BK BaRMan SR
40.
DBのF/O後のフォローが必要 5. BaRMan用レプリケーションスロット作成 6. ベースバックアップ再取得&walストリーム Hot-Std-DB
DB(NEW!) Pacemaker/Corosync BK BaRMan SR Hot-Std-DB DB(NEW!) Pacemaker/Corosync BK BaRMan SR receive-wal --create-slot SR
41.
DBのF/O後のフォローが必要 7. 新マスタ側のレプリケーションスロット削除 Hot-Std-DB DB(NEW!) Pacemaker/Corosync BK BaRMan SR SR 削除 この未使用になったスロットの削除を行わないと、walが 削除されない
-> ディスクが溢れるコンボが発動する
42.
DBのF/O後のフォローが必要 【対策】監視ツールでpg_replication_slotsの active列を定期監視 postgres=# select *
from pg_replication_slots; -[ RECORD 1 ]+----------- slot_name | barman plugin | slot_type | physical datoid | database | active | t active_pid | 12521 xmin | catalog_xmin | restart_lsn | 1/92000000 active = t でなければ警告を上げる
43.
bandwidth_limitオプション ドキュメントにpg_basebackupを使用する場合は 帯域制限サポートしないとあるが、効く。 PostgreSQL 9.4から”-r rate”オプションが追加。 http://docs.pgbarman.org/release/2.3/ “not
supported”
44.
bandwidth_limitオプション ソース上ではちゃんと対応している https://github.com/2ndquadrant-it/barman/blob/master/barman/backup_executor.py
45.
bandwidth_limitオプション しかしリストア時に変に効いた 例:100GBデータのリカバリ時間 + bandwidth_limit=3000 ->
12時間 + bandwidth_limit=0 -> 1時間 BaRManというより、内部的に呼ばれるrsyncが 悪さをしていそう…(?) ※あくまで個人事例ですのでご参考程度に 他要因の可能性があります
46.
bandwidth_limitオプション 【対策】リストアする場合、定義を bandwidth_limit=0に変更してから ”barman recover”を実行する (手動運用でカバー)
47.
BaRMan導入方法 ばーまん→
48.
BaRMan導入方法 インストール方法は極めて簡単 • PIP ※OSパッケージ依存しないのでオススメ •
RHEL7, RHEL6 and RHEL5 (CentOSも) • Debian and Ubuntu yum install barman ※EPELとPGDGレポジトリが必要 apt-get install barman ※PGDGレポジトリが必要 export PATH=/xxxx/postgres/bin/:$PATH pip install barman http://docs.pgbarman.org/release/2.3/#installation
49.
BaRMan導入方法 設定もシンプル • 全体設定(/etc/barman.conf) [barman] barman_user =
barman configuration_files_directory = /etc/barman.d barman_home = /var/backup/barman log_file = /var/log/barman/barman.log log_level = INFO bandwidth_limit = 0
50.
BaRMan導入方法 設定もシンプル • サーバ単位設定(/etc/barman.d/xxx.conf) [db001.slave-5432] description =
"db001.slave port 5432 (Streaming-Only)" conninfo = host=db001.slave user=barman dbname=postgres port=5432 streaming_conninfo = host=db001.slave user=barman port=5432 backup_method = postgres streaming_backup_name = barman_streaming_backup streaming_archiver = on slot_name = barman_slot path_prefix = "/usr/local/postgres/bin" backup_options = concurrent_backup
51.
BaRMan導入方法 DB側はSRを許可する • postgresql.conf • pg_hba.conf •
リストア用にOS上でsshログインを許可 wal_level = ‘hot_standby’or ‘replica’ max_wal_senders = 1以上 max_replication_slots = 1以上 host replication barman 192.168.xx.xx/xx xxxx
52.
BaRMan導入方法 バックアップ取得、リストアは全てBaRMan 導入サーバから行う • Walストリーミング開始 • ベースバックアップ取得 barman
receive-wal --create-slot <サーバ名> barman cron barman check ←確認コマンド barman backup <サーバ名>
53.
BaRMan導入方法 • バックアップのカタログ機能で複数サー バの取得状況を確認 # barman
list-backup all ※一部省略 db003-5432 20171025...- Size: 1.1 GiB - WAL Size: 688.0 MiB db003-5432 20171018...- Size: 984.2 MiB - WAL Size: 1.7 GiB db004-5432 20171025...- Size: 98.2 MiB - WAL Size: 0 B db004-5432 20171018...- Size: 108.5 MiB - WAL Size: 48.0 MiB db005-5432 20171025...- Size: 339.3 MiB - WAL Size: 0 B ※再掲
54.
BaRMan導入方法 • ローカルリストア • リモートリストア barman
recover --target-time '2017-10-25 12:30:00+09:00' db001.slave-5432 20171025T010002 /var/pgsql/data-20171025 barman recover --remote-ssh-command 'ssh postgres@db001' -- target-time '2017-10-25 12:30:00+09:00' db001.slave-5432 20171025T010002 /var/pgsql/data-20171025 ※ローカルとリモートの違いは”—remote-ssh-command”の有無
55.
まとめ ばーまん→
56.
まとめ BaRManを導入するとこれが嬉しい • 複数のDBを一元的に管理できる • PostgreSQLのプロトコルでバックアップできる •
DB側はSRの設定をしておくだけ • PostgreSQL9.4以降ならレプリケーションスロッ トと組み合わせてwal管理からも解放される 以上、ご清聴ありがとうございました。 m( _ _ )m
Download