[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:24090] Making diskless PC cluster with Plamo 4.01 (wolfchen.tgz package)



西松と申します.

Plamo 4.01 を使って diskless PCクラスタ を作る手順を
文章化してみました. 未だ書きかけの部分もありますが
http://www-lab.imr.tohoku.ac.jp/%7Et-nissie/computer/wolfchen/doc/HomeWolfchenProject.html
で恥を顧みず公開してしまいます. wolfchen.tgz という
パッケージを用意したので短時間で容易にPCクラスタの
構築が可能だと思います. いちおう現在2ヶ所のサイトで
稼働中です.

さいきんのnote PCはたいていPXEブートできます. 現在お
使いのLinux Boxをサーバーにして diskless PCクラスタ
ごっこで遊んで, ご感想とご意見をいただければ幸いです.

  # ls -l wolfchen.tgz 
  -rw-r--r--    1 foo      bar        184509 Nov  8 01:01 wolfchen.tgz
  # md5sum wolfchen.tgz 
  d37f9e49e30621690d2f48adac56fe41  wolfchen.tgz

                                             西松 毅

以下はその文章のはじめのところです:
=========================================
= Home Wolfchen Project
((* Wolfchen = Small +Diskless+ Beowulf Cluster *))

Plamo Linux 4.01 を使って一家に一組科学計算用並列計算機(PCクラスタ)を!

著者: 西松 毅 <t-nissie{at}imr.tohoku.ac.jp>

最終更新日: 2004-11-10


