別紙 : 検証環境の構築手順 ( 章 ) 1. サーバ設定 1.1 IP アドレス設定 サーバは以下の 6 台を用いる pgpool-ii サーバ 2 台 DB サーバ 3 台 上位サーバ 1 台 OS は全サーバで CentOS 6.4 x86_64 とする pgpool-ii のサー

Similar documents
CLUSTERPRO for Linux PostgreSQL HowTo

PostgreSQLによる クラスタ運用および負荷分散術 SRA OSS, Inc. 日本支社 OSS事業本部 星合 拓馬

PostgreSQL Plus 管理者ガイド

目次 1 環境 バージョン インストール環境 インストール手順 前提条件 CentOS SSHD の設定 VSFTPD の設定 コンテンツ管理 CGI のイ

Cuoreテンプレート

自己紹介 長田悠吾 ( ナガタユウゴ ) SRA OSS, Inc. 日本支社 マーケティング部 OSS 技術グループ pgpool-ii 開発者 PostgreSQL 関連の技術調査 OSS の技術サポート PostgreSQL の開発にも参加 Copyright 2015 SRA OSS, In

変更履歴 Version 日付 変更内容 /8/23 初版作成 /1/17 他ドキュメントのバージョンアップに伴い版数のみ更新 /6/13 他ドキュメントのバージョンアップに伴い版数のみ更新 /1/15 動作環境でインストールするソ

OpenAM 9.5 インストールガイド オープンソース ソリューション テクノロジ ( 株 ) 更新日 : 2013 年 7 月 19 日 リビジョン : 1.8

pgpool-ii で PostgreSQL のクラスタを楽々運用しよう OSC Tokyo 2014/12/12 SRA OSS, Inc. 日本支社マーケティング部 OSS 技術グループ 長田 悠吾

Lets移行プラットホーム

