きっかけ

田中求之の歴代サーバマシン歴代のサーバたちこのサイトを運用しているサーバは3代目

このサイトは、1994年に LC475 で運用を開始しました。それ以来、12年あまりの間、LC475 が運用を担当し、その後、ディスクの故障によって2台目の PowerMac G3 DT に交替(このマシンは同僚に譲ってもらった中古マシン)。その後、G3 で運用を続けていたのですが、2009年9月、この G3 DT もディスクの故障によって引退。3台目は、それまで田中の研究室のデスクトップ機としてがんばってきた G3 Blue & White です。



先代の G3 DT が、この夏あたりからディスクの異音を発生するなど、これはすこしヤバい状況かなという感じだったので、ディスクの置換を考えたのですが、もはや 3.5インチの SCSI のハードディスクなんて手に入らない。そこで、SSD とかに換えたら良いかなとかなどと思いながら、パーツ屋に行ったり、ネットのオンラインショップを見ていたところに、突然、その日がやってきてディスクが止まってしまったのでした。幸い、バックアップなどのサイトのメンテナンス中に起きたことだったので、データのロスなどはいっさいなかったのですが、それでも急遽、G3 Blue & White に代替わりすることになったわけです。

3代目は IDE のハードディスクなので、今でも新品のディスクは手に入るし、SSD も使えるということで、ディスクの置換を考えたのですが、とりあえずディスクはまだ大丈夫そうなので、メモリーの増設と、Ether をギガビットにすることにしたわけです。

で、PowerMac 用のパーツを売っているネットのショップでメモリーなんかを注文する際に、他のパーツを見ていたら、G3 B&W にも使える G4 カードの新品が、そこそこの値段で売られているのが目に入り、え〜〜いとばかりに一緒に注文してしまったのでした。

部品が皆そろった 2009年9月14日に、強化作戦を実行しました。

今回の強化用パーツ

02-AllParts.jpg強化用パーツ今回の強化パーツ

256M の DIMM が2枚と、MacOS 9 もサポートしているギガビットの PCI カード(mathey MPNET-01GB)、それに Sonnet の ENCORE/ZIF G4 1GHz です。



03-OpenFirst.jpgG3 を開腹G3 を開けて、いよいよ作業開始です。


まずはRAMの増設

04-MemoryInstalled.jpgDIMM 増設256M の DIMM を2枚増設
まず DIMM を増設します。G3 B&W にはスロットが4つあるのですが、それまでは 64M と 128M の2枚が刺さっていたので、今回の増設分はそのまま追加となり、合計で 704M ということになります。




04-zMemoryUp.jpgきちんと刺さっていることを確認してから、いったん G3 のお腹を閉じて、マシンを起動してみます。無事に 704M になっていました。

ギガビット PCI

05-LanCard.jpgGigNet PCI
つぎにギガビット PCI カードの装着です。



06-CardInstalled.jpgPCI スロットに装着します。



06-zDriverInstaller.jpgドライバのインストーラー再び G3 のお腹を閉じてマシンを起動し、まずドライバをインストールします。G3 B&W は3つのパーティションを切ってあり、それぞれにシステムが載っているので、3つのシステムともにインストールする必要があるのですが、カードに付属していたインストーラーは、起動ディスクのシステムにしかインストールできない仕様になっていました。



06-zTcp.jpgドライバをインストールして再起動してからコントロールパネルの TCP/IP を開くと、PCI カードが新たなポートとして選択可能になっており、そちらに切り替えます。どれくらい早くなったのかを調べるために AppleShare IP サーバからのファイル転送を試してみたのですが、当たり前ですが、早い早い!




……と、ここまでは順調に作業が進んだのでした。

事件は ENCORE/ZIF G4 の装着で起こった

07-BeforeG4Card.jpgENCORE/ZIF G4 のパーツSonnet ENCORE/ZIF G4 の装着
ここまでは順調に作業が進み、これなら楽勝かなと思いながら、ENCORE/ZIF の装着に取りかかりました。



08-DriverInstaller.jpgドライバのインストーラーカードを装着する前に、ドライバのインストールと、Firmware のアップデート(G4 用パッチの適用)を行う必要があります。CD-ROM からインストーラーを起動。



09-DriverInstaller2.jpgインストーラーインスートーラが立ち上がって、インストールが始まります。


しかし、ここでトラブル発生!

Firmware Updater の実行中にエラーが出て、Firmware のアップデートができない!!

