オレの PC はショボい!この記述をお読みのあなたはどうだろう?富豪的 PC でパワー余りまくりだったら、この記事を読む必要はない。帰れ!(笑)
さて、ショボい PC をお持ちの諸君、この記事の目的は少しでも高い計算機リソースを使おうとする当方の努力をここに公開して、エコに必要な三つの R すなわち、 Recycle ・ Reuse ・ Reduce を実現する。まさに地球に優しい真のエココンピューティングを実現することなのだ。※ 1
サーバは離れたところにあってもいいし、近くにあってもよい。当方のように枕元にサーバがあって、気温 25 ℃を超えると爆音を発する HP の ProLiant 君を愛しく想いつつも、疎ましく思うという、とってもアンビーバレンツな状況を打破するために便所に追いやった筆者は罪人である。冬場は零下になりそうな便所を若干暖めてくれるので、脳卒中を避けられるかもしれない。夏場は、暑い便所の空気をケースのファンがかき回してくれるので、気温は高いけどちょっと涼しいかもしれないが、体感はやっぱり暑い。
※ 1 ウソです。本当は金がないから新しい高性能 PC を買えなくて虚勢を張っているだけなの。しかもデスクトップ用 PC って高いじゃない?サーバは激安なのに…じゃぁデスクトップ用にサーバを使うとウルサイし…。
ではタワゴトはたいがいにして、オレの PC を紹介しよう。仕様は下の通りだ。
見た目はこんな感じだった。…だった。
web によると、 1999 年 5 月 13 日デビューとのことだ。当時ではそこそこの性能である。…が、今ではやっぱり見劣りする。というか、ちょっと重い処理をすると時間はかかるし、すぐに CPU ファンが回りだしてやっぱりやかましい。
しかも、いまはちょっと改造というか…下のような見た目だ。
別にウケを狙ったわけではない。もともとノート型の PC だが液晶画面の表示が出なくなったのだ。バックライトに問題があったわけではなく、液晶パネルにフィルム基板がついていたのだが、それがはがれて接触不良ということだった。こんなの半田付けできないので、画面部をとっぱずして、キーボードのついている本体にあまっていた液晶モニタをつけたのだ。外部モニタとしてやれば問題なく使えるのだ。まぁ、省スペースデスクトップというか、キーボード一体型といえばそんなものでもある。画像 OUT (D-SUB 15 pin 3 列) 以外に、シリアル I/O (D-SUB 9pin)、 USB 、プリンタ、フロッピーディスクドライブ、 CD-ROM ドライブと一通りそろっているのだ。動作が遅いことはおいといても入出力装置としては悪くない。
動作が遅い原因は最高クロックが低いせいだけではない。もともとノートパソコンは電池を長く持たせるために平常時でもクロックは低めだろうし、ましてや CPU が熱くなってファンが回っているときは、温度上昇を抑えるためにもクロックがより低くなるということで、早い処理を期待する時には悪循環にハマるわけだ。
「オレの PC 」の問題点を列記してみよう。
理由は簡単だ。計算機リソースが小さくていっぱいいっぱいだからだ。
次に計算機リソースを考えてみる。
だから重い仕事は ProLiant 君にやらせて表示を「オレの PC 」で行うという考え方は悪くないハズだ。だが、その画面を飛ばす方法と OS が違うことが問題なのでその辺を検討しよう。
VMware Player を動かして、画面を飛ばすことを思いついた。そのスジで有名なのは X Window System だ。しかし、個人的に考えるとほとんど使ったことのない X は難しい。ほかには vnc がある。 vnc は早い PC でも遅い PC でもなんとなーくモッサリ感が取れない。ふと、思い立ったのは ProLiant 君で VMware Server を動かして Server Console を手元の「オレの PC 」で動かすとリモートデスクトップみたいにならないか?ダメだったら vnc や X にチャレンジということだ。試す順番は下のようにしてみよう。けっきょく今回は 1 で成功した。
例によって、筆者は Debian GNU/Linux ( 2008 年現在のバージョンは Etch だ。) で構築する。
VMware Server のダウンロードとライセンスの取得およびインストールの詳細についてはほかの資料を参照してくれ。キモな部分だけ書いておく。また、後で「オレの PC 」用に VMware Server Console をインストールして使うので、一緒においてある VMware Server Console を OS の種類をあわせて (今回の場合は Windows 用) ダウンロードしておこう。
VMware Server 上で、『「オレの PC 」で動かしている Windows 』相当を稼動させるが、表示はいらないハズだ。そう考えて、いきなりインストールにチャレンジしてみるが、結果的にはどれもうまくいかなかった。
# /etc/init.d/vmware start Starting VMware services: Virtual machine monitor failed Virtual ethernet failed Bridged networking on /dev/vmnet0 failed Bridged networking on /dev/vmnet2 failed Bridged networking on /dev/vmnet3 failed
面倒クサくなったので、インストール作業はルート権限で tasksel を起動してデスクトップ環境をいれたら、まぁほしいもの以外 (たとえば Linux 上では使わないので OpenOffice.org などが入っても使わない) も入ったが、すんなりいったのでいいこととしよう。
Package configuration lqqqqqqqqqqqu Software selection tqqqqqqqqqqqk x You can choose to install one or more of x x the following predefined collections of x x software. x x x x Choose software to install: x x x x [*] Desktop environment x x [ ] Web server x x [ ] Print server x x [ ] DNS server x x [ ] File server x x [ ] Mail server x x [ ] SQL database x x [ ] Laptop x x [ ] manual package selection x x x xx x x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
VMware Server をダウンロードしたときに VMware Server Console をもダウンロードしておいたと思う。それを手元の装置(今回は「オレの PC 」)にインストールする。インストールが終わったら早速起動してみよう。
VMware Server Console の起動に成功すると下のように、「どこに接続するか?」と聞いてくるハズだ。 VMware Server をインストールするときにどのポートで待ち受けているかの質問があったのだが、標準では 902 番だ。
Please specify a port for remote console connections to use [902]
902 から変更してなければ、インストールした ProLiant 君の IP アドレスと、アカウントとパスワードを入れて OK すればよい。
希望的には最初は下のような画面になってつながるハズだ。
そうしたら、右のペインにある New Virtual Machine をクリックして新しく Virtual マシンを作って使うことができる。ここまできたら一般の VMware 関連サイトにある情報を参考につかってみよう。 なお、筆者の場合インストール CD-ROM を Client (要するに「オレの PC 」) に突っ込んでリモートにある ProLiant 君にインストール可能だと思ったのだが、うまくいかず、結局便所に置いた ProLiant 君の CD-ROM ドライブを開けて入れに行ったのだった。
ダメパターン
ウマくいったパターン(まぁ標準なんだけど)
この辺が注意が必要な気がするが、何とかなるだろう。
当初予定していた、計算機リソースをよりパワフルなマシンで使うという目的は達成したが、今回それ以外にもメリットが出た。
ところで、上記 2 だが、外部ネットワークから参照するわけだから、セキュリティリスクも高まる。ちょっと考えると
メニューをよく見ると、 Host → Settings → Connection でなんか SSL 使ってというような、ソレっぽいメニューがある。確か起動したあとも右下に鍵マークあるし。
しかし、本当に SSL でつないでいるのかについてはパケットキャプチャしてもよくわからなかった。というか、パケットキャプチャできるが、中身はぜんぜんわからない (爆)。そこで、イージーな方法として ssh でトンネルを掘ることにした。例として TeraTerm での手順は Setup → SSH Forwarding → Add ボタン→ Forward local port を適当な値(たとえば 1902 )にして、 to remote machine を指定 (今回は ProLiant 君の IP アドレス 172.18.211.172 )にして、 VMware Server のインストールのときに指定したポート(標準では 902 で、今回も 902 ) にして OK し、 ProLiant 君にログインしてみる。
詳しい原理はほかの情報に譲るが、これで「オレの PC 」 で動いている VMware Server Console と ProLiant 君上で動いている VMware Server との間はひょっとすると SSL で接続されているのかもしれないが、それも含めて ssh トンネルの中を通るので経路はほぼ安全といえよう。あとは VMware Server が動いている装置(今回は ProLiant 君)で iptables をつかって port902 をふさげばほぼ完璧♪
つまりローカルホスト 127.0.0.1 の 1902 につないで、それをサーバの ssh ポート 22 から 902 に内部で接続ということだ。
この仕組みによって、ショボい PC でも高性能な計算機リソースが使えるようになる。たとえば「オレの PC 」で表示する mixi のペイジは日記を書こうと思っても表示に 20 秒くらい待つことがあってゲンナリしていたが、 ProLiant 君の中で動かしたら、待ち時間はなくなった。非常に快適だ。 ただし、動画の表示などは VMware Server の目的外なので、効果はほぼないと思われる。 Java Script とか、あるいは表計算ソフトのマクロが非常に遅いとかには大きな効果が期待できるハズだ。 今回はほんの素材なので、いろいろな応用を試してみて欲しい。
Good Luck !
参考にサーバでの CPU 稼働率を見ると下のようになった。 PC として使ってないときは 30% にも届かないがいろいろ作業するとそれなりに CPU を使えているというように見える。
Windows 上から見た ssh トンネルを使ったネットワーク接続状態は下の通り。
C:\>netstat Active Connections Proto Local Address Foreign Address State TCP pc-shibata2:1119 localhost:1902 ESTABLISHED TCP pc-shibata2:1120 localhost:1902 ESTABLISHED TCP pc-shibata2:1902 localhost:1119 ESTABLISHED TCP pc-shibata2:1902 localhost:1120 ESTABLISHED TCP pc-shibata2:1051 192.168.1.3:microsoft-ds ESTABLISHED TCP pc-shibata2:1117 172.18.211.172:22 ESTABLISHED
Windows 上から見た ssh トンネルなしのネットワーク接続状態は下の通り。
C:\>netstat Active Connections Proto Local Address Foreign Address State TCP pc-shibata2:1051 192.168.1.3:microsoft-ds ESTABLISHED TCP pc-shibata2:1123 172.18.211.172:902 ESTABLISHED TCP pc-shibata2:1124 172.18.211.172:902 ESTABLISHED
当方(SHIBATA Akira)は, 本サイトをご利用の際に起きるかもしれない不利益に対し, 一切責任を負いません.