1月 282013
 

VMware ESXi に対するアクセスは Windows アプリで、 VMware vSphere Client は ESXi のバージョンに引っ張られてそのバージョンに対応したものをインストールしなければならない。と、いうのは以前に書いた通りです。

そもそも、普段から Windows OS を常用しとない人にとって VMware vSphere Client を利用するは非常に億劫です。どーせなら VMware ESXi に ssh ログインしてそこから色々やりたいですね。せっかくだからそーしてしまいましょう。

と、いうことで

1. VMware ESXi に ssh ログイン
VMware vSphere Client からサーバの設定で ssh を有効にします。「構成」タブの左側のメニューの「ソフトウェア」の中の [セキュリティプロファイル] を指定すると右側に表示されるのでプロパティから SSHを 指定し「実行中」にします。
すると root で VMware ESXi に ssh できるようになります。せっかくなのでユーザ登録時に一般ユーザアカウントも作成してしまいましょう。「ローカルユーザ及びグループ」でとりあえずアカウントを作成します。でもってすかさず ssh っ!!

ssh ログインできるようになりましたか?

せっかくなのでホームディレクトリを作成してしまえっ!! ってんで /etc/passwd にホームディレクトリを書き込んであげると次回以降、自分のホームディレクトリにログインできるようになります。ただ、ディレクトリ内の権限は root 権限で作成されるのでイマイチ意味が無いような気がしますが。けど、そこに色々なファイルが置けるのでそれはそれで良いかー;-)。

/etc/group の root グループに一般ユーザのユーザ名を登録してもユーザ権限で動作してくれないようですね。ま。いっか。でもせっかくなので公開鍵/秘密鍵のペアでログインできるようにしましょう。 sshd の設定ファイルは /etc/ssh/sshd_config なのでそのファイルを見ると以下の行が見えます。

AuthorizedKeysFile /etc/ssh/keys-%u/authorized_keys

 
なるほどね。公開鍵は /etc/ssh/keys-takachan/authorized_keys として置けば良いわけね。これでパスフレーズで ssh ログインできるようになります。

2. syslog の転送
VMware ESXi が出力する syslog って美しくないんだけど、まぁ syslog サーバに転送する分には特に問題ないので転送してしまいましょう。

まず、 syslog を受信するのは FreeBSD と想定した場合に /etc/rc.conf の設定は以下のようにして syslogd を再起動します。

syslogd_enable="YES"
#syslogd_flags="-a 192.168.1.0/24:*"
syslogd_flags="-a *:*"

 
コメントアウトしている行は 192.168.1.0/24 のホストからのみ syslog を受信する。って設定です。 *:* ってのは全てからの syslog を受信する。って設定です。こーすると IPv4/IPv6 の syslog が受信できるようになります。 IPv4 と IPv6 のネットワークを同時に指定する方法が解らなかったので・・。

Linux(CentOS) の syslog の受信は /etc/sysconfig/syslog の SYSLOGD_OPTIONS に -r を付けて再起動。ってのは皆さん知ってますよね? 😉

で、続いて VMware ESXi の syslog の転送方法ですが、 /etc/vmsyslog.conf をごっそりと手で直してましいましょう;-)。

[DEFAULT]
size = 1024
logdir_unique = false
loghost = udp://192.168.1.128
rotate = 8
logdir = 
[vmsyslog] loghost = udp://192.168.1.128 rotate = 8 size = 1024

 
[DEFAULT] と [vmsyslog] に loghost = udp://192.168.1.128 を追加します。で、再起動します。簡単ですねぇ。って・・。こんなことばっかり書いていると怒られそうなのでちゃんとコマンド打ってみましょうかf(^^;;。

VMware ESXi 5.1 では esxcli というコマンドを利用します。

# esxcli system syslog config get
Local Log Output: 
Local Logging Default Rotation Size: 1024
Local Logging Default Rotations: 8
Log To Unique Subdirectory: false
#
# esxcli system syslog config set --loghost="udp://192.168.1.128"
#
# esxcli system syslog reload
#

 
config get オプションで表示。 config set オプションに付属のパラメータで追加です。まぁ、設定ファイルを手で直してしまったほうが早いかf(^^;;。リブートしても良いですが、 syslog reload オプションで syslogd を再起動します。

で、VMware ESXi のファイアーウォールを確認し syslog が false であれば true にしてあげます。

# esxcli network firewall ruleset list | grep syslog
syslog                 false
#
# esxcli network firewall ruleset set --ruleset-id=syslog --enabled=true
# esxcli network firewall ruleset list | grep syslog
syslog                 true
#

 
あとは logger test とか打って、syslog サーバに転送されたか確認します。

3. 仮想マシンのコントロール
これは説明なしです。以下のコマンドで色々できます。一覧表です。

1). 仮想マシンの一覧表示

