Page 1 of 3123

別冊あんどりゅーくん(第3号)

Pacemaker Cloud v0.5.0の動作確認をしてみた \(^o^)/
Pacemaker Cloud Projectは、クラウド環境におけるHA機能の実装を目的としたプロジェクトです。
Pacemaker Cloudはクラウドを構成する各コンポーネントの故障や孤立を検知して
コンポーネントの再起動を実行します。
また、コンポーネントの再起動処理が指定回数以上失敗した場合は
下位レイヤへ故障をエスカレーションする機能も実装予定です。
ソースコードはこちらで公開されています。
ちょっと楽しげな雰囲気ですけど、ナンナンデスカコレハ?ということでキーワードをちょっと調べてみました。

Assembly

仮想マシンや監視エージェント、アプリケーションなどの集合体。
VM(Virtual Machine)と、ほぼ同義です。
監視エージェントは後述のMatahariを想定しています。
アプリケーションは、Pacemakerでいうところのリソース(=サービス)ですね。
DBとかWebサーバとかファイルシステムとかサービスを提供するためのアプリケーションです。

Deployable

Assembliesの集合体です。
異なる物理マシンで起動するVM(=Assmbly)も同じDeployableに含めることができます。

Deployable Policy Engine(DPE)

Deployableを制御するコンポーネントです。

Cloud Policy Engine(CPE)

クラウド上で実行される仮想環境間の依存関係や可用性を保証するコンポーネントです。
Deployableの起動 停止処理を実行します。

Matahari

システムを管理・監視するためのAPIの集合です。
Pacemakerのlrmdに似ています。
ノードおよびリソースの起動停止、監視処理を実行します。
これはPacemaker Cloudとは別のプロジェクトです。
ソースコードはこちらで公開されています。

Pacemaker Cloudのざっくりしたイメージ

正常起動時 → Assemblyがサービスを提供
Assemblyが提供しているサービスが故障 → DPEがサービスを再起動
Assembly(=仮想マシン)故障 → DPEが仮想マシンを再起動
サービスや仮想マシンの再起動が指定回数以上失敗 → DPEが別のAssemblyを起動
DPEが故障 → CPEがDPEを再起動(このときAssemblyは再起動しないはず)

んー、まだちょっとふらふらしたイメージなので、実際に環境構築をして動作を確認してみることにしました。
環境構築の手順は以下のサイトを参考にしました。
http://ahsalkeld.wordpress.com/a-mash-up-of-openstack-and-pacemaker-cloud/ http://ahsalkeld.wordpress.com/better-integration-of-openstack-and-pacemaker-cloud/
http://www.pixelbeat.org/docs/pacemaker-cloud/
Fedoraにはもう取り込まれているので、今回はFedora 16で動作を確認することにします。

. . . → Read More: 別冊あんどりゅーくん(第3号)

月刊あんどりゅーくん(2月号)

「一月は往ぬる、二月は逃げる、三月は去る」というわけで一月はいぬってしまいました。
いぬるってなんとなく意味わかるけどなんでしたっけこれ。
【往ぬる/去ぬる(いぬる)】
(元のいたところへ)帰る、(本来の場所へ)戻っていく、過ぎ去る、去る
【いぬ】のナ行変格活用連体形
ナ変!
【ナ行変格活用】
未然形-な
連用形-に
終止形-ぬ
連体形-ぬる
已然形-ぬれ
命令形-ね
この活用をするのは「死ぬ」「往ぬ(去ぬ)」の二語のみだそうです。
ナ変、積極的に活用していきましょう!
というわけで、今月もリリース情報と知恵袋です。

リリース情報

1. LCMC 1.1.2
2. Pacemaker Cloud 0.6.0
3. libqb 0.9.0
4. Corosync 2.0.0(リリース予定)
5. DRBDのバージョンについて
6. LCA 2012のレポート

1. Announce: LCMC 1.1.2 / Pacemaker, DRBD, KVM GUI
LCMCのversion 1.1.2が1月4日にリリースされました。
LCMCは、クラスタの状態を表示するためにPacemakerのptestコマンドを使用していたのですが
Pacemaker 1.1系ではptestコマンドが廃止され、crm_siumulateコマンドが導入されました。
crm_simulateコマンドは開発途中であるため、glibのバージョンによっては
コマンドの実行中に突然クラッシュしてしまうこともあるようです。
ただし、ptestとcrm_simulateが共存しない環境
つまりPacemaker 1.0系もしくはPacemaker 1.1系の単一環境においては
crm_simulateのクラッシュは報告されていないようです。
ptestの機能はcrm_simulateに引き継がれているので
機能的なデグレードは発生していません。
また、現段階ではあくまで「実験的な実装」なのですが、リモートホストに対してcrm shellを実行できるようになったようです。
実際に試したわけではないので、たんなる想像なのですが、
ホストのアイコンをクリックするとcrm shellのポップアップが表示されたり
ペインが切り替わったりするとかそういう感じなんですかね?
Rastoさん曰く、「機能が安定するまでは、デフォルトでdisabled(使用不可)にしようと思ってたけど
experimental(実験的)って但し書きをつけとけばびびって誰も使わないかなと思って、デフォルトで使えるようにしてみた」
ということなので、勇気のあるかたはクリッククリック!
 
