最終更新時刻:2009年7月11日(土) 10時00分
24

OSごとメモリに入れて持ち歩き中…

公開日時:
2008/02/14 13:10
著者:
かみやひろゆき
 

中古PCは安くなったけど…

ハードウェアの価格下落には驚かされる。

昨年末、社員数名で出張する予定があったので、複数台のノートPCを買わなければならなかったのだが、新品のノートPCでも1台6万円程度で十分な性能を持つものを購入できた。

また、秋葉原の中古ショップへ行けば、2万円台でオフィス用途や検証用途には十分な性能を持つPCがゴロゴロとある。
(メモリは別に買って増設することが多いけど)

弊社では、エンジニアの勉強用に 「何をやっても良いPC」 が一人1台あると便利なので、メインのPC以外に中古PCを1台ずつ購入している。
特にソフト寄りのエンジニアは、サーバやネットワークに対して「なんとなくの抵抗感」を持っていることが多いので、壊れちゃっても問題ない中古のPCがあるととても便利だ。
メーカーにとっては大変だと思うが、利用する側にとってはハードウェアの価格下落はとっても有り難い。

中古パソコンショップの品揃えが良くなってきたこともあり、次々とパソコンを買い揃えていたら、スタッフの数よりもPCの数の方が多くなってしまった。

で、先日、オフィスのブレーカーが落ちてしまった。
電源を別の場所から引っ張ってくることでひとまず解決したが、電気代や発熱量を考えるとホメられた解決策ではなさそうだ。
このまま社員が増えてくると、PCを置く場所であったり、ネットワークの配線であったり、そもそも電気の無駄遣いで全くエコじゃない。

どうしたものかと考えていたところで試しに仮想マシンを導入してみたところ、予想以上に使えるので最近はこちらにハマりつつある。

ソフトは得意だけどハードは…という人に最適

Perl や PHP、Java や SQL などの言語は扱えるが、コマンドで Linux を扱うことや、サーバの設定となると苦手というエンジニアはけっこう多いと思う。

だが、例えば文字化けなどが発生した場合はプログラミング言語を修正しただけでは解決できないこともあり、やはりサーバ周辺の知識を有しているエンジニアの方が活躍の場は広がる。

共有するサーバにアカウントを発行しても良いのだが、他人に迷惑をかける可能性があると思い切ってサーバの設定を変えるようなことは難しい。
それに他人に迷惑をかけると思うと試行錯誤するのに二の足を踏んでしまう。

こうした点でも仮想マシンであれば(種類によるが)、もし設定に失敗してもファイルを元に戻すだけでそっくりそのまま以前の状況に戻せたりするのでイロイロと試す用途にはとても便利だ。

VMwareのご紹介

さて、一口に仮想化いってもこの言葉は様々な意味に使われることが多いが、ここでは「1台のハードウェア上で複数のOSを動かす」仕組みを実現するものを仮想化と呼ぶことにする。

といってもこれまたどうやって仮想化を実現するかによって、いくつかの種類がある。
親OSの上に子OSを複数乗せていくタイプもあれば、親子という概念を持たない仮想化の仕組みもある。

近年では、Xenに代表されるような1台のサーバに複数のOSをインストールし、外部からはあたかも複数台のサーバがあるように見せる技術も商用サービスとして問題なく使われている。
資源の有効活用、という点ではとても良い技術だ。

ただ今回ご紹介するのは Xen ではなく、Windows 上で別のOSを仮想的に動かす VMware というソフトである。

※注:私は VMware を愛用していますが、VMware社とは何も関係ありません

OSごと丸まる持ち運び中

インストール方法や設定方法、VMwareのラインナップに関してはここで説明するよりも他にわかりやすいページがあるので割愛するとして、私がどんな風に使っているのかを紹介しよう。

Windows で VMware の仮想マシンを作成すると、(他の画像ファイルやオフィスドキュメントと同様に)いくつかのファイルが出来上がる。
後はこの内の1ファイルをダブルクリックして実行するだけで、Windows上に別のOSを立ち上げることが可能だ。

一番楽しいのが、このファイルをUSBメモリに入れておいて、他のマシンに差し込んでクリックするだけで「OSごとそのままの環境で起動」できてしまうこと。
最近の Linux では Windows のようにハードウェアを自動認識して起動するものが多いので、多少のハード環境の違いであれば問題なく起動してしまう。

※注:VMware の場合は、先に仮想マシン用のアプリを入れておく必要がある

8GBのUSBメモリも驚くほど安くなったので、OSごとポケットに持ち歩くことも全く問題ない。
CentOSとUbuntuとFedoraと…
別々のUSBメモリにコピーしておいて、メモリを差し替えるだけでOSを切り替えることが可能だ。

GUIが不要であれば、4GBの高速なUSBメモリでも問題ない。
(OSで2GB使ったとしても、1GBぐらいはフリーな領域が残っている)
4GBのUSBメモリはとうとう2,000円を切る価格でも手に入るので、お財布にも厳しくない。

マシン環境のフルバックアップもファイルコピーだけで完了する。

プログラム開発者であればソースのバージョン管理を日常的に行っていると思うが、マシンそのもののバージョン管理は(普通は)行っていないだろう。
VMwareのような仮想マシンであれば、エクスプローラ上でファイルをコピーするだけでバックアップが完了する。
新入社員の研修などで全員に同じ環境を用意する必要があるときでも、同じファイルコピーで準備完了だ。

なおVMwareでは、仮想マシンの作成時に動的に領域を確保するか、最初に領域を確保するかの設定ができる。
最初に確保する場合、仮想マシンの容量を10GBとしたら、10GBのファイルが出来上がる。動的に確保する場合は、必要なサイズのファイルが生成され、足りなくなれば大きくなっていく。
最初に確保した方が動作が速いので私は通常こちらを選んでいる。

コアが2つあると快適

作成済みの仮想マシンがあれば後は起動するだけなので本当にシンプルなのだが、そもそも「仮想マシンをどうやって作るのか」という話は別の機会にして、ここでは注意すべき動作環境を書いておこう。

当たり前の話だが、仮想的にOSを動かしているのでハードウェア(リソース)が増えるわけではない。
VMwareであれば、いくつものOSを同時に起動できてしまうが、3つも4つも立ち上げると当然のように動作は重くなる。

参考までにどれぐらいのスペックと用途であれば問題ないかを書いておこう。

私の環境は親OSは Windows で、子OSは CentOS-4系 または CentOS-5系 である。
子OSのLinuxでは GUI を使用せず、サーバ用途でSSHやFTPなどを使い、Webサーバとして機能させている。
子OSには外部からのアクセスはなく、親OSとのやり取りのみ。

手元にある Pentium-4 2GHz と 1GBメモリ というマシンであれば、この用途でも問題ない。
PHPやRubyなどのプログラミングをして、MySQLを立ち上げ、カンタンなWebサービスを開発するぐらいならこれでできてしまう。
たまに応答が戻ってこなくなるが、これはディスクI/Oの問題かもしれない。

もう1つ、Core2Duo 2GHz、2GBメモリ という そこそこハイスペックなノートPCで試してみた。
試したというか、恒常的に使っている環境なのだが、このノートPCで4GBのUSBメモリ内に保存した CentOS を使っている限り、全くといって良いほど動作には問題ない。
よく聞かれるのだが、もちろんUSBメモリ内の仮想OSを起動したら、その仮想マシン内への書き込みは当然USBメモリに対して行われる。
さすがにハードディスクから起動したのに比べれば速度の低下は感じられるが、Webサービスの応答ぐらいなら気にならないレベルだ。

実はVMware社の歴史はかなり古く、10年ぐらい前に設立されている。
それでも今でも進化を続けていて近年登場したコアが2つあるCPUへの対応も進んでおり、Core2Duoであればさらに快適に動作させることが可能だ。
Core2Duoの性能をフルに活かす機会はなかなかなかったのだが、VMwareでは良さを実感する。

コア複数時代の常識となるか?

仮想マシンをどうやって作成し、親OSである Windows との連携や、ネットワークの共有などご紹介したい内容もイロイロとあるのだが、今回はこんな所で。

中古PCを買わずに済みそうなのは良いけど、Dual-Core のPCを買い揃えるとなると…これはこれでアタマの痛い問題。。。

※このエントリは CNET Japan ブロガーにより投稿されたものです。シーネットネットワークスジャパン および CNET Japan 編集部の見解・意向を示すものではありません。

このエントリーへのコメント

ブログにコメントするにはCNET_IDにログインしてください。

この記事に対するTrackBackのURL: 

CNET_ID

メンバー限定サービスをご利用いただく場合、このページの上部からログイン、またはCNET_ID登録(無料)をしてください。