tokyo - みる会図書館


検索対象: UNIX MAGAZINE 2005年11月号
11件見つかりました。

1. UNIX MAGAZINE 2005年11月号

連載 / ネットワークとセキュリティ 図 3 作成されたログファイルの内容 $ cat tokyo .20050915.041511 く一 く一 RCS file : /var/rancid/CVS/t0kyo/configs/tokyo . jp ・ example . net ,v cvs add: use ' cvs commit ' tO add this file permanently cvs add: scheduling file ( t0kyo ・」 p ・ example . net ' for addition starting: Thu Sep 15 04 : 15 : 11 JST 2005 done Checking in tokyo ・ jp ・ example . net ; /var/rancid/CVS/tokyo/configs/t0kyo ・ jp ・ example . net ,v initial revision: 1 . 1 done Added tokyo . jp ・ example . net Trying t0 get a11 0f the configs . A11 routers sucessfully completed. cvs diff: Diffing cvs diff : Diffing configs CVS commit : Examining CVS commit : Examining configs Checking in router . db ; /var/rancid/CVS/t0kyo/router. db , v く一 new reviSion: 1 . 2 ; previous revision: router . db 1 . 1 Checking in configs/tokyo ・ JP ・ example . net ; /var/rancid/CVS/tokyo/configs/t0kyo . jp. example . net ,v tokyo ・ jp ・ example . net tokyo ・」 p ・ example . net new revision: 1 . 2 ; prevxous revision: 1 . 1 ending: Thu Sep 15 04 : 15 : 27 JST 2005 $ /usr/local/rancid/bin/rancid—run rancid-run コマンドの実行には、対象とするネットワー ク機器の数にもよりますが、数分程度はかかります。気長 に待ちましよう。 rancid-run の実行が完了すると、 /var/ rancid/logs ディレクトリに 、 tokyo. 20050915.041511 のような名前をもっログファイルが作成されます。ログフ ァイルには、実行時刻と CVS の出力などが記録されて いるので、念のため内容を確認しましよう ( 図 3 ) 。なお、 router. db に何も機器が定義されていない場合は、開始時 刻と終了時刻だけカ第己録されます。 RANCID の関連ファイルのパス名を表 2 にまとめまし = ル宀 cron の又疋 RANCID が正常に動作することを確認したら、今度は RANCID を定期的に実行するために cron を設定します。 40 それには、ユーザー rancid で crontab を編集します。 $ crontab —e これで RANCID の言は完了です。翌朝から、ラ月的 履歴情報には影響しません。 分に過去の実行口グを削除します。 CVS リポジトリ内の るように言定しました。 2 行目の定により、毎朝 5 時 40 機器に負荷がかかるため、利用者の少ない時間帯に実行す するようにします。設定情報を取得すると、ネットワーク 1 行目の設定は、毎朝 5 時 10 分に RANCID を実行 —type f —mtime + 2 —exec rm { } \ ; 40 5 * * * /usr/bin/find /var/rancid/logs - 10 5 * * * /usr/local/rancid/bin/rancid—run て、終了します。 テキストエデイタが起動したら、以下に示す行を言当し UNIX MAGAZINE 2005 . 11 ネットワーク機器で構成変更がおこなわれた場合には、 に実行されるようになります。

2. UNIX MAGAZINE 2005年11月号

表 2 RANCID の車ファイルのバス名 / ヾス名 var/rancid/. cloginrc /var/rancid/logs /var/rancid/ グループ名 /configs/ 機器名 /var/rancid/ グループ名 /router. db /usr/local/rancid/bin /usr/local/rancid/share /usr/local/rancid/man /usr/local/rancid/etc 連載 / ネットワークとセキュリティ 表 1 対応 ログイン・スクリプト ルータ GNU Zebra ルーティング・ソフトウェアか稼動するホスト ータ 訝リ alteon baynet cat5 CISCO CSS enterasys erx ext reme forcel() foundry hitachi hp jumper mrtd netscalar netscreen red back rlverstone t nt zebra 詳細 Foundry Networks のルータ、スイッチ ()P Procurve HP9304M など OEM 含む ) Force10 Networks のルータ Extreme Networks のスイッチ Juniper Networks E シリーズエッジルータ riverstone の別名 Cisco Content Services Switch IOS の不知カーす - る Cisco Systems のルータ、スイッチ /PIX CatOS の稼動 - す - る Cisco Catalyst スイッチ Nortel ( 旧 Bay Networks) のルータ NorteI ( 旧 Alteon) の WebOS スイッチ Riverstone/Enterasys ( 旧 Cabletron) の NAS ( 9.0.3 以降 ) 、 Redback のルータ、 NAS など Juniper Netscreen Firewall Netscalar ロードノヾランサー MRTd デーモンをカづーるホスト Juniper Networks のルータ HP Procurve スイッチ ( 2524 、 4108 など ) HITACHI (Alaxala) のルータ Lucent TNT alogi n blogin clogin clogin clogin clogin tntlogin rivlogin clogin nlogin nslogin clogin jlogin hlogin ht 10g ⅲ flogin clogin clogin clogin rivlogin 概要 RANCID 本体の設疋ファイル マニュアルページ群 プログラムから呼び出されるファイル群 実行ファイル群 対象ネットワーク機器の設疋 ネットワーク機器の設疋ファイル RANCID の動作ログ ネットワーク機器の自動ログインの設疋ファイル ットワーク機器の構成情報を格納するディレクトリに移動 します。 $ cd /var/rancid/tokyo こでは、さきほど定義した tokyo グループの誌定をお こないます。 そして、 router. db ファイルに対象機器の情報を定義し UNIX MAGAZINE 2005 . 11 tokyo ・ jp. example. net から設疋を取得するには、 となっています。たとえば、 Cisco IOS カ材家動するル 機器名 : 機器種別 : 状況 [ : コメント ] router. db の書式は、 $ vi router . db ます。 tokyo ・ JP ・ example . net:cisco:up:=> ExampIeNet TOkyo Router とします。 表 1 に、対応機器の情報をまとめました。 、、状況 " は、機器の状況を設定します。 RANCID は、状 況が、、 up " の場合にはリモートの機器から設定を取得しま すが、、、 d 。 wn " の場合には設疋の取得をスキップします。 最後のフィールドはコメント項目になっています。この 項目のは任意で、動作に景彡響はありません。 言又疋のテスト router. db の作成が終ったら、 rancid-run コマンドを 実行し、ネットワーク機器から正しく構成情報を取得でき るかや、 CVS への登録ができるかをチェックします。 39