2. [ANNOUNCE] Release of Pacemaker [...] . . . → Read More: 月刊あんどりゅーくん(2月号)

月刊あんどりゅーくん(1月号)

師走も最終局面な今日この頃ですが、今月もリリース情報と知恵袋です。
リリース情報はDRBD 8.4.1とBOOTHがメインです。
知恵袋ではPacemaker Cloudを紹介します。
1. リリース情報

1.1 DRBD 8.4.1
1.2 BOOTH
1.3 Debianパッケージ
1.4 LCMCの新機能
1.1 DRBD 8.4.1

DRBD 8.4.1がリリースされました!
8.4.0のバグフィックスが含まれているので、
8.4.0を使用している場合は8.4.1へのアップデートをお勧めします。

8.4.1に取り込まれた新機能は下記二点です。
* Read load balancing   diskセクションに「read-balancing」パラメータを追加
* Works with Linux-3.2   Linux 3.2対応

その他のバグフィックス、機能追加情報はこちら。
* Fixed a bug that might cause in kernel list corruption triggered by simultaneous IO on multiple volumes in a single resource
単一リソースに設定した複数のvolumesから同時にI/Oが発生するとカーネルのリストが
破壊されるというバグを修正しました。

* Fixed a bug that might cause a kernel OOPS [...] . . . → Read More: 月刊あんどりゅーくん(1月号)

月刊あんどりゅーくん(12月号)

いつのまにか師走インしていますが、今月もリリース情報と知恵袋です。
リリース情報の大きな目玉は下記2点です。

Pacemaker 1.0.12のリリース
Cluster-glue 1.0.9のリリース

知恵袋ではIPaddr2 RAの裏技(?)をご紹介します。
1. リリース情報

1-1. Pacemaker 1.0.12
Pacemaker 1.0系の最新版がリリースされました!
後述のCluster-glueとあわせて、Linux-HA Japanではrpmパッケージの公開準備を行っています。
もうしばらくお待ちください。
主な変更点
cib: Call gnutls_bye() and shutdown() when disconnecting from remote TLS connections
cib: Remove disconnected remote connections from mainloop
対向ノードが停止した場合、そのノードからの接続を完全に切断します。
crmd: Cancel timers for actions that were pending on dead nodes
crmd: Do not wait for actions that were pending on dead nodes
対向ノードが停止した場合、そのノードで実行されていたactionがペンディング状態となる場合あります。
ノードが停止している場合は、ペンディング状態となったactionのタイムアウトを待たずに即時に次のactionを実行します。
crmd: Ensure we do not attempt to perform [...] . . . → Read More: 月刊あんどりゅーくん(12月号)

月刊あんどりゅーくん(11月号)

ふりかえってみれば10月後半は結構リリースラッシュでした。
10月19日 Cluster-glue 1.0.8
10月23日 LCMC 1.0.2
10月24日 Ubuntu 10.04
10月28日 DRBD 8.3.12
リリース情報では、それぞれのリリースノートを簡単にご紹介します。
知恵袋は、Pacemaker 1.0.11 で Master/Slaveリソースを使用する場合の注意点および
遷移グラフを使用した解析方法をご紹介します。
(1) リリース情報
Cluster-glue 1.0.8のリリース
Clustre-glueは、lrmdやSTONITH、その他各種ライブラリを含むコンポーネントです。

The highlights:

新しい STONITH プラグイン(libvirt, vcenter, hetzner)が追加されました。
- new external/libvirt stonith plugin (thanks to Holger Teutsch)
- new external/vcenter stonith plugin (thanks to Nhan Ngo Dinh)
- new external/hetzner stonith plugin (thanks to RaSca)

sbd(storage-based death) が複数デバイスにも対応しました。
- support for multiple devices in sbd [...] . . . → Read More: 月刊あんどりゅーくん(11月号)

月刊あんどりゅーくん(10月号)

