debianでXenによるバーチャルサーバー構築1

以前から言及していましたが、今回から何回かに分けてお知らせしていくことにします。実はこのサイトはこの8月から仮想化サーバー上で試験運営中です。問題がなければ今月にも完全移行の予定です。

Xenとはオープンソースで開発の進む仮想化ソフトのことです。詳しくは下記のリンクを参照ください。

wikipedia 「Xen(仮想化ソフトウェア)」
仮想化技術の大本命「Xen」を使ってみよう

すでにXenについてはいくつも詳しい説明サイトがありますが、その導入利点は下記の要素に集約されます。

  • 仮想サーバー自体をイメージファイルから起動するため、ハードウェアの変更などの際、簡単に移行できる。
  • 仮想サーバーに対してCPUやメモリー資源の割り当を自由に設定できるので、目的に応じて柔軟で無駄のない運営ができる。
  • 仮想サーバー同士は全くの別のマシンとして動作するので、仮に一つの仮想サーバーが外部侵入者により乗っ取られても、他のサーバーに影響を与えないばかりか、復元も用意である。

こうした利点のある仮想サーバ構築を早速進めていきましょう。今回構築を目指すのは以下のようなサーバー環境です。

  • Domain-0:(マシン名:PC05)Debian GNU/Linux 5.0のXenカーネルで動作。他の仮想サーバーの管理を担当し、物理ハードウェアを実際に動作させる。CUPSなどのプリンターサーバーはこのマシンで運営する以外にない。また仮想サーバーのバックアップやWindows向けのファイルサーバーも担当。
  • Domain-U1:(マシン名:vm1)Debian GNU/Linux 5.0で動作する仮想WEBサーバー。Wordpressを動かすため、MySQLデータベースサーバーやProftpdを使ったftpサーバーをこのマシン上で運営する必要があります。
  • Domain-U2:(マシン名:vm2)Debian GNU/Linux 5.0で動作するメールサーバー。postfix+saslを使います。また、clamav+amavisでウイルス対策を行ったり、spamassasinによりスパムメールをフィルタリングします。
  • Domain-U3:(マシン名:vm3)Debian GNU/Linux 5.0で動作するDNSとDHCPサーバー。DNSはLAN内向けのDNSキャッシュサーバー、unboundを使います。

将来的にはLDAPによる認証統合にも取り組みたく思いますが、とりあえずこんなところでしょうか。では早速次回から実際の環境構築に入ります。

debian lennyのパッケージにboinc managerあり

ました。スマン。さすがはDebianでしたね。というわけで、準備はいつもの呪文でOKです。

$sudo aptitude install boinc-client boinc-manager

ただ、ユーザー登録は別にしないとだめですので、前回紹介した「ワールド・コミュニティ・グリッド」から

支援方法>メンバーになる

へ進んで登録します。クライアントプログラムのダウンロードの必要はありませんのであしからず。

なお、他の関連パッケージとしてあの知的生命体の発した電波解析のための分散コンピューティングへ参加するための「boinc-app-seti」、KDE用のboinc監視クライアント「kboincspy」 なんてのもありますので、興味のある方は是非どうぞ。

さて、お盆休みになりましたので、前々から懸案だったサーバーの仮想化に取り組もうと思っています。具体的にはxenによるハイパーバイザー化を進めようと思っているところです。

インターネット上でもdebian+xenの情報は多いようですが、実際のサーバー運営に関するノウハウは少ないようですので。

というわけで次回に続く。

debianで「ヘルプ・ファイト・小児がん」プロジェクトに参加しました

今回は千葉がんセンターが行っている小児ガンの研究プロジェクトに参加しました。子供を持つ親として、病気に苦しむ子供さんに何かできないかと思ってましたからね。とはいっても僕が研究に参加するのではなくて、僕の家で動かしている自宅サーバーが参加したのですが。

千葉がんセンターでは小児がんのなかでも治療の難しい神経芽腫の治療に使う新薬をコンピューターのイメージング法を使って見つけようと試みているそうです。

この研究プロジェクトは、IBMが実施している社会貢献活動、「ワールド・コミュニティ・グリッド」のひとつです。この「ワールド・コミュニティー・グリッド」とは世界中にいる登録ユーザーの所有するコンピューターがアイドリング中にインターネットを介して与えられた演算処理を実施し、その成果をアップロードするというものです。いうなれば世界規模の巨大な分散型コンピューティングへの参加できるわけですね。この方法で、約100年かかるプロジェクトをたったの2年(!)に短縮できることもあるそうです。うーん、すごいこと考えるな。

なお、Wikipediaによれば日本はこの「ワールド・コミュニティ・グリッド」へ参加・登録者の数が世界一なのだそうです。殺伐としたニュースの多い昨今ですが、困っている誰かの助けをしたいという気持ちをたくさんの人が持っているというのは、安心すると同時に、強く誇りにも思えますね。

ワールド・コミュニティー・グリッドのサイト

ワールド・コミュニティー・グリッドのウェブサイト

参加は簡単で、上記の「ワールド・コミュニティー・グリッド」のサイトにある「今すぐダウンロード」からユーザー名やメールアドレスを登録して、クライアントプログラム「BOINC manager」をダウンロードします。ダウンロード先はホームディレクトリを指定しましょう。ちなみにLinux用のプログラム以外にもWindows用とMac用があります。

次にインストールプログラムを起動します。X上で適当な仮想ターミナルを立ち上げて、

$chmod +x boinc_6.2.15_i686-pc-linux-gnu.sh
$sh boinc_6.2.15_i686-pc-linux-gnu.sh

続いてクライアントプログラムを起動します。

$~/BOINC/run_manager

初回起動時はセットアッププログラムが起動します。まずは「次へ」をクリック。

プロジェクトに参加

プロジェクトに参加

参加するプロジェクトを選びます。ここでは「World Comunity Grid」を選択します。

プロジェクトの選択

プロジェクトの選択

先ほど登録したユーザー名とパスワードを入力します。なお、登録時に参加を希望したすべてのプロジェクトが対象になりまが、参加数の多いプロジェクトの場合参加できないこともあるので、できれば多くのプロジェクトに参加希望を出して欲しいとのこと。

そうすれば空いているプロジェクトに優先的参加できるそうです。インフルエンザウィルスの蔓延を押さえる抗体の発見を目的とするものやデング熱、C型肝炎、西ナイル熱、黄熱の新薬開発などもありましたから、ぜひ希望を出されてはいかがでしょうか。

ユーザー登録

ユーザー登録

登録が終了すれば準備完了。最後に「完了」ボタンを押して終了です。

プロジェクト参加

プロジェクト参加

起動中の「BOINC manager」です。参加中のプロジェクト名と進捗状況が表示されています。だいたい一つのプロジェクト参加時間は10時間程度のようですので、一晩あれば終了ですね。なお、「Advanced View」ボタンをクリックするとプロジェクトの詳細な情報(使用ディスク領域や貢献度など)を調べることができます。また、対応していればプロジェクトの動画を見ることもできます。

BOINC manager

BOINC manager

screenshot-hfcc-version-610-workunit-hfcc_t1_01622076_trkb_0003

動作中の動画

Linuxの開発を支えるのも、インターネットを支える様々な技術や通信形式の開発も、基本的には総合扶助のメカニズムに基づいて行われているものです。こうしたコンピュータ連携プロジェクトはいうなればインターネットの「形」を具現化したものだとも言えます。というわけで、Linuxサーバー稼働中の諸氏、ぜひご参加を!