3. UNIX MAGAZINE 2005年11月号

れます。今回は、例として東京用のグループ、、 tokyo 大阪用のグループ "osaka" の 2 つを定義します。 ・ 61 行 #LIST_OF_GROUPS=" s1 j oebobisp' LIST_OF_GROUPS="tokyo osaka" ↓ 連載 / ネットワークとセキュリティ rancid—osaka: " と、 # vi /etc/aliases ( 追加する設定 ) rancid- グループ名 : 転送先メールアドレス rancid—admin—グループ名 : postmaster デフォルトの犬態の RANCID は、構成情報をメールで 通知する際にパスワードと SNMP コミュニティ名を伏せ ます。以下では、これらの扱いに関する設定の変更方法を 説明します。 FILTER-PWDS では、パスワードを伏せるかどうかを 設疋します。 IOS 上で、、 service password-encryption コマンドによりパスワードを暗号化している場合には、暗 号化されたパスワードカ毓れることになります。 IOS で暗 号化されたパスワードの解読を試みる攻撃プログラムもあ るので、とくに必要がなければ伏せたままでよいでしよう。 ・ 39 行目 #FILTER_PWDS=YES ; export FILTER—PWDS FILTER_PWDS=YES ; export FILTER—PWDS NOCOMMSTR では SNMP のコミュニティ文字列 を伏せるかどうかを設疋します。 SNMP のコミュニティ 名は、パスワードに似た側面がありますが、読取り専用と して設疋されている場合のリスクは限定的なため、今回は コミュニティ文哢冽をそのまま表示することにします。 ・ 42 行目 #NOCOMMSTR=YES ; export NOCOMMSTR NOCOMMSTR=NO ; export NOCOMMSTR 通知用メールアドレスの設定 続いて、通知用メールアドレスの設疋をおこないます。 RANCID はネットワーク機器の構成変更があると、差 分をメールで、、 rancid ーグループ名 " 宛に送信します。今 回は、 sendmail を使った送信先アドレスの設定例を説明 します。 sendmail の転送言をおこなうため、 /etc/aliases ( シ ステムによっては /etc/mail/aliases) を開き、以下に示す 行を追加します。 ↓ ↓ UNIX MAGAZ 工 NE 2005 . 11 さきほど定義した tokyo グループ用の通知先メールア ドレスとして true@example.jp と false@example.com を登録します ( 誌面の都合上、で折り返しています。以 下同様 ) 。 true@example ・ jp, - rancid—tokyo : false@example . com rancid— admin—tokyo : postmaster 同様に、 osaka グループについても定義します。 foo@example ・ jp.true@example ・ jp 最後に、データベースを再構築します。 postmaster rancid—admin—osaka: 自動ログインのための設定 きに、メールで通知が届くようになります。 これで、ネットワーク機器の構成変更がおこなわれたと ワードを暗号化して rc ファイルに保存するようにしてくれ 「 FetchmaiI ユーザの一部は、ソフトの仕様を変えて、パス 氏は以下のように述べています 2 。 開発手法を論じた「伽藍とバザール」で、 Eric S. Raymond の扱いに対するスタンスに似ています。オープンソースの これは、 fetchmail の . fetchmailrc におけるパスワード 文で謎します。 トリに . cloginrc というファイルを作成し、パスワードを平 するため、 RANCID の実行ユーザーのホーム・ディレク RANCID では、自動的にネットワーク機器ヘログイン インするための定をおこないます。 次に、ルータやスイッチなどのネットワーク機器にログ と要求してきた。 これはやらなかった。これでは実 は、セキュリティはぜんぜん高まらないからだ。 rc ファイ ルを読む許可を与えられている人間なら、だれでも fetch- mail をどのみちあなたと同じように好き勝手に動かせてし まうんだから一そしてそいつがあなたのパスワード目当て 2 出典 : http://cruel.org/freeware/cathedral.html#8 35

