SlideShare a Scribd company logo
1 of 61
Download to read offline
ゆるふわLinux-HA
∼PostgreSQL編∼
 Taro Matsuzawa (Georepublic Japan)
              #ssmjp
自己紹介(名前編)

•   まつざわたろう aka. btm

    •   btm = Broken Taro Matsuzawa

•   Twitter: smellman

•   あだ名: 組長

    •   過去にとある組織で組長をしていました
自己紹介(執筆編)

•   Firefox 3 Hacks, Firefox Hacks Rebooted (オライ
    リー・ジャパン)

•   Software Designで特集数回と半年間の連載

•   C Magazineの特集でFirefoxのソースコード解説
自己紹介(趣味)
•   音楽はエレクトロニカ、ブレイクコア中心

    •   Aphex Twin,Venetian Snares, Daedelus etc...

•   ラノベ好き

    •   年間100冊ぐらいしか読んでないけど

•   ゲームはシューティングとRPGが中心

    •   怒首領蜂大復活クリアできない...orz
所属
•   お仕事

    •   合同会社Georepublic Japan

•   プライベート

    •   スマートフォン勉強会(すまべん)@関東スタッフ

    •   日本UNIXユーザ会幹事

    •   LL eventスタッフ
職業的な話
•   学生時代にアルバイトでGISプログラマ

•   他のアルバイトでデスマーチ経験

    •   キーボードの上を走る小人さんとか...

•   現在三社目

    •   地図系に戻りました(10年ぶり)
エンジニアとして
•   Linux (1998∼)

•   Visual Basic(2002∼2006)

•   Java(2003∼)

•   Ruby(2009∼)

•   ちょっとしたネットワーク
お断り
•   プログラマにネットワークエンジニアの真似
    事をしてるぐらいの人間です。

•   ネットワークを本業としたことは無いです。

•   開発案件のついでにネットワークをやってる
    だけです。

    •   自宅のルータはTimeCapsuleですw
今日のネタ


• PostgreSQL 9.1 の同期レプリケーション
 とLinux-HAを組み合わせて冗長化した
 時の話です。
注意
•   昨年の12月から今年の1月ごろに前職で実際に
    構築したネタを元に書いています。

•   覚えてる and 手元にログが残ってる範囲で書
    いてます。

•   デモ機作ろうとしたけど体力がなかったので
    デモ機無しで行きます。
Linux-HAとは?
Linux-HA

•   Linux-HA Project(http://www.linux-ha.org/wiki/
    Main_Page)が開発、メンテナンスをしている高
    可用クラスタを構築するプロダクトを中心と
    した製品群のこと。

•   Linux-HA Project以外からリリースされている
    製品も一般的には含まれます。
Linux-HA Project以外

• 有名なところではPacemaker(http://
 clusterlabs.org/)やDRBD(http://
 www.drbd.org/)も一緒に扱われます。

 • DRBDはLinux Kernelにマージされてい
   ます。
Linux-HA Japan
•   国内でLinux-HA関係のプロダクトの開発支
    援、普及活動を行なっている団体

•   全国各地のOSCに出展・講演を行なっている

    •   他にも勉強会の実施、講師として参加など
        をしている

•   日本語の情報はまずここを
普及活動?
まさかのCV付き

       橋本まい           福原香織 新谷良子




田中理恵     日高里菜   丹下桜      日高里菜
Linux-HAで
何ができる?
何ができる?
•   高可用クラスタとして「サービスを止めない
    システム」を構築できます。

•   サービスを止めないと言ってもいろいろあり
    ます。

    •   Arpanetの通説である核戦争が起きても通信
        ができるようにというのも一種ですよね...
いろいろ
•   Linux-HAもいろんな止めないパターンがある

•   僕が過去に扱ったのは2台でサービスを極力止
    めないというパターンのみ

    •   3台以上とか予算ないもん...

•   あくまで僕がやった範囲で話をしますw
極力止めない
•   良い物はぶっちゃけ予算がかかる

    •   サーバに監視ポートとか...

•   案件や人の使い方によってとかも

    •   タクシー代は出ますよね...

•   エンジニアスキルとも兼ね合いです

    •   僕には無理ですw
冗長化の方法
DBの冗長化
•   PostgreSQLを例にとってもいくつかある

    •   pg-pool IIなどのミドルウェアを利用

    •   DRBDを用いてディスクをまるごと冗長化

    •   PostgreSQL9.1からの同期レプリケーション
        とLinux-HAを併用するパターン
特徴を知る

•   冗長化の手段は一長一短

    •   銀の弾丸は無い