Alibaba Cloud [ ナレッジドキュメント ] AWS EC2 から Alibaba Cloud ECS へのマイグレーション手順 (Linux_PostgreSQL 版 ) AWS EC2 から Alibaba Cloud ECS への マイグレーション手順 (Linux_Postgre

スライド 1

防災マップ作成システムの開発業務基本設計書

HAクラスタで PostgreSQLを高可用化 (後編) ~ レプリケーション編 ~

2

JPUG 仕組み分科会 テキスト pgpool-ii のオンラインリカバリの概要 本稿は 2008 年 12 月発売の 技術評論社 WEB+DB PRESS vol. 48 の 特集 3 PostgreSQL 大規模運用 の草稿を 編集したものである

HeartCoreインストールマニュアル

Zabbix で PostgreSQL を監視! pg_monz のご紹介 Zabbix Conference Japan 年 11 月 20 日 SRA OSS, Inc. 日本支社マーケティング部

アプリケーションサーバ JBoss超入門

目次 はじめに フリープラグインリスト マイグレーションツール Cobalt Migration Utility Web サーバーの帯域制御プラグイン データベースプラグイン

目次 1. 動作環境チェック 動作必要環境 Java のインストール Java のインストール Firebird のインストール Firebird のインストール Adobe Reader のインストール

HeartCore(PHP 版 ) インストール手順について説明いたします なお 本資料は 例として下記内容を前提として説明しております 環境情報 対象 OS: Linux ( ディストリビューション : Red Hat Enterprise Linux Server) APサーバ : Apache

URoad-TEC101 Syslog Guide

はじめに 1. 概要本書では SuitePRO V3 にて提供している迷惑メールフィルタのバージョンアップ手順について案内しています なお この手順につきましては 迷惑メールフィルタ機能について オンラインマニュアルの内容通りに設定されていることを前提条件とします

HeartCoreインストールマニュアル(PHP版)

目次 1. はじめに 本文書の目的 前提条件 略語 事前準備 ホスト名の名前解決 Linux 版パッケージ システム要件 ソフトウェア要件 パッケージ構成

Microsoft Windows Internet Explorer は 米国 Microsoft Corporation の 米国およびその他の国における登録商標または商標です Linux は Linus Torvalds 氏の日本およびその他の国における登録商標または商標です Red Hat

日医特定健康診査システム ORCA PROJECT Linux 対応版インストールマニュアル (Version 対応 ) Debian Etch 用 版 2008 年 10 月 31 日 Copyright (C) 2008 Japan Medical Association

Microsoft Windows Internet Explorer は 米国 Microsoft Corporation の 米国およびその他の国における登録商標または商標です Linux は Linus Torvalds 氏の日本およびその他の国における登録商標または商標です Red Hat

BIGLOBE クラウドホスティングネットワーク設定パッチインストール手順 (CentOS6) 1.1 版 (2017 年 12 月 11 日 ) ビッグローブ株式会社

ftServerでのログの取得方法の概要

<MW-400k > InterSec/MW400k アップデート適用手順書 2017 年 8 月 1 版

演習に必要な

PGECons技術ドキュメントテンプレート Ver.3

スライド 1

Microsoft Word - XOOPS インストールマニュアルv12.doc

自己紹介 石井 達夫 Pgpool-IIコミュニティリード PostgreSQLコミッタ SRA OSS, Inc. 日本支社支 社長 長田 悠吾 Pgpool-II開発者 SRA OSS, Inc. 日本支社で PostgreSQL関連のサポー ト コンサル業務に従事 2

Auto Tracking Server Software 導入手順書

ファイルサーバ ご利用の手引き 第 1.0 版 2008 年 2 月 14 日 近畿大学総合情報システム部 (KUDOS)

付録

PostgreSQLによる データベースサーバ構築技法

Samba on CLUSTERPRO for Linux HOWTO

SLAMD導入手順

インストールガイド ネットワーク PA システムマネージャー AI-1000SM このたびは TOA ネットワーク PA システムマネージャーをお買い上げいただき まことにありがとうございます 本書は AI-1000SM ネットワーク PA システムマネージャーをセットアップするための手順書です 正

Microsoft Word - koutiku-win.doc

PowerPoint プレゼンテーション

任意の間隔での FTP 画像送信イベントの設定方法 はじめに 本ドキュメントでは AXIS ネットワークカメラ / ビデオエンコーダにおいて任意の間隔で画像を FTP サー バーへ送信するイベントの設定手順を説明します 設定手順手順 1:AXIS ネットワークカメラ / ビデオエンコーダの設定ページ

Helix Swarm2018.1アップグレード手順

POSTGRESQL 9.2 /POSTGIS (WINDOWS 版 ) 導入 設定手順書 (VER. 1) June 20, 2014

2. Docker の基本的な操作 1 docker hub の参照 2 DockerHub の Explorer リンクからアプリケーションを参照 3 アプリケーション検索 4 tag について 3. docker 基本コマンド 1 docker の

テクニカルドキュメントのテンプレート

目次 1. 改版履歴 概要 WEB 版薬剤在庫管理システムのインストール 事前準備 インストール アプリケーションのセットアップ WEB 版薬剤在庫管理システムの初期設定

SVN UUID の不一致と SVN のデータ同期

( 目次 ) 1. WordPressインストールガイド はじめに 制限事項 サイト初期設定 WordPressのインストール ( コントロールパネル付属インストーラより ) WordPressのインストール ( 手動インス

KDDI ホスティングサービス G120 KDDI ホスティングサービス G200 WordPress インストールガイド ( ご参考資料 ) rev.1.2 KDDI 株式会社 1

スライド 1

VN-M _RHEL4Install_jp.pdf

XAMPP で CMS のお手軽 テスト環境を手に入れよう 2011/5/21 上村崇 1

Cisco DCNM サーバのインストール

Cisco MXE のリカバリ

2-3- 基 Linux のシステム管理に関する知識 1 独立行政法人情報処理推進機構

Samba Install and Update Guide

IVEXダブルブラウザLinux

目次 1. 改版履歴 概要 WEB 版薬剤在庫管理システムのインストール 事前準備 インストール アプリケーションのセットアップ 日レセと連携するための有効化設定 WEB

RDP 接続不具合パッチ適用手順 第 1.11 版更新日 :2016/8/30 NTT コミュニケーションズ株式会社

Microsoft Word - WE-InstMan382J sol.doc

1 1 CentOS Java JDK(JavaSE Development Kit)......

PowerPoint プレゼンテーション

Pirates Buster Series Secure Viewer セットアップマニュアル (Web インストーラ)

A : kerl kerl Erlang/OTP Erlang/OTP 2 2 Elixir/Phoenix URL 2 PDF A.2 Bash macos.bash_profile exp

科学技術振興機構 D-RE デモ環境導入ガイド DEOS プロジェクト 目次 1 はじめに 準備 dre ユーザの追加 D-RE の導入 システムコンテナの作成 システムコンテナの起動... 6

Upload path ファイル送信先ディレクトリのパスを指定します ホームディレクトリに画像を送信する場合は空白のまま サブディレクトリに画像を送信する場合はディレクトリ名を指定します さらに下位のディレクトリを指定する場合は \ マークを利用します 例 ) ホームディレクトリ以下の camera

Upload path ファイル送信先ディレクトリのパスを指定します ホームディレクトリに画像を送信する場合は空白のまま サブディレクトリに画像を送信する場合はディレクトリ名を指定します さらに下位のディレクトリを指定する場合は \ マークを利用します 例 ) ホームディレクトリ以下の camera