4. UNIX MAGAZINE 2005年11月号

連載 / ネットワークとセキュリティ 1993 09 : 04 : 52 + 09 : 00 17 : 32 : 49 + 09 2005 04 : 48 : 32 + 09 : 00 2005 04 : 48 : 32 + 09 : 00 diff —U4 ーて 1 . 2 tokyo. jp. example . net retrieving revision 1 . 2 lndex: configs/tokyo . jp ・ example. net Precedence : bulk Subject : tokyo router config diffs TO : rancid—tokyo From: rancid Date: Thu, 15 Sep 2005 04 : 41 : 07 + 0900 Return—Path : く rancid> From rancid Thu Sep 15 04 : 41 : 07 2005 図 4 構成変更にともない送られてきたメールの例 ー 34 , 16 + 34 , 16 ! F1ash : ! F1ash : ! F1ash : ! F1ash : ! F1ash : + ! F1ash: + ! F1ash: ! F1ash : !F1ash: !F1ash: + !F1ash: !F1ash: !F1ash: + !F1ash: Directory 0f flash:/ 2 87 88 89 88 91 drwx —rWX —rWX —rWX ー rWX —rWX 192 99 6167 27 27 6174 Mar 1 Mar 1 Aug 23 2005 Aug 23 2005 Sep 15 Sep 15 1993 09 : 04 : 52 + 09 : 00 : 00 17 : 32 : 49 + 09 : 00 info config. text private—config. text private—config. text config. text 15998976 bytes total ( 7513088 bytes free) nvram : Directory Of nvram nvram : nvram : nvram : nvram : nvram : 509 -rw— 509 —rw— 510 524288 bytes total 524288 bytes tOta1 6167 6174 27 ( 518035 bytes free) ( 518042 bytes free) くⅡ 0 date> くⅡ 0 date> く no date> startup—config startup—config private—config !VTP : VTP Version ! VTP : Configuration Revision enable secret 5 logging buffered 16000 debugging ー 114 , 9 + 114 , 8 ! VTP : Maximum VLANs supported 10Ca11Y : 28 1005 ! username unix—mag privilege 15 password く removed> ! username Ciscorn password く removed> clock timezone JST 9 ip subnet—zero no IP source—route 図 4 のようなメール 4 が届くはずです。 ☆ 今回は、ネットワークの設疋履歴管理ツール RANCID をとりあげ、ネットワーク機器の構成変更などの情報を管 理する方法を説明しました。 RANCID を利用すること で、ネットワーク機器から自動的に設疋を取得し、設疋フ ァイルを CVS リポジトリにオ内できます。 私は以前、 tftp を利用して設疋ファイルのバックアップ 4 Ciscorn というユーザー・アカウントを削除した場合の通知メール。 UNIX MAGAZ 工 NE 2005 . 11 をとっていたのですが、 RANCID を使うようになってか 次回は、ネットワーク機器のセキュリティ・チェックに かなり作業カになりました。 ら、言変更の際にバックアップを手動でとる機会が減り、 ついて扱う予定です。 41 ( しらはた・しん慶應義塾大学 )

5. UNIX MAGAZINE 2005年11月号