別パーティションのシステムに切り替えてみても、同じエラー!

Sonnet のページには PRAM クリアをしてみろと書いてあったので、幾度か PRAM クリアを実行しても、やっぱりエラー!

MacOS 9.2.2 を新規にインストールし直して実行してもエラー!

どうやら、Firmware Update 用のスクリプトファイルはインストールされるのですが、それを Open Firmware で読み込ませる指示の部分がエラーを出しているようでした(システムフォルダの中に PowerMac G4-Enabling Script というファームアップデート用のファイルが作られていた)。

この時点で、その日の作業は終了することにし、G3 マシンのまま通常のサイト運用に復帰させ、週末に対策を調べることにしました。

秋山先生の「Macintosh トラブルニュース」のアーカイブを調べていると、以前の G3 の Firmware Update (これはアップルが配布した公式のアップデート)の際のトラブルとその解決策の事例に行き当たり、それなどを参考に Open Firmware などについても調べていると、どうやら、Open Firmware に入って手動でアップデートのスクリプトを実行できることが判明。それ以外に有効と思われる手段も見つからなかったので、この手動でアップデートでいくことに決めました。

Firmware のアップデート

G3 B&W の Firmware を手動でアップデートする場合には、アップデート用のスクリプトファイルを IDE (ATA) の最初のパーティションのディスクのルートに置いておき、Open Firmware に入った後、

boot hd:スクリプトファイル名

というコマンドで可能になります。ファイル名のスペースは %20 にエンコードして入力します。

9月28日、G3 を再び作業台に置いて、起動。起動音がした直後にプログラマスイッチを押して Open Firmware に入り、OK のプロンプトが帰ったところで、えいやぁっとこのコマンドを実行しました。

すると、無事に Firmware のアップデート中を示すプログレスバーが表示され、処理が進行し、その後、無事にマシンが再起動されました。

ENCORE/ZIF G4 1G の取り付け

パッチが無事にあたったようですし、G3 のままでも起動に問題がないことが確認できたので、もし G4 が動かなくても G3 に戻せばいいやということで、いよいよカードの取り付けに。


10-RemoveG3.jpgG3
G3 を開腹し、まず G3 のヒートシンクを取り外します。それから ZIF ソケットのレバーを起こして G3 のユニットを取り外します。簡単に外れました。



11-G4Installed.jpgG4 カードZIF ソケットに G4 カードを装着します。ファンがついたなかなかいかめしいカードです。カードをとりつけたら、CPU の横にあるジャンパボックスのシールをはがして、ソケットを抜いて、ジャンパピンをマニュアルの指示に従ってさします。



12-PowerConnected.jpgファンの電源をとるためのコードを G3 の電源関係のケーブルに取り付けます。それから電源ケーブルを繋いで、装着完了です。

そして G4 になった

13-Boot!.jpg成功!
ドキドキしながら G3 のお腹を閉じて、ケーブルをつないで起動します。

無事に起動し、いつものアイコンパレードが始まり、カードのドライバが無事に読みこまれ、ENCORE G4 のロゴが表示されました。




14-G4Run!.jpg無事にいつものデスクトップになったところで、カードのインストーラがインストールした Metronome というユーティリティで見てみると、確かに G4 で走っています。

これで、無事に強化作戦は完了しました。


そして私のサーバはG4になった

その後は、Web サーバである WebSTAR を G4 用のものにとりかえ、念のため CGI のスクリプトの再コンパイルなどを行い、通常のサーバ運用に無事復帰。

当たり前ですが、AppleScript の CGI の実行速度がむちゃくちゃ早い。またギガビットになったため、通常のページの送り出し速度も速くなっています。

まだ試運転の状態ですが、今のところは安定しています。

Firmware のアップデートのトラブルが出た時には、無理して G4 にしようなんて思ったのが間違いだったかなとも思いましたが、やっぱ実際に G4 になって走っているのを見ると、嬉しいものです。

私のサイトにとってみれば、G4 1GHz というのはオーバースペックだとは思うのですが(なんせ、ついこの間までは 68040 25MHz で運用していて、それでそこそこうまく動いていたわけですから)、パワーに余裕が出てくると、あれこれと新しい仕掛けなんかも作ってみたくなります。

これで、当分は、MacOS 9 でのサーバ運用を満喫し続けることができそうです。

そうそう、Firmware のトラブルの最中に、MacOS 9.2.2 の新規インストールを行ったのですが(9.2.1 をインストーラー CD からインストールして、アップデータで 9.2.2 にした)、その際に、ソフトウェア・アップデートを実行したら、ちゃんと Carbon Lib のアップデートを行うことができました。今でも、 MacOS 9 のソフトウェア・アップデートも運用されているとは思わなかったので、ちょっと驚きました。

その後の日々

G4に改造してから4ヶ月経ちましたが、何のトラブルもなく…… というわけにはさすがにいきませんが、基本的には問題なく運用しています。

トラブルというのは、内蔵リチウム電池が切れてしまったことが原因で起こりました。2010年の1月3日に保守点検のために大学が停電になりました。前日にサーバをシャットダウンし、4日の朝に研究室に来て起動しようとしたら、電源は入るものの起動プロセスにはまったく進まず。リチウム電池が切れてしまったときの症状だと考え、電源を入れたまましばらく放置し、頃合いを見計らってリセットボタンを押すと、無事にジャ〜ンという例の音と共に通常の起動プロセスが始まり、その後は何事もなかったかのように、通常の運用に戻りました。

サーバに転用する前のときから、リチウム電池が切れているはずだということは分かっていたのですが、通常は電源コードは指したままで通電していましたので、起動のトラブルなどは表面化しなかったので、改造作戦の際にもリチウムの交換を見送っていたのでした。

いったん起動したら問題は起きないのですが、やはり今後何が起こるか分からないので、通販でリチウム電池を購入し(今でも G3 のパーツが手に入るのはありがたいことです)、新しいものに交換しました。

また、内蔵のハードディスクが ATA なので、今後のことを考えて SATA のボードも購入しました。こちらはまだ装着していませんが、いずれは SATA で運用することを考えています。

SATA 取り付け

今年(2010年)は G4 にして初めての夏なのですが、連日35度が続く毎日で、西日をまともに受ける研究室はエアコンを入れても全然涼しくならないという状況の中、なんとか熱暴走を起こすことなくサーバは動き続けています。

前期の授業や試験が終了して一息ついた8月10日、かねてから予定していた Serial ATA のディスクの取り付けを行いました。

久しぶりにサーバの電源を落とし、PCI スロットに SATA 用のカードを装着。装着したのは Mathey Serial ATA PCI Card (MSATA-11MAC) というカードです。内蔵用の SATA ポートが1つ、eSATA のポートが一つついたものです。MacOS 8.6 以降に対応ということで購入しました。

ボードを取り付け、80G の SATA ディスクをベイに取り付け、ケーブルを繋いで、ケースを閉じて、マシンを再起動。何の問題もなく立ち上がったところで、「ドライブ設定」を立ち上げると、SCSI の未初期化ディスクとして SATA のディスクが無事に認識されていました(Mac からはカードは SCSI のカードとして認識されるので、ディスクも SCSI のディスクとして認識される)。3つのパーティションに分けてから初期化。

その後は、サイトのデータを丸ごと Finder でコピーし(こうしたラフな?扱いができるのが MacOS Classic のいいところ)、起動ディスクでシステムを切り替えて再起動したら、SATA のディスクから立ち上がりました。

というわけで、現在は、このサイトは SATA ディスク上で動いています。

データの移行やバックアップを行った感じでは、やはり SATA は速いです。ただ、サイト自体のアクセスの処理については、ネットワークの速度の方がボトルネックになっているようで(最近、外部からのアクセスが遅くなっている)、そんなに違いはないように思います。

まぁ、処理速度よりも、故障の時にすぐに変りのディスクを調達できる環境になったというのが嬉しいといったところでしょうか。もっとも、サイトのすべてのデータを合わせても(システムやソフトウェアもすべて込みで)1Gバイトにならない状態なので、最近の大容量のディスクだともったいない感じがします。

SSD 置換

SSD が安くなってきたので、普段使っている MacBook や PowerBook G4 を SSD に取り替えたのですが、そうすると当然ながら速いわけです。そこでこのサイトのサーバ機も SSD に取り替えることにしました。G4 化されて SATA もついて、とすでにいっちゃってる G3 B&W マシンになっているので、どうせならやれるところまでチューンアップしてまえ、ってことで。
R0016110.JPG60G の SATA の SSD を購入しました。ディスクは 2.5 インチですが、3.5 インチのベイに取り付けるための金具も付属しているものを購入。写真は金具を装着した SSD です。


R0016113.JPGサーバ機の G3 B&W をシャットダウンしてから、ディスクを取り出し、装着します。下が IDE のディスクで、上が SATA の SSD です。3.5 インチのベイに取り付けるための金具の奥行きが短いため、コネクタ側のネジだけで固定するしかなかったのですが、SSD 自体が軽いためか、しっかりと固定されたので一安心。


R0016117.JPGマシンにディスクを取り付けて、ケーブルを装着。


R0016119.JPGG4 カードや SATA カードを取り付けてあるので、中はけっこうごちゃごちゃな感じになってきてます。蓋を閉じてケーブルを繋ぎ直し、IDE の方のシステムで起動し、ドライブ設定で SSD をイニシャライズ。SATA は SCSI として認識されます。今回は 60G を3つのパーティションに切って、一つにはシステムをいれ、2つ目にはサイトのソフトウェアとデータを入れ、3つ目は空っぽで待機させることにしました。SSD は消去/書き込みを繰り返すと一定の限度を超えた時点でエラーになるので(とはいえ、このサイトの場合、そんなに頻繁にファイルの書き換えは起こらないのですが)、もしもの場合に備えて直ぐにサイトを移せる場所を確保しておくことにしたわけです。Trim コマンドなんかに MacOS 9 が対応しているわけもないので、ダメになったら別の場所に移す、ということでやってみることにしたわけです。


R0016121.JPG初期化が終わった時点で、それまで使っていた SATA のディスクを、アダプタを使って Firewire のディスクとして使えるようにして、サーバ機にマウントし、サイトの運用に使っていたシステムやサイトのデータを、SSD にコピーしました。その後、SSD から起動して(当たり前ですが速い!)、ディスクが変わったことに伴う設定変更の作業や、バックアップ体制の再構築を行い、無事に SSD のサーバ機での運用に移行することができました。

もっとも、今後、どんな問題が発生するかわかりませんが、まぁ、問題が起きるのも、また楽しいというところです。

SSD 撤去

上記の SSD への置換は 2011年4月8日に行ったのですが、2012年1月6日、SSD を撤去して SATA のハードディスクへ戻すことになりました。

「まぁ、問題が起きるのも、また楽しいというところです。」なんてこと言ってたら、本当に深刻なトラブルが発生したためです。

2011年12月頃から、サーバがフーズしたり、CGI が Type 10 のシステムエラーを出したりと、それまで全くといっても良いほど問題なく動いていたサーバに、ちょっとした異変が起こりました。

そしてサーバがフリーズして強制リスタートをかけた 2011年12月5日には、リスタート後のディスクのデータが11月22日の状態に戻っている(その後のデータ更新がいっさい記録されていない)という奇怪な問題が発生。この頃から、MacOS 9.2 で SSD はやっぱ無理があるかな?と疑い始めました。

そして2012年1月26日、研究室の蛍光灯の修理をしてもらっている際に、作業ミスでブレーカーがとんでサーバが落ちてしまいました。その後、再起動してみると、マシンはなにごともなかったかのように立ち上がったのですが、今回もディスク上のデータは1月20日の状態に戻っており、その後の約1週間分の更新は見事に記録されていないということが起こりました。

原因は正確には分かりませんが、フリーズ&強制リスタートを行うと、バッファー(内部キャッシュ?)上で処理されていたデータが、フラッシュメモリーの方へ書き込まれなかったという感じです。正常のリスタートやシャットダウンの際には、ボリュームのアンマウントのコマンドかなんかをトリガーにして書き込みを行うところが、フリーズではそれが機能しなかったのかなと思っていますが、もしかしたら SSD のコントローラーの方に問題がある(起きた)のかもしれません。

いずれにせよ、これはまずいということで、急遽、SSD を外して以前使っていた HDD を再度装着し、初期化を行い、SSD からデータを移行するという作業を行いました。

そういうわけで、このサーバは、再び HDD で動いています。

まぁ、SSD なんてものがなかった時代の OS ですし、SATA は PCI カードによってマシンからは SCSI として繋がれているという状態でしたので、どこかで不具合が起きるのかもしれません。

SSD の早さは捨てがたいので、読み出し用のデータのみ SSD にするってのも考えましたが、それくらいならメモリーディスクを使えばいいわけで、潔く SSD とは縁を切ることにします。

MacBook や PowerBook G4 あるいは iBook G3 で使っている SSD には今のところ問題は起きていません。

ページの先頭へ