VMMの最近のブログ記事

という記事をちょっと前にQiitaに投下した。

http://qiita.com/lti0/items/4025e297014517108af0

やはり詳しい方には既知のようで、その後の記事でフォローされている。

そちらも一緒にどうぞ ⇒ BitVisorのヒープ領域

という記事を Qiita に投稿した。

http://qiita.com/lti0/items/f9d27ded802a5a40c613

この記事は、BitVisor アドベントカレンダー 14日目の記事となっている。

Qiita を初めて使ったが、Markdown に慣れている人ならすらすら書けそうという印象。自分はあまり書かないのでスタイル・文章とも滅茶苦茶。ここだけの話、文章を書くのに掛かった時間がプログラムを書いた時間より10倍以上多く掛かっている。まあ Qiita に限らず良くあることだが・・・

興味のある方は是非覗いてみて下さい。公開されてから見たが、ちょっと長いな。。

現在、仮免許試験に無事通過しまして、ホットしているところです。ちょっとハンドルがもたついて、S字の出口でふらつきましたが、結果は大丈夫でした。エンストもなく、そこそこな出来だったと思ってます。


はい、本題に入ります。

VMware ESXi 4は、仮想サーバを構築するためのOSです。かなり高機能なのですが、対応しているハードウェアが少ないというデメリットがあります。独自OSですから仕方ないですね。

さて、家のサーバには、2つのNICが刺さっています。一つは、Intel製、もう一つはMarvell製です。ESXiでは、Intel製のNICしか認識できなく、Marvell製のNICは動作しませんでした。

ちょっとESXiのShellで調べてみたところ、どうやら認識はしているようです。(lspci コマンドで確認できます) ですが、動作はしていないようです。dmesg コマンドで確認したところ、ドライバが正常に動作していないみたいです。

今月から自動車教習所に行ってまして、色々とあり疲れてました。慣れない物なので、特に足が疲れます。取りあえず、MTで取ってますが、エンストしまくってやばいです(^_^;) 今は収まりましたが、心配ですね(-.-)

来週あたりに仮免許試験で、仮免許がとれるかどうかと言うところです。ここまで大体2週間程度でしょうかね。このまま行けば、あと1ヶ月くらいで本免許がとれそうな気がします。


 

さて本題!

 

以前の記事では、VMwareにする!!みたいに書いていましたが、最終的にXenServer 5.6を選びました。

まぁいろんな理由でこれにしたんですが・・・

決め手となった理由は、以下の通り。

  • ベースがCentOSと言うこと
  • 対応ハードが現在のLinuxと同じであること
  • ソフトウェアRAIDが使えること

ソフトウェアRAIDが一番の理由ですね。やっぱりハードディスクは、2台でRAID1でないと心配なので・・・

ソフトウェアRAIDの導入方法は、以下のサイトを参考にさせてもらいました。

VMwareでも、NFSなどのNASやファイバーチャンネルのSANを使ってストレージを構築して、ストレージ側でRAIDを組めば同じようにできますが、NASを構築しなければいけないし、別途ストレージ通信用のNICが必要になり、コストがかかります。(XenServerでもNFSでの外部ストレージに対応しているので、どっちも変わりません)

あとベースがCentOS/RHELなので、yumが使えたりします。(試したこと無いけど・・・)

今は順調に動いているので、このまま様子見です。たぶんこのまま使うでしょうね。

テストとかレポートとかで更新が止まってました。久しぶりにブログを書きます。

Hyper-Vは・・・

現在、このサーバはMicrosoft Hyper-Vで動いていますが、どうも使い勝手が悪いです。Hyper-Vでは、Windowsを仮想化することを前提に作られているようなものなので、Linuxに関してサポートがあまりされていません。

以前の記事に、Linuxゲストの時刻のずれの深刻さを書きました。それからわかるように、結構使いにくいハイパーバイザーです。

なので、今回はハイパーバイザーを比較してみました。

※Hyper-Vのサーバは、2台所持しているので、Webサーバ群を一度そちらに移して、検討しました。その時に、1時間ほどサーバがダウンしている時がありました。そのときに来た方は、すみません。

検討するのは2種類

今回検討するのは、代表的な2つのものです。

  • VMware ESXi 4.1
  • Citrix XenServer 5.6

ハイパーバイザーをセットアップするときに、OSが不要な物を選びました。クライアントソフトが優秀ということからそれを選んでいます。Linux上で動作する物(KVM、Xenなど)もありますが、面倒だったのでやめました。

特徴と気づいたことをまとめて行きます。

前書き

最近は、VPSと呼ばれるレンタルサーバが流行しています。VPSは、仮想化技術を使って、共用サーバなのに専用サーバのように使えるサービスです。

そのVPSの1つに「Serversman@VPS」が今年4月から開始されました。月々500円という格安価格で利用できるという優れたサービスです。

私は、5月1日に申し込んで、その記録を書きます。

サーバ部分を再構築してました。

前構築したのが3ヶ月前なので、前のネットワークは良くなかったみたいです。まだ、ネットワーク図すら書いてませんしねw

自宅サーバで、慣れてきてもっと高度なことがしたい!!ってな人向けのアドバイスを書いておきます。

Hyper-Vは、どうやらLinuxには完全にまだ対応していないようです。使ってみたところ、Windows向けに調整されていることがわかります。

一応、Microsoft社からLinux用の統合ツールが用意されていますが、Hyper-Vのイベントビューにバージョンの相違のログが出ます。さらに、ハートビートやシャットダウン機能などはそれらに含まれていません。最低限は使えるようです。

Linuxを使う上で一番やっかいなのは、時刻です。やたらと速く進み、10分くらいで1分ほどずれてしまいます。Windowsは、RTC(Real Time Clock)と随時同期しているので正常ですが、Linuxは、一度RTCから時刻を読み出し、その後ソフトウェアによるカウントになっています。仮想環境だとCPUクロックが変動するらしく、それによって時刻に揺らぎが出るようです。

改善方法は、時刻の方式を変えることと、NTPによる時刻同期があります。2つをするのが一番安全です。

まず、ブートローダの設定を変更します。以下はCentOS 5.4 x86の場合です。パラメータ設定は、VMwareのKnowledge Baseを参考にしてください。x86_64では、clocksourceが要らないようですが、私の環境では、以下の設定でも動作しています。

default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-164.6.1.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-164.6.1.el5 ro root=/dev/VolGroup00/LogVol00 hda=noprobe hdb=noprobe divider=10 clocksource=acpi_pm
        initrd /initrd-2.6.18-164.6.1.el5.img

保存して再起動すればOKです。これで少しはマシになりまが、それでもずれるので、NTPを使って同期させます。

NTPを使うために、ntpdをインストールします。

yum -y install ntpd

ntpdの設定を変更します。同期させるサーバを変更します。

# sed -i 's/^server/#server/' /etc/ntp.conf  ←既に設定されている物をコメントアウト
# echo 'server -4 ntp1.jst.mfeed.ad.jp' >> /etc/ntp.conf  ←ntp1.jst.mfeed.ad.jpを使用するサーバに指定
# echo 'server -4 ntp2.jst.mfeed.ad.jp' >> /etc/ntp.conf
# echo 'server -4 ntp3.jst.mfeed.ad.jp' >> /etc/ntp.conf

サーバは、なるべく近い(レイテンシが小さい)サーバを指定する方が良いです。また、-4は、IPv4で通信せよと言う意味です。
ntpdは、初期の時刻が大幅にずれていると同期されないので、その設定をします。ntpdが開始されたときに、時刻が同期されるようにします。

# echo 'ntp.jst.mfeed.ad.jp' > /etc/ntp/step-tickers

サーバは、先ほど同様に近いサーバを指定する方が良いです。あとは、ntpdを起動させ、サーバ起動時に自動起動するようにします。

# service ntpd start
# chkconfig ntpd on

これで完了です。時刻が同期されていれば、正しく動作しています。

参考URL

CentOS on Hyper-V〜Ver.UP- へっぽこにっき

追加情報

以前は、ntpdateをcronを使って5分間隔で同期させていましたが、これは良くないです。dovecotを使うことができません。

dovecot: Time just moved backwards by 455 seconds. This might cause a lot of problems, so I'll just kill myself now. http://wiki.dovecot.org/TimeMovedBackwards

上記のエラーが出力されて、終了してしまいます。今回紹介した方法だと、正常に使用することができます。

アーカイブ

カウンタ

Total
Today
Yesterday

IPv6 Ready

Powered by Movable Type 7.0