スライド タイトルなし

ftServerでのログの取得方法の概要

改版履歴 Ver. 日付履歴 1.0 版 2014/5/30 目次 0 はじめに 本文中の記号について Windows Server Failover Cluster をインストールするための準備 Windows Server Failover

MxLogonサーバサイドツールキット用UI

ログインおよび設定

Attain3 インストール説明書

OSSTechドキュメント

目次 1. はじめに ライセンス証書の受領 ライセンス証書に含まれる内容 環境前提条件 準備 インストール環境の確認 リポジトリ設定 Cent OS

2. FileZilla のインストール 2.1. ダウンロード 次の URL に接続し 最新版の FileZilla をダウンロードします URL: なお バージョンが異なるとファイル名が

スライド 1

2013 科学技術振興機構 D-RE デモ環境導入ガイド DEOS プロジェクト 目次 1 はじめに 準備 dre ユーザの追加 D-RE の導入 システムコンテナの作成 システムコンテナの起動

日医特定健康診査システム ORCA PROJECT Linux 対応版インストールマニュアル (Version 対応 ) Ubuntu Trusty 用 版 2017 年 2 月 23 日 Copyright (C) Japan Medical

PGECons技術ドキュメントテンプレート Ver.3

WebARENA SuiteX V2 EC-CUBE 2.13 インストールマニュアル ( 標準 MySQL+ 非 SSL ) 作成 :2014 年 2 月 Ver.1.1

( 目次 ) 1. Joomla! インストールガイド はじめに 制限事項 サイト初期設定 Joomla! のインストール はじめに データベースの作成 Joomla! のインストール...

薬剤在庫管理ソフト - インストール・バージョンアップ手順書

テクニカルドキュメントのテンプレート

Another HTML-lint 導入マニュアル(JSP)版

( 目次 ) 1. XOOPSインストールガイド はじめに 制限事項 サイト初期設定 XOOPSのインストール はじめに データベースの作成 XOOPSのインストール

VPS では 通 常 はインスタンスが 1 個 です 停 止 と 再 起 動 を 選 択 できます CloudStack では インスタンスの 追 加 と 破 棄 の 機 能 を 利 用 することにより お 客 様 が 契 約 されているインスタンス 数 分 の 仮 想 サーバを 自 由 に 追 加

ServerView RAID Manager VMware vSphere ESXi 6 インストールガイド

Fortinet 社 FortiExplorer 操作マニュアル 株式会社ネットワークバリューコンポネンツ 第一版 Page1 Network Value Components Ltd. Copyright (c)2012 Network Value Components Ltd. All Righ

ServerViewのWebアクセス制限方法

薬剤在庫管理ソフト - インストール・バージョンアップ手順書