プラハで開催されるLinuxCon Europe 2011に間借りして
F2Fでミーティングしよう!と、らーすくんが言ってた例のやつですが
中止?と思いきや、やっぱり開催するようです。
CFP: HA Mini-Conference in Prague on Oct 25th
あんどりゅーくんも登場の予定。
アジェンダは特に決まっていないので、集まってきた人たちから
質問や提案があればそれを話し合うという感じになりそうです。
10月25日、プラハに行かれる方はぜひ。
あんどりゅーくんとらーすくん、ちら見するだけでも。
では、今回もリリース情報と知恵袋です。
(1) リリース情報
Announce: Two project changes
あんどりゅーくんからのお知らせ。

でじゃんくんが開発しているcrmシェルは別プロジェクトになります。
IPC(inter-process communication)やスケジューリングのライブラリを変更します。

確かに、ツールは別プロジェクトとしてわけていたほうがわかりやすいのかも。
ただねえ、Pacemakerは関連するパッケージがたくさんあって、ただでさえ複雑なので、これ以上増やしてほしくないなあ。

一方、ライブラリの変更はかなりイタイ。
下手すると、メッセージングレイヤとしてHeartbeatが使えなくなる可能性があります。
Heartbeat 3系はDRBDを開発しているLINBITがメンテナンスしてるんですが
LINBITはこのへん、どう思っているんですかねえ。
DRBDの場合、Pacemaker+Heartbeatの組み合わせが鉄板なんですが…。
あんどりゅーくん曰く、「互換性残せるように頑張ってみる」とのことですが、ホントに?
なんかHeartbeatに依存したライブラリは排除したいっていう臭いがぷんぷんするんだけど。
ちなみに、上記2点の変更はPacemaker 1.1系に影響してきます。
Pacemaker 1.0系には変更が入らないので、Pacemaker 1.0 + Heartbeat 3系の組み合わせには影響ありません。
ああ、LINBITもPacemaker 1.1系ではCorosyncに乗り換えていくのかもしれないですねえ。
ころちゃん、最近はお腹が痛くなったりしていないのかねえ。
Pacemaker 1.1系にも魅力的な機能がいろいろ追加されているのですが
(フェイルカウントの自動削除とかリソース配置の優先度付けとか)
安定性を重視するのであれば、Pacemaker 1.0.x + Heartbeat 3.0.x がおすすめです。

さて、GUI関連でもプロジェクトの変更がアナウンスされました。
DRBD-MC 0.9.9のリリース
LCMC(Linux Cluster Management Console) 1.0.0のリリース

LCMCはDRBD-MCのfork、ということですが、実質的にDRBD-MCは開発停止とみていいと思います。
DRBD-MCを開発していたRastoさん(らすとさん?)がLCMCを引き継ぐので
今後はLCMCの動向をおっかけたいと思います。
ところで、LCMCのクライアント、スクリーンショットを見てみたんですけど、ちょ!ロ ゴ www
[...] . . . → Read More: 月刊あんどりゅーくん(10月号)

月刊あんどりゅーくん(9月号)

あっという間に9月なわけですが
来月に予定されていたクラスタ集会@プラハは中止となりました。
あんどりゅーくんも、ふぁびおくんも、ふろーりあんくんも
主要な開発者が雁首そろえて「ごめーん、忙しーい」ということなので中止です。
F2Fのミーティングは無理だけど、webinarとか使ってオンラインでミーティングしようね!と、らーすくんが言っているので、興味のある方はこちらにご参加ください。
開催時間などが確定次第、メーリングリストなどでもご案内します。
というわけで今月も
(1) リリース情報
(2) 知恵袋
です。
(1) リリース情報
大きなリリースはありませんでしたが、あんどりゅーくんが着々とバージョンアップの準備を行っています。
先日、Pacemakerのリポジトリにversion 1.1.6のタグがつきました。
リリースの準備として、valgrindやcoverityを使用したコードチェックが実施されていますが、
valgrindで以下3点のメモリリークが検知されています。
High: PE: Fix memory leak for re-allocated resources reported by valgrind
Low: PE: Set the name of a xml node in the better way – Fix memory leak
High: PE: Resolve memory leak reported by valgrind
ただし、これらのコードはPacemaker 1.1.5のリリース後に混入しているので
Pacemaker 1.1.5もしくは、Pacemaker 1.0.10, 1.0.11を使用している場合は影響ありません。
Pacemaker 1.1.6のリリースに向けて、Pacemaker [...] . . . → Read More: 月刊あんどりゅーくん(9月号)

月刊あんどりゅーくん(8月号)

10月にプラハで開催予定のLinuxCon/Kernel Summitですが HAな人々もこれにあわせて25日に大集合ということになりました。 と思ったら、あんどりゅーくん、不参加やけどな。
あんどりゅーくんはいないけれども、興味のある方はぜひぜひご参加ください。

