仮想サーバの不安定さ・・

昨日、HDDの容量不足が発覚し、サーバの再構築を始めた。
昨日の夜と、今日の朝、今日の夕方で、作業は一気に追いついた。
することは、最初からわかっているので、バッチ作業できるところは、
バッチ作業ですすめ、PCから離れる時間には、長時間かかる作業をまとめていれたので、
あっけなく追いついたわけである。
ところで、作業をしていて、2回サーバが落ちてしまった。
VMWareが悪いのか、NetBSD3.1が悪いのか・・わからないが、
今までの経験ではNetBSDでカーネルごとおちるようなことはなかったので、
VMWareの方があやしい。
ネット系に負荷がかかるとおちているようにおもうのだが、
それでおちていると、今のNetBSDonRealPCの変わりはすこし怖い。
とりあえず、WEBサーバ系を構築したいと思う。

Virtual NetBSD Broken(;;)

先日から設定していた、VMWare上のNetBSDであるが、
今日、ひょんなことから崩壊した・・(;;)
原因は、VirtualDiskの容量不足。
うちのNetBSDは、VMWareのHPからリンクされている
「半完成セット」を使用したが、なんとその容量が1Gの固定であった。
まさか、そんな容量とも思わず、dfもせずに設定を行い。
やっと、実用部分の構築とおもったところで、あふれてしまった。
ぐぐると、市販のソフトやフリーソフトで拡張する方法があったが、
NetBSDは特殊なファイル管理をしているので、その方法は使えない。
昔、HDDを外付けで増設したときに、いろいろと作業をした覚えがあるが、
だいぶ忘れているの、いっそのこと一から構築したほうが、
自分の必要なモジュールのみをいれることができることから、
一からインストールしてみた。
NetBSD3.1のi386なisoをDLして、マウントするとあっけなく入った。
インストーラも昔に比べるとわかりやすくなったと思う。
とりあえず、明日にがんばって今日のところまで追いつきたい。

VMWare on win2k 自動起動せず

