月刊あんどりゅーくん(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 Cloud 0.6.0

Pacemaker Cloudのversion 0.6.0が1月25日にリリースされました。

追加された機能の一覧

  • OpenStackとの連携機能を追加しました。
  • パッケージを分割しました(詳細は後述)。
  • assemblyにUbuntuのサポートを追加しました

現在サポートされているOSはFedora 14, 15, 16, RHEL 6.1, Ubuntu 10.03です。
現在サポートされているアーキテクチャはx86_64のみです。

  • WordPressとMySQLのデモンストレーションを追加しました。
  • イベント実行時に出力されるメッセージを改善しました。
  • assemblyの生成時にsshのキーを追加しました。
  • 故障回復からのエスカレーション機能を実装しました。
  • いくつかのバグを修正しました。
  • パフォーマンスの改善をおこないました。

パッケージの分割について
メーリングリストにこのような提案がポストされたことがありました。
Pacemaker Cloudはaeolus, libvirt, openstack, ovirtとの連携を目指しているのですが

ぞれぞれのパッケージに依存するコンポーネントは別々にインストールできるようにしたいというのが提案の主旨です。
上記の提案がいよいよv0.6.0に取り込まれたようなので、Fedora 16でRPMをつくってみました。

# cat /etc/fedora-release
Fedora release 16 (Verne)
# uname -a
Linux fedora16 3.1.9-1.fc16.x86_64 #1 SMP Fri Jan 13 16:37:42 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
# yum-builddep pacemaker-cloud
# git clone http://github.com/pacemaker-cloud/pacemaker-cloud
# git checkout v0.6.0
# ./autogen.sh
# ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc
# make rpm

Wrote: /home/ikedaj/pacemaker-cloud/pacemaker-cloud-0.6.0-1.fc16.src.rpm
Wrote: /home/ikedaj/pacemaker-cloud/x86_64/pacemaker-cloud-0.6.0-1.fc16.x86_64.rpm
Wrote: /home/ikedaj/pacemaker-cloud/x86_64/pacemaker-cloud-debuginfo-0.6.0-1.fc16.x86_64.rpm
Wrote: /home/ikedaj/pacemaker-cloud/x86_64/pacemaker-cloud-core-0.6.0-1.fc16.x86_64.rpm
Wrote: /home/ikedaj/pacemaker-cloud/x86_64/pacemaker-cloud-libvirt-0.6.0-1.fc16.x86_64.rpm
Wrote: /home/ikedaj/pacemaker-cloud/x86_64/pacemaker-cloud-openstack-0.6.0-1.fc16.x86_64.rpm

あ、ほんとだ。なんか増えてる。
ちなみにv0.5.0はこんな感じです。

# git checkout v0.5.0
# ./autogen.sh
# ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc
# make rpm

Wrote: /home/ikedaj/pacemaker-cloud/pacemaker-cloud-0.5.0-1.fc16.src.rpm
Wrote: /home/ikedaj/pacemaker-cloud/x86_64/pacemaker-cloud-0.5.0-1.fc16.x86_64.rpm
Wrote: /home/ikedaj/pacemaker-cloud/x86_64/pacemaker-cloud-debuginfo-0.5.0-1.fc16.x86_64.rpm

せっかくRPMをつくったのでv0.6.0をインストールしてみました。

# cd /home/ikedaj/pacemaker-cloud/x86_64
# rpm -ihv pacemaker-cloud-0.6.0-1.fc16.x86_64.rpm
error: Failed dependencies:
 pacemaker-cloud-core = 0.6.0-1.fc16 is needed by pacemaker-cloud-0.6.0-1.fc16.x86_64
 pacemaker-cloud-libvirt = 0.6.0-1.fc16 is needed by pacemaker-cloud-0.6.0-1.fc16.x86_64
 pacemaker-cloud-openstack = 0.6.0-1.fc16 is needed by pacemaker-cloud-0.6.0-1.fc16.x86_64

おい。結局、openstackとの依存関係はあるんかい。
そういやaeolusとかovirtはどこいったんだ。
依存関係、えらいっこちゃです。

# grep Requires pacemaker-cloud-0.6.0/pacemaker-cloud.spec.in
Requires: %{name}-core = %{version}-%{release}
Requires: %{name}-libvirt = %{version}-%{release}
Requires: %{name}-openstack = %{version}-%{release}
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: glib2-devel
BuildRequires: dbus-glib-devel
BuildRequires: libxml2-devel
BuildRequires: libqb-devel
BuildRequires: pacemaker-libs-devel
BuildRequires: libtool-ltdl-devel
BuildRequires: qmf-devel
BuildRequires: libxslt-devel
BuildRequires: libmicrohttpd-devel
BuildRequires: systemd-units
BuildRequires: libcurl-devel
BuildRequires: python-nova
BuildRequires: python-glance
Requires: python-daemon
Requires: python-qmf
Requires: qpid-cpp-server
Requires: oz > 0.5.0-1
Requires: %{name}-core = %{version}-%{release}
Requires: %{name}-core = %{version}-%{release}
Requires: openstack-nova
Requires: python-nova
Requires: openstack-glance
Requires: python-glance

しょうがないのでopenstackナントカたちもインストールしました。

# yum install openstack-glance
# yum install openstack-nova

めんどくさくなってきたので、とりあえず全部インストールしました。

# rpm -ihv pacemaker-cloud-*
Preparing...                ########################################### [100%]
 1:pacemaker-cloud-core   ########################################### [ 20%]
 2:pacemaker-cloud-libvirt########################################### [ 40%]
 3:pacemaker-cloud-opensta########################################### [ 60%]
 4:pacemaker-cloud        ########################################### [ 80%]
 5:pacemaker-cloud-debugin########################################### [100%]

ブローカーを起動させます。

# systemctl start pcloud-cped.service

v0.5.0でつくったデモが動くかなー。

# pcloudsh deployable_start dep01

ゲストの起動は成功しましたが、ゲストに定義したリソースが起動しませんでした。
ノード故障を発生させても無反応でした。
(´・ω・`)
まだ設定が甘いんだな…。

v0.5.0のデモは「別冊あんどりゅーくん」でご紹介する予定です。
試してみたことは、このリンクとほとんど同じことなのでこちらも参考にしてください。
「クラウド」とか偉そうなこといってるけど、まだv0.5.0だからたいしたことはできませんよーだ。

ところで、Pacemaker Cloudの環境構築を行う際は
ホストに pacemaker-cloud、ゲストに matahari, resource-agentsをインストールします。
ホストの pcloud-qpidd.service をブローカ、
ゲストの matahari-host.service, matahari-service.service をエージェントとして
Qpid Management Framework(QMF)に準拠したメッセージが
Advanced Message Queuing Protocol (AMQP) を使用してやり取りされます。
そして!我らがStevenくん曰く!
「MQじゃなくて!sshでノードとかリソースとかの状態を監視するっていうのもアリじゃね!」
というわけで、こちら。
Adding second monitoring method to Pacemaker Cloud – sshd

ノードの生死確認はuptimeを使ったりしています。
v0.7.0から利用可能な機能です。

Pages: 1 2 3

Comments are closed.