というわけで今月も
(1) リリース情報
(2) 知恵袋
です。
(1) リリース情報
・Corosync 1.4.1と1.3.3のリリース
今回のリリースでは、クラスタ再構成時の検知、例えば
冗長構成で死活監視をしているインターコネクトLANのかたっぽが切れちゃった後
ちゃんとネットワークがつなぎなおしたはずなのに
「まだつながってなくね?」と誤検知しちゃう問題が修正されています。
リリースノートらしきものが見つけられなかったので、TODOの比較してみたのですが
v1.3.3とv1.4.1ではSNMP関連で差分がありました。
v1.4系からははSNMPがサポートされています。
どんなトラップが飛んでくるかとかそのへんはまだよくわからないので
なにかわかったらまた別冊でご紹介しようと思います。

v1.3.3のTODO
——————————————————————————
topic-snmp
——————————————————————————
Main Developer: Steven Dake
Started: Not Started
Finished: 0%
target: needle
Description:
This topic involves investigation of adding SNMP support into Corosync.
v1.4.1のTODO
——————————————————————————
topic-snmp
——————————————————————————
Main Developer: Angus Salkeld
Started: Not Started ← あれ?未着手なのに
Finished: 100% ← 進捗が100%になってる!
target: needle
[...] . . . → Read More: 月刊あんどりゅーくん(8月号)

別冊あんどりゅーくん(第2号)

7月14日(金)と15日(土)に開催されたOSC2011 Kansai@Kyotoに行ってきました。
クリアフォルダ250枚と団扇300枚は2日目の
終了3時間前くらいになくなってしまいました。
次回のOSC@名古屋でも配布する予定なので
ご希望の方はお早めにブースまでお越しください。

 
 

 
 
 
 
 
 
 

 
また、猛暑にもかかわらず、2日目11時からのセミナーには40名の方に参加していただきました。
講師は「あ、eject の方?」でお馴染みの、たなかさんでした。おつかれさまでした!
当日の資料はこちらからダウンロードすることができます。
今回は、ブースでお留守番をしていたときにいただいた質問と、
セミナーの最後にいただいた質問をおさらいしてみようと思います。

ブースでいただいた質問
(1) Pacemakerは仮想環境でも使用できるか?
(2) 必要なNICの本数は?
(3) 事例は公開されているか?
(4) 将来の目標は?
(5) 読み方はピースメーカー?ペースメーカー?
(6) BSDで使えるか?

(1) Pacemakerは仮想環境でも使用できるか?

使えます。
OSC関西@京都のセミナーでは仮想環境でデモを行いました。
資料にも「本日のPacemakerデモ環境」として仮想環境でのクラスタ構成が紹介されています。
仮想環境の構成には

ゲストOSにPacemakerをインストールするパターン
ホストOSにPacemakerをインストールするパターン

の2パターンがあります。
ゲストOSにPacemakerをインストールするパターンは、ゲストOS≒物理サーバです。
ホストOSにPacemakerをインストールするパターンは、ゲストOSを「リソース」として
VirtualDomain RAで監視します。
ゲストOSのマイグレーションとかもできます。
このパターンでは、ゲストOS上で起動している特定のプロセスは監視できないので、
ホストOSにもゲストOSにもPacemakerをインストールする多層式の構成となる場合もあります。

(2) 必要なNICの本数は?
ノード間で生死を確認しあうためのインターコネクトLANは絶対に必要です。
なので、インターコネクトLAN用に最低でも1本は必要です。
ただし、インターコネクトLANは2本以上用意して冗長性を確保することが推奨されています。
その他にも、WebサーバやDBなど、外部からアクセスするための仮想IPアドレスが必要なサービスの場合は仮想IP用のサービスLANも必要となります。
サービスLANは2本以上用意して冗長性を確保することが推奨されています。
サービスLANを冗長化する場合はbondigを利用してください。
そういえば、インターコネクトLANはbondingしなくていいの?と思われるかもしれませんが、
メッセージングレイヤにHeartbeatを使用する場合は、bondingでもbondingでなくてもどっちでもいいです。
ただし、Corosyncを使用する場合はbondingを使用したほうがよいかもしれません。
Corosyncは複数のインターコネクトLAN構成で、接続が切れたり繋がったりしたときの
「表示系」がまだちょっと弱かったような気がする。。
動作は問題ないはず(たぶん)。
最近は直ってきたのかもしれません。v1.4でたし!?
一方、メッセージングレイヤにHeartbeatを使用する場合は、bondingを使わない場合が多いような気がします。
ha.cfにインターフェース名を複数書けばいいだけの話しなので、わざわざbondingにしなくてもいいよねえ、というかbondingドライバのバグにはまっちゃうとヤダとかそういうのもあったような気がする。
インターコネクトLAN、サービスLANの他に、管理者や運用担当者、もしくは運用管理ツールがPacemakerの実行状況などを確認するための管理LANも別系統であると便利かもしれません。
管理LANはそれほどがつがつ使うこともないはずなのでインターコネクトLANまたはサービスLANと兼用でも問題ありません。
DRBDも組み合わせて使用する場合は、DRBDの同期LANも必要となります。
DRBDは、一つの同期リソースにつき、1本の同期LANしか設定することができないので
bondingで冗長化することが推奨されています。
同期リソースが複数ある場合は、同期LANの本数を増やす、もしくは
1本の同期LANで複数のポートを使用することになります。
というわけで
最小構成(合計1本)