•   システムにあったものを選択する

    •   まぁ普通だよね...(白目
pg-pool IIの例
          app
書き込みを
両方に行なう
         pg-pool




  pg               pg
pg-pool IIの例
         app
検索は負荷
分散できる
        pg-pool




  pg              pg
pg-pool IIの例
             app
 pg-poolが
障害ポイントに
            pg-pool




    pg                pg
DRBD
                       app
HDDまるごと
 同期する
                 vip



   HDD(master)               HDD(slave)

       pg                        pg
DRBD
                          app
PostgreSQLに
障害があったら
                    vip



      HDD(master)               HDD(slave)

          pg                        pg
DRBD
同期を停止して
Salve側のHDDを          app

マウントしてから
PostgreSQLが起動              vip



      HDD(master)                HDD(slave)

          pg                         pg
同期レプリケーション

 書き込みは                app

masterを通して
  slaveへ        vip




           pg               pg
同期レプリケーション

                       app
masterに障害
があったら
                 vip




            pg               pg
同期レプリケーション

レプリケーションを     app

  停止して
vipを切り替えます          vip




         pg               pg
切り替え

•   DRBDの図及び同期レプリケーションの図でリ
    ソースをスイッチさせるのがLinux-HAのプロダ
    クト

    •   クラスタ制御部とリソース制御部を組み合
        わせる
クラスタ制御部と
リソース制御部
まず知っておくこと

• Linux-HAでは現在クラスタ制御部とリ
 ソース制御部が分離されている

 • もともとはHeartbeatだけだった
3つのプロダクト
•   Pacemaker

    •   リソース制御部

•   Heartbeat

    •   クラスタ制御部

•   Corosync

    •   クラスタ制御部
被ってる

• HeartbeatとCorosyncが同じ役割...
 • Heartbeatの歴史を知るとわかりやす
  い
Heartbeat と CRM

              CRM             Pacemaker


                           Common Library
            Heartbeat
Heartbeat      V2       Heartbeat
                                    Corosync
   V1                      V3
クラスタ制御部

• HeartbeatとCorosyncはどちらを使って
 も良い

 • 特徴に合わせてどちらかを選ぶ
Heartbeat V3

• わりと安定してる
• 多ノードには向いてない
 • 3ノード以上は大変らしい
• スプリットブレインに弱い
Corosync

• 若干不安定
• 多ノード構成に強い
• スプリットブレインに強い
どちらを選ぶ?

•   2ノードならHeartbeatがよいかも

    •   今回は触ってみたかった(本音)という理由で
        Corosyncを採用

        •   Heartbeat V1,V2やってたから飽きたんです
            よ...(もっと本音)
実際に組んでみよう
注意
•   情報が古いです

    •   2011年12月ごろの情報にそってます

•   Linux-HA Japanのパッケージは使っていません

    •   理由は特に無いのですが...

•   Resource Agentは本家にはマージされています

    •   あくまで参考程度です
ネットワーク
             vip(master)      vip(slave)
            192.168.1.103   192.168.1.104

DB1                                                DB2
          eth0                         eth0
      192.168.1.101                192.168.1.102



          eth1                         eth1
       192.168.2.1                  192.168.2.2



          eth2                         eth2
       192.168.3.1                  192.168.3.2



          eth3                         eth3
       192.168.4.1                  192.168.4.2
構築手順
1. PostgreSQL 9.1をインストール

2. heartbeat, corosync, pacemakerをインストール

3. PostgreSQL 9.1用のResourceAgentをインストール

4. レプリケーションの設定

5. corosyncの設定

6. crmコマンドからpacemakerの設定
PostgreSQLをインストール

#	 wget	 http://yum.postgresql.org/9.1/redhat/
rhel-6-x86_64/pgdg-centos91-9.1-4.noarch.rpm
#	 rpm	 -ivh	 pgdg-centos91-9.1-4.noarch.rpm
#	 yum	 update
#	 yum	 install	 postgresql91-server.x86_64
#	 /etc/init.d/postgresql-9.1	 initdb

PostgreSQL自体が配布しているyumを使うと便利
heartbeat, corosync,
            pacemaker
#	 wget	 http://ftp.yz.yamagata-u.ac.jp/pub/linux/
fedora/epel/6/x86_64/epel-release-6-5.noarch.rpm
#	 rpm	 -ivh	 epel-release-6-5.noarch.rpm	 
#	 yum	 install	 corosync.x86_64	 heartbeat.x86_64	 
pacemaker.x86_64

  Resource Agentの多くがheartbeatパッケージに
       依存しているため、heartbeatが必要
Resource Agent

#	 wget	 https://github.com/t-matsuo/resource-
agents/raw/pgsql91/heartbeat/pgsql
#	 mv	 /usr/lib/ocf/resource.d/heartbeat/pgsql	 /usr/
lib/ocf/resource.d/heartbeat/pgsql.bak
#	 install	 -m	 755	 pgsql	 /usr/lib/ocf/resource.d/
heartbeat/
ここから先
•   ここから先は、PostgreSQL 9.1対応のResource Agentの作者である
    t-matsuoさんの PostgreSQL 9.1 ストリーミングレプリケーション
    対応 リソースエージェント https://github.com/t-matsuo/resource-
    agents/wiki/PostgreSQL-9.1-%E3%82%B9%E3%83%88%E3%83%AA
    %E3%83%BC%E3%83%9F%E3%83%B3%E3%82%B0%E3%83%AC
    %E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC
    %E3%82%B7%E3%83%A7%E3%83%B3%E5%AF%BE%E5%BF%9C-
    %E3%83%AA%E3%82%BD%E3%83%BC
    %E3%82%B9%E3%82%A8%E3%83%BC
    %E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88 に沿っています

    •   Linux-HA Japanのパッケージを使っていないなどの差異があり
        ます
レプリケーションの設定

• 下記手順で行ないます。
1. 同期を行なうためのsshの        交換

2. postgresql.confの修正

3. pg_hba.confの修正
交換
  (DB1からDB2へ鍵を生成してコピー)
  #	 su	 -	 postgres
  $	 ssh-keygen	 
  $	 scp	 .ssh/id_rsa.pub	 root@192.168.2.2:/tmp/
  db1.pub
  (DB2で登録)
  #	 chmod	 666	 /tmp/db1.pub
  #	 su	 -	 postgres
  $	 cat	 /tmp/db1.pub	 >	 .ssh/authorized_keys
  $	 chmod	 600	 .ssh/authorized_keys

.sshは存在すると仮定、同じ作業をDB2からDB1へも
postgresql.conf(1)
                     DB1では下記内容を追加
listen_addresses	 =	 '*'
wal_level	 =	 hot_standby
synchronous_commit	 =	 on
archive_mode	 =	 on
archive_command	 =	 'cp	 %p	 /var/lib/pgsql/9.1/data/pg_archive/%f	 &&	 scp	 -q	 %p	 
postgres@192.168.2.2:/var/lib/pgsql/9.1/data/pg_archive/%f'
max_wal_senders	 =	 5
wal_keep_segments	 =	 32
replication_timeout	 =	 5000
hot_standby	 =	 on
wal_receiver_status_interval	 =	 2
restart_after_crash	 =	 off
include	 =	 '/var/lib/pgsql/rep_mode.conf'
postgresql.conf(2)
DB2へscpでコピーしてから archive_commandを編集

archive_command	 =	 'cp	 %p	 /var/lib/pgsql/9.1/data/pg_archive/%f	 &&	 scp	 -q	 %p	 
postgres@192.168.2.1:/var/lib/pgsql/9.1/data/pg_archive/%f'



  ようするにscpする向き先が変わるという感じ
pg_hba.conf

host	 	 all	 	 	 	 	 	 	 	 	 all	 192.168.1.0/24	 md5
host	 	 replication	 all	 192.168.2.0/24	 trust


        replication用にtrustを指定しておく
         (たぶん他の逃げ方あると思う...)
corosync
#	 vi	 /etc/corosync/corosync.conf

totemのinterfaceのbindnetaddrを変更するはず...


          ...手元に記録がないので割愛...
pacemaker

•   crmコマンドで設定ファイルを流しこみます

    •   設定ファイルの例は長いのでt-matsuoさんの
        wikiを参考にしてください
やりかた

#	 crm
crm(live)#	 configure	 
crm(live)configure#	 (ここにコピペ)

crm(live)configure#	 commit
ステータス(crm_mon -A)
============
Last	 updated:	 Wed	 Apr	 11	 16:28:58	 2012
Last	 change:	 Thu	 Apr	 	 5	 01:44:51	 2012	 via	 crm_attribute	 on	 db1.localdomain
Stack:	 openais
Current	 DC:	 db1.localdomain	 -	 partition	 with	 quorum
Version:	 1.1.6-3.el6-a02c0f19a00c1eb2527ad38f146ebc0834814558
2	 Nodes	 configured,	 2	 expected	 votes
7	 Resources	 configured.
============

Online:	 [	 db1.localdomain	 db2.localdomain	 ]

vip-slave	 	 	 	 	 	 	 (ocf::heartbeat:IPaddr2):	 	 	 	 	 	 	 Started	 db2.localdomain
	 Master/Slave	 Set:	 msPostgresql	 [postgresql]
	 	 	 	 	 Masters:	 [	 db1.localdomain	 ]
	 	 	 	 	 Slaves:	 [	 db2.localdomain	 ]
	 Clone	 Set:	 clnPingCheck	 [pingCheck]
	 	 	 	 	 Started:	 [	 db2.localdomain	 db1.localdomain	 ]
	 Resource	 Group:	 master-group
	 	 	 	 	 vip-master	 (ocf::heartbeat:IPaddr2):	 	 	 	 	 	 	 Started	 db1.localdomain
	 	 	 	 	 vip-rep	 	 	 	 (ocf::heartbeat:IPaddr2):	 	 	 	 	 	 	 Started	 db1.localdomain

Node	 Attributes:
*	 Node	 db1.localdomain:
	 	 	 	 +	 default_ping_set	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 :	 100
	 	 	 	 +	 master-postgresql:1	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 :	 1000
	 	 	 	 +	 pgsql-data-status	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 :	 LATEST	 	 	 	 
	 	 	 	 +	 pgsql-master-baseline	 	 	 	 	 	 	 	 	 	 	 	 	 :	 12:0000000030000000
	 	 	 	 +	 pgsql-status	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 :	 PRI
*	 Node	 db2.localdomain:
	 	 	 	 +	 default_ping_set	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 :	 100
	 	 	 	 +	 master-postgresql:0	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 :	 100
	 	 	 	 +	 pgsql-data-status	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 :	 STREAMING|SYNC
	 	 	 	 +	 pgsql-status	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 :	 HS:sync
とりあえず
•   Masterを落とすとSlaveがMasterに昇格したりし
    ます。

    •   あたりまえだ

•   元のMasterを復帰するのに一工夫必要

    •   http://d.hatena.ne.jp/smellman/
        20120105/1325711325
まとめ
•   冗長化は怖くない!

    •   予算以外!

•   Linux-HAはどんどん進化している

    •   Resource Agentを書くのは簡単だよ!

        •   書いたらgithubにpush request!

More Related Content

What's hot

OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!ksk_ha
 
Pacemakerを使いこなそう
Pacemakerを使いこなそうPacemakerを使いこなそう
Pacemakerを使いこなそうTakatoshi Matsuo
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理Takuya ASADA
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)Hironobu Suzuki
 