iStorage ソフトウェア VMware vCenter Plug-in インストールガイド

目次 1. はじめに x-servlet の SNMP エージェント設定... 3 ACL ファイルの作成... 3 start.bat の編集 サーバ ID によるサーバ再接続設定... 5 irule の作成... 5 Persistence Profile の作

目次 1) コンソール使用について注意 ) 全体の流れ ) SSH キーの登録 ) Linux サーバーの作成... 4 Web サーバーへの Apache と WordPress インストール... 5 DB サーバーへの MariaDB インストール 設定..

Transcription:

別紙 : 検証環境の構築手順 (13.1.1 章 ) 1. サーバ設定 1.1 IP アドレス設定 サーバは以下の 6 台を用いる pgpool-ii サーバ 2 台 DB サーバ 3 台 上位サーバ 1 台 OS は全サーバで CentOS 6.4 x86_64 とする pgpool-ii のサーバは NIC を 3 つ持っているとする (eth0, eth1, eth2) このうち eth0 をサービス提供と DB 接続 残りの eth1, eth2 をハートビート通信回線に用いる 各サーバの /etc/sysconfig/ifcfg-ethx を編集して 以下の固定 IP アドレスを割り当てる ネットマスクは全て 255.255.255.0 とする pgpool-ii サーバ 1: eth0: 192.168.100.101 eth1: 192.168.98.101 eth2: 192.168.99.101 pgpool-ii サーバ 2: eth0: 192.168.100.102 eth1: 192.168.98.102 eth2: 192.168.99.102 上位サーバ : 192.168.100.10 DB サーバ 1: 192.168.100.11 DB サーバ 2: 192.168.100.12 DB サーバ 3: 192.168.100.13 また 仮想 IP アドレスとして 192.168.100.200 を用いる 1.2 事前に必要なソフトウェアのインストール pgpool-ii サーバ DB サーバには PostgreSQL 9.3 を rpm でインストールしておく # wget http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm # rpm -U pgdg-centos93-9.3.1.noarch.rpm # yum install postgresql93 postgresql93-server postgres ユーザのホームディレクトリは全サーバで同じ (/var/lib/pgsql) であることを前提とする postgres ユーザのパスワードを postgres にしておく pgpool-ii サーバには以下がインストールされていることを確認し もしなければインストールしておく ( これらは全て pgpooladmin のインストールのために必要 ) 1/7

httpd php-pgsql php-mbstring php 1.3 その他設定 全サーバで iptables, SELinux は無効にしておく ntpd を設定し 時刻を合わせておく ( 上位サーバ 192.168.100.10 を基準とする ) 各サーバのホスト名 (hostname コマンドの実行結果 ) で 他のサーバからアクセスできるようにしておく 各サーバの /etc/hosts に以下のホスト名を追加する 192.168.100.101 pgpool_server1 192.168.100.102 pgpool_server2 192.168.100.10 trusted_server 192.168.100.11 db_server1 192.168.100.12 db_server2 192.168.100.13 db_server3 各サーバの /etc/sysconfig/network を編集して HOSTNAME に各々のホスト名を設定する 2. pgpool-ii サーバの設定 2.1 インストーラの実行 pgpool-ii はコミュニティ wiki 1 で配布されているインストーラ (installer-pg93-3.3.2.tar.gz) を使ってインストールする インストーラに含まれる install.sh を root ユーザで実行する まず pgpool-ii サーバ 1 で install.sh を実行する node 0 には 192.168.100.101 を指定 node 1 には 192.168.100.102 を指定 Is this node 0? には yes と入力 途中何度か postgres のパスワード入力を求められるので postgres と入力 pgpooladmin のユーザ名 / パスワードは 両方共 admin と入力 replication mode は stream と入力 load balancing, query cache, watchdog には全て yes と入力 delegate IP address には 192.168.100.200 と入力 method of watchdog lifecheck は heartbeat と入力 pgpooladmin の言語は ja と入力 その他は 全てデフォルト値 or yes と入力 次に pgpool -II サーバ 2 で install.sh を実行する 1 http://www.pgpool.net node 0 には 192.168.100.101 を指定 node 1 には 192.168.100.102 を指定 Is this node 0? には no と入力 途中何度か postgres のパスワード入力を求められるので postgres と入力 あとの質問には全て yes と入力 2/7

