という記事をちょっと前にQiitaに投下した。
http://qiita.com/lti0/items/4025e297014517108af0
やはり詳しい方には既知のようで、その後の記事でフォローされている。
そちらも一緒にどうぞ ⇒ BitVisorのヒープ領域
という記事をちょっと前に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を選びました。
まぁいろんな理由でこれにしたんですが・・・
決め手となった理由は、以下の通り。
ソフトウェアRAIDが一番の理由ですね。やっぱりハードディスクは、2台でRAID1でないと心配なので・・・
ソフトウェアRAIDの導入方法は、以下のサイトを参考にさせてもらいました。
VMwareでも、NFSなどのNASやファイバーチャンネルのSANを使ってストレージを構築して、ストレージ側でRAIDを組めば同じようにできますが、NASを構築しなければいけないし、別途ストレージ通信用のNICが必要になり、コストがかかります。(XenServerでもNFSでの外部ストレージに対応しているので、どっちも変わりません)
あとベースがCentOS/RHELなので、yumが使えたりします。(試したこと無いけど・・・)
今は順調に動いているので、このまま様子見です。たぶんこのまま使うでしょうね。
テストとかレポートとかで更新が止まってました。久しぶりにブログを書きます。
現在、このサーバはMicrosoft Hyper-Vで動いていますが、どうも使い勝手が悪いです。Hyper-Vでは、Windowsを仮想化することを前提に作られているようなものなので、Linuxに関してサポートがあまりされていません。
以前の記事に、Linuxゲストの時刻のずれの深刻さを書きました。それからわかるように、結構使いにくいハイパーバイザーです。
なので、今回はハイパーバイザーを比較してみました。
※Hyper-Vのサーバは、2台所持しているので、Webサーバ群を一度そちらに移して、検討しました。その時に、1時間ほどサーバがダウンしている時がありました。そのときに来た方は、すみません。
今回検討するのは、代表的な2つのものです。
ハイパーバイザーをセットアップするときに、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
上記のエラーが出力されて、終了してしまいます。今回紹介した方法だと、正常に使用することができます。