SlideShare a Scribd company logo
SoftLayer+Pacemaker
で構築するお手軽DR
2015/06/22
SoftLayer x Bluemix Girls Meetup Vol.1
1
今回のテーマのきっかけ
2
‣ SoftLayerは、「データセンター間通信無料」

ぜひとも活用してみたい……けど、

複数データセンターを用いた構成のシステムって

大型で作るのが大変なイメージ。
‣ OSS(Pacemaker)を使って、

小型システムでも活用できる

お手軽・低コストなDR環境を作れないか?

と思いついたのが今回のテーマです
‣ オープンソースのHAクラスタソフトウェア
Pacemakerって?
3
‣ 「実際に、Pacemakerがどんなことをしてくれる

のか」については、お話の中で説明します
※ 中身は硬派なソフトウェアです
今回作るもの
4
Webサーバ(東京)
Webサーバ(テキサス)
普段は東京がメインだけど、東京のサーバに問題が発生したら、
テキサス(Dallas)のほうが使えるようになる
めぇ∼
常にお互いが
通信してる
今回作るもの
5
Webサーバ(東京)
Webサーバ(テキサス)
普段は東京がメインだけど、東京のサーバに問題が発生したら、
テキサス(Dallas)のほうが使えるようになる
めぇ∼
常にお互いが
通信してる
今回作るもの
6
Webサーバ(東京)
Webサーバ(テキサス)
普段は東京がメインだけど、東京のサーバに問題が発生したら、
テキサス(Dallas)のほうが使えるようになる
めぇ∼
俺は何度
でも蘇る!
常にお互いが
通信してる
今回作るもの
7
Webサーバ(東京)
Webサーバ(テキサス)
普段は東京がメインだけど、東京のサーバに問題が発生したら、
テキサス(Dallas)のほうが使えるようになる
SoftLayerとPacemakerがあればたぶんできる!!
くらいの勢いでやってみました
めぇ∼
俺は何度
でも蘇る!
常にお互いが
通信してる
構築手順書(キリッ
8
‣ SoftLayerでサーバを作る
‣ DC間通信できるようにする
‣ 作ったサーバをWebサーバに仕立てあげる
‣ Pacemakerを入れて設定する
‣ 動作テストする
SoftLayerでサーバを作る
9
SoftLayerでサーバを作る
10
‣ SoftLayerでサーバ(Device)を作ります

ブラウザからアクセスして、注文するだけです
SoftLayerでサーバを作る
11
‣ 東京とテキサスに、それぞれサーバを作りました
OS CentOS 6.0
CPU 1core
MEMORY 1024MB
NIC
2枚
(パブリックNW、

 プライベートNW)
‣ 最小スペックで作っているため、

1時間あたり$0.04です
<参考>
サーバ作成完了!
DC間通信できるようにする
12
DC間通信できるようにする
13
‣ SoftLayerのポータルから、VLAN Spanningを

オンにするだけです
これで、2つの国に立てたサーバ同士が、
プライベートネットワークで通信できるように
なった……はず!
DC間通信できるようにする
14
‣ 各Webサーバから、お互いのプライベートIP

アドレスにpingを打って確かめてみました
DC間通信OK!!!
作ったサーバをWebサーバに
仕立てあげる
15
作ったサーバをWebサーバに仕立てあげる
16
‣ 動作確認用に、適当なHTMLを準備します
作ったサーバをWebサーバに仕立てあげる
17
‣ 動作確認用に、適当なHTMLを準備します
‣ CentOSにプリインストール

されていたApacheを

そのまま使用するため

東京・テキサスの

両サーバそれぞれに

/var/www/html/

直下にHTMLを配置

します
作ったサーバをWebサーバに仕立てあげる
18
# service httpd start
‣ 両サーバのApache HTTP Serverを起動
作ったサーバをWebサーバに仕立てあげる
19
# service httpd start
‣ 両サーバのパブリックIPに、ブラウザからアクセスします

どちらに繋いだかわかるように、画像変えてみました

‣ 両サーバのApache HTTP Serverを起動
<東京側:web01> <テキサス側:web02>
作ったサーバをWebサーバに仕立てあげる
20
# service httpd start
‣ 両サーバのパブリックIPに、ブラウザからアクセスします

どちらに繋いだかわかるように、画像変えてみました

‣ 両サーバのApache HTTP Serverを起動
<東京側:web01> <テキサス側:web02>
テスト用Webサーバ準備完了!
Pacemakerを入れて設定する
21
Pacemakerを入れて設定する
22
‣ 一旦、SoftLayerを使って、

2カ国それぞれにWebサーバができました
‣ ここから、

「普段は東京だけで動いていて、

 東京のWebサーバに障害があったときだけ

 テキサスにあるWebサーバが動き出す」

ということを、Pacemakerで実現します
Pacemakerを入れて設定する
23
‣ Linux-HA Japan http://linux-ha.osdn.jp/wp/

からダウンロードしたrpmを両サーバに送信

(ここでは、tmp直下に配置)
# rpm -ivh /tmp/pacemaker-repo-1.1.12-1.1.el6.x86_64.rpm
# yum install pacemaker-all
‣ 下記のコマンドを両サーバで実行し、

インストール完了
Pacemakerを入れて設定する
24
‣ 両サーバに、corosync(クラスタ制御機能)

の設定を行います。東京とテキサスのサーバを、

仲間同士だと認識させ、お互いの状態を

確認し合います
Webサーバ(東京)
Webサーバ(テキサス)
僕ら仲間だよー

みんな元気ー?
Pacemakerを入れて設定する
25
‣ 両サーバに設定投入
# vi /etc/corosync/corosync.conf
totem {
version: 2
crypto_cipher: none
crypto_hash: none
interface {
ringnumber: 0
bindnetaddr: <自身のプライベートIP>
mcastport: 5405
ttl: 1
}
transport: udpu
}
∼省略∼
nodelist {
node {
ring0_addr: <NODE1のプライベートIP>
nodeid: 1
}
node {
ring0_addr: <NODE2のプライベートIP>
nodeid: 2
}
# corosync-keygen
‣ Webサーバ(東京)で

認証キーを生成
‣ /etc/corosync/authkey

ができるので、

Webサーバ(テキサス)

に送付
Pacemakerを入れて設定する
26
‣ 続いて、Pacemaker(リソース制御機能)の

設定を行います

ここで、Webサーバ(東京)が、どうなったら

なにするの?についてを設定します
Webサーバ(東京)
Webサーバ(テキサス)
めぇ∼
めぇ∼
東京でhttpdが停止したら、
テキサスでhttpdを
立ち上げるよー
Pacemakerを入れて設定する
27
‣ crmコマンドで設定します

この設定は、Webサーバ(東京)のみでOK!
# crm
crm(live)# configure
crm(live)configure#
# property stonith-enabled="false" 
no-quorum-policy="ignore" 
default-action-timeout="60" 
default-resource-stickiness="60"
# rsc_defaults resource-stickiness="60" 
migration-threshold="1"
# primitive res_httpd ocf:heartbeat:apache 
params configfile="/etc/httpd/conf/httpd.conf" port="80"
op monitor interval="20s"
# group rg_web res_httpd
# verify
# commit
# exit
‣ 入力後は、エラーがないか

チェックしてからcommit
Pacemakerを入れて設定する
28
‣ 設定完了。両サーバで、正しく認識されているか確
認してみよう
# crm_mon -rfA
Pacemakerを入れて設定する
29
‣ 設定完了。両サーバで、正しく認識されているか確
認してみよう
# crm_mon -rfA
Pacemakerを入れて設定する
30
‣ 設定完了。両サーバで、正しく認識されているか確
認してみよう
# crm_mon -rfA
Pacemaker設定完了!
動作テストする
31
動作テストする
32
‣ 東京のhttpdだけ起動した状態からスタート
<東京側:web01> <テキサス側:web02>
動作テストする
33
‣ 東京のhttpdを手動で停止させる
<東京側:web01> <テキサス側:web02>
動作テストする
34
‣ 東京のhttpdを手動で停止させる
<東京側:web01> <テキサス側:web02>
pacemakerが検知して、web02のhttpdを起動
動作テストする
35
‣ Webサーバ(テキサス)のhttpdが起動
<東京側:web01> <テキサス側:web02>
動作成功!!!
まとめと振り返り
36
まとめと振り返り
37
‣ 今回、SoftLayerのDC間通信を活用したい!

Pacemakerを触ってみたい!

という動機で検証してみました
‣ あっさりめに書いてはいるものの、初めて触った

Pacemakerを動作するまでにもっていくまで、

数時間かかりました……動いて良かった。

(インストール方式が複数ある、

 設定項目が多く複雑、別ネットワークでのクラスタ構成

 の情報が少ない)
‣ サーバ作成からDC間通信までは30分程度で完了

ひたすらに、サーバ側の設定だけを行えば良かったのは

とても楽でした
まとめと振り返り
38
‣ SoftLayerのDC間通信は無料で使い放題。

今回のような簡単なDR環境であれば、

1時間あたり$0.08($0.04 2)で実現可能
‣ 今回は検証しなかったけれども、

グローバルロードバランサを使えば、

利用者に意識させずにアクセスの切り替えも可能?

‣ アプリサーバ、DBサーバを作って、

DBレプリケーションやディスク同期も行えば、

本格的なWebアプリケーションでも

DRできちゃう?
おしまい
39
参考にさせていただいたWebサイト
40
‣ Linux-HA Japan

http://linux-ha.osdn.jp/wp/
‣ プライベートネットワーク経由で異なるデータセンター間を接続する #softlayer

http://www.creationline.com/lab/6134
‣ Pacemakerでかんたんクラスタリング体験してみよう!

http://gihyo.jp/admin/serial/01/pacemaker
‣ OSSでLinuxサーバ構築

http://www.oss-d.net/drbd-pacemaker-corosync
‣ Qiita CentOS7 3台でクラスタ構築、仮想IPを体験

http://qiita.com/tukiyo3/items/3f8b99be73798df857fd
‣ Corosync と Pacemaker で作る HA 環境

http://blog.cloudpack.jp/2014/07/14/corosync-pacemaker-ha/
パワーポイント素材
41
‣ シンプルなKeynoteのテーマ作った-OL兼任Pythonアイドルのブログ-
ぴよぴよ.py

http://cocodrips.hateblo.jp/entry/2014/12/08/151222

https://github.com/cocodrips/keynote-themes




















More Related Content

PDF
Mattermost インストールハンズオン 2018年8月時点
PDF
Cocoa勉強会#61-メインスレッド外でNSURLConnection
PDF
Cocoa勉強会#62-新しい通信クラス群NSURLSessionを使ってみる
PPTX
分散システムについて語らせてくれ
PPTX
トランザクションの設計と進化
PDF
Linux女子部 systemd徹底入門
PPTX
Rancher meetup 20161007
PPTX
Consistency level
Mattermost インストールハンズオン 2018年8月時点
Cocoa勉強会#61-メインスレッド外でNSURLConnection
Cocoa勉強会#62-新しい通信クラス群NSURLSessionを使ってみる
分散システムについて語らせてくれ
トランザクションの設計と進化
Linux女子部 systemd徹底入門
Rancher meetup 20161007
Consistency level

What's hot (20)

PDF
cassandra 100 node cluster admin operation
PPTX
2012 0623-x-road-tokyo-xoops-x(ten)
PPTX
Cassandraのバックアップと運用を考える
DOC
cassandra調査レポート
PDF
今さらだけどMySQLとライセンス
PPTX
MySQLの運用でありがちなこと
PDF
WindowsでMySQL入門
PPT
Cassandra0.7
PPTX
Cloudstack nested kvm検証環境
PDF
[第38回FLOSS桜山勉強会]貧乏人のための仮想化Tips
PDF
VMwareで手っ取り早く社内システムをHAサーバ化してみました (bpstudy#38)
PDF
SDN界隈の用語・考え方をざっくりまとめます。
PPTX
Notes/Dominoのモニタリング機能(DDM)について
PDF
Mobageの技術を体験(MyDNS編)
PDF
Principles of Transaction Processing Second Edition 9章 4~9節
PPTX
60分でつかった気になるMicrosoft Azure
PDF
PowerDNSのご紹介
PDF
分散仮想ストレージシステム紹介
PDF
RDS for postgreSQLの作成
PDF
OpenVNet Updates 2013/11 in TremaDay#04
cassandra 100 node cluster admin operation
2012 0623-x-road-tokyo-xoops-x(ten)
Cassandraのバックアップと運用を考える
cassandra調査レポート
今さらだけどMySQLとライセンス
MySQLの運用でありがちなこと
WindowsでMySQL入門
Cassandra0.7
Cloudstack nested kvm検証環境
[第38回FLOSS桜山勉強会]貧乏人のための仮想化Tips
VMwareで手っ取り早く社内システムをHAサーバ化してみました (bpstudy#38)
SDN界隈の用語・考え方をざっくりまとめます。
Notes/Dominoのモニタリング機能(DDM)について
Mobageの技術を体験(MyDNS編)
Principles of Transaction Processing Second Edition 9章 4~9節
60分でつかった気になるMicrosoft Azure
PowerDNSのご紹介
分散仮想ストレージシステム紹介
RDS for postgreSQLの作成
OpenVNet Updates 2013/11 in TremaDay#04
Ad

Viewers also liked (20)

PDF
SoftLayerにゅうもん(2016/03/04 SoftLayer勉強会)
PDF
お天気情報をBotで通知する(Bluemix OpenWhisk)
PDF
Raspberry Piで撮った写真を共有するアプリ on SoftLayer
PDF
試して覚えるPacemaker入門 『リソース設定編』
PDF
Twilio+Node-REDで作る自動モーニングコール
PDF
クラウドって何?
PPTX
SoftLayer API で資産管理をお手伝い!
PDF
Raspberry Piの便利なインストーラーNOOBSを活用してみよう!
PPTX
モノづくりを楽しもう! ~ このデバイスとクラウドでできること
PDF
Zabbix による監視のあれこれ
PDF
第4回Linux-HA勉強会資料 Pacemakerの紹介
PDF
第0回データ保護勉強会 ~Linux-HA/Baculaのお話~
PDF
痛い目にあってわかる HAクラスタのありがたさ
PDF
Pacemakerを使いこなそう
PDF
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
PDF
他山の石勉強会 DRBD編
PDF
Vagrant+Ansibleで検証環境を簡単構築
PDF
PG-REXで学ぶPacemaker運用の実例
PDF
Ansible 2.0 のサマライズとこれから
PDF
SIerもはじめる わたしたちのDevOps #jjug_ccc
SoftLayerにゅうもん(2016/03/04 SoftLayer勉強会)
お天気情報をBotで通知する(Bluemix OpenWhisk)
Raspberry Piで撮った写真を共有するアプリ on SoftLayer
試して覚えるPacemaker入門 『リソース設定編』
Twilio+Node-REDで作る自動モーニングコール
クラウドって何?
SoftLayer API で資産管理をお手伝い!
Raspberry Piの便利なインストーラーNOOBSを活用してみよう!
モノづくりを楽しもう! ~ このデバイスとクラウドでできること
Zabbix による監視のあれこれ
第4回Linux-HA勉強会資料 Pacemakerの紹介
第0回データ保護勉強会 ~Linux-HA/Baculaのお話~
痛い目にあってわかる HAクラスタのありがたさ
Pacemakerを使いこなそう
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
他山の石勉強会 DRBD編
Vagrant+Ansibleで検証環境を簡単構築
PG-REXで学ぶPacemaker運用の実例
Ansible 2.0 のサマライズとこれから
SIerもはじめる わたしたちのDevOps #jjug_ccc
Ad

More from rina0521 (7)

PDF
Node redをはじめてみよう
PDF
おうちで完結するIoT
PDF
Engineering muscle training interface
PDF
M5Stack & Enebular
PDF
筋トレアプリつくってみた
PDF
Node-REDで簡単プロトタイピング
PDF
いまさら聞けないRaspberry Pi
Node redをはじめてみよう
おうちで完結するIoT
Engineering muscle training interface
M5Stack & Enebular
筋トレアプリつくってみた
Node-REDで簡単プロトタイピング
いまさら聞けないRaspberry Pi

Softlayer+Pacemakerで構築するお手軽DR