ここ最近,Zabbixが動いてるサーバが止まって,障害がおきてることにすら気づかなかったり…,と冗長化しないとなぁと思うことが増えたので,Heartbeat + Pacemaker + DRBD + OCFS2 + LXC をつかってさくらのVPS二台で冗長化する構成を構築してみました.ほかのところでも使えると思うので,メモも兼ねて書いておこうと思います.
Pacemakerで管理するリソースは次のようになります.
- LXCからインターネットに出る際のゲートウェイIPアドレス(仮想IPアドレス)
- LXCにIPアドレスを配布するDHCPサーバとローカル用DNSサーバ(Dnsmasq)
- DRBD
- ファイルシステムOCFS2のマウント
- LXCコンテナの起動
これだけ設定するとPacemakerのリソースモニタはこんな感じになります.
0 はじめに
これを実現するまでに,次の手順を踏みました.
- さくらのVPSを2台,同一リージョンで契約
- Ubuntuのインストール
- ローカル接続を使って2台のVPSを接続
- LXC用のブリッジインターフェースの作成と接続
- HeartbeatとPacemakerのセットアップ
- DRBDのセットアップ
- OCFS2のセットアップ
- LXCのセットアップ
- Dnsmasqのセットアップ
- アプリケーションの用途毎のコンテナの作成とNAPT等の設定
結構長くなると思うので,いくつかの記事にわけようと思います.
1 さくらのVPSの契約
まずはさくらのVPSを借りないと始まらないので,契約します.このときローカル接続するために同一リージョンで契約します.
また,データベース等,ディスクアクセスが多いアプリケーションを稼働させる場合にはSSDプランを選択したほうが良いと思います.
SSDプランの時点で石狩DC確定ですね.SSD 2Gプランを2台用意しました.
と,ここで出かける時間になったので続きはその2で.