# vim-cmd vmsvc/getallvms

 
一覧を表示しますが、一番左に表示されている数値が VMID になります。以降のコマンド投入時には VMID を利用します。

2). 仮想マシンの起動

# vim-cmd vmsvc/power.on VMID

 
3). 仮想マシンの停止

# vim-cmd vmsvc/power.off VMID

 
「仮想マシンの停止」は多分、 shutdown 打ってくれないです。バチっと電源断だと思います。なので起動時には多分 fsck が走ると思います。けどもまぁ、しょーがないよねぇ・・。

4). 仮想マシンの再起動

# vim-cmd vmsvc/power.reboot VMID

 
こっちは ACPI シャットダウンが走るのかなぁ? だとすると FreeBSD の場合は ACPI S5 ステートが走るので shutdown はしてくれると思いますが、確認はしていません。

5).仮想マシンのサスペンド

# vim-cmd vmsvc/power.suspend VMID

 

4.CIM のことほんの少し
まぁ、こんな感じで。と、いうことで今回もこってり? と VMware ESXi を書いてみました。
snmpd は前回書いたし、あとは CIM かなぁ。 ports の net-mgmt/sblim-wbemcli をインストールして以下のコマンド叩けば良いです。

$ wbemcli ecn -nl -noverify 'https://root@192.168.1.250:5989/root/cimv2'

 
ドドドと一覧表示してくれるのであとは個別の値を取得すればより詳細情報が取得できます。

ここでパスワード入力が回避できるように ssh のパスフレーズ化を試みたのだけど、考えてみたら ssh ではなく https でのアクセスだったので全く意味無かった。と、いうか・・f(^^;;。

と、いうことでいい加減次回は ゲスト OS としての FreeBSD のことについて書いて行きましょう;-)。

1月 232013
 

ちょっと前の FreeBSD-users-jp な ML で USB マウスが動かなくなる。と、いうスレッドがありました。PS/2 マウスと USB マウスの二つがあった場合、そのうちの一個が動かなくなる。と、いうのものでした。

僕の場合、USB マウスではなく、 PS/2 マウスとタッチバッドの組み合わせなのですが、マウスのほうが動かなくなって悩んでいたのであります。

僕が持っているのは ThinkPad X100e で、こいつは Windows OS で言うところの UltraNav です。キーボードの真ん中に赤ポッチがあるのが、 FreeBSD 的に言うと /dev/sysmouse でこいつは ports 的 には x11-drivers/xf86-input-mouse で認識して動作します。タッチパッド側は /dev/psm0 で x11-drivers/xf86-input-synaptics で認識してタッチパッドとして利用できます。右側を上下になぞるとちゃんとスクロールもしてくれるように設定しています。

が、この状態において、僕の環境では赤ポッチとそれに付属するポタン類が一切動作しない状態で、上記スレッドを参考に色々試したのですが、やはり動作しないので放置していたのでありました。

今回、環境を 9.1-RELEASE にしたのでもう一度試してみたのですが、やはり動作しません。悲しい・・。

以下は僕が利用している 赤ポッチマウスとタッチバッドマウスの xorg.conf の設定です。一応 hal に関係する設定も書いておきます。

Section "ServerFlags"
Option    "AllowEmptyInput" "off"
Option    "AutoAddDevices"  "off"
#       Option    "AllowEmptyInput" "on"
#       Option    "AutoAddDevices"  "on"
EndSection
Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/sysmouse" Option "ZAxisMapping" "4 5 6 7" EndSection
Section "InputDevice" Identifier "Touchpad0" Driver "synaptics" Option "Protocol" "psm" Option "Device" "/dev/psm0" Option "SHMConfig" "on"
Option "TapButton1" "1"
Option "VertTwoFingerScroll" "1" Option "HorizTwoFingerScroll" "1" Option "VertScrollDelta" "200" Option "HorizScrollDelta" "200" Option "MinSpeed" "0.1" Option "MaxSpeed" "0.2" EndSection

 
この設定を書いても赤ポッチ側が動作しません。ps で hal と moused のプロセスを確認すると以下のようになっています。