Pacemaker NextGen OSC2012TokyoFall-20120908
Pacemaker NextGen OSC2012TokyoFall-20120908Pacemaker NextGen OSC2012TokyoFall-20120908
Pacemaker NextGen OSC2012TokyoFall-20120908ksk_ha
 
Linux-HA Japanプロジェクトのこれまでとこれから
Linux-HA JapanプロジェクトのこれまでとこれからLinux-HA Japanプロジェクトのこれまでとこれから
Linux-HA Japanプロジェクトのこれまでとこれからksk_ha
 
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法Takuya ASADA
 
Linux packet-forwarding
Linux packet-forwardingLinux packet-forwarding
Linux packet-forwardingMasakazu Asama
 
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会Shigeru Hanada
 
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)Uptime Technologies LLC (JP)
 
第7回oss貢献者賞 森-20120316
第7回oss貢献者賞 森-20120316第7回oss貢献者賞 森-20120316
第7回oss貢献者賞 森-20120316ksk_ha
 
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaPostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaShigeru Hanada
 
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@KyotoPostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@KyotoShigeru Hanada
 
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)Uptime Technologies LLC (JP)
 
Pacemaker 操作方法メモ
Pacemaker 操作方法メモPacemaker 操作方法メモ
Pacemaker 操作方法メモMasayuki Ozawa
 
