(open)SUSE には YaST という強力な管理ツールが備わっているのであまり必要性は感じないかもしれませんが、いろいろなディストリビューションで使える Webmin という管理ツールがあります。私の場合、UNIX に関する知識を持っていない者に管理業務の一部を委任したいときなど(例えば、単純に「再起動してね」なんてことを頼むような場合)、Webmin を仕込んでおくと説明が簡単になるので、結構重宝してたりします。また、Webmin のユーザ管理用モジュールといえる Usermin も、例えば登録した Samba ユーザに「初期パスワードを自分固有のパスワードに替えてね」なんてお願いしたいときなど、このインターフェイスを通じてやってもらうと簡単だったりします。

さて、メイン機を openSUSE 11.1 にアップグレードしたのに伴って、また例によってこの Webmin/Usermin を導入しようとしたところ、11.0 まででは起こっていなかった問題が発生しましたので、覚書をここに残しておきます。

1. Webmin/Usermin のインストール

Webin のサイトより、Webmin/Usermin の RPM パッケージ(2008年12月31日時点での最新版は webmin-1.441-1.noarch.rpm、usermin-1.370-1.noarch.rpm となります)をダウンロードし、それぞれ普通にインストールします。

# rpm -Uvh webmin-1.441-1.noarch.rpm

# rpm -Uvh usermin-1.370-1.noarch.rpm

2. システム起動時に自動実行するするように設定

chkconfig コマンドを使って、それぞれシステム起動時に開始するよう設定します。

# chkconfig webmin on

# chkconfig usermin on

なお、サービスを手動で開始/停止するときは、

# /etc/init.d/webmin {start/stop}

…のようにします。(# rcwebmin {start/stop} では開始/停止できません)

3. Firewall のポートを開く

YaST -> セキュリティとユーザ -> ファイアウォール と展開し、開いた[ファイアウォールの設定]の左ペインで[許可するサービス]を選択して、[詳細]を選択します。ここの TCP ポートのところに [10000 20000]と、スペースで区切って Webmin/Usermin が使うポートを記入し、設定します。

4. perl-Authen-PAM の追加インストール

さて、11.0 までだとここまでの作業で Webmin が使えるようになっていたのですが、今回はブラウザで https://IP_ADDRESS_OF_SERVER:10000/ を開こうとしてもエラーになってしまいます。Webmin のエラー・ログが吐き出される /var/webmin/miniserv.error を覗いてみると、以下のようなエラーが。

[31/Dec/2008:01:04:10 +0900] miniserv.pl started
[31/Dec/2008:01:04:10 +0900] Perl module Authen::PAM needed for PAM is not installed : Can’t locate Authen/PAM.pm
in @INC (@INC contains: /usr/libexec/webmin /usr/lib/perl5/5.10.0/x86_64-linux-thread-multi /usr/lib/perl5/5.10.
0 /usr/lib/perl5/site_perl/5.10.0/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.10.0 /usr/lib/perl5/vendor
_perl/5.10.0/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/vendor_perl .) at (eval 1
0) line 1.
BEGIN failed–compilation aborted at (eval 10) line 1.

どうも、Perl のモジュールである Authen::PAM が入ってないよ、ということらしい。

ところが、openSUSE 11.1 には、この RPM パッケージは用意されていません。…ということで、今回は SLE 10 用の SRPM を持ってきて、そちらを使うことにしてみました。

こちらから、perl-Authen-PAM-0.16-6.1-sle10.rf.src.rpm をダウンロードしてリビルドします。

$ rpmbuild –rebuild perl-Authen-PAM-0.16-6.1-sle10.rf.src.rpm

(私の場合は $HOME 以下に rpm ディレクトリを配置し、.rpmmacros も置いてあるので一般ユーザで実行していますが、その準備をしていない場合は root 権限で実行してください。/usr/src/packages/RPM/以下の該当するアーキテクチャ名のディレクトリ以下にバイナリの RPM パッケージができるはずです)

出来上がった RPM パッケージをインストールします。

# rpm -Uvh perl-Authen-PAM-0.16-6.1.sle10.rf.*.rpm

インストールが完了したら、以下の通り Webmin を再起動します。

# /etc/init.d/webmin restart

これで、ブラウザで htps://IP_ADDRESS_OF_SERVER:10000/ を開けば – 証明書が不正だと叱られるかもしれませんが – webmin のログイン画面が現れるはずです。

足りないと言われていたのは Perl のモジュールでしたから、CPAN 経由で導入するという手もあるかもしれませんが、なるべくなら RPM で管理しておきたいので、今回はこういう方法で入れてみました。とりあえず、openSUSE 11.1 で SLE 10 用の SRPM が再構築して使えそうだ、という目処がたったところが収穫でしょうか。

SLES10でDRBD

By 宮原 徹 @ 2008-09-19 11:22

DRBD(Distributed Replicated Block Device)は、その名の通りネットワーク経由で複製を行ってくれるブロックデバイスです。ブロックデバイスですから、複製の単位はブロック単位で、デバイス上をどのような形式のファイルシステムが使っていても複製されます。

このDRBDですが、SLES10で標準的に提供されているパッケージはバージョン0.7で、最新版は8.x系に移っています。8.xはopenSUSE用のパッケージは存在しているのですが、SLES10用は開発元であるLINBIT社とサポート契約を締結しているユーザーにのみ提供されます。ですが、DRBはオープンソースでもあるので、ソースコードからビルドすることも可能です。大変かなと思いつつ、スタッフにSLES10でビルドしてもらったところ、思った以上にスンナリとインストールすることができました。さらにDRBDを使用する仮想マシンのライブマイグレーションも可能でした(現時点では準仮想化のみサポート)。

導入のコツとしては、あらかじめDRBD用の領域をLVMで確保しておき、LVを切り出してDRBDに組み込む、という方法でしょうか。

10月3日(金)4日(土)に開催されるオープンソースカンファレンス2008 Tokyo/Fall内で、弊社(日本仮想化技術株式会社)のブースにてデモを行っておりますので、是非ご来場ください。

こんばんは、kazuhisyaです。

オープンソースカンファレンス2008 Shimaneで使用した資料をアップ致しました。
興味のある方は是非ご覧になってみてください。
オープンソースカンファレンス2008 Shimane openSUSEコミュニティ資料

Xen3.2使ってみました。

By kazuhisya @ 2008-07-27 22:22

こんばんは、kazuhisyaです。

前回『Xenで仮想NIC追加』の資料をあげましたが、つい最近openSUSE11.0(と、SLES10sp2)のXen3.2をいじりました。

で、やっぱり変わってました、ネットワーク関係の設定。

今までの設定方法だと、追加したNICを認識してくれませんでしたので、3.2用にスクリプトを作成しました。

まずはroot権限で読み込ませるファイルを /etc/xen/scripts に作成。

# vi /etc/xen/scripts/my-network-script

中身は下記の通り。

#!/bin/sh
script=/etc/xen/scripts/network-bridge
case $1 in
start|stop|status)
$script $1 netdev=eth0
$script $1 netdev=eth1
;;
*)
echo “unknown $1”
exit 1
esac