$ ps -ax | grep mouse
1120 ??  Is     0:04.49 /usr/sbin/moused -p /dev/sysmouse -t auto
1332 ??  I      0:00.01 hald-addon-mouse-sysmouse: /dev/psm0 (hald-addon-mouse

 
moused は /dev/sysmouse 側をコントロールしています。 hald のほうは /dev/psm0 をコントールしています。 xorg.conf の設定では /dev/sysmouse は赤ポッチマウス、 /dev/psm0 はタッチパッドマウスです。まぁ、タッチパッドが無事に動作しているのでいーやー。とか思っていた時期が長いんですけどもね。

で、色々設定を見なおした結果、両方とも動作することが確認できました。上記 xorg.conf は何も問題がありませんでした。問題があったのは /etc/rc.conf で設定する moused の設定だったのであります。

以下のように設定すると 両方のマウスが無事に動作することが解りました。

moused_nondefault_enable="NO"
moused_enable="YES"
#moused_port="/dev/sysmouse"
moused_port="/dev/psm0"

 
今までは hald が /dev/psm0 をいじっているなら moused は /dev/sysmouse だろ。とか、勝手に思っていたのですが、moused のほうも /dev/psm0 に変更したらあぁら不思議。両方のマウスが動き出した。ということなんですね。 ps で確認すると以下のような感じ。

 $ ps -ax | grep mouse
33230 ??  Is     0:04.49 /usr/sbin/moused -p /dev/psm0 -t auto
33232 ??  I      0:00.01 hald-addon-mouse-sysmouse: /dev/psm0 (hald-addon-mouse

 
なんか、非常に違和感あるんですが、これで無事に二つのマウスが動作しております。考えてみると xf86-input-mouse がバージョンアップして以来赤ポッチマウスが動作していなかったので、随分と久しぶりに両方動きだした。ということになります。

いやー。良かったです。 xorg.conf が正しい設定であるならば rc.conf の moused の設定を変えてみてはいかがでしょうか。なお、今回は /usr/local/etc/hal/fdi/policy/ にはマウスの設定は入れていません。 xorg.conf の設定がそのまま X11 で有効になっていると思います。

ちなみにタッチパッドのほうは xf86-input-synaptics で動作しているので UltraNav みたいな動作が一応できます。 Synaptics を試してみたい方は参考にしてみてください。あ。細かい説明は一切ナシですけどもね;-)。

1月 072013
 

VMWare ESXi 5.1 を導入中です。今回は環境設定。ってんでしょうかねぇ。

それにしても外部ストレージが作成できたんだけど ISO イメージとかどうやって VMWare ESXi にアップロードするのー? ファイルマネージャとかないの? とか思って色々探したのですが、いやー、わかりにくいところにありますね。

プロビジョニングの VMkernel の [構成] タブの画面で右側のメニューの「ハードウェア」の「ストレージ」を選択します。すると「データストア」に表示されているストレージを選択して左クリックするとプルダウンメニューが現れます。ここから「データストアの参照」を選択すると「データストア ブラウザ」というファイルマネージャのようなものが起動します。

以下はキャプチャです。



クリックすると大きくなります。

画面下側のがデータストレージ内を見渡すことができる「データストア ブラウザ」です。これが表示されると isos とかいうディレクトリを作成できて、そこに ISO イメージなどをアップロードできます。また、作成した ゲスト OS をコピーしたりできるようになります。僕は FreeBSD-default というのを作成し、それをガシガシコピーして三つの FreeBSD をインストールしました。

次に VMkernel (あ。”VMkernel” とは VMWareESXi のハイパーバイザーのことです) の設定を 2,3 行います。上記と同じく [構成] タブの今度は「ソフトウェア」メニューの「セキュリティ プロファイル」を選択します。「サービス」のプロパティで色々起動します。まぁ、 sshd は起動しておいたほうが良いでしょうなぁ;-)。



クリックすると大きくなります。

ssh は起動するんだけど、snmpd がエラーになって起動しない。しょーがないので手動で起動できるようにしましょう。ってか、ハイパーバイザー(VMkernel のことね)に ssh でログインしたら色々中見られるし、大体のことは解ります;-)。snmpd を起動するためには /etc/init.d/snmpd で良いみたいですね。すると snmpd.conf ってのはどこにあるのだ? とか思ったら cat /etc/init.d/snmpd すると解ります。 /etc/vmware/snmp.xml というファイルのようです。このファイルを vi で編集して起動スクリプトのオプションを start として実行してあげれば起動します。

/etc/vmware/snmp.xml ファイルの変更箇所ですが、 以下の二点ですかね。