仮想化環境での利用者公平性
仮想化環境での利用者公平性仮想化環境での利用者公平性
仮想化環境での利用者公平性Takuya ASADA
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションMasahiko Sawada
 

What's hot (20)

OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!
 
Pacemakerを使いこなそう
Pacemakerを使いこなそうPacemakerを使いこなそう
Pacemakerを使いこなそう
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
 
Pacemaker NextGen OSC2012TokyoFall-20120908
Pacemaker NextGen OSC2012TokyoFall-20120908Pacemaker NextGen OSC2012TokyoFall-20120908
Pacemaker NextGen OSC2012TokyoFall-20120908
 
Linux-HA Japanプロジェクトのこれまでとこれから
Linux-HA JapanプロジェクトのこれまでとこれからLinux-HA Japanプロジェクトのこれまでとこれから
Linux-HA Japanプロジェクトのこれまでとこれから
 
PostgreSQLバックアップの基本
PostgreSQLバックアップの基本PostgreSQLバックアップの基本
PostgreSQLバックアップの基本
 
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法
 
Linux packet-forwarding
Linux packet-forwardingLinux packet-forwarding
Linux packet-forwarding
 
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
 
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
 
第7回oss貢献者賞 森-20120316
第7回oss貢献者賞 森-20120316第7回oss貢献者賞 森-20120316
第7回oss貢献者賞 森-20120316
 
PostgreSQL安定運用のコツ2009 @hbstudy#5
PostgreSQL安定運用のコツ2009 @hbstudy#5PostgreSQL安定運用のコツ2009 @hbstudy#5
PostgreSQL安定運用のコツ2009 @hbstudy#5
 
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaPostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
 
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@KyotoPostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
 
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
 
Pacemaker 操作方法メモ
Pacemaker 操作方法メモPacemaker 操作方法メモ
Pacemaker 操作方法メモ
 
PostgreSQLアーキテクチャ入門
PostgreSQLアーキテクチャ入門PostgreSQLアーキテクチャ入門
PostgreSQLアーキテクチャ入門
 
仮想化環境での利用者公平性
仮想化環境での利用者公平性仮想化環境での利用者公平性
仮想化環境での利用者公平性
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
 

Viewers also liked

PostgreSQLの冗長化について
PostgreSQLの冗長化についてPostgreSQLの冗長化について
PostgreSQLの冗長化についてSoudai Sone
 
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/SpringPacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/SpringTakatoshi Matsuo
 
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo NagataInsight Technology, Inc.
 
Postgre sql9.3新機能紹介
Postgre sql9.3新機能紹介Postgre sql9.3新機能紹介
Postgre sql9.3新機能紹介Daichi Egawa
 
PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介
PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介
PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介Masao Fujii
 
DBの闇を書くにはこの余白は狭すぎる
DBの闇を書くにはこの余白は狭すぎるDBの闇を書くにはこの余白は狭すぎる
DBの闇を書くにはこの余白は狭すぎるSoudai Sone
 
Eric Windisch - Building Composable Serverless Apps
Eric Windisch - Building Composable Serverless AppsEric Windisch - Building Composable Serverless Apps
Eric Windisch - Building Composable Serverless AppsServerlessConf
 
Ryan Brown - Open Community
Ryan Brown - Open CommunityRyan Brown - Open Community
Ryan Brown - Open CommunityServerlessConf
 
Donald Ferguson - Old Programmers Can Learn New Tricks
Donald Ferguson - Old Programmers Can Learn New TricksDonald Ferguson - Old Programmers Can Learn New Tricks
Donald Ferguson - Old Programmers Can Learn New TricksServerlessConf
 
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -歩 柴田
 
Paul Johnston - What I Wish I'd Known Last Year
Paul Johnston - What I Wish I'd Known Last YearPaul Johnston - What I Wish I'd Known Last Year
Paul Johnston - What I Wish I'd Known Last YearServerlessConf
 
Corruption And Revive - db tech showcase 2013 特濃JPOUG
Corruption And Revive - db tech showcase 2013 特濃JPOUGCorruption And Revive - db tech showcase 2013 特濃JPOUG
Corruption And Revive - db tech showcase 2013 特濃JPOUGRyota Watabe
 
Rob Gruhl and Erik Erikson - What We Learned in 18 Serverless Months at Nords...
Rob Gruhl and Erik Erikson - What We Learned in 18 Serverless Months at Nords...Rob Gruhl and Erik Erikson - What We Learned in 18 Serverless Months at Nords...
Rob Gruhl and Erik Erikson - What We Learned in 18 Serverless Months at Nords...ServerlessConf
 
Noelle La Charite - Building Voice Experiences
Noelle La Charite - Building Voice ExperiencesNoelle La Charite - Building Voice Experiences
Noelle La Charite - Building Voice ExperiencesServerlessConf
 
ioDriceとInfiniBandとDRBDを利用したリアルタイムレプリケーション
ioDriceとInfiniBandとDRBDを利用したリアルタイムレプリケーションioDriceとInfiniBandとDRBDを利用したリアルタイムレプリケーション
ioDriceとInfiniBandとDRBDを利用したリアルタイムレプリケーションIwasaki Noboru
 