2.1 設定済みの内容 インストーラにより apache ユーザから pgpool-ii を利用するための環境が設定されている (apache ユーザなのは pgpooladmin の利用を前提としているため ) 2.1.1 自動フェールオーバ ( 設定済み ) インストーラにより以下のスクリプトが作られており 設定済みなので そのまま利用する /etc/pgpool-ii/failover.sh pgpool.conf の failover_command で指定されている DB ノードがダウンしたときに実行されるスクリプト プライマリ DB がダウンした場合には pg_ctl promote を実行してスタンバイ DB を新プライマリに昇格させる フェイルオーバのログは /var/log/pgpool/failover.log に出力される 2.1.2 ifconfig/arping 実行権限の設定 ( 設定済み ) watchdog では仮想 IP の制御に ifconfig/arping を用いるため 部分的に root 権限が必要になる インストーラにより自動的に setuid が設定された ifconfig/arping が用意され apache ユーザのみがアクセス できるディレクトリ (/var/private/nobody) に格納されているのでこれをそのまま利用する 2.2 設定の変更 バックエンド 上位サーバ watchdog のハートビート信号の設定を変更する /etc/pgpool-ii/pgpool.conf を以下のように編集する 2.2.1 バックエンド情報を修正 backend_hostname0 = '192.168.100.11' backend_port0 = 5432 backend_weight0 = 1 backend_data_directory0 = '/var/lib/pgsql/data' #backend_flag0 = 'ALLOW_TO_FAILOVER' backend_hostname1 = '192.168.100.12' backend_port1 = 5432 backend_weight1 = 1 backend_data_directory1 = '/var/lib/pgsql/data' #backend_flag1 = 'ALLOW_TO_FAILOVER' #backend_hostname2 = '192.168.100.13' #backend_port2 = 5432 #backend_weight2 = 1 #backend_data_directory2 = '/var/lib/pgsql/data' #backend_flag1 = 'ALLOW_TO_FAILOVER' 最後のバックエンド情報がコメントアウトされているのは バックエンドを追加するテストケースのための準備 3/7