インターコネクトLAN    1本

冗長構成(合計7本)

インターコネクトLAN    2本
サービスLAN               2本(bondingで1本に集約)
管理LAN                     1本
DRBDの同期LAN          2本(bondingで1本に集約)

となります。

(3) 事例は公開されているか?
Linux-HA Japanの公式サイトで事例の公開は行っていません。
お隣にブースを出していただいた株式会社サードウェアさんのWebサイト「Linux-HA (DRBD) ユーザ事例」からDRBD関連の事例をダウンロードすることができます。
Linux-HA Japanの公式サイトにも事例を公開していきたいのですが、いろいろと大人の事情で難しいようですね…。
「公開しても問題ありません」という案件や実際に稼動しているシステムがあれば、ぜひメーリングリストまでご連絡ください。
 
(4) 将来の目標は?

ちょっとのけぞりましたが、これって今後のロードマップってことですね。
一瞬、小学校の卒業文集的なナニカかと思いましたよ…。
ちなみに、あんどりゅーくんのつくったロードマップはこちら。
ロードマップというより、これから実装していきたい機能の落書き帳的なものなので、実装予定期日は決まっていません。
他にも

仮想環境対応(キーワード:Matahari)
大規模クラスタ対応

などがメーリングリストで話題になっています。
 
(5) 読み方はピースメーカー?ペースメーカー?
ペースメーカーです。
ピースメーカーだと Peacemakerになっちゃう気がします。Pacemakerです。

(6) BSDで使えるか?
残念ながらBSDは未踏領域です。人柱大募集です。
Linux-HA Japan では、RedHat, CentOS用のRPMを作成していますが、
あんどりゅーくんの管理している clusterlabs からはFedora, openSUSE, [...] . . . → Read More: 別冊あんどりゅーくん(第2号)

月刊あんどりゅーくん(7月号)

今月も、先月にひきつづきリリースてんこもり月間でした。
というわけで、まずは各製品のリリース情報を簡単にご紹介します。
知恵袋では、crm シェルを使ってリソースの故障情報を削除する手順を解説します。

リリース情報
知恵袋

 
1. リリース情報

1.1 Linux-HA Japan Pacemakerリポジトリパッケージ 1.0.10-1.4.2 のリリース(2011/06/06)
以下の拡張パッケージが更新されています。

crmファイル編集ツール(pm_crmgen)
拡張リソースエージェント・プラグイン(pm_extras)
ログメッセージ制御機能(pm_logconv-hb)

詳細はこちらを参照してください。
1.2 rerource agents 3.9.1 のリリース(2011/06/16)
今回のリリースの特徴は、Linux-HAで開発してきたRAと
Red Hat Cluster Suiteに含まれるrgmanager用のRAが統合された点です。
Linux-HAのRAは前回のリリースが 1.0.4 だったのですが
rgmanager側が 3.1系のブランチを持っていたため
数字の大きなrgmanagerにあわせて、3.9.1 からのリリースとなりました。
rgmanagerは使わないから、Linux-HA用のRAだけインストールしたいなあ
という場合は、ビルド時に –with-ras-set オプションを指定する必要があります。
(with の前のハイフンは2個です)
デフォルトは –with-ras-set=all なので
Linux-HA も rgmanager もインストールされちゃいますが
–with-ras-set=linux-ha    とすると、Linux-HAだけ
–with-ras-set=rgmanager とすると、rgmanagerだけインストールすることができます。

RHEL6.1での操作例

# git clone http://github.com/ClusterLabs/resource-agents/
# cd resource-agents/
# git checkout v3.9.1
# ./autogen.sh
# [...] . . . → Read More: 月刊あんどりゅーくん(7月号)

Page 1 of 3123