・<enable> タグに挟まれた文字列を true にします。
・<communities/> タグ を <communities>Public</communities> に変更します。

まぁ、二個目のヤツは communitiey 名なので自分の好きなのにすると良いかと思いますが。

以下は僕の設定です。

<?xml version="1.0"?>
<config>
    <snmpSettings>
        <enable>true</enable>
        <port>161</port>
        <EnvEventSource>indications</EnvEventSource>
        <loglevel>info</loglevel>
        <communities>Public</communities>
        <targets/>
        <engineid>00000063000000a1c0a8011c</engineid>
    </snmpSettings>
</config>

 
当該の snmp.xml ファイルは実は改行コードがないみたいですね。 init.d/snmpd を確認してみると多分一行で書いてある必要があると思います。

これで強引に snmpd も動作するようになりました。後は外部から snmpwalk 叩いて mib を見れば良いと思います。

さてと。次回はいよいよ FreeBSD のインストールだぜー;-)。

1月 062013
 

新年明けましておめでとうございます。今年も宜しくお願いします。今年の第一回目です。

それにしてもほぼ一年前ですね。自宅のサーバを新調したのは。PRIMERGY MX130 S2 ですが CPU は 6Core 、 メモリは 16GB あったので FreeBSD をインストールして Jail を四個、 VirtualBox で FreeBSD 一個に Windows OS を走らせていたのですが、そろそろ VMWare ESXi にでもするかねぇ。と、思い立ち 2T の HDD を買ってきてマシン自体を仮想化することにしました。

いやね。Jail も良いんだけど、親 FreeBSD のバージョンや ports のバージョンを上げると Jail 子がそれに引っ張られて動作しなくなったりするのがイヤになってきて・・。レガシーな環境は Jail 向きではないな。と、痛感しているのと、 FreeBSD 上で VirtualBox 動かすなら VMware ESXi でも良いかー。となり。

今回新しく VMWare ESXi というカテゴリを作成したので今後、このネタがあるごとにこのエントリに追加して行きたいと思います。今回はその第一回目です。

正月休みの最初の日に 2TB の HDD と PQI の 4GB の USB メモリを買ってきました。僕の家にはデスクトップ用の PRIMERGY MX130 S2 と、サーバ用の PRIMERGY MX130 S2 の二台があるので、とりあえずデスクトップ用の HDD を引っこ抜いて 2TB の HDD を装着。でもって USB メモリを接続し 4GB の USB メモリに VMWare ESXi 5.1 をインストールしました。

VMWare ESXi 5.1 のインストールは簡単でサクっと USB メモリにインストールできます。BIOS でブートする順番を変更し USB メモリがブートするように設定すればいとも簡単に VMKernel が起動します。あとはネットワークの設定を行えばとりあえず準備完了。

続いて VMKernel にアクセスするための Windows アプリを他のマシンにインストールします。VMWare vSphere Client 5.1 をインストールします。

ちなみに、 VMWare ESXi 5.0 に VMWare vSphere Client 5.1 でアクセスすると VMWare vSphere Client 5.0 のクライアントを勝手にダウンロードして置き換えようとします。ESXi と Client は同一のバージョンである必要があります。
ってことは、 複数台の VMWare ESXi が動作していたとして 5.0 と 5.1 が混在する環境ではクライアントアプリ用に二台の Windows が必要になるという、恐ろしい状態になります。

「はまり道そのいち」ですかね。VMWare ESXi を複数台用意する場合には全て同じバージョンを利用することをお勧めします。

続いて「はまり道そのに」です。
VMWare vSphere Client 5.1 からいよいよ VMKernel にアクセスし、HDD の追加をします。 ESXi 自体は 4GB の USB からブートしているので新規の 2TB の HDD はまるまるデータストレージとして利用します。
なんか、ダウンロードした VMWare vSphere Client 5.1 はビルド番号によっては日本語環境ではストレージ追加時に「vSphere Clientで内部エラーが発生しました。詳細:入力文字列の形式が正しくありません。」と言われて追加できません。僕がダウンロードしたクライアントは VMware-viclient-all-5.1.0-786111.exe になるんですけども。 このビルド番号のバージョンでは日本語環境ではストレージが追加できません。

DOS のプロンプトからクライアントアプリケーションを起動してオプションに -locale en_US を付加して起動します。英語表示にすると無事に HDD を ESXi のストレージとして認識できるようになります。

ストレージが付いたところで第一回目はここまでにしておきましょうか。次回は 2TB のストレージに FreeBSD をインストールすることにしましょう;-)。