== 概要
サーバ1台, クライアント数台からなる科学計算用並列計算機 (Beowulf PC
クラスタ) の構築手順を述べる. クライアントをディスクドライブを一切持た
ない構成(diskless) とすることにより, アプリケーションの管理や更新の
手間を削減し, また, クライアントの故障率を低減させる. diskless化には
PXEとPXELINUXを用いる (Intel PRO/100 などPXEに対応しているネット
ワーク・インターフェース・カード (NIC) をクライアントで用いる). PXE
とPXELINUXを用ずにフロッピーディスクでクライアントをブートする簡便な
方法についても述べる (たいていのNICが利用可能). OS として GNU/Linux
ディストリビューションのひとつ Plamo Linux 4.01 を用いる.
wolfchen.tgz というパッケージを用意したので短時間で容易にPCクラスタ
の構築が可能である. なお, 本文章の最新版は
((<URL:http://www-lab.imr.tohoku.ac.jp/%7Et-nissie/computer/wolfchen/doc/HomeWolfchenProject.html>))
から入手できる.


== はじめに
第一原理分子動力学計算や流体のシミュレーションなど大規模科学技術計算を行うため
の計算機として, 数台〜数百台のPCにより構築した並列計算機 (Beowulf PCクラスタ)
がここ数年注目を集めている. PC本体はもとより, ハードデスクやネットワーク機器
などの高容量化, 高速化, 高性能化, そして低価格化のスピードはすさまじく, 高性
能の並列計算機を安価に導入することが可能になってきたからである. 最近はPCクラス
タ構築のためのPC UNIXをはじめとするフリーソフトウェアやノウハウ, 情報がWeb上
にたくさん公開されており, さらにとっつきやすくなってきている. 反面, ネットワー
クセキュリティを保つためのコスト, 情報の取捨選択のためのコスト, コンピュータを
管理するための人件費と教育費は増大してきている. そこでこの文章では後々の管理が
容易な diskless PC クラスタを短時間で構築する手順を最初から最後まで解説する.

OSとしてGNU/Linuxディストリビューションのひとつ Plamo Linux 4.01 を用いる.
Plamo Linux で PCクラスタを構築するための wolfchen.tgz というソフトウエア
・パッケージを用意した. このパッケージに含まれるスクリプトを使えばPCクラスタ
の構築と管理が劇的に容易になる. なお, このパッケージ名やこの企画「Wolfchen
Project」は「小さなBeowulfクラスタを作るひとりで勝手にプロジェクト」という
ような意味でつけた.

クライアントを diskless化 (diskless boot) する利点は次のとおり:
* ソフトのバージョンアップのときはサーバ上の共通のファイルを変更すればよく,
  ホスト毎に作業を行なわなくてよい. 
* クライアントはハードディスクドライブを持たないので, 故障率を下げることが
  できる. 
* クライアントがハードディスクドライブ等を持たないぶん消費電力を低減できる.
* いちどサーバを構築してしまえばクライアントを追加するのが容易. 新しいPCを
  ネットワークケーブルでHUBにつなぐだけ.
しかしながら, 欠点としては
* 初期設定が難解で面倒. 
* 親亀こけたら皆こける. サーバが止まるとクラスタが全滅する. サーバだけを
  保守のために止めることができない.
などがある.

この文章の残りの部分の構成はつぎのとおり:
((<"Index">)) と ((<"Glossary">)) の後,
((<"Server and Clients">)) で
これから構築しようとしている計算機クラスタを構成するPC3台を紹介する.
((<"wolfchen.tgzパッケージ">))ではこの
パッケージに含まれるディレクトリとファイルについて解説する.
((<"作業工程1: サーバの構築">))で
1台のPCをDHCPサーバ, NFSサーバ, NISサーバとして構築する.
必要ならゲートウェイの機能も持たせる.
((<"作業工程2: disklessクライアント用 root directory の構築">))の工程で,
サーバの/diskless以下にクライアント用 root directory を構築する.
((<"作業工程3: とりあえずフロッピーディスクでブート">))の作業で,
とりあえずクライアントはフロッピーディスクでブートできるようになる.
((<"作業工程4: PXEを使って完全無ディスク化">))では diskless boot をめざす.
もし「完全無ディスク化」にこだわらないのであれば, この作業は飛ばしてかまわない.
((<"作業工程5: 詳細設定">))では, syslog, sendmail, sshなどの設定を行ない,
セキュリティや住環境(?)の強化を図る.
((<"作業工程6: 科学計算用のソフトウエアのインストール">))では
並列ライブラリMPICHなどをインストールし, このクラスタで並列科学計算などができるようにする. 
((<"作業工程7: 日々の管理作業">))で科学計算機クラスタを構築後,
日々行なうべき作業や注意すべき点を上げる.
((<"トラブル・シューティング">))では, うまくいかなかった場合の解決方法をいくつか紹介する.
((<"やり残している作業">))では, Batch Queueing System など,
科学計算機クラスタとしてある方が便利だが今のところ
その構築やインストールがうまくできていない機能とその要件を紹介する.
最後に((<"まとめ">))でこの文章をまとめる.

文中, 参考文献は[ ]で示し((<"参考文献, URL等">))に詳細を記した. 例示用の
ドメインとして example.com を本クラスタ用のドメインとして, example.net
を Broadband Modem を介してつながっているInternet Service Provider (ISP)
のドメインとして用いている. インタラクティブ・シェルとしてBourne shell系の
bash(1)などを使うことを仮定し, 文中のシェルのコマンドライン入力のプロンプト
を, 一般ユーザのものは$, スーパーユーザのものは#で示した. C shell系のcsh(1)
またはtcsh(1)を使う場合は
  bash$ ROOT=willow ./mknfsroot.sh
を
  tcsh% env ROOT=willow ./mknfsroot.sh
などと読みかえること.


== Server and Clients
サーバ1台, クライアント2台からなるPCクラスターを構成する各PCの hostname,
役割, 仕様は次の通り. サーバはかなりの年代物.

=== eringi, server and gateway to Internet
  MotherBoard	ASUS P/I-XP55T2P4 (Intel 430HX Chipset)
  CPU           AMD K6 200 MHz
  Memory        96 MB
  NIC           eth0 (Internet) RTL-8029 (ne2k-pci driver)
                eth1 (LAN)      RTL-8139 (8139too  driver)
  HDD           3 GB (for /), 8 GB (for /home)
  FDD           あり
  CD-ROM        あり
  Video         Matrox Graphics, Inc. MGA 2164W [Millennium II]
  OS            Plamo Linux 4.01

=== willow, client1
  MotherBoard   ACORP 6PLEF (Apollo PLE133 Chipset)
  CPU           Intel Celeron Coppermine 1.1 GHz (128 KB cache)
  Memory        640 MB (FSB 100MHz)
  NIC           Intel Ethernet Pro 100 (e100 driver)
                On-board RTL-8139 is not used.
  HDD           なし
  FDD           なし
  CD-ROM        なし

=== zinnia, client2
  MotherBoard   ASUS TUSC (Terminator TU Barebone Case, SiS 630ET Chipset)
  CPU           Intel Celeron Tualatin 1.0 GHz (256 KB cache)
  Memory        1024 MB (FSB 100MHz)
  NIC           On-board SiS 900 (PXE boot is enabled by the BIOS configuration)
  HDD           なし
  FDD           あり
  DVD-ROM       RICOH DVD/CDRW MP9060, ATAPI CD/DVD-ROM drive

=== /etc/hosts
各PCとも/etc/hostsはこんなかんじ:
  # For loopbacking.
  127.0.0.1       localhost
  # In LAN
  192.168.1.1     eringi.example.com eringi
  192.168.1.136   willow.example.com willow
  192.168.1.137   zinnia.example.com zinnia
  # End of hosts.


== wolfchen.tgzパッケージ
((<URL:http://www-lab.imr.tohoku.ac.jp/%7Et-nissie/computer/wolfchen/wolfchen.tgz>))
から入手できる. ただしこのwolfchen.tgzパッケージの利用に際しては,
完全に無保証であることに留意すること. wolfchen.tgzをインストール
しても, 既存の設定ファイルや実行形式は置き換わらないようにはなっ
ているはず.
  # tar ztvf somewhere/wolfchen.tgz
と, どんなファイルがインストールされるのかを確認してから,
  # installpkg somewhere/wolfchen.tgz
と, サーバに実際にインストールする. PXE bootのためののディレクトリ
/tftpbootと, nfsrootのためのディレクトリ/disklessとが作成される.
このwolfchen.tgzパッケージの肝は/diskless/mknfsroot.shと
/diskless/clients-initialconfig.sh (clients-fileconfig.sh,
clients-ldconfig.sh, clients-netconfig.sh, clients-timeconfig.sh
はそのシンボリックリンク) の2つの shell script である. これらの
shell script によりクライアント用のルート・ディレクトリを管理する.
   .
   .
   .

Follow-Ups
[plamo:24093] Re: Making diskless PC cluster with Plamo 4.01 (wolfchen.tgz package), KATOH Yasufumi

[検索ページ] [メール一覧]
Plamo ML 公開システム