※↑ echo~のくだりの“は半角に直してくださいね。

作成した my-network-script に実行権を与える。

# chmod +x /etc/xen/scripts/my-network-script

次に xend-config.sxp を書き換える。

(network-script network-bridge)
↑を↓に変更。
(network-script my-network-script)

最後にXendを再起動させれば完了です。

Xen3.2なかなか良いですね。

Domain-Uの一時停止とかも出来るのですが、停止→再動すると、ちゃんと止めていた時間分Dom-Uのlocaltimeも動くし、CDやDVDのメディアの交換も楽になりました。

openSUSE月例勉強会

By kazuhisya @ 2008-06-19 01:14

はじめまして、kazuhisyaです。

openSUSEコミュニティで活動させてもらっています。

さて、公式のja.コミュニティのメーリングリストで告知がありましたが、

来る6月21日、月例勉強会が開催されますが、今回は僕も発表させて頂くことになりました。

お題は、「Xenで仮想NICを追加してみましょう」といった具合です。

興味のある方は是非ご参加ください。

詳細はメーリングリストかOSPN SNS openSUSEコミュニティでご確認ください。

SLES10 SP1をSP2にアップデートしてみる

By 宮原 徹 @ 2008-06-12 16:03

SLES10 SP2がなかなか良い感じなのが分かったので、これまで使用していたSLES10 SP1の環境をSP2にアップデートしてみる。

SLES10 SP2のISOイメージをDVDに焼いて起動。インストールする際に新規インストールではなくアップデートを選んであげて、あとは特別なところはない。もしVMDPをインストールしていると、アップデートできないと言われるので、場合によっては先にVMDPをアップデートしておいた方がいいかもしれない。ここではとりあえず無視することにする。

アップデート後の再起動時の注意点としては、通常のLinuxについてはGRUBが書き換えられるのだけど、Xen環境については新しい起動用エントリーが追加されるようになっている。デフォルトをSP1側にしていると、再起動してもファイルが見つからないと言って起動できないので、手動で選ぶなどして新しいSP2なXenで起動すること。

また、既存の仮想マシンのうち、疑似仮想化の方がいいが、完全仮想化の方はコンソール仕様が変わっているため、そのまま起動するとうまくコンソール表示が行えない。一度仮想マシンを削除し(ディスクイメージは消えない)、改めて使っていたディスクイメージを再利用する形で仮想マシンを新規作成する形を取ること。

思った以上に簡単にSP2化することができました。皆さんもお試しください。

 

SLES10SP2でXen 3.2を採用

By 宮原 徹 @ 2008-06-12 12:30

日本仮想化技術 宮原です。

先頃リリースされたSLES10 SP2では、仮想化のためのハイパーバイザーであるXenのバージョン3.2が採用されました。何が嬉しいかといえば、なんといっても完全仮想化のライブマイグレーションがサポートされたことでしょう。

さっそく手元の環境を使って、2台のSLES10 SP2環境を構築。Windows XPを導入した完全仮想化の仮想マシンを停止せずにライブマイグレーションすることに成功しました。たとえば3Dピンボールを動かしている状態で、動作しているマシンを右に左に移動できるのは、なかなかのものである。

というわけで、VMware ESX Serverに比べるとできなかったことの一つであるWindowsのライブマイグレーションもできるようになり、また野望に一歩近づいた。