Vmware Esxiがある日

error loading /s.v00
fatal error: 33 inconsistent data

というメッセージを出して起動しなくなったので、修復方法をメモしておく

結論

まず結論から言うと、Vmware Esxiを入れ直すことになった。他にも方法があるらしいが、その方法のページが途中で会員登録しないと見れなくなったので、参考にしなかった。

参考: error loading s.v00 fatal error 33 inconsistent... | VMware Communities

Vmware Esxiの入れ直し

USBにインストールしていたので、要はそのままインストールし直すだけなんだけど、以下手順

  • Esxiのisoをダウンロード
    • my vmwareからログイン(ユーザー登録はフォームに記入して・・・という良くある方法なので省略) -- 製品ダウンロードに移動
    • VMware vSphere Hypervisor (ESXi)の横のView Download Componentsをクリック
    • 左にバージョン選択用のコンボボックスがあるので、バージョンを選択して、Downloadリンクをクリック
    • Registerのボタンが出てる場合、まずクリックして、ライセンスの登録を行う
    • License Informationにlicense keysが出るので保存しておく。(Vmware ESXi Clientでのライセンスキー登録に使う)
    • ライセンスの登録が済んだらDownload Packages以下の項目からダウンロードするためのリンクが出るのでダウンロードする
    • AdBlockを入れてるとダウンロードが開始しなかったので注意
  • ダウンロードしたisoをCDに焼く
  • Esxiのハード要件を全て満たすハード上でCD起動する
  • ESXiをインストールする
    • Boot MenuでESXi Installerを選択する
    • インストールを進めるかどうか聞かれる(Enter)
    • ライセンス許諾を聞かれる(F11でおk)
    • インストール先を選ぶ(入れたい場所を選ぶ。USB差しておけばUSBも出て選択出来る)
    • キーボードレイアウトを選択する
    • rootアカウントのパスワードを設定する(タブで移動、2回設定するEnterで完了)
    • 最後の確認(F11でおk)
    • インストール終了後Enterで再起動

バージョン5.5、6.0

今まで入れてたのがEsxiバージョン5.0だったので、ついでに5.5、6.0を試してみた。インストール方法は入れ直し方法と同じ。

で、インストール後にクライアントをDLしてホストに接続してみた。どのバージョンでも問題なく出来たが、Windows XPの端末ではこの2つのバージョンは接続出来ないそうな。

Vmの操作(インベントリへの追加、起動、コンソール表示、終了)は全てのバージョンで同じように出来た。Vmはバージョン5で作ったものだが他のバージョンでの操作も問題ないらしい。これは便利。

sshでEsxiホストを操作する

linuxやmacからEsxiホストを操作して、vmの起動、終了とかやりたかったので、ついでに試してみた。手順は以下の通り

  • EsxiホストでSSHを有効にする
    • 初期画面からCustomize Systemへ移動(F2)
    • カーソルを上下移動して「Troubleshooting Options」のところでEnter
    • Disable ESXi Shellにカーソルを合わせてEnterを押すとEnable ESXi Shellに変わる
    • Disable SSHにカーソルを合わせてEnterを押すとEnable SSHに変わる
    • Restart Management Agentsにカーソルを合わせてEnterを押す
  • ESXiクライアントでSSHを有効にする
    • インベントリが選択されている状態で、構成(Configuration) -> セキュリティプロファイル(Security Profile)の上部、サービス(Services)の「プロパティ(Properties)をクリック
    • SSHを選択し、オプション(Options)をクリック
    • ホストに連動して開始および停止(Start and stop with host)を選択し、サービスコマンドの開始(Start)ボタンを押す。その後okをクリックしてダイアログを消す。
    • 同中部、ファイアウォール(Firewall)の「プロパティ(Properties)をクリック
    • SSHサーバ(SSH Server)をチェック
    • ファイアーウォール(Firewall)ボタンをクリック
    • IPアドレスの許可設定を行う。任意のIPアドレスからの接続を許可(Allow connections from any IP address)するのが一番楽。
    • okをクリックしていって、ダイアログを閉じる

以上で、linuxやmacから

でインストール時に指定したパスワードを入力するとsshでESXiホストにアクセス出来るようになる。

参考:How To Enable SSH on VMware ESXi 5 / 5.5 / 6 & All Other Versions | Serenity-Networks

ESXiの管理コマンド(ごく一部。追記予定)

インベントリへのVMの追加、削除

追加

$ vim-cmd solo/registervm [vmxのパス.vmx] [vm名]

削除

$ vim-cmd vmsvc/unregister [vmのid]

vm一覧

$ vim-cmd vmsvc/getallvms

ここで出て来たvmidをvmのidとして色んなコマンド内で使用する。

vm起動、シャットダウン

起動

$ vim-cmd vmsvc/power.on [vmのid]

終了

$ vim-cmd vmsvc/power.shutdown [vmのid]

参考:VMware ESXiをSSHでがんばるぞい(コマンドライン操作色々) - Qiita

ちなみに各コマンドについてはヘルプを出すオプションとか無いみたい。コマンド失敗した時に使用法が出ることもあるが、失敗するまで分からないとか怖いわー。

ESXiシャットダウン

シャットダウンと同時に電源を切る作業も必要

$ shutdown.sh && poweroff

でおk。USBにインストールしているせいか分からないが、poweroffが無い場合、SSHの設定が再起動後、元に戻っていた。

参考:No Joke IT: Shut down ESXi 5.1 guest VMs and the host (free edition) via SSH - the easy way!