2.2.2 上位サーバを追加 trusted_servers = '192.168.100.10' 2.2.3 ハートビート信号の送り先を修正 (pgpool-ii サーバ 1) heartbeat_destination0 = '192.168.98.102' heartbeat_destination_port0 = 9694 heartbeat_device0 = '' heartbeat_destination1 = '192.168.99.102' heartbeat_destination_port1 = 9694 heartbeat_device1 = '' (pgpool-ii サーバ 2 heartbeat_destination0 = '192.168.98.101' heartbeat_destination_port0 = 9694 heartbeat_device0 = '' heartbeat_destination1 = '192.168.99.101' heartbeat_destination_port1 = 9694 heartbeat_device1 = '' 2.3 SSH の設定 pgpool-ii サーバの apache ユーザから 各 DB サーバの postgres ユーザにパスワード無しで SSH ができるようにする 各 pgpool-ii サーバで以下を実行する # su - apache $ ssh-copy-id postgres@192.168.100.11 $ ssh-copy-id postgres@192.168.100.12 $ ssh-copy-id postgres@192.168.100.13 各サーバの ~apache/.ssh/config ( または /etc/ssh/ssh_config) に以下を記載する StrictHostKeyChecking no 3 DB サーバの設定 3.1 pgpool-ii が内部で使用する C 言語関数のインストール 全ての DB サーバで インストーラに含まれる pgpool-ii-pg93-3.3.2-1.pgdg.x68_64.rpm をインストールしておく 3.2 ディレクトリの作成 全ての DB サーバで以下のディレクトリを作成する 4/7

WAL アーカイブディレクトリ # mkdir -p /var/lib/pgsql/archivedir # chown postgres.postgres /var/lib/pgsql/archivedir ログディレクトリ ( オンラインリカバリ時のログが格納される ) # mkdir -p /var/log/pgpool # chmod 777 /var/log/pgpool 3.3 設定ファイルのインストール DB サーバ 1( のみ ) で以下の設定を行う 1. 事前に pgpool-ii サーバの installer ディレクトリ内 editted に インストーラにより作成された設定ファイル一式があるので DB サーバ 1 の適当なディレクトリ ( 仮に files とする ) にコピーしておく 2. クラスタを作成する # su postgres $ initdb -D ~postgres/data --no-locale -E UTF8 3. 作成された data フォルダに files の中の postgresql.conf, pg_hba.conf, basebakup-stream.sh, pgpool_remote_start, config_for_script をコピーする 4. basebackup-stream.sh, pgpool_remote_start のパーミッションは 755 に config_for_script のパーミッションは 444 に変更する 5. basebackup-stream.sh を以下のように編集 @@ -5,21 +5,12 @@ dest_host=$2 dest_dir=$3 -source /etc/pgpool-ii/config_for_script +source./config_for_script log=$pgpool_log_dir/recovery.log -if [ $dest_host = $NODE0_HOST ]; then - master_host=$node1_host - master_port=$node1_port - -elif [ $dest_host = $NODE1_HOST ]; then - master_host=$node0_host - master_port=$node0_port - -else - exit 1 -fi +master_host=$hostname +master_port=5432 5/7

echo "----------------------------------------------------------------------" >> $log date >> $log 6. pgpool_remote_start を以下のように編集 @@ -7,7 +7,7 @@ fi exit 1 -source /etc/pgpool-ii/config_for_script +source./config_for_script dest_host=$1 dest_dir=$2 なお 各スクリプトの役割は以下の通り /var/lib/pgsql/data/basebackup-stream.sh pgpool.conf の recovery_1st_stage_command オプションで指定されている DB ノードをオンラインリカバリするときに実行されるスクリプト プライマリ DB のベースバックアップを取得する ログは /var/log/pgpool/recovery.log に出力される /var/lib/pgsql/data/pgpool_remote_start DB ノードをオンラインリカバリした直後に実行されるスクリプト リカバリ後の DB を再起動させる 3.4 DB の設定 DB サーバ 1( のみ ) で以下の SQL を実行する admin user (super user) を作成 # CREATE USER admin PASSWORD 'admin' SUPERUSER; EXTENSION をインストール psql -p 5432 -U postgres template1 -c "CREATE EXTENSION pgpool_regclass;" psql -p 5432 -U postgres template1 -c "CREATE EXTENSION pgpool_recovery;" 3.5 SSH の設定 DB サーバの postgres ユーザから 他の DB サーバの postgres ユーザにパスワード無しで SSH できるようにする 各 DB サーバで以下を実行 # su - postgres $ ssh-copy-id postgres@192.168.100.11 $ ssh-copy-id postgres@192.168.100.12 6/7

$ ssh-copy-id postgres@192.168.100.13 ~postgres/.ssh/config ( または /etc/ssh/ssh_config) に以下を記載 StrictHostKeyChecking no 3.6 DB サーバ 2 をオンラインリカバリで作成 3.6.1 DB サーバ 1 で PostgreSQL を起動 $ /usr/pgsql-9.3/bin/pg_ctl -D /var/lib/pgsql/data start 3.6.2 各 pgpool-ii サーバで pgpool-ii を起動 ブラウザで以下の URL ユーザ パスワードで pgpooladmin にログインし GUI から pgpool-ii を起動する URL: http://192.168.100.101/pgpooladmin/ (http://192.168.100.102/pgpooladmin/) ユーザ : admin パスワード : admin 3.6.3 DB サーバ 2 をオンラインリカバリ pgpooladmin のリカバリボタンを押下する または以下の様に pcp コマンドでリカバリする $ pcp_recovery_node 0 localhost 9898 admin admin 1 これにより DB サーバ 2 がスレーブとして起動する 7/7