Skip navigation
2013

今回は、ESXi の設定の永続化についてです。

 

ESXiはVisorFSという仕組みをもっていて、
基本的に稼働中のハイパーバイザは、再起動するとリセットされる方針のようです。
場所(パーティションやディレクトリ)によっては、Linuxの /proc のような感じで

再起動すると初期化されてしまいます。


ただし、ESXiの設定を格納している /etc まで再起動ごとに初期化されると問題なので
定期的に /sbin/auto-backup.sh スクリプト(とそこから呼び出されるスクリプト)で
ブートバンクと呼ばれる領域に自動バックアップされています。
ESXiのハイパーバイザは、起動時にブートバンクと呼ばれるディスク領域から読みだされるため
この処理により設定が永続化されます。

 

これは、ESXiのCRONで毎時01分に実行されています。

CRONのスケジュールは、/var/spool/cron/crontabs/root ファイルに記載されています。

~ # vmware -v
VMware ESXi 5.1.0 build-914609

~ # cat /var/spool/cron/crontabs/root
#min hour day mon dow command
1    1    *   *   *   /sbin/tmpwatch.py
1    *    *   *   *   /sbin/auto-backup.sh
0    *    *   *   *   /usr/lib/vmware/vmksummary/log-heartbeat.py
*/5  *    *   *   *   /sbin/hostd-probe

 

毎時01分に実行されていることが、Syslogにも記録されています。

~ # grep auto-backup /var/run/log/syslog.log | tail
2013-01-19T08:01:01Z crond[2456]: crond: USER root pid 634074 cmd /sbin/auto-backup.sh
2013-01-19T09:01:01Z crond[2456]: crond: USER root pid 636576 cmd /sbin/auto-backup.sh
2013-01-19T10:01:01Z crond[2456]: crond: USER root pid 639154 cmd /sbin/auto-backup.sh
2013-01-19T11:01:01Z crond[2456]: crond: USER root pid 641683 cmd /sbin/auto-backup.sh
2013-01-19T12:01:01Z crond[2456]: crond: USER root pid 644204 cmd /sbin/auto-backup.sh
2013-01-19T13:01:01Z crond[2456]: crond: USER root pid 646718 cmd /sbin/auto-backup.sh
2013-01-19T14:01:01Z crond[2456]: crond: USER root pid 649302 cmd /sbin/auto-backup.sh
2013-01-19T15:01:01Z crond[2456]: crond: USER root pid 651831 cmd /sbin/auto-backup.sh
2013-01-19T16:01:01Z crond[2456]: crond: USER root pid 654336 cmd /sbin/auto-backup.sh
2013-01-19T17:01:01Z crond[2456]: crond: USER root pid 657344 cmd /sbin/auto-backup.sh

 

1時間に1回だけだと物足りないというケースもあると思うので、
ためしに手動でも実行してみました。
今回は、わざとsshの設定ファイルを変更した後に、スクリプトを実行しています。

~ # vi /etc/ssh/sshd_config

PasswordAuthentication no
↓(編集)
PasswordAuthentication yes

 

/etc 配下のファイルに変更があると diff による差分も画面に表示されます。

~ # /sbin/auto-backup.sh
--- /etc/ssh/sshd_config
+++ /tmp/auto-backup.658316//etc/ssh/sshd_config
@@ -24,7 +24,7 @@

UsePAM yes
# only use PAM challenge-response (keyboard-interactive)
-PasswordAuthentication no
+PasswordAuthentication yes  ★ここが差分
Banner /etc/issue

Subsystem sftp /usr/lib/vmware/openssh/bin/sftp-server
Saving current state in /bootbank
Clock updated.
Time: 17:13:12   Date: 01/19/2013   UTC

 

ちなみに、上記の直後にスクリプトを再度実行すると
ファイルに一切変更がないので何も表示されません。

~ # /sbin/auto-backup.sh

~ #

 

以上、ESXi の設定情報の永続化でした。

今回は、ESXi 5.1 にパッチを適用して、バージョンと VIB を確認してみます。

 

最初に、ESXi のバージョンを確認しておきます。