VMWareでNetBSDな仮想サーバを構築していることは、
先日から書いているが、
511 vmware-serverd service is not running.
と、出て起動しない。
どうも、サービス自体が起動していない模様。
いろいろと原因を考えるが、どうも当方のせいとは思えない。
ぐぐると・・
ここで、解決されていた、FAQでしたね。(^^;

サーバの仮想化(NetBSD on VMWare)

今日はサーバの仮想化の作業を進めた。
先日までに、VMWare上でNetBSDを構築した。
これで可搬性も向上し作業効率が上がった。
今日もサーバでtelnetdの設定までは、いつものDOSVマシンで行い、
その後の作業はシミュレーション用(現在はシミュレーション用だがゆくゆくは雑居サーバ候補マシン)で
おこなうことができた。
やはり、実マシンでないので、いろいろとひっかかる部分はあったが、
仮想化ができてしまえば、普通のサーバと同様に作業ができるし、
様々な作業を一つのマシン上で動かすことができて非常に便利である。
今までは、データ管理や、メール関係、WEBサーバ関係がごっちゃであったが、
すべて別々に仮想化すれば、お互いをIPで通信しつつ、危険を分散できる。
しかも、仕事量が増えてくると、別のマシンに気軽に引越することができる。
今はフリーのVMWareなのでできることには限りがあるが、個人でサーバをたてる分には
全く申し分のない性能がでている。
具体的な構築法は・・・ノートには書いたけど、また、時間ができれば書きます(^^;

サーバの仮想化

先ほど書いたとおり、うちのDOSV機はWinXPなシステムが混在しているばかりに、
ひどいことになってしまった。
基幹のシステムはMacであり、データやプログラムはMacで管理しているので、
システムやデータへの影響は限定的であったが、なにより、Windowsで管理をしていた
各種のデータやシステムが消えてしまったのは痛かった・・
そんなわけで、Windowsはまったく信用できなくなったので、
作業環境をできるだけUNIX系に移行することにした。
ただ、メイン機以外は今までにつくった環境もあり、全部を一気に移行するのは、
手間が非常にかかることから、うまく移行する方法がないか考えたところ、
最近はやりの仮想化をしてみることにした。
仮想化について書くと、これまた、本が一冊できてしまうので、詳細は書かない(書けない)が、
要は、「一つのハードの上で複数のOSを動かして資源を大事にしよう」ということである。
(だいぶ荒っぽい概要ですね、ほんとの概要はググってください(^^;、いっぱいでてきます)
ただ資源を大事にするだけでなく、
・ 負荷に応じてサーバの分割や移設などが容易
・ データの可搬性やバックアップが容易
・ PC本体の構成が変わってもサーバOSの設定をいじる必要がない
など、利点も多い。
うちのサーバたちも、
メールサーバは、いつも暇にしているが止めるわけにもいかない、
株FX系Macサーバは、常に稼働しているが、普通は5%くらいしかCPU喰ってないし、
ファイルサーバ(玄箱)は、日頃なにもしてないし、
シミュレーションサーバは、忙しい時と忙しくない時の差が激しいし、
DOSVメイン機も、同じく
最近買ったVistaノートは寝るときにしか使わない
と、非常に効率が悪い。
この中で仮想化できる部分を仮想化し、ちょっとずつ使っているHDDの容量や、
CPUの処理能力を効率よく使えるようにしたい。
仮想化するには、DOSV機上で動かすもので一般的なものでも、
・ Xen
・ VirtualPC
・ VMWare
などがある。
仮想化の条件として、
・ 安定して動作する
・ NetBSDを仮想化したい
・ 壊れたDOSVメイン機はともかく、他のPCの環境はあまり触りたくない
と、いう状況を勘案して考えたのが、
・ とりあえずWindwos上で仮想化する。
・ Windowsはできるだけすっぴんの状態で動作させ、仮想化した上で特殊なWindows環境を作る
と、いうことである。
具体的な構成は、
VMWare上で、UNIX系のOSを仮想化し、順次UNIX系の作業を移行する。
VirtualPC上で、Windows環境を作り、事務処理用、システム開発用などを個別に作成する。
ただ、ライセンスがWin2000のものが一つあるだけなので、実際はWindows環境はリアルと仮想1つに
なるかもしれません(^^;
それと、メインマシンであるMacから一元的に操作したいので、すべてのマシンをVNC化します。
外部からの受け口にWinなマシンを経由することになるので、
一抹の不安はありますが、Winマシンをパケットが通過するのは一瞬ですし、
大丈夫と思うことにします。(実際すごい心配ですけど・・)
メール以外を外部に公開することになったら、Linux上で仮想化します(^^;
MySQLのサーバは、今のところ仮想化せず、Macでリアルに動かすつもりです。
データベースの処理はオーバーヘッドが大きそうですし。
各々の内容も、内容十分なので、別記事にします。
でも、だいぶ、内容が脱線するので、別Blogたてようかな・・・

メインDOSV機初期化(;;)

最近の状況を書き留めることにする。
ここ半月くらいは・・
1 FXシミュレーションの4月分を実行
2 DOSVメイン機のシステムを誤って初期化したために復旧作業
3 個別シミュレーションの実施
4 SAPIの研究
などを行っていた。
それぞれ、結構濃い内容なので、分けて記載する。
1 FXシミュレーションの4月分を実行
  5月の初旬から4月分に取得した、FXの3秒足データの解析作業をしている。
 解析といっても、今までに書いているとおり、システムが自動でシミュレーションを繰り返しているので、
 特に、なにをするわけでもないが、結構、毎日の進行状況などを確認するのに、
 神経をすり減らしている。
  もうすぐ終了しそうなので、終了次第、最適指標の抽出作業をしたいと思う。
 (と、行ってもこれもアクセスが作業するだけだけど・・)
2 DOSVメイン機のシステムを誤って初期化したために復旧作業
  なんといってもこれが痛かった・・
  ある日、XPがいきなり動作が重たくなり、ほとんど作業ができなくなった。
  CPUをsvchost.exeというのが喰っている・・
  一瞬ウィルスを疑うが、結構頻繁にチェックしているし、環境的にも結構気を遣っているので、
 システムがおかしくなったのかと思い、いろいろと検索してみるが、原因は不明であった。
  別Partitionに、別OSを入れて修復しようとした・・その瞬間、
 別OSのインストーラがいきない、C:をフォーマットし始めてしまった。
  C:はシステムであるので、当然、その瞬間にXPはおだぶつとなってしまった。
  気を取り直しXPを入れ直し、環境をもとに戻し、WindowsUpdateからMicrosoftUpdateをかける・・
  またCPU振り切れてる・・、再度、検索をしてみると、なんと、MSのUpdateがバグってることが判明
  結構世界中でおなじようなことをした人いるんでしょうね。
  それにしても、MSのMSによるバグ・・しかも結構致命的。
  正直街角のソフト会社のソフトでもこんなことにはならんですよ・・
  世界最大のソフト会社とは思えないソフトです。
  やっぱり、MacなOSがよろしいですね。
  そんなわけで、新たな環境を整えるべく作業を始めている。
  それは、現在、様々な作業を分担しているサーバを、仮想化していく構想である。
  ちょっと、長くなってしまうので、また別記事に書くことにする。
3 個別シミュレーションの実施
  本番処理用のシステムはすでにリアルタイムで稼働している。
  予想以上に順調に稼働しているが、成績が予想以上に最悪な状況である。
  開始2週間で、当初の証拠金が消えてしまった。
  指標の選択も必要であるが、根本的なロジックを見直す必要を感じ、
 現在は、本番処理用のシステムを改良し、過去のデータを基にシミュレーションを行うようにしている。
  これは、シミュレーション用のシステムとちがい、RSIなどの各指標をその都度計算しているので、
 非常に動作が遅いが、同じ指標でロジックだけを修正を繰り返す作業には最適で、
 徐々に成績の良いものができている。
 現在、同時に5つの指標をリアルで動かしているが、今後は、そのうちの一つを選び、
 実際のシミュレーションを行いたいと思う。
4 SAPIの研究
  実は、現在のFXや株の取引システム以外に、SAPIを利用したシステムも構築している。
  結構枯れた技術とおもっているのであるが、サンプルもすくなく、日本語のサイトはほとんど見かけない。
  この分野も書き出すと長くなるので、また、別記事で書いていきたい。

プログラムソースのutf8化

最近はプログラムの作成より、開発環境の整備に時間が取られている。
理由は先日からの流れのとおり、MacでCrypt::SSLayがつかえなくなり、
Perl5.8.8にUpgradeしたことを発端としている。
その後、Eclipseの3.2.2へのUpgrade、Eclipseのモジュールの追加、
Perlソースのutf8化などを行っている。
今日は株式シグナル用のプログラムソースをみなおしている。
見直しといっても、nkfでソースをShiftJISからutf8に変換して、
PerlのModuleで不足しているものを、インストールしている。
その中で、GD::Graph系のモジュール不足が表示されていた。
いつものように、CPANでinstallする・・
GD.xs:7:16: error: gd.h: No such file or directory
などのエラーを吐いて、止まる・・。
5.8.6の時に入れといたGDがどこかにいったようである。
そこでPortでp5-gdをいれるとあっさり入ってくれた。
ただ、うちのPPC1.25なminiでは、コンパイルなどに紅茶一杯飲めてしまう。
まー、休憩しろということか・・・と思いつつ待てばよいだけだけど・・

レート情報取得できず・・なぜ・・・

今日は月曜日、いつものように朝一番のFXレート取得システムのご機嫌を確認。
いつもは・・・「GetRateOK…」と出ている表示が「Error…..」と・・
出勤前で時間がないことから、プログラムソースにログをはかせて原因を探る・・
どうもひまわりのHPに接続しているSSLがうまくいっていないようだ。
今日一日の取得はあきらめRate取得システムは止めで出勤する。
原因をさぐると、やはりLWPでのSSL通信がうまくいっていない。
週末に久しぶりにMacminiを再起動できるタイミングがあったことから、
SoftwareUpdateをかけた・・・
その時になにやらセキュリティ関係のUpdateをしていた。
SSL関係のPerlモジュールは、システムのSSL関係と連携しているので、
当然に影響があってもおかしくない・・
・ CPANでモジュールをUpdateする。
  Perl5.8.8のモジュールが増えてきれいに最新にUpdateされない・・
・ FinkをUpdate
  とりあえずPerlの前に久しぶりにFinkをUpdate・・時間がかかる・・・
  なぜか、dpkgのUpdateでAbend・・・。
  仕方がないので、手作業で削除して、再インストール・・
  削除の段階ですべてを悟りました。
  再インストールするにもdpkgなくなったら、aptもFinkも使ない(;;)
(結構途方にくれる・・・(--;)
・ MacPortを入れる。
  dpkgを入れる  => 無事はいる
  MacPortの方が対応しているバージョンなど新しいことを発見。
  Finkやaptは使わないことにする。
・ MacPortでPerl5.8.8を入れる
  ソースから入れてる割には結構素早く入った。
  でも、よく考えると、5.8.6を消してくれてない(;;)
  仕方がないので、/usr/binのperlを、lnでリンクをつける。
  モジュールも移行するのが面倒なので、必要そうなものをCPANで入れる。
  最近は便利な移行ツールがあるように聞いたが、うちのminiでも
  すべて入れ直しても1時間はかからない。
・Webminがおかしい・・
  WebminでSSL接続できない。
  モジュールがたらなかったようで、とりあえず思いつく物を入れまくる。
  =>動いた。
と、以上のような作業をして、とりあえず、Rate取得システムは動くはず・・・
が・・また動かない(;;)
今度は新しいモジュールを入れたために、2バイトコードの扱いが厳密になったようだ。
これは5.8.8の仕様でもあるし、覚悟はしていたが、utfをさけて通っていたバチがあたった。
今までWindowsでの動作も考えて、ShiftJISでコーディング、htmlソースをShiftJISに変換して
処理をしていたが、やはり2バイト文字を厳密に扱い出すと弊害がでてくる。
とりあえず、今はFXのレートを取得するのが最優先であることから、
応急処置を行い、動作を再開した。
次の休みには、miniでの作業を継続するか。
この間ヤフオクで購入した、Pen4なDOSVにサーバを移行するか考えたい。

シミュレーション用サブマシン購入

昨日、シミュレーション用のサブマシンを購入した。
購入したと言ってもヤフオクで、普通のメモリと高速なCPUなものを選び、
ひたすらWatch・・、土日はやはり高めに落札されるようで、
水曜日に希望価格で落札した。
IBMのマシンで、P4-3GHz、512MB/40GBというスペックだった。
NetBSDをインストして、シミュレーション専用機として稼働させるつもりであったが、
Win2000が入っており、ActivePerlを入れて、PPMで必要なモジュールを入れると、
あっさりとシミュレーションが動いたので、とりあえずそのまま使うこととした。
当初、性能がでないので調べてみると、HTで動いていた。
当然、プログラムがHTに対応したように作っていないので、
BIOSでHTを切って、再起動したところ、純粋な1CPUとして性能を発揮してくれた。
クロック数に比例した性能が発揮されており、満足している。
2週間ほどはこのシミュレーションに専念させるつもりである。
でも、データの収集やデータ管理、システム開発はちゃんとMacminiでやってますよ(^^;

メモリ増設

今日、ソフマップに注文してたメモリが届いた。
昨日、書いたWinマシンのメモリである。
Winマシンはすこしマニアックなマザーで、メモリがRIMMとなっており、
なかなか増設に思い切りがつかなかったが、中古でやすく出ていたのでGetした。
早速、増設してみると、あっけなく認識して、快調に動いている。
データベースからの読み込み、計算中もハードディスクへのアクセスが減り、
CPUが完全100%で稼働している。
やはり、このような作業にはメモリがいるんですね・・・