ども。なのまるです!
ようやくESXi5系を本格的に使い始めてきたんですが、ちょっとはまったのでメモです!
基本的にハイパーバイザーであるESXiは、再起動すると一部のファイルを除いてハイパーバイザー内のファイルが初期化されてしまいます。
もくじ
ESXi4では
ESXi4では、以下で紹介している方法で残しておくことが出来たんですが、ESXi5になってから使えなくなりました。。。ESXi5系 では
ESXi5では、4と同じ方法では設定が保存されませんでした!調べてみるといくつか方法があるようで・・・
- state.tgzを作成する
- boot.cfgを書き換えて、任意のtgzファイルを展開する
- onetime.tgzに入れる
state.tgzを作成する
いくつかある方法の中で、「state.tgzを作成する」を選択することとします。理由はVMwareのKnowledge Baseで紹介されていたから!
手順
- state.tgz を展開する
- local.tgz を展開する
- 入れたいデータを入れる
- local.tgz を作成する
- state.tgz を作成する
state.tgz を展開する
cd /tmp tar zxf /bootbank/state.tgz
local.tgz を展開する
cd /tmp mkdir /tmp/local tar zxf local.tgz -C local
入れたいデータを入れる(SSHキー)
デフォルトだと、こんなファイルが入っていたの(主に /etc 以下のファイル)で、ここに何か追加するetc/vmware/ssl/rui.key etc/vmware/ssl/rui.crt etc/vmware/hostd/hostsvc.xml etc/vmware/hostd/vmAutoStart.xml etc/vmware/hostd/pools.xml etc/vmware/esx.conf etc/vmware/dvsdata.db etc/vmware/license.cfg etc/vmware/.backup.counter etc/vmware/vmware.lic etc/vmware/locker.conf etc/vmware/vpxa/vpxa.cfg etc/vmsyslog.conf.d/hostd.conf etc/vmsyslog.conf.d/vpxa.conf etc/vmsyslog.conf.d/fdm.conf etc/security/access.conf etc/ssh/ssh_host_rsa_key etc/ssh/ssh_host_dsa_key etc/ssh/ssh_host_rsa_key.pub etc/ssh/ssh_host_dsa_key.pub etc/chkconfig.db etc/resolv.conf etc/keymap etc/group etc/dhclient-vmk0.leases etc/random-seed etc/vmsyslog.conf etc/shadow etc/hosts etc/sfcb/sfcb.cfg etc/sfcb/uuid etc/sfcb/repository/root/config/omc_config.idx etc/sfcb/repository/root/config/omc_config etc/sfcb/repository/root/config/omc_namespaceconfig etc/sfcb/repository/root/config/omc_namespaceconfig.idx etc/sfcb/repository/root/interop/sfcb_registeredprofile etc/sfcb/repository/root/interop/cim_indicationfilter.idx etc/sfcb/repository/root/interop/sfcb_registeredprofile.idx etc/sfcb/repository/root/interop/cim_indicationhandlercimxml.idx etc/sfcb/repository/root/interop/cim_listenerdestinationcimxml.idx etc/sfcb/repository/root/interop/cim_indicationsubscription.idx etc/ntp.conf etc/ntp.drift今回は例として、rootのSSH公開鍵を入れます!
vi /etc/ssh/keys-root/authorized_keys cp -rp /etc/ssh/keys-root /tmp/local/etc/ssh
local.tgz を作成する
どうやら、local.tgzにはファイルしか入っていないようなので、以下のようなコマンドでファイルのみがtgzに入るように仕込みます。(そのまま作ってもいい気がするけど・・・)cd /tmp/local find etc -type f -print0 | xargs -0 tar cvzf ../local.tgz
※補足
本当はxargsで渡すやり方だとファイル数が多くなった時に、抜けるファイルが出てくるんで非推奨なんですが、ESXiのtarコマンドには「-T」オプションが無いので取り急ぎこのコマンドで対処しています。
findの結果をtarでアーカイブしたい
state.tgz を作成する
cd /tmp/ tar cvzf state.tgz local.tgz cp state.tgz /bootbank/ もしくは tar cvzf /bootbank/state.tgz local.tgz
まとめ
- もう、これでバッチリですね!
- ESXi4と同じようにしたい場合は「/bootbank/onetime.tgz」を使うといいと思います!
- ちゃんとサポート取れる情報源ではないので、自己責任でお願いします!