vmware ESX を使用していて気づいた雑多なメモ。
vsphereクライアントでの操作以外に、SSHでESXにログインすることができ、Linuxベースのコマンドで各種操作を行えるようになっている。よって、Unixの世界で一般的なシェルスクリプトやcronを利用した制御や運用が可能であることがわかる。
Linuxベースのユーザ環境が用意されているとはいえ、カーネルはvmware社が独自に開発したHyperVisorに特化したオリジナルのカーネルVMkernelが搭載されている。(Linux以外のカーネルにLinuxユーザ環境が用意されたパターンとしては、machカーネルで構築されたmkLinux(Apple社)、FreeBSDのカーネル上に構築されたDebian GNU / kFreeBSDなどがあった)
デフォルトで起動するシェル /bin/sh の正体は ash のようだ。ash以外は用意されていないが、基本的な操作を行うには特に不便は感じない。
top vmstat や make などいくつか利用できないコマンドはあるものの、sed awk grep ps crond vi など便利なツールは大方用意されている。
主要なコマンドは組み込みLinuxでよく用いられている busybox で構築されていた。busyboxは、各種コマンドを単一のバイナリにまとめたもので、各コマンドは busybox へのスタティックリンクとなっている。
注意点として、OS(ESX)を再起動すると ホームディレクトリや crontab などが初期化されてしまうようだ。そのため、crondを利用したり、ホームディレクトリに .profile などを作成する場合はいくつか注意点が必要。
ESX5.0では、rc.local に記述しておくことで、OS起動時にcrontabや .profile 等のコンフィグの生成していたが、5.1以降では rc.localも初期化されてしまう。
対処方法は後日記載予定。 |