~ # esxcli system version get
   Product: VMware ESXi
   Version: 5.1.0
   Build: Releasebuild-838463
   Update: 0

 

いまの VIB も確認をしておきます。

~ # esxcli software vib list

Name                          Version                            Vendor  Acceptance Level  Install Date

-----------------------------  ----------------------------------  ------  ----------------  ------------

ata-pata-amd                  0.3.10-3vmw.510.0.0.799733          VMware  VMwareCertified  2012-11-25

ata-pata-atiixp                0.4.6-4vmw.510.0.0.799733          VMware  VMwareCertified  2012-11-25

ata-pata-cmd64x                0.2.5-3vmw.510.0.0.799733          VMware  VMwareCertified  2012-11-25

ata-pata-hpt3x2n              0.3.4-3vmw.510.0.0.799733          VMware  VMwareCertified  2012-11-25

(以下略。66個あります。)

 

この ESXi では、すべてのVIB は、2012-11-25 にインストールされています。

~ # esxcli software vib list | awk '{print $5}' | sort | uniq -c
      1 ------------
    66 2012-11-25
      1 Level

 

パッチを適用してみます。

パッチは、データストアブラウザや SCP を使用して、データストアに置いておきます。
そして unzip コマンドで解凍しておきます。

カレントディレクトリにファイルがそのまま解凍されるので、
はじめからわかりやすいディレクトリを作成しておいた方がよさそうでした。

2014/01/14 追記

補足1: パッチ適用は、ESXi をメンテナンスモードにしてから実施したほうがよいです。

補足2: パッチの ZIP ファイルは解凍しなくても同様のコマンドラインで適用可能でした。

~ # cd /vmfs/volumes/ds_nfs/patch/
/vmfs/volumes/37a82cda-67864c65/patch # ls -l
-rw-r--r--    1 root     root     602424491 Jan  2 13:27 ESXi510-201212001.zip

/vmfs/volumes/37a82cda-67864c65/patch # unzip ESXi510-201212001.zip ★解凍
(このあと、解凍される様子が表示されます)

/vmfs/volumes/37a82cda-67864c65/patch # ls -l
-rw-r--r--    1 root    root    602424491 Jan  2 13:27 ESXi510-201212001.zip
-rw-r--r--    1 root    root          319 Jan  9  2013 index.xml
-rw-r--r--    1 root    root        98411 Jan  9  2013 metadata.zip
-rw-r--r--    1 root    root          207 Jan  9  2013 vendor-index.xml
drwxr-xr-x    1 root    root          4096 Jan  9  2013 vib20

 

esxcli コマンドでインストールを実行します。

「--depot」 で、パッチを展開したディレクトリを指定します。

「Reboot Required: true」とあるので、このあと手動で再起動が必要です。

ESXi の自動再起動はされないようです。

 

パッチには、ESXi のすべての VIB が含まれているようですが

ほとんどはスキップ(Skipped)されています。

 

2015/06/20 追記

下記の「esxcli software vib update ~」コマンドでもアップデートは成功しますが、

esxcli software profile update ~」の方が推奨される手順です。

/vmfs/volumes/37a82cda-67864c65/patch # esxcli software vib update --depot=/vmfs/volumes/ds_nfs/patch/


Installation Result
  Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
  Reboot Required: true
  VIBs Installed: VMware_bootbank_esx-base_5.1.0-0.9.914609, VMware_locker_tools-light_5.1.0-0.9.914609
  VIBs Removed: VMware_bootbank_esx-base_5.1.0-0.5.838463, VMware_locker_tools-light_5.1.0-0.0.799733
  VIBs Skipped: VMware_bootbank_ata-pata-amd_0.3.10-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-atiixp_0.4.6-4vmw.510.0.0.799733, VMware_bootbank_ata-pata-cmd64x_0.2.5-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-hpt3x2n_0.3.4-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-pdc2027x_1.0-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-serverworks_0.4.3-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-sil680_0.4.8-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-via_0.3.3-2vmw.510.0.0.799733, VMware_bootbank_block-cciss_3.6.14-10vmw.510.0.0.799733, VMware_bootbank_ehci-ehci-hcd_1.0-3vmw.510.0.0.799733, VMware_bootbank_esx-dvfilter-generic-fastpath_5.1.0-0.0.799733, VMware_bootbank_esx-tboot_5.1.0-0.0.799733, VMware_bootbank_esx-xlibs_5.1.0-0.0.799733, VMware_bootbank_esx-xserver_5.1.0-0.0.799733, VMware_bootbank_ima-qla4xxx_2.01.31-1vmw.510.0.0.799733, VMware_bootbank_ipmi-ipmi-devintf_39.1-4vmw.510.0.0.799733, VMware_bootbank_ipmi-ipmi-msghandler_39.1-4vmw.510.0.0.799733, VMware_bootbank_ipmi-ipmi-si-drv_39.1-4vmw.510.0.0.799733, VMware_bootbank_misc-cnic-register_1.1-1vmw.510.0.0.799733, VMware_bootbank_misc-drivers_5.1.0-0.0.799733, VMware_bootbank_net-be2net_4.1.255.11-1vmw.510.0.0.799733, VMware_bootbank_net-bnx2_2.0.15g.v50.11-7vmw.510.0.0.799733, VMware_bootbank_net-bnx2x_1.61.15.v50.3-1vmw.510.0.0.799733, VMware_bootbank_net-cnic_1.10.2j.v50.7-3vmw.510.0.0.799733, VMware_bootbank_net-e1000_8.0.3.1-2vmw.510.0.0.799733, VMware_bootbank_net-e1000e_1.1.2-3vmw.510.0.0.799733, VMware_bootbank_net-enic_1.4.2.15a-1vmw.510.0.0.799733, VMware_bootbank_net-forcedeth_0.61-2vmw.510.0.0.799733, VMware_bootbank_net-igb_2.1.11.1-3vmw.510.0.0.799733, VMware_bootbank_net-ixgbe_3.7.13.6iov-10vmw.510.0.0.799733, VMware_bootbank_net-nx-nic_4.0.558-3vmw.510.0.0.799733, VMware_bootbank_net-r8168_8.013.00-3vmw.510.0.0.799733, VMware_bootbank_net-r8169_6.011.00-2vmw.510.0.0.799733, VMware_bootbank_net-s2io_2.1.4.13427-3vmw.510.0.0.799733, VMware_bootbank_net-sky2_1.20-2vmw.510.0.0.799733, VMware_bootbank_net-tg3_3.110h.v50.4-4vmw.510.0.0.799733, VMware_bootbank_net-vmxnet3_1.1.3.0-3vmw.510.0.0.799733, VMware_bootbank_ohci-usb-ohci_1.0-3vmw.510.0.0.799733, VMware_bootbank_sata-ahci_3.0-13vmw.510.0.0.799733, VMware_bootbank_sata-ata-piix_2.12-6vmw.510.0.0.799733, VMware_bootbank_sata-sata-nv_3.5-4vmw.510.0.0.799733, VMware_bootbank_sata-sata-promise_2.12-3vmw.510.0.0.799733, VMware_bootbank_sata-sata-sil24_1.1-1vmw.510.0.0.799733, VMware_bootbank_sata-sata-sil_2.3-4vmw.510.0.0.799733, VMware_bootbank_sata-sata-svw_2.3-3vmw.510.0.0.799733, VMware_bootbank_scsi-aacraid_1.1.5.1-9vmw.510.0.0.799733, VMware_bootbank_scsi-adp94xx_1.0.8.12-6vmw.510.0.0.799733, VMware_bootbank_scsi-aic79xx_3.1-5vmw.510.0.0.799733, VMware_bootbank_scsi-bnx2i_1.9.1d.v50.1-5vmw.510.0.0.799733, VMware_bootbank_scsi-fnic_1.5.0.3-1vmw.510.0.0.799733, VMware_bootbank_scsi-hpsa_5.0.0-21vmw.510.0.0.799733, VMware_bootbank_scsi-ips_7.12.05-4vmw.510.0.0.799733, VMware_bootbank_scsi-lpfc820_8.2.3.1-127vmw.510.0.0.799733, VMware_bootbank_scsi-megaraid-mbox_2.20.5.1-6vmw.510.0.0.799733, VMware_bootbank_scsi-megaraid-sas_5.34-4vmw.510.0.0.799733, VMware_bootbank_scsi-megaraid2_2.00.4-9vmw.510.0.0.799733, VMware_bootbank_scsi-mpt2sas_10.00.00.00-5vmw.510.0.0.799733, VMware_bootbank_scsi-mptsas_4.23.01.00-6vmw.510.0.0.799733, VMware_bootbank_scsi-mptspi_4.23.01.00-6vmw.510.0.0.799733, VMware_bootbank_scsi-qla2xxx_902.k1.1-9vmw.510.0.0.799733, VMware_bootbank_scsi-qla4xxx_5.01.03.2-4vmw.510.0.0.799733, VMware_bootbank_scsi-rste_2.0.2.0088-1vmw.510.0.0.799733, VMware_bootbank_uhci-usb-uhci_1.0-3vmw.510.0.0.799733

 

VIB は、2個だけ新しくなりました。

~ # esxcli software vib list | awk '{print $5}' | sort | uniq -c
      1 ------------
    64 2012-11-25
      2 2013-01-08
      1 Level

/vmfs/volumes/37a82cda-67864c65/work # esxcli software vib list | grep "2013-01-08"
esx-base        5.1.0-0.9.914609    VMware  VMwareCertified  2013-01-08
tools-light    5.1.0-0.9.914609    VMware  VMwareCertified  2013-01-08


適用されている VIB の一覧を比較してみました。

パッチ適用前に、VIB の一覧(pre.list)を取得して、それを適用後の一覧(post.list)と比較したところ、

esx-base と、tools-light(vmware-tools)の VIB が入れ替えられています。

パッチ適用前に実行しておいたコマンド(VIB の名前とバージョンの一覧を取得)
~ # esxcli software vib list | awk '{print $1 "," $2}' > pre.list

/vmfs/volumes/37a82cda-67864c65/work # esxcli software vib list | awk '{print $1 "," $2}' > post.list

/vmfs/volumes/37a82cda-67864c65/work # diff pre.list post.list

--- pre.list

+++ post.list

@@ -10,7 +10,7 @@

ata-pata-via,0.3.3-2vmw.510.0.0.799733

block-cciss,3.6.14-10vmw.510.0.0.799733

ehci-ehci-hcd,1.0-3vmw.510.0.0.799733

-esx-base,5.1.0-0.5.838463
+esx-base,5.1.0-0.9.914609

esx-dvfilter-generic-fastpath,5.1.0-0.0.799733

esx-tboot,5.1.0-0.0.799733

esx-xlibs,5.1.0-0.0.799733

@@ -65,5 +65,4 @@

scsi-rste,2.0.2.0088-1vmw.510.0.0.799733

uhci-usb-uhci,1.0-3vmw.510.0.0.799733

vmware-fdm,5.1.0-880146

-tools-light,5.1.0-0.0.799733
+tools-light,5.1.0-0.9.914609

 

再起動前はESXi のバージョンが変わらず、再起動後にバージョンが変わります。

~ # esxcli system version get
   Product: VMware ESXi
   Version: 5.1.0
   Build: Releasebuild-838463
   Update: 0

 

★ESXi を再起動します。
~ # esxcli system maintenanceMode set -e true
~ # esxcli system maintenanceMode get
Enabled
~ # esxcli system shutdown reboot -r "patch add ESXi510-201212001"

 

再起動後、再度 SSH ログインしたら、ビルド番号が上がっていました。

~ # esxcli system version get
   Product: VMware ESXi
   Version: 5.1.0
   Build: Releasebuild-914609
   Update: 0
~ # esxcli system maintenanceMode get
Enabled
~ # esxcli system maintenanceMode set -e false  ★メンテナンスモード解除しておく
~ # esxcli system maintenanceMode get
Disabled

 

以上、ESXi のパッチ適用と VIB の確認の様子でした。

こんな記事を見つけました。

 

What is the difference between PCPU Used and PCPU Utilized?
http://blogs.vmware.com/vsphere/2013/01/what-is-the-difference-between-pcpu-used-and-pcpu-utilized.html
※一部、勝手に補足してあるので正しくは原文をご確認ください...


「PCPU Used」と「PCPU Utilized」はどこが違うのか、という

PCPU のパフォーマンスカウンタの話です。(esxtop や vSphere Client 等で見られるものです)

2:30:51pm up 21 days  9:26, 394 worlds, 11 VMs, 24 vCPUs; CPU load average: 0.04, 0.04, 0.04
PCPU USED(%): 2.3 1.2  78 0.5 4.1 0.9 2.1 1.7 AVG:  11
PCPU UTIL(%): 0.5 2.4 100 0.5 4.2 0.8 2.6 0.4 AVG:  13
CORE UTIL(%): 3.4     100     5.1     4.0     AVG:  28
★これはesxtopの画面です。

 

記事によると、それぞれ下記のような違いがあるようです。

  • PCPU utilized (PCPU UTIL)は、TSC をベースとしているパフォーマンスカウンタ。
    PCPU utilized = 停止状態ではないTSC サイクル / 現実世界の時間
  • PCPU used は、Unhalted Core Cycle をベースとしているパフォーマンスカウンタ。
    PCPU used = (Unhalted Cycles) / 現実世界の時間

 

説明に出てくる、用語についてですが・・・

(これも原文に説明があります。)

  • TSC(Time Stamp Counter)は、クロック周波数の変動に影響を受けない64bitレジスタです。
  • Unhalted Cycles(Unhalted Core Cycles)は、
    クロック周波数の変動(Hyper-Threadingや電力管理機能)の影響をうけてしまうカウンタです。
    (命令を実行していない状態以外(Un-halted)をカウントするので)
  • ここでの「現実世界の時間」(wall clock time)は、このパフォーマンスカウンタの更新間隔と考えられます。

 

 

両者の違いは、下記のように考えられるようです。

  • PCPU utilized は、一定時間内のうち、どれくらいの時間PCPUがビジーだったかを表す。
  • PCPU used は、ハイパースレッディングや使用電力管理機能を使用したうえでの(影響を受けたうえでの)PCPUの仕事量を表す。


この記事の著者は、キャパシティプランニングや性能評価には「PCPU utilized」カウンタを指標とし、
トラブルシュートの時には「PCPU used」カウンタを指標としている
ようです。

普段(平常時)は、PCPU UTIL を見ておくとよさそうです。

 

 

最後に、カウンタの説明については下記が紹介されていました。

esxtop では、PCPU utilized は「PCPU UTIL」と表示されます。

当然英語ですが、式や図も多く見やすいので、とても参考になります。

Interpreting esxtop 4.1 Statistics

http://communities.vmware.com/docs/DOC-11812

 

以上、PCPUについての記事紹介でした。

ESXi 5.x では、ESXi 自体に SSH ログインするときに
デフォルトではチャレンジレスポンス認証をする必要があります。

 

たとえば、TeraTerm でアクセスするときは、
下記の認証画面で「チャレンジレスポンス認証を使う」を選択して
そのあとに表示される別のウインドウにパスワードを入力します。

ssh-setting1.png

 

これがどうしても面倒な場合は、チャレンジレスポンス認証を使用せず
通常のパスワード入力だけで SSH ログインできる設定にすることも可能です。
※ただし、セキュリティレベルが下がるため推奨されません。
(設定する場合はお試し環境だけにしましょう)

 

 

設定方法

 

1. ESXi のコンソールから、あらかじめ SSH を有効にしておきます。

 

2. SSH の設定ファイルを編集します。

ESXi のコンソール、もしくは SSH でログインし、
SSH サービスの設定ファイルを編集します。

~ # vi /etc/ssh/sshd_config

PasswordAuthentication no
↓(この行を編集)
PasswordAuthentication yes


3. SSH サービスを再起動します。(もしくは ESXi を再起動します。)

 

すでに SSH を起動済みの場合は、
下記コマンドを実行すればその場で(stop_sshなしで)設定反映されました。

~ # vim-cmd hostsvc/start_ssh


これで、Linux のデフォルト状態のように

ユーザ名とパスワードだけで、ESXi に SSH ログインできるようになります。


以上、SSH ログインで少し楽をする方法でした。(TeraTerm ユーザにとっては)