[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata
[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata
[B23] PostgreSQLのインデックス・チューニング by Tomonari KatsumataInsight Technology, Inc.
 

Viewers also liked (20)

PostgreSQLの冗長化について
PostgreSQLの冗長化についてPostgreSQLの冗長化について
PostgreSQLの冗長化について
 
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/SpringPacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
 
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
 
PostgreSQLレプリケーション徹底紹介
PostgreSQLレプリケーション徹底紹介PostgreSQLレプリケーション徹底紹介
PostgreSQLレプリケーション徹底紹介
 
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
 
タイルの話
タイルの話タイルの話
タイルの話
 
Postgre sql9.3新機能紹介
Postgre sql9.3新機能紹介Postgre sql9.3新機能紹介
Postgre sql9.3新機能紹介
 
PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介
PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介
PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介
 
DBの闇を書くにはこの余白は狭すぎる
DBの闇を書くにはこの余白は狭すぎるDBの闇を書くにはこの余白は狭すぎる
DBの闇を書くにはこの余白は狭すぎる
 
Eric Windisch - Building Composable Serverless Apps
Eric Windisch - Building Composable Serverless AppsEric Windisch - Building Composable Serverless Apps
Eric Windisch - Building Composable Serverless Apps
 
Ryan Brown - Open Community
Ryan Brown - Open CommunityRyan Brown - Open Community
Ryan Brown - Open Community
 
Donald Ferguson - Old Programmers Can Learn New Tricks
Donald Ferguson - Old Programmers Can Learn New TricksDonald Ferguson - Old Programmers Can Learn New Tricks
Donald Ferguson - Old Programmers Can Learn New Tricks
 
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -
 
Paul Johnston - What I Wish I'd Known Last Year
Paul Johnston - What I Wish I'd Known Last YearPaul Johnston - What I Wish I'd Known Last Year
Paul Johnston - What I Wish I'd Known Last Year
 
Corruption And Revive - db tech showcase 2013 特濃JPOUG
Corruption And Revive - db tech showcase 2013 特濃JPOUGCorruption And Revive - db tech showcase 2013 特濃JPOUG
Corruption And Revive - db tech showcase 2013 特濃JPOUG
 
20130203 oss-db-lpi
20130203 oss-db-lpi20130203 oss-db-lpi
20130203 oss-db-lpi
 
Rob Gruhl and Erik Erikson - What We Learned in 18 Serverless Months at Nords...
Rob Gruhl and Erik Erikson - What We Learned in 18 Serverless Months at Nords...Rob Gruhl and Erik Erikson - What We Learned in 18 Serverless Months at Nords...
Rob Gruhl and Erik Erikson - What We Learned in 18 Serverless Months at Nords...
 
Noelle La Charite - Building Voice Experiences
Noelle La Charite - Building Voice ExperiencesNoelle La Charite - Building Voice Experiences
Noelle La Charite - Building Voice Experiences
 
ioDriceとInfiniBandとDRBDを利用したリアルタイムレプリケーション
ioDriceとInfiniBandとDRBDを利用したリアルタイムレプリケーションioDriceとInfiniBandとDRBDを利用したリアルタイムレプリケーション
ioDriceとInfiniBandとDRBDを利用したリアルタイムレプリケーション
 
[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata
[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata
[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata
 

Similar to ゆるふわLinux-HA 〜PostgreSQL編〜

OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾外道 父
 
Linux kernelのbspとupstream
Linux kernelのbspとupstreamLinux kernelのbspとupstream
Linux kernelのbspとupstreamwata2ki
 
Hadoop splittable-lzo-compression
Hadoop splittable-lzo-compressionHadoop splittable-lzo-compression
Hadoop splittable-lzo-compressionDaiki Sato
 
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo LinuxについてTakuto Matsuu
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineEtsuji Nakai
 
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成Izumi Tsutsui
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) Akihiro Kuwano
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Tadahiro Ishisaka
 
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Emma Haruka Iwao
 
JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)l_b__
 
これからLDAPを始めるなら 「389-ds」を使ってみよう
これからLDAPを始めるなら 「389-ds」を使ってみようこれからLDAPを始めるなら 「389-ds」を使ってみよう
これからLDAPを始めるなら 「389-ds」を使ってみようNobuyuki Sasaki
 
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードPlay framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードKazuhiro Hara
 
Hadoop operation chaper 4
Hadoop operation chaper 4Hadoop operation chaper 4
Hadoop operation chaper 4Yukinori Suda
 
動画共有ツール
動画共有ツール動画共有ツール
動画共有ツールtamtam180
 
Bossan dentoo
Bossan dentooBossan dentoo
Bossan dentookubo39
 
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努Insight Technology, Inc.
 

Similar to ゆるふわLinux-HA 〜PostgreSQL編〜 (20)

OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾
 
osoljp 2011.08
osoljp 2011.08osoljp 2011.08
osoljp 2011.08
 
Linux kernelのbspとupstream
Linux kernelのbspとupstreamLinux kernelのbspとupstream
Linux kernelのbspとupstream
 
Hadoop splittable-lzo-compression
Hadoop splittable-lzo-compressionHadoop splittable-lzo-compression
Hadoop splittable-lzo-compression
 
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container Engine
 
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
 
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
 
JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)
 
Tokyo.R#16 wdkz
Tokyo.R#16 wdkzTokyo.R#16 wdkz
Tokyo.R#16 wdkz
 
これからLDAPを始めるなら 「389-ds」を使ってみよう
これからLDAPを始めるなら 「389-ds」を使ってみようこれからLDAPを始めるなら 「389-ds」を使ってみよう
これからLDAPを始めるなら 「389-ds」を使ってみよう
 
Pdp11 on-fpga
Pdp11 on-fpgaPdp11 on-fpga
Pdp11 on-fpga
 
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードPlay framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレード
 
Hadoop operation chaper 4
Hadoop operation chaper 4Hadoop operation chaper 4
Hadoop operation chaper 4
 
動画共有ツール
動画共有ツール動画共有ツール
動画共有ツール
 
Bossan dentoo
Bossan dentooBossan dentoo
Bossan dentoo
 
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努
 
CPUの同時実行機能
CPUの同時実行機能CPUの同時実行機能
CPUの同時実行機能
 

More from Taro Matsuzawa

地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2Taro Matsuzawa
 
Couchbase hackaton pomo
Couchbase hackaton pomoCouchbase hackaton pomo
Couchbase hackaton pomoTaro Matsuzawa
 
11月のささみ: pgRoutingって何?
11月のささみ: pgRoutingって何?11月のささみ: pgRoutingって何?
11月のささみ: pgRoutingって何?Taro Matsuzawa
 
OSMを使ったスマホ&Web開発入門
OSMを使ったスマホ&Web開発入門OSMを使ったスマホ&Web開発入門
OSMを使ったスマホ&Web開発入門Taro Matsuzawa
 
AFNetworking使ってみた
AFNetworking使ってみたAFNetworking使ってみた
AFNetworking使ってみたTaro Matsuzawa
 
スマホ開発者も使えるWireshark
スマホ開発者も使えるWiresharkスマホ開発者も使えるWireshark
スマホ開発者も使えるWiresharkTaro Matsuzawa
 
来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall
来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall
来年のLLeventのお知らせ @ OSC2011 Tokyo/FallTaro Matsuzawa
 
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化Taro Matsuzawa
 
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみたスマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみたTaro Matsuzawa
 
ベトナムにRoRを教えに行ったら大変なお土産をもらったでござる
ベトナムにRoRを教えに行ったら大変なお土産をもらったでござるベトナムにRoRを教えに行ったら大変なお土産をもらったでござる
ベトナムにRoRを教えに行ったら大変なお土産をもらったでござるTaro Matsuzawa
 
デバッガを使おう@ブラウザ勉強会#1
デバッガを使おう@ブラウザ勉強会#1デバッガを使おう@ブラウザ勉強会#1
デバッガを使おう@ブラウザ勉強会#1Taro Matsuzawa
 
(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop
(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop
(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser WorkshopTaro Matsuzawa
 
Mozilla コアハッカー育成計画(PDF)
Mozilla コアハッカー育成計画(PDF)Mozilla コアハッカー育成計画(PDF)
Mozilla コアハッカー育成計画(PDF)Taro Matsuzawa
 
Mozilla コアハッカー育成計画
Mozilla コアハッカー育成計画Mozilla コアハッカー育成計画
Mozilla コアハッカー育成計画Taro Matsuzawa
 

More from Taro Matsuzawa (15)

地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
 
Couchbase hackaton pomo
Couchbase hackaton pomoCouchbase hackaton pomo
Couchbase hackaton pomo
 
11月のささみ: pgRoutingって何?
11月のささみ: pgRoutingって何?11月のささみ: pgRoutingって何?
11月のささみ: pgRoutingって何?
 
OSMを使ったスマホ&Web開発入門
OSMを使ったスマホ&Web開発入門OSMを使ったスマホ&Web開発入門
OSMを使ったスマホ&Web開発入門
 
AFNetworking使ってみた
AFNetworking使ってみたAFNetworking使ってみた
AFNetworking使ってみた
 
スマホ開発者も使えるWireshark
スマホ開発者も使えるWiresharkスマホ開発者も使えるWireshark
スマホ開発者も使えるWireshark
 
来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall
来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall
来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall
 
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
 
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみたスマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
 
ベトナムにRoRを教えに行ったら大変なお土産をもらったでござる
ベトナムにRoRを教えに行ったら大変なお土産をもらったでござるベトナムにRoRを教えに行ったら大変なお土産をもらったでござる
ベトナムにRoRを教えに行ったら大変なお土産をもらったでござる
 
デバッガを使おう@ブラウザ勉強会#1
デバッガを使おう@ブラウザ勉強会#1デバッガを使おう@ブラウザ勉強会#1
デバッガを使おう@ブラウザ勉強会#1
 
(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop
(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop
(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop
 
デコメを送る
デコメを送るデコメを送る
デコメを送る
 
Mozilla コアハッカー育成計画(PDF)
Mozilla コアハッカー育成計画(PDF)Mozilla コアハッカー育成計画(PDF)
Mozilla コアハッカー育成計画(PDF)
 
Mozilla コアハッカー育成計画
Mozilla コアハッカー育成計画Mozilla コアハッカー育成計画
Mozilla コアハッカー育成計画
 

Recently uploaded

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (10)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

ゆるふわLinux-HA 〜PostgreSQL編〜

  • 2. 自己紹介(名前編) • まつざわたろう aka. btm • btm = Broken Taro Matsuzawa • Twitter: smellman • あだ名: 組長 • 過去にとある組織で組長をしていました
  • 3. 自己紹介(執筆編) • Firefox 3 Hacks, Firefox Hacks Rebooted (オライ リー・ジャパン) • Software Designで特集数回と半年間の連載 • C Magazineの特集でFirefoxのソースコード解説
  • 4. 自己紹介(趣味) • 音楽はエレクトロニカ、ブレイクコア中心 • Aphex Twin,Venetian Snares, Daedelus etc... • ラノベ好き • 年間100冊ぐらいしか読んでないけど • ゲームはシューティングとRPGが中心 • 怒首領蜂大復活クリアできない...orz
  • 5. 所属 • お仕事 • 合同会社Georepublic Japan • プライベート • スマートフォン勉強会(すまべん)@関東スタッフ • 日本UNIXユーザ会幹事 • LL eventスタッフ
  • 6. 職業的な話 • 学生時代にアルバイトでGISプログラマ • 他のアルバイトでデスマーチ経験 • キーボードの上を走る小人さんとか... • 現在三社目 • 地図系に戻りました(10年ぶり)
  • 7. エンジニアとして • Linux (1998∼) • Visual Basic(2002∼2006) • Java(2003∼) • Ruby(2009∼) • ちょっとしたネットワーク
  • 8. お断り • プログラマにネットワークエンジニアの真似 事をしてるぐらいの人間です。 • ネットワークを本業としたことは無いです。 • 開発案件のついでにネットワークをやってる だけです。 • 自宅のルータはTimeCapsuleですw
  • 9. 今日のネタ • PostgreSQL 9.1 の同期レプリケーション とLinux-HAを組み合わせて冗長化した 時の話です。
  • 10. 注意 • 昨年の12月から今年の1月ごろに前職で実際に 構築したネタを元に書いています。 • 覚えてる and 手元にログが残ってる範囲で書 いてます。 • デモ機作ろうとしたけど体力がなかったので デモ機無しで行きます。
  • 12. Linux-HA • Linux-HA Project(http://www.linux-ha.org/wiki/ Main_Page)が開発、メンテナンスをしている高 可用クラスタを構築するプロダクトを中心と した製品群のこと。 • Linux-HA Project以外からリリースされている 製品も一般的には含まれます。
  • 13. Linux-HA Project以外 • 有名なところではPacemaker(http:// clusterlabs.org/)やDRBD(http:// www.drbd.org/)も一緒に扱われます。 • DRBDはLinux Kernelにマージされてい ます。
  • 14. Linux-HA Japan • 国内でLinux-HA関係のプロダクトの開発支 援、普及活動を行なっている団体 • 全国各地のOSCに出展・講演を行なっている • 他にも勉強会の実施、講師として参加など をしている • 日本語の情報はまずここを
  • 16. まさかのCV付き 橋本まい 福原香織 新谷良子 田中理恵 日高里菜 丹下桜 日高里菜
  • 18. 何ができる? • 高可用クラスタとして「サービスを止めない システム」を構築できます。 • サービスを止めないと言ってもいろいろあり ます。 • Arpanetの通説である核戦争が起きても通信 ができるようにというのも一種ですよね...
  • 19. いろいろ • Linux-HAもいろんな止めないパターンがある • 僕が過去に扱ったのは2台でサービスを極力止 めないというパターンのみ • 3台以上とか予算ないもん... • あくまで僕がやった範囲で話をしますw
  • 20. 極力止めない • 良い物はぶっちゃけ予算がかかる • サーバに監視ポートとか... • 案件や人の使い方によってとかも • タクシー代は出ますよね... • エンジニアスキルとも兼ね合いです • 僕には無理ですw
  • 22. DBの冗長化 • PostgreSQLを例にとってもいくつかある • pg-pool IIなどのミドルウェアを利用 • DRBDを用いてディスクをまるごと冗長化 • PostgreSQL9.1からの同期レプリケーション とLinux-HAを併用するパターン
  • 23. 特徴を知る • 冗長化の手段は一長一短 • 銀の弾丸は無い • システムにあったものを選択する • まぁ普通だよね...(白目
  • 24. pg-pool IIの例 app 書き込みを 両方に行なう pg-pool pg pg
  • 25. pg-pool IIの例 app 検索は負荷 分散できる pg-pool pg pg
  • 26. pg-pool IIの例 app pg-poolが 障害ポイントに pg-pool pg pg
  • 27. DRBD app HDDまるごと 同期する vip HDD(master) HDD(slave) pg pg
  • 28. DRBD app PostgreSQLに 障害があったら vip HDD(master) HDD(slave) pg pg
  • 29. DRBD 同期を停止して Salve側のHDDを app マウントしてから PostgreSQLが起動 vip HDD(master) HDD(slave) pg pg
  • 30. 同期レプリケーション 書き込みは app masterを通して slaveへ vip pg pg
  • 31. 同期レプリケーション app masterに障害 があったら vip pg pg
  • 32. 同期レプリケーション レプリケーションを app 停止して vipを切り替えます vip pg pg
  • 33. 切り替え • DRBDの図及び同期レプリケーションの図でリ ソースをスイッチさせるのがLinux-HAのプロダ クト • クラスタ制御部とリソース制御部を組み合 わせる
  • 36. 3つのプロダクト • Pacemaker • リソース制御部 • Heartbeat • クラスタ制御部 • Corosync • クラスタ制御部
  • 37. 被ってる • HeartbeatとCorosyncが同じ役割... • Heartbeatの歴史を知るとわかりやす い
  • 38. Heartbeat と CRM CRM Pacemaker Common Library Heartbeat Heartbeat V2 Heartbeat Corosync V1 V3
  • 40. Heartbeat V3 • わりと安定してる • 多ノードには向いてない • 3ノード以上は大変らしい • スプリットブレインに弱い
  • 42. どちらを選ぶ? • 2ノードならHeartbeatがよいかも • 今回は触ってみたかった(本音)という理由で Corosyncを採用 • Heartbeat V1,V2やってたから飽きたんです よ...(もっと本音)
  • 44. 注意 • 情報が古いです • 2011年12月ごろの情報にそってます • Linux-HA Japanのパッケージは使っていません • 理由は特に無いのですが... • Resource Agentは本家にはマージされています • あくまで参考程度です
  • 45. ネットワーク vip(master) vip(slave) 192.168.1.103 192.168.1.104 DB1 DB2 eth0 eth0 192.168.1.101 192.168.1.102 eth1 eth1 192.168.2.1 192.168.2.2 eth2 eth2 192.168.3.1 192.168.3.2 eth3 eth3 192.168.4.1 192.168.4.2
  • 46. 構築手順 1. PostgreSQL 9.1をインストール 2. heartbeat, corosync, pacemakerをインストール 3. PostgreSQL 9.1用のResourceAgentをインストール 4. レプリケーションの設定 5. corosyncの設定 6. crmコマンドからpacemakerの設定
  • 47. PostgreSQLをインストール # wget http://yum.postgresql.org/9.1/redhat/ rhel-6-x86_64/pgdg-centos91-9.1-4.noarch.rpm # rpm -ivh pgdg-centos91-9.1-4.noarch.rpm # yum update # yum install postgresql91-server.x86_64 # /etc/init.d/postgresql-9.1 initdb PostgreSQL自体が配布しているyumを使うと便利
  • 48. heartbeat, corosync, pacemaker # wget http://ftp.yz.yamagata-u.ac.jp/pub/linux/ fedora/epel/6/x86_64/epel-release-6-5.noarch.rpm # rpm -ivh epel-release-6-5.noarch.rpm # yum install corosync.x86_64 heartbeat.x86_64 pacemaker.x86_64 Resource Agentの多くがheartbeatパッケージに 依存しているため、heartbeatが必要
  • 49. Resource Agent # wget https://github.com/t-matsuo/resource- agents/raw/pgsql91/heartbeat/pgsql # mv /usr/lib/ocf/resource.d/heartbeat/pgsql /usr/ lib/ocf/resource.d/heartbeat/pgsql.bak # install -m 755 pgsql /usr/lib/ocf/resource.d/ heartbeat/
  • 50. ここから先 • ここから先は、PostgreSQL 9.1対応のResource Agentの作者である t-matsuoさんの PostgreSQL 9.1 ストリーミングレプリケーション 対応 リソースエージェント https://github.com/t-matsuo/resource- agents/wiki/PostgreSQL-9.1-%E3%82%B9%E3%83%88%E3%83%AA %E3%83%BC%E3%83%9F%E3%83%B3%E3%82%B0%E3%83%AC %E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC %E3%82%B7%E3%83%A7%E3%83%B3%E5%AF%BE%E5%BF%9C- %E3%83%AA%E3%82%BD%E3%83%BC %E3%82%B9%E3%82%A8%E3%83%BC %E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88 に沿っています • Linux-HA Japanのパッケージを使っていないなどの差異があり ます
  • 52. 交換 (DB1からDB2へ鍵を生成してコピー) # su - postgres $ ssh-keygen $ scp .ssh/id_rsa.pub root@192.168.2.2:/tmp/ db1.pub (DB2で登録) # chmod 666 /tmp/db1.pub # su - postgres $ cat /tmp/db1.pub > .ssh/authorized_keys $ chmod 600 .ssh/authorized_keys .sshは存在すると仮定、同じ作業をDB2からDB1へも
  • 53. postgresql.conf(1) DB1では下記内容を追加 listen_addresses = '*' wal_level = hot_standby synchronous_commit = on archive_mode = on archive_command = 'cp %p /var/lib/pgsql/9.1/data/pg_archive/%f && scp -q %p postgres@192.168.2.2:/var/lib/pgsql/9.1/data/pg_archive/%f' max_wal_senders = 5 wal_keep_segments = 32 replication_timeout = 5000 hot_standby = on wal_receiver_status_interval = 2 restart_after_crash = off include = '/var/lib/pgsql/rep_mode.conf'
  • 54. postgresql.conf(2) DB2へscpでコピーしてから archive_commandを編集 archive_command = 'cp %p /var/lib/pgsql/9.1/data/pg_archive/%f && scp -q %p postgres@192.168.2.1:/var/lib/pgsql/9.1/data/pg_archive/%f' ようするにscpする向き先が変わるという感じ
  • 55. pg_hba.conf host all all 192.168.1.0/24 md5 host replication all 192.168.2.0/24 trust replication用にtrustを指定しておく (たぶん他の逃げ方あると思う...)
  • 57. pacemaker • crmコマンドで設定ファイルを流しこみます • 設定ファイルの例は長いのでt-matsuoさんの wikiを参考にしてください
  • 58. やりかた # crm crm(live)# configure crm(live)configure# (ここにコピペ) crm(live)configure# commit
  • 59. ステータス(crm_mon -A) ============ Last updated: Wed Apr 11 16:28:58 2012 Last change: Thu Apr 5 01:44:51 2012 via crm_attribute on db1.localdomain Stack: openais Current DC: db1.localdomain - partition with quorum Version: 1.1.6-3.el6-a02c0f19a00c1eb2527ad38f146ebc0834814558 2 Nodes configured, 2 expected votes 7 Resources configured. ============ Online: [ db1.localdomain db2.localdomain ] vip-slave (ocf::heartbeat:IPaddr2): Started db2.localdomain Master/Slave Set: msPostgresql [postgresql] Masters: [ db1.localdomain ] Slaves: [ db2.localdomain ] Clone Set: clnPingCheck [pingCheck] Started: [ db2.localdomain db1.localdomain ] Resource Group: master-group vip-master (ocf::heartbeat:IPaddr2): Started db1.localdomain vip-rep (ocf::heartbeat:IPaddr2): Started db1.localdomain Node Attributes: * Node db1.localdomain: + default_ping_set : 100 + master-postgresql:1 : 1000 + pgsql-data-status : LATEST + pgsql-master-baseline : 12:0000000030000000 + pgsql-status : PRI * Node db2.localdomain: + default_ping_set : 100 + master-postgresql:0 : 100 + pgsql-data-status : STREAMING|SYNC + pgsql-status : HS:sync
  • 60. とりあえず • Masterを落とすとSlaveがMasterに昇格したりし ます。 • あたりまえだ • 元のMasterを復帰するのに一工夫必要 • http://d.hatena.ne.jp/smellman/ 20120105/1325711325
  • 61. まとめ • 冗長化は怖くない! • 予算以外! • Linux-HAはどんどん進化している • Resource Agentを書くのは簡単だよ! • 書いたらgithubにpush request!