連載 / ネットワークとセキュリティ ログインする方法です。 UNIX での、 root 権限で直接ロ もう 1 つは、 privilege 15 で作成されたユーザーとして る方法に似ています。 般ユーザーでログインしたあと、 su コマンドで root にな ドで管理者権限を取得する方法です。 UNIX でいえば、 ユーザーでネットワーク機器にログインし、 enable コマン は、大きく分けて 2 種類の方法があります。ます、通常の Cisco IOS で設疋ファイルをコピーする権限を得るに IOS でのユーザーの権限 ーザーを作成し、ユーザーの権限を限定したほうがよいで 塞化するとともに、ネットワーク機器に RANCID 専用ュ スクをともなうため、 RANCID を稼動させるホストを要 ただし、ファイルのなかにパスワードを言するのはリ ぬきだして、ファイルを解読して盗むことができてしまう」 なら、 fetchmail のコードそのものから必要なデコーダを まず、シェルのユーザーを rancid に変更します。 ・ cloginrc の具体的な設疋について説明します。 ・ cloginrc の言又疋 グインする方法に似ています。 # su ー rancid イレクテイプ " については彳します。 で、各項目のあいだはスペースで区切られています。 add ディレクテイプネットワーク機器名オプション . cloginrc の基本的な書式は、 続いて、 . cloginrc の設疋をおこないます。 $ chmod 600 ~ / . cloginrc ないよう、パーミッションを 600 に設疋します。 ほかのユーザーからパスワードを含むファイルを読まれ $ touch ~ / . cloginrc 空の . cloginrc ファイルを作成します。 ワーク機器に同じ設定を適用したい場合には、 * を指定し ルドカード ) を指定することもできます。すべてのネット あるいは IP アドレスを指定します。ここには、、、 * " ( ワイ 、、ネットワーク機器名 " には、 DNS で参照できるホスト名、 36 ます。 さらに、ワイルドカードを部分的に適用することもでき ます。たとえば、次のようなホスト名をもつネットワーク 機器群に対して、、 *. jp ・ example. net" を指定することで、 tokyo. jp. example. net と osaka. jp. example. net のみを 対象とした言定がおこなえます。 tokyo ・ jp ・ example . net osaka ・ jp ・ example . net sanjose . us . example . net 各ティレクテイプについて こでは . cloginrc の各ディレクテイプについて説明し ます。 add password ネットワーク機器名 VTY / ヾスワード enable パスワード ネットワーク機器にログインするための VTY パスワー ドと、管理者権限を取得するための enable パスワードを 指定します。 例 : add password Router1 zokko Crysta1 add user ネットワーク機器名ユーザー名 ネットワーク機器にログインする際に利用するユーザー 名を推定します。なお、 user ディレクテイプでユーザー名 を明示的に指定しない場合、 $USER 環境変数の値カ用 されます。 例 : add user Router1 Ciscorn add method ネットワーク機器名 {ssh} [. ネットワーク機器に接続する方式と順序を指定します。 対応している方式は、 ssh 、 telnet 、 rsh です。デフォル トでは telnet で接続を言し、接続できなかった場合には さらに ssh で言于します。 例 : add method * ssh telnet この例では、まず ssh でコネクションカ蔀寉立できるかを 言し、失敗した場合には telnet を用います。本当は ssh を使いたいが、一・・部の機器が telnet にしか対応していない 環境を想定しています。 add autoenable ネットワーク機器名 1 または 0 ネットワーク機器にログインした際、すでに管理者権限 となっているかどうかを指定します。 Cisco IOS におい て、 privilege 15 で作成されたユーザー名を用いてログイ UNIX MAGAZINE 2005 . 11

6. UNIX MAGAZINE 2005年11月号

・ Gauche ・・・・・・伊東勝利 (Kahua プロジェクト / タイム インターメディア ) ・ Haske Ⅱ・・・・・・山下伸夫 ( タイムインターメディア ) ・ ML ・・・・・・上野雄大 ( 北陸先端利ィ支術大学院大学 ) ・ PerI ・・・・・・小飼弾 ・ PHP ・・・・・・廣川類 ( 日本 PHP ューザ会 ) ・・ささだこういち ( 日本 Ruby の会 / 東京農 ・ Ruby ・・ 工大学大学院 ) ・ Python ・・・・・・森若和雄 ( 日本 python ユーザ会 / ことら ・ Squeak ・・・・・・山宮隆 (squeak-ja) ・ Ruby ・・・・・・青木峰郎 ( 日本 Ruby の会 ) 、志村弘之 ( 日 和 ( 奈良先端科ィ支術大学院大学 / アントラッド ) ・ Pyth 。 n ・・・・・・安真 ( 早稲田大学 / グルコース ) 、西尾泰 ・ PerI ・・・・・・川合孝典 (Kansai. pm/Tokyo. prn) ・ Haskell ・・・・・・酒井政裕 ( 慶應義塾大学 ) を実装します。言語と発表者は以下のとおりです。 紹介するものです。一方、後者はとくに枠を決めずに電卓 漢数字で言算可能な電卓を実装し、ソースコードや技法を 規疋技 " と、、自由演技 " がおこなわれました。前者は、 キミならどう書く いたサイトの構築方法なども披露されました。 で実装されています。デモも交えて、フレームワークを用 で、 SIedge は PerI 、 Rails は Ruby 、 Kahua は Gauche いすれも言語の特徴を色濃く反映するフレームワーク ・・柴田知久 ( タイムインターメディア ) ・ Ruby on Rails ・・・・・・高橋征義 ( 日本 Ruby の会 ) ・ Sledge ・・・・・・池邉智洋 ( ライブドア ) がありました。 LL による Web フレームワークについて、以下の発表 フレームワーク姉夬 な質疑応答もおこなわれました。 など、多様な内容でした。また、それぞれの発表後に活発 発表は、新しい処理系や新機能の紹介、今後の開発方針 150 ・ Squeak ・・・・・・鷲見正人 (squeak-ja) ・ sf ・・・・・・ / 」琳憲次 (kVerifier Lab) 本 Ruby の会 ) 規定演技は各言語の強みを活かした方法で実装し、実用 的なプログラミングについての説明がありました。自由演 技では、ユニークな電卓の機能や言 fr 算方法が紹介され、見 た目にも楽しい発表となりました。 だめ自慢 各言語のパワーユーザーに、それぞれの、、だめな部分 " を 競い合ってもらうという斬新なセッションです。発表者は 以下のとおりです。 ・ PHP ・・・・・・小山哲志 ( 日本 PHP ューザ会 ) ・・うらごうけいすけ ( 日本 Python ユーザ ・ Python ・・ ・・ト部昌平 ( 日本 Ruby の会 ) ・ Ruby ・・ ・ PerI ・・・・・・早川真也 (Tokyo ・ pm) 、、だめな部分 " は、言語の仕様からユーザーのコミュニティ まで、幅広い内容でした。会場から議論に参加する人も現 れるなど、白熱したセッションとなりました。 デモ自慢 LL で実装したアプリケーションやシステムについての デモを作成者自身がおこないます。題目と発表者は以下の とおりです。 ・ Rabbit (Ruby) ・・・・・・須藤功平 (COZMIXNG) ・ Gauche で 3 次元プレゼンテーション・・・・・・久井亨 ・ Web アノテーションツール alog (Ruby) ・・・沢田洋平 ・オープンソース SNS 工ンジン OpenPNE (PHP) ・・手鳴守 (OpenPNE プロジェクト ) ・ Ruby で Apache を拡張しよう・・・・かずひこ ( 日本 Ruby の会 / ネットワーク応用通信研究所 ) ・ ppencode (perl) ・・・・・・竹迫良範 (Shibuya. pm/ ドリー ムアーツ ) 実装に活かせる内容や工夫した点などの説明があり、そ れぞれ充実したデモとなりました。 各方面の協力により、今年の LLDN も充実した内容に なりました。今後も、各言語のコミュニティと協力して、 さらに LL の発展に寄与していきたいと考えています。な お、夜の部では出版各社からご提供いただいた書籍を抽選 UN 工 X MAGAZINE 2005 . 11

7. UNIX MAGAZINE 2005年11月号

連載 / ネットワークとセキュリティ 図 2 CVS リポジトリの作成 RCS file : /var/rancid/CVS/t0kyo/router. db,v cvs add: use 'cvs commit ) tO add this file permanently cvs add: scheduling file 'router. db' for addition CVS commit : Examining configs Directory /var/rancid/CVS/t0kyo/configs added tO the repository cvs checkout : Updating tokyo NO conflicts created by this import $ /usr/local/rancid/bin/rancid—cvs done Checking in router . db; /var/rancid/CVS/t0kyo/router. db,v く一 initial revision: 1 . 1 done NO conflicts created by this import cvs checkout : Updating osaka router . db Directory /var/rancid/CVS/osaka/configs added tO the repository CVS commit : Examining configs cvs add: scheduling file 'router . db' for addition cvs add: use ) cvs commit ' tO add this file permanently RCS file : /var/rancid/CVS/osaka/router . db,v done Checking in router . db ; /var/rancid/CVS/osaka/router . db,v く一 router . db initial revision: 1 . 1 done が設定されており、パスワ の例を示します。 ~ / . cloginrc $ vi ードが、、 mypassword" の場合 add autoenable 192.0.2.3 1 add user 192 . 0 . 2.3 unix-mag 自動ログインのテスト add password 192.0.2.3 mypassword 38 User Access Verification Escape iS Connected t0 192 . 0 . 2 . 3 . Trying 192 . 0 . 2.3 . spawn telnet 192.0.2.3 192.0.2.3 $ /usr/local/rancid/bin/clogin 192.0.2.3 グインをする例を示します。 、 clog ⅲ " を使い、さきほどの設定で 192.0.2.3 に自動ロ かをテストします。 こでは IOS 用のコマンドである ルの内容でネットワーク機器に自動的にログインできる ~/. cloginrc ファイルを設定したあとには、設疋ファイ Username : Password: Router# ログインに成功したら、 exit コマンドをタイプしてログ アウトします。 ~/. cloginrc ファイルに複数のルータの設定を記述した 場合には、個々のルータにログインできるかどうかを一度 確認したほうがよいでしよう。 cvs リポジトリのイ乍成 続いて、構成データを橋内する CVS リポジトリを作成 します。リポジトリを作成するには、 /usr/local/rancid/ bin/rancid-cvs コマンドを実行し、エラーメッセージが表 示されないことを確認します ( 図 2 ) 。 ネットワーク機器の設定 いよいよネットワーク機器の設疋に入ります。 まず、 UNIX MAGAZINE 2005 . 11

8. UNIX MAGAZINE 2005年11月号

するプロジェクトで、このデータを新たに処理する必要が 生じました。具体的な課題は以下のとおりです。 ・衛星データの解析範囲カ陳京受信局の範囲から全球にな ったため、データ保存量が約 100 倍に膨らんだ。 ・東京受信局で扱うデータとはフォーマットが異なるた め、ソフトウェアの改変が必要である。 ・衛星データを処理するため、データ処理能力の増強が必 要である。 これらの課題のうち、 1 番目については、同じ研究グル ープの言 t 算機の専門家が対応することになっています。転 送するデータの容量は IOTB になりそうな勢いですが、私 にはどうすればいいのかよく分からず、専門家にお任せし ています。 3 番目の処理能力の増強は、おもにハードウェアの構築 に関する事項です。これについてはグリッドによる処理シ ステムも構築中なので、もうすこし結果が出てから報告し たいと思っています。 残るのは、 2 番目のデータ・フォーマットに関する問題 です。つまり、フォーマットの異なるデータを処理できる ようにソフトウェアを改変することです。 私たちは、 UNIX 上で動くフリー・ソフトウェアであ る PaNDA (Package for NOAA Data Analysis)6 を 用いて衛星データ NOAA/AVHRR を処理しています。 PaNDA は、計算機の処理能力カ覡在ほど発達していなか った 1990 年代前半に、衛星データの処理に携わっていた 日本国内の一 - ー一線級の研究者たちが各自の得意分野で開発し ていたソフトウェアを持ち寄り、下田陽久氏 ( 東海大学教 授 ) のもとで 1 つのパッケージに統合したものです。 衛星データの処理には、 1. データ・フォーマットの変換 2. 放射輝度の校正 3. 首情報および地物寸応点を用いた地表面位置の同定 4. 地図座標系への投影 5. クイックルック画像作成による可視化 といった過程があります。これら一連の処理過程ごとに作 成されたモジュールが複数あり、これらをシェルでつない だ構造になっています。各モジュール間でデータの受渡し 6 ftp://webpanda.iis.u-tokyo.ac.jp/PaNDA/ UNIX MAGAZINE 2005 . 11 連載 / 働く UN Ⅸ があり、複数の中間ファイルカ成されます。 133 せん。 は、ソフトウェアの開発元が対応するのを待っしかありま データの提供元のデータ・フォーマットが変換された場合 なっていません。したがって、今回のケースのように衛星 るなど、ユーザーが必要に応じて改変して使える設計には ったり、 UNIX べースであってもバイナリのみの配布であ れらのソフトウェアは、 Windows 上で開発されたものだ 企業カ甘是供するソフトウェアを利用しているようです。 が、たいていは、受信システムを納入した海外の複数の民間 AVHRR データを受信している組織が 20 以上あります ーユーザーの部類に入ると思います。国内には NOAA/ が、データの処理量という点からみると、国内ではヘビ 私自身は PaNDA の開発にほとんど携わっていません 時刻の情報はヘッダ部分に含まれているため、これをうま あるバイトの間隔で反転していることもあります。軌道や 揃えで格納されています ) 。データによっては、ヘッダが す ( 図のデータの場合、 3 ワードごとに 4 バイト単位、右 す。ヘッダは 10 ビット単位の 103 ワードで構成されま 図 1 に、ヘッダにおけるバイトとワードの関係を示しま ダ部分の情報です。 ますが、基本的なデータの配列は同じです。違うのはヘッ ように並んでいます。データ・フォーマットは重類あり ・・の 係数、 4 ビット目にはデータの品質に関する情報、 ており、最初の 2 ビットには放射輝度、 3 ビット目には校正 AVHRR データでは 10 ビットのなかに情報が十内され がなにかと便利です。 で構築してきたソフトウェアを継続して開発していくほう な仕組みをもっ商用ソフトウェアは皆無なので、自分たち ます。すくなくとも私カわっている分野では、このよう プデートするような仕組みになっていれば作業が楽になり 改変しようと思ったときに、必要なモジュールだけをアッ いてくれればそれに越したことはありません。もちろん、 んが、言 1 算機の利用者にとっては、ソフトウェアが正しく動 つ違ってきます。衛星データにかぎったことではありませ とデータ・フォーマットやそれを処理する過程もすこしす 受信するデータ自体は同じでも、処理システムが異なる 混在するフォーマット

9. UNIX MAGAZINE 2005年11月号

る気象観測のデータを一元的に統括して管理するシステム の利用者会議 2 に参加しました ( 参加者は、米国を中心に約 100 名でした ) 。おもな目的は、自分が雇用されているプロ ジェクトで解析が必要とされているデータの入手および処 理に関する情報を麪奐することです。 NCAR には、 NSF (National Science Foundation : 全米利学財団 ) の資金が大量に投入さ楸地球科学の匇野で は米国屈指の研究機関です。研究所ではたくさんの UNIX マシンカ働いていましたが、残念ながら、国家機関というこ ともあって規制が厳しく、サーバールームでの撮影は許可 されませんでした。担当者から聞いた情報のなかで特記す べき点は、膨大なデータを格納する超特大のテープアーカ イバの存在です。前回お話ししたように、私カ斬属する東 京大学生産技術研究所の喜連川研究室 3 にも約 600TB の テープアーカイバがありますが、 NCAR にあるデータア ーカイノヾの容量はなんと 1.5PB で、しかも、ポルダーか ら地理的に離れた米国北部、南部、東部にそれぞれミラー が置かれているそうです。なんといっても全米の気象関係 のデータがすべて蓄積されているのですから、当然といえ ばそれまでですが、本当に驚きましたにの大規模ストレ ージ・システムについては日本のメディアでも紹介されて います 4 ) 。 NCAR は国の直接支援を受けながら、大学や研究機関 から独立した糸哉として特定う予の研究を支援しています。 そして、そのために必要なことを自覚し、明確な目的を掲げ て活動をおこなっています。私がとくに感こ、したのは、次 のような点です。 ・皆カ坏リ用できるデータはきちんと一元的に管理する。 ・データ管理システムの設引者は、データ利用者の要求に 応えられるようにシステムを作っている。 ・なるべく汎用的なシステムとなるように、 UNIX をベー スとしている。 いずれも当然のようにみえますが、これらを実現するの はたやすいことではありません。私自身、それを実感しつ つあるので、こういったシステムを目の当たりにするとけ っこうびびります。 2 http://www.ngdc.noaa ・ gov/stp/class/workshop2. html 3 http://www.tkl.iis.u-tokyo.ac ・ jp/ 4 http://www.itmedia.co ・ jp/enterprise/0210/23/n17. html 132 残念ながら、現在の日本では、上記の点を達成している研 究グループや機関はそれほど多くはないと思います。最大 の理由は、システムの構築にあたる人材の不足です。この ようなシステムを構築する際には、ソフトウェアや UNIX についての知識はもちろん、その研究う予や利用者の要求 を理解するカカ坏可欠です。米国では、これがある程度は 実現されているようです。おそらく、潤沢な資金と高い競 争力に支えられているのでしよう。 研究者層の厚い米国では、研究に投じられる資金の額が 日本とは大きく異なります。たとえば、日本の宇宙開発機 関である JAXA ( 字宙航空研究開発機構 ) 5 の年間支出額は およそ 1 , 000 億円ですが、米国 NASA のそれはほば 10 倍に相当する 1 兆円といわれています。 米国では、研究分野によってはシステム構築のかなり の部分が民間企業に委託されるので、特定の研究分野や研 究機関をとりまく市場も相当大きいのでしよう。したがっ て、対象分野を絞ったソフトウェア開発産業も発達してい ます。また、米国では、研究資金の獲得における競争率も 日本と比較にならないほど高いため、研究成果の社会への 還元も強く求められます。上記の例のように、データセン ターなどを構築する場合も、決められた時間と予算のなか で最大限の成果が得られる ( と思われる ) 企業に発注され ます ( もちろん、受注した側には保守管理を含む継続的な 運用が求められます ) 。とりあえず、、、なんでもやります " などといってソフトウェアの開発やシステム構築を請け負 、けっきよく、、要求仕様は満たせませんでした、こんな し、 もんで勘弁してください " では許されないわけです。ただ し、予算が切れた場合はどうなるのかはよく分かりません。 金の切れ目が・ ・・ともいいますが、いずれにせよ、責任の 所在がはっきりしている米国の特徴をよく表す例といえる でしよう。 テータ処理の内容 だいぶ前置きが長くなってしまいましたが、 こからが 本題です。今回の出張の主要な目的は、気象衛星データ NOAA/AVHRR の処理に関する検討でした。前回も説 明したとおり、生産技術研究所では 1984 年より AVHRR のデータを受信、処理、保存しています。今回、私カ属 5 http://www.jaxa ・ jp/ UNIX MAGAZINE 2005. 11

10. UNIX MAGAZINE 2005年11月号

しました。 クラスタというと、 19 インチラックに入ったたくさんの サーバーシャーシや、整然と棚に並べられた PC ケースを イメージするかもしれません。しかし、そのようなものは 使いません。理由は以下のとおりです。 1. PCI/PCI-X スロットになるべく簡単にアクセスできる ようにしたい これは、 PCI/PCI-X スロットにカードを抜き挿しする ことが頻繁にあるからです。仮に、 19 インチラックに収 めた 3U のシャーシを使ったとしましよう。その場合、 カードを挿すには、ます重いシャーシを取り出し、ケー スの蓋を開けなくてはなりません。これでは作業が面倒 です。 以前、同志社大学工学部の三木 ) 巨先生の研究室にある Opteron クラスタ (Supernova) を見学する機会があり ましたが、そのとき、 19 インチラックの棚板にマザーボ ードを直接取り付けられる製品を見かけました。スロッ トにカードを抜き挿しするときも便利そうでしたが、今 回はみつけることができませんでした。 2. 使用するマザーポードが Extend-ATX 規格であり、 れを収めるケースの値段はあまり安くない。 19 インチラックにマウントできるケースは、論外とい ってもいいほど高価です ( 19 インチラックのフレーム自 体、かなりの価格ですが ) 。 ではどうするかというと、棚をメタルラックで組み、そこ に各マシンを剥出しの状態で並べることにしました 3 タルラックは比較的安価で、いろいろなサイズが選べて融 通カ俐きます。それに、棚板が格子状なので、空気の流れ もよさそうです。さらに便利なことに、メタルラックには 引出し式の棚もあります。これを使えば、棚板の間隔を狭 めて組んだとしても、棚を引き出して PCI/PCI-X のカ ードを簡単に挿し替えることができます。剥出しの状態だ と、 CPU ファンなどからの騒音や、マシン全体から放出 される電磁波が気になるかもしれません。しかし、このク ラスタはふだんは人のいない計算機室に置くので、この点 は気にしないことにします。 一般的なマザーポードなら、雑誌などの上にでも置いて 3 私も http://grape ・ astron. s. u-tokyo ・ ac ・ jp/&makino/atama yama / の信者なので・・ UNIX MAGAZ 工 NE 2005 . 11 連載 / 天文学と UNIX 4 たたし、 lntel Pentium D のようにかなり熱をもっ CPU の場合、可 この手の板は薄くなるとだいぶ値段が安くなりますが、 0.55cm ( 幅 x 奥行き x 厚さ ) ) を使います ( 写真 3 ) 。 近くのホームセンターで買ったラワン材の板 ( 45 x 38 x 次は、マザーポードを載せる板の工作です。これは、 はスライトな朋板です ( 写真 1 ~ 2 ) 。 を組み立てました。一番上と下は固定棚板、あいだの 3 枚 説明書に従って棚板を適当に調整しつつ、メタルラック れでも 19 インチラックとくらべればかなり安価です。 ライド式棚板がやや高く、思ったより値カりましたが、そ 購入したメタルラックは、総額で 3 万円程度でした。ス ーボードが 2 台ぶん置けます。 タイプの棚を 3 枚使います。このサイズの棚板なら、マザ 46cm ( 幅 x 奥行き ) のものを 2 枚と、同サイズの引出し す。ポールは直径 25mm のシリーズで、棚板は 91 x 使ったメタルラックは、アイリスオーヤマ 5 製のもので まずは、メタルラックを組み立てます。 糸竝て とにしました。 すから、マザーポードを載せる板も自分たちで工作するこ どの道具はひととおり揃っていますし、今回は数台ぶんで 上にマザーポードを載せようと考えました。電気ドリルな 当な木板やプラスチック板にスペーサーを埋め込み、その うです。適当なナットで止める方法ありますが、今回は、適 マザーポードが歪み、どうもあまりよくないことカ起きそ の金具を使っても、雑誌の上に置くと金具の厚さによって 段はそれほど高くないものの ( 2 , 000 ~ 3 , 000 円程度 ) 、そ は付属していないので、別途、購入する必要があります。値 ります。市販の固定用金具もありますが、マザーポードに どを用意しないと、 CPU ファンが固定できないことにな ザーポードの裏側にファンを固定するためのスペーサーな で重量を支えるようにしなければいけません。つまり、マ Xeon の CPU ファンはたいへん重く、基本的にはケース 問題は、 Xeon の CPU ファンの固定方法にあります。 いきません。 おけば十分ですが 4 、 xeon のマザーポードはそう簡単には 5 http://www.irisohyama ・ co ・ jp/ 物の上に置くのはちょっと危 : 勣、もしれません。 67