マシンの準備

仕様決定。

値段重視。ひたすら重視。でも下記は必須。

  • デュアルコア
  • VT対応。
  • x64対応。
  • メモリは目いっぱい4GB搭載。
  • ハードウェアの相性で悩みたくないのでIntelで。
  • ・・・3万円台まで。

スペック。

がんばってかき集めた。ケースだけ、コンパクトさと見た目が欲しいとの邪念が入って高め。35,600円也。まずまず。

パーツ 詳細 単価 数量 金額 状態 入手元
CPU Intel Core2Duo E6300 7,500 1 7500 ジャンク扱 Yahooオークション(送料込み)
CPU-FAN Spire BUILD SP520B0-JBX 1,980 1 1980 新品 Sofmap
MEM CFD No-Bland Memory(M&S) PC2-6400-DDR2-800 2GB x2 3,480 2 6960 新品 DOS/Vパラダイス
MOTHER GIGABYTE GA-5MMSV-RH 4,850 1 4850 中古 Yahooオークション(送料込み)
CDROM LITEON 16X DVD-ROM 2,180 1 2180 新品 Sofmap
HDD MAXTOR 6B200M0 (200GB SATAII) 4,680 1 4680 中古 Sofmap
CASE AOPEN H340G (200W) 7,480 1 7480 新品 ヨドバシカメラ
FDD なし 0 1 0 取りやめ  

テスト。

memtest+で3ループ走破。大丈夫だった!ジャンク扱いだったCPU、出品者のコメントでは、ただのメモリエラーのような症状だったが、ビンゴのようだ。

Xenを使う(完全仮想化)-準備

今回はXenを利用するので、ホストOSから。企業向けでほぼ独占状態の有償ディストリ「RedHatLinux」の互換OS、CentOS5.1(x64)を導入してみた。近頃はホスティングでもよく導入を見かける。

メディアの入手&インストール

CDメディアだと数枚になってしまうので、DVDを所望。BitTorrentでさくっとダウンロード。そしてインストール。

だけ。さくっと終わるが、日本語の表示がおかしい。ソフトウェアの追加と削除で日本語パックを入れて対応。
それにしてもインターネットとメールだけなら、linuxだけでいいんじゃないだろうか。

イントロダクション

Windowsって、

正直、相当使いやすい。バグもあるけれども、致命的なバグは2k以降劇的に減ったし、何より安定してる。Windows95以来、有償ベータテスト?をやってきた成果が出てきたと思う。

でも、世の中OSS。

フリーソフト、クライアント用はあいかわらずWindowsが圧倒的なんだけど、サーバーソフトとかは手に入りにくかったり、試用版しかなかったりすることが多いんです。個人用途じゃWindowsServerは高くて買えないし、会社は緊縮財政(関係ないな)。サポートがないだけで中身は一緒のものが、気軽に試せて素晴らしい世の中。Linuxとか*BSDとかのユーザが増えるにしたがってノウハウも充実してきて頼もしい。

ライセンス費用高ぇよ。

商用のソフトウェア、安定してるし、サポートも付いてくるけどやっぱ高い。

たとえばサーバー。
  • Windowsもクライアントや社内サーバー位ならまだいいのだが、凝ったことをしようとしたとたんに追加費用発生。
  • 接続ライセンス費用。地味にイタイ。ASPとして商用サービスするには、社内向けのCALに似た、SALが必要になるんだが、コレが高い。詳細は割愛するが、認証を伴うサービス(簡単に言うと、ログインがあってユーザマスタを持っているもの)の場合、1ユーザ1000円以下のサービス提供は難しいんじゃないかなという金額をこの間聞いた。
たとえばデータベース。
  • 商用データベースで有名なOracle。保守費用(購入費用の約22%/年)を払わないと、技術文書もパッチも落とせない徹底ぶり。接続ユーザ数やエディションによってライセンス費用が変化するが、フロントにWebサーバがいる場合でも末端の使用ユーザ数でカウントされるため、結局プロセッサライセンスで買うしかなかったりする。サーバー増強とかでCPUが増えるとさらに倍。サーバーをうかつに増やせない。

じゃあLinuxか?(安直)

  • 最近のLINUXは相当使いやすくなっててびっくりだ。エンタープライズ用途で使っているトコロはどんなになっているのか。調べてみようと思う。幸い、近頃は仮想環境が大ブレイク中だ。最小の投資で複数台のサーバを作って動かしてみよー。とりあえずはXenだ。

Xenを使う(完全仮想化)-ディスクのパフォーマンス

速い。速すぎる。これ実際のスピードなのか?キャッシュなのか?
完全仮想化でこのスピードなら、準仮想化ならどうなるんだろ。

HDBENCH

ALL Integer Float MemoryR MemoryW MemoryRW DirectDraw
68575 133847 88070 73566 74078 144061 131
Rectangle Text Ellipse BitBlt Read Write RRead RWrite Drive
1726 927 69 207 174194 35150 106395 20640 C:\2000MB

CrystalMark2004

[ HDD ] 30515
Read : 181.83 MB/s ( 5636 )
Write : 161.91 MB/s ( 5238 )
RandomRead512K : 202.85 MB/s ( 6028 )
RandomWrite512K : 181.05 MB/s ( 5621 )
RandomRead 64K : 104.56 MB/s ( 4091 )
RandomWrite 64K : 97.54 MB/s ( 3901 )

Xenを使う(完全仮想化)-DomUの作成 (Windows2000)

ホストosがLinux(x64)でも、完全仮想化の場合は32bitのosが動くらしい。
結論からいうとWindows2000Proで成功しました。しかも不思議なおまけつき。

手順

  1. Windows2000のcdイメージをハードディスクに作成する。
  2. LVMでdomUパーティションを作成する。
  3. VirtualMachineマネージャでdomUを新規作成。
  4. 起動&インストール。

手順の中でやったこと。

1.Windows2000のcdイメージをハードディスクに作成する。

 Windows2000のcdをマウントし、イメージを作成する。コマンドは下記のとおり
 dd if=/dev/cdrom of=/home/myname/windows2000.iso

2.LVMでdomUパーティションを作成する。

 論理ボリューム管理で新しくボリュームを切り出す。
 ↓こんな感じ

      • LVM(VolGroup00)
        • / (LogVolDom0Root) 10GB
        • swap (LogVolDom0Swap) 1GB
        • / (LogVolDomU01) 10GB
3.VirtualMachineマネージャでdomUを新規作成。

 マネージャを使ってdomUを新規作成する。方法は下記参照。
 http://www.linuxmania.jp/xen_centos5.1.html#full_virt

4.起動&インストール。

 仮想マシンコンソールを起動して、インストールを実施。
 ところが、再起動のタイミングで、cdromが見えなくなるらしく、途中でコケます。
 仮想マシンのファイルを手動で書き換える必要があります。

  • 書き換えるべきコンフィグの場所は下記のとおり(※要ルート権限)

 /etc/xen/domUマシン名

  • 書き換えの場所

 boot = "c"
 → "c"でHDD起動、"d"でCD起動

 disk = [ "phy:/dev/VolGroup00/LogVolDomU01,hda,w", "file:/home/myname/win2k.iso,hdc:cdrom,r" ]
 cdrom ="/home/tatsuo/win2k.iso"

 → diskのエントリを増やして、isoをマウントしてます。「hdc:cdrom」と属性の指定をした上で、[cdrom=]で明示的に指定をしないといけないらしい。
 【注意】
 途中でコケてしまったあと、続けてWindowsを修復インストールするとおかしくなるので(ネットワークが全て無効)、
 必ずフォーマットからクリーンインストールを行う必要があるようだ。

不思議なできごと。

 パフォーマンスをはかってみました。そしたら、大変な事が。

 「ディスクアクセスが速過ぎる。」

 仮想化するとディスクアクセスは相当遅くなるはずなんだが、
 どんな原理なんだ?キャッシュに入り切らない程のサイズでも速い。

VNCサーバを起動する。

切り替え機で、メイン機とLinux機を往復するのが大変なので、VNCを稼動させます。

方法1

(実機にログオンしているときだけ有効)
システム−設定−リモートデスクトップ で有効にするだけ。

方法2

(サーバ起動時にVNCサーバをバックグラウンドで起動する)

  • 1.「/etc/sysconfig/vncservers」を編集して、ユーザ登録をする。
    • VNCSERVERS="1:ユーザ名"
    • 数字の1はディスプレイ番号、ユーザ名はログオンするLinuxのアカウント名
  • 2. vncpasswd コマンドでパスワードを設定する。
  • 3.「~/.vnc/xstartup」を編集して、GNOMEログインを有効にする。
  • 4.管理−サーバー設定−サービス でVNCSERVERを起動する。
  • 5.ほかのマシンから、vncviewerで接続する
    • 「サーバのIPアドレス:番号」番号は1.で設定した番号。

※ 参考サイト(というかまんま)
 http://hisapom.blogspot.com/2007/02/centosvnc-serverwindowsxprealvnc.html

VNC経由で日本語が使えない。。。
【追記】使えた。CTRL+SPACEでサーバー側の日本語がON。