2012年4月30日月曜日

VMware Playerの中にVMware ESXを構築

2011年の記事移植


本当は、VMware ESXiの中に、VMware ESXを入れるつもりだったけど、
boot時になぜか64ビットエラーなるものがでてNG。


CPUはIntel VTに対応している型なんだけど、BIOSで殺してるのかなー。
このブログのサーバなので、停止してBIOSから調査するのは、めんどくさいのでとりあえず保留。
調査に時間がかかりそうだったから、
とりあえず作業用のPCにてVMware Playerが入っているので、VMware Playerで試してみることにした。


※手順はESXiの中に、VMware ESXを入れる手順と同じはず。


まず、VMware Playerで仮想PCを作成する。
条件はCPUが2つ、メモリ2G以上は最低必要。


上記仮想PCにESXのiosファイルを登録して起動し、インストールする。
インストールする手順は通常のESXのインストール手順と同様。


インストールが完了したら、一旦仮想PC上のESXを停止して、以下の定義ファイルを編集する。
テキストエディタでESXの.vmxファイルを開き、次の2行を追記する。
この作業をしないと、VMware Player上のESXでVMを起動することができないため必須となる。


monitor_control.vt32 = “TRUE”
monitor_control.restrict_backdoor = “TRUE”


※一番したの行に追加すればOK


これで、設定は完了。


仮想PCでESXを起動して、VMware vSphere Clientでアクセスする。
VMware vSphere ClientからゲストOSを作成することができる。


ぶっちゃけ超重いっす。。。


以下画像。

VMware ESX IP変更手順


2011年の記事移植


仕事でちょっとIP変える必要がでてきたので、調査と検証。
家ではESXiをつかってるので、ESXは初さわり。


ESXとESXiはアーキテクチャが異なる。
ESXにはRedHatベースのサービスコンソールなるものがあり、
このコンソールを使用してVM Kernelを制御しているようだ。
で、IPアドレスを変更するには、以下のコマンドをサービスコンソール上で実行する。
esxcfg-vswif -i X.X.X.X -n Y.Y.Y.Y vswifZ


Xは変更後のIP、Yは変更後のサブネットマスク、ZはvswifのID


※IP変える場合は、リモートではなくコンソール対面で作業したほうがよい。
 IP変更のタイミングでtelnetなどは切断されてしまうため。


まず、現在の設定を調査する。


[root@vmtest ~]# esxcfg-vswif -l
Name Port Group/DVPort IP Family IP Address Netmask Broadcast Enabled TYPE
vswif0 Service Console IPv4 192.168.30.10 255.255.255.0 192.168.30.255 true STATIC


以下のコマンドで、IPを変更する。30を31に変更
[root@vmtest ~]# esxcfg-vswif -i 192.168.31.10 -n 255.255.255.0 vswif0
Setting IP config
Nothing to flush.


再度確認。
[root@vmtest ~]# esxcfg-vswif -l
Name Port Group/DVPort IP Family IP Address Netmask Broadcast Enabled TYPE
vswif0 Service Console IPv4 192.168.31.10 255.255.255.0 192.168.30.255 true STATIC


これで、IP変更完了。
一旦再起動して、「VMware vSphere Client」からログインする。
※VMware vSphere Clientが起動するまで少し時間がかかった。
 スペックによるかも。


VMware vSphere Clientに変更したIPでログインしたら、
VMに登録してあるゲストOSのIPを変更していく。


職場ではSUSEを使用しているので、YaSTでIPを変更すればOK
ゲストOSを再起動して、telnetでログインできればOK


以上。

eyeOS

2011年の記事移植


System z Solution Edition for Cloud Computingのサンプルワークロードとして採用されたらしいので、ためしに構築してみた。(*´ω`*)
eyeOSに必要なのは、「Apache」、「PHP」なので、仮想化したスペースにインストールしてみた。


以下のサイトでDownload eyeos 1.8.7.1をダウンロード。
http://eyeos.org/en/downloads


ダウンロードしたファイルをサーバに格納して解凍し、URLでアクセス。
インストーラが起動するので、rootのパスワードを入力することで、インストール完了。


※PHPで、SQLite と IMAPが使用できないとメールが使えない旨のメッセージがでる。
# yum -y install php-imap
で、IMAPはインストールできるけど、SQLiteはちょっとめんどくさい。
PHP本体をyamでインストールすると「pecl install sqlite」ではSQLiteはエラーになり、上手くインストールできない。。。゚(゚´Д`゚)゚。

VMwear ESXi4 Client


2010年の記事移植


サーバのインストールが出来たら、クライアントから接続して仮想サーバを構築する。
仮想サーバ事態は、CPU数、メモリ数、DISK容量、ネットワーク設定などを設定して、起動させればあとは普通のPCのインストールと同じ。


ESXi4は準仮想化にも対応しているけど、VMwearの方針としては次世代ではサポートしなくなるかも。
理由はCPUの性能が上がってるし、Intel VTなどの仮想化支援機構が発達してきているかららしい。。


性能的には、完全仮想化よりも準仮想化のほうがパフォーマンスは良いのだけれど。。。
Linuxでは、準仮想化に対応しているのはUbuntuの最新版とか、Kernelのバージョンが2.6.21以降を採用しているものだったかな。
RedHatEnterpriseやCENTOSは2.6.18ベースなので、NGっぽい。(´・ω・`)


※よく分からんのだけれど、18.xxのパッチで対応していないのかな。。?
 ネットで調べると人によってはxenKernel入れればOKみたいな記事あったけど、
 ちゃんと準仮想化で動いてるのかな?
 試してみたけど、boot時のログには、VMI(ESXi4の準仮想化オプション)のログは
 見当たらなかったのだが。。。更なる調査が必要だ。(`・ω・´)

VMwear ESXi4インストール


2010年の記事移植


無料で使えるベアメタルハイパーバイザ。


家のサーバもHDD追加して容量も増えたし、せっかくIntel VT対応CPU(Core2Duo)なので、サーバを仮想化しました。


サーバの構成は、
 CPUはCore2Duo E6200、メモリは3GB
 HDDは1.5TB+SSD80GB
といった感じ。CPUがちょっと弱いけど、余ってるPCなのでまぁ仕方がない。


とりあえず、現状のサーバのバックアップを実施して作業用PCへ退避。
DBと/varのWEB情報。/homeの情報など。6GBもバックアップあった。。。


OSの領域とか、APLの領域は再インストールすることにした。
VMwear ESXi4のインストールはハードウェアが対応していると、すごく簡単にインストールできる。


ただし、ハードウェアの対応状況は非常に少なく、対応しないハードだったら他のハイパーバイザにしたほうが楽。(´・ω・`)


私のPCは対応していたので、10分ぐらいでインストールできた。
ちなみに、HDDはIDEはNGっす。SATAじゃないとNG。


NICもIntelとかのほうがすんなり認識。マイナーどころは認識してくれない。。。
CPUもAMD系は認識しない。。。などなど。。かなりハード選びます。
ESXi4自体はたとえるならBIOS画面みたいなイメージかな。


基本的なサーバの設定とかは、ネットワーク越しに別のクライアントツールを使用して設定する感じ。


ESXi自体のインストール手順は割愛。ググレばいっぱいでてくるし、
ぶっちゃけ、手順なんか必要ないぐらい簡単。(*´∀`*)
※ただし、ハードが対応している場合のみね。(´・ω・`)

mod_Uploaderを使用したUploader構築メモ


2010年の記事移植


mod_Uploaderを使用してuploaderを作成してみた。


mod_UploaderはApacheのプラグインとして動くので、
WEB層で実装したuploaderより性能が非常に高いのが特徴です。


参考サイト
http://acapulco.dyndns.org/mod_uploader/apache.htm


現時点で最新?バージョンのインストール手順を以下公開しまー
そんなに面倒ではない。
※今回はCENTOS5でソースからコンパイルした手順です。
※ソースからコンパイルした後に気がついたけどrpmもあるようなので、
 そっちを使ったほうが楽かな。yumにもあるかも。。
 
作業ユーザはrootで実施。


とりあえず、コンパイルするまえに、必要なモジュールをyumでインストール。
# yum install ImageMagick-c++-devel
# yum install httpd-devel


mod_uploaderをダウンロードする。
# wget http://iij.dl.sourceforge.jp/mod-uploader/30869/mod_uploader-3.0.9.tgz


解凍し、ディレクトリの中に移動
# tar zxvf mod_uploader-3.0.9.tgz
# cd mod_uploader-3.0.9


configureを実行する。
※オプションは任意。
# ./configure –enable-empty-comment –enable-empty-password –enable-remove-unpopular –enable-thumbnail


make、インストールする。
# make apache-module
# make -f GNUmakefile.apache install


これで、インストールまで完了


以下、APL準備手順
※ここからは、サンプルの構築方法
必要なディレクトリを作成。
# mkdir -p /var/www/Up/img
# mkdir -p /var/www/Up/css
# mkdir -p /var/www/Up/js
# mkdir -p /var/www/Up/file
# mkdir -p /var/www/Up/date
# mkdir -p /var/www/Up/thumb
# mkdir -p /var/www/Up/tmp
# mkdir -p /var/www/Up/tmpl/en


作成したサンプルファイルをコピー
# cp /root/mod_uploader-3.0.9/img/* /var/www/Up/img/
# cp /root/mod_uploader-3.0.9/js/* /var/www/Up/js/
# cp /root/mod_uploader-3.0.9/css/* /var/www/Up/css/
# cp /root/mod_uploader-3.0.9/tmpl/en/* /var/www/Up/tmpl/en/


アクセス権をApacheユーザに設定。
# chown -R apache:apache /var/www/Up/*


ここから、uploaderの設定をする。
# vi /etc/httpd/conf/httpd.conf


以下を追加する。


# uploader


SetHandler uploader


UploaderBaseUrl “http://adatmn.dip.jp/xxxxxxx” ←URLを適当に


UploaderDataDirectory “/var/www/Up/date”
UploaderFileDirectory “/var/www/Up/file”
UploaderThumbDirectory “/var/www/Up/thumb”
UploaderTempDirectory “/var/www/Up/tmp”


UploaderFileSizeLimit 102400    ←1ファイルあたりの最大サイズ
UploaderTotalFileSizeLimit 10240000 ←全体の最大サイズ
UploaderTotalFileNumberLimit 1000
UploaderPerPageItemNumber 20


UploaderIndexViewTemplate “/var/www/Up/tmpl/en/index.htm”
UploaderInfoViewTemplate “/var/www/Up/tmpl/en/info.htm”
UploaderProgressViewTemplate “/var/www/Up/tmpl/en/progress.htm”
UploaderDownloadViewTemplate “/var/www/Up/tmpl/en/download.htm”
UploaderThumbnailViewTemplate “/var/www/Up/tmpl/en/thumbnail.htm”
UploaderAdminViewTemplate “/var/www/Up/tmpl/en/admin.htm”
UploaderErrorViewTemplate “/var/www/Up/tmpl/en/error.htm”


Alias /up_img “/var/www/Up/img”
Alias /up_css “/var/www/Up/css”
Alias /up_js “/var/www/Up/js”


ここまで。


最後にApacheを再起動すれば完了
/etc/rc.d/init.d/httpd restart
[OK]
[OK]


以上

RTFM vs STFG

2009年の記事移植
RTFMって最近聞かなくなった。


プログラマーとジレンマを読んでいてRTFMって単語久しぶりに見たけど、
日本では、Read The Fakkin Manualではなく、要は「ググれカス!」が多く使われている。


じゃSTFG(Search The Fakkin Google)ってことかw