2020年4月16日木曜日

ESXi 7.0 で変更されたブート領域(Boot Bank)のパーティションについて

vSphere 7.0 が先週 GA され多くの新機能の情報が出てきておりますが、
本投稿では少し地味に ESXi 7.0 で大きく変更された ESXi のブート領域(ブートバンク, スクラッチ, 診断パーティションその他)について紹介します。
※ 昨年の vFORUM で vSphere Deep Dive のセッションに出られた方はその資料も併せてご覧ください。

追記1 : 5/28 : 公式ブログの方でも詳細解説「vSphere 7 – ESXi System Storage Changes」が掲載されました。
https://blogs.vmware.com/vsphere/2020/05/vsphere-7-esxi-system-storage-changes.html

追記2 : 7/22 : さらにメジャーバージョンアップ時の詳細解説「vSphere 7 – System Storage When Upgrading」が掲載されました。
https://blogs.vmware.com/vsphere/2020/07/vsphere-7-system-storage-when-upgrading.html

二つとも英文ですが変更点の理解に役立つ内容です。

ESXi のブート領域(Boot Bank)のパーティションについて

ESXi は VMware ESX 3.5 (この頃はまだ vSphere という名称ではなかった) から登場し、vSphere 5.0 以降では全て ESXi が Hypervisor となり、USB メモリなど小容量デバイスにもインストールできる軽さが特徴でした。
今回、ESXi 7.0 ではそのブート領域のデザインが大きく変更され
環境(自宅ラボなど)によっては、新規に ESXi をインストールする際にインパクトが大きいと思われるので参考にしていただければと幸いです。

ESXi ハードウェア要件の変更

まず、公式ガイドの ESXi ハードウェア要件を見てみます。
ESXi のインストール用デバイスについてはドキュメント上でも明確に記載が変わっており、要約すると以下のようになります。
  • ESXi 6.7 まで
    • 最低 1 GB の起動デバイス
    • VMFS ボリュームと 4 GB のスクラッチ パーティションを起動デバイスに作成するには、5.2 GB 以上のデバイスが必要(HDD/SSD/SAN/iSCSI)
    • SD カード、USB メモリをブートデバイスとする場合はコアダンプパーティションの保存に利用するため 4GB 以上、推奨は 16 GB 以上の高品質のフラッシュドライブの利用が推奨
  • ESXi 7.0 から
    • 最低 4 GB の起動デバイス
    • SD カード、USB メモリをブートデバイスとする場合は 8 GB 以上が推奨
    • HDD、SSD、NVMe などのその他のデバイスでは 32 GB 以上が推奨され、ブート パーティションと ESX-OSData ボリュームが作成されます
    • 128GB を超える HDD、SSD、NVMe ドライブの場合は ブート パーティション、ESX-OSData ボリューム、および VMFS データストアが作成されます
  • ESXi 6.x から 7.0 へのバージョンアップ
    • ESXi 6.x から ESXi 7.0 へのアップグレードには、最低 4 GB のブートデバイスである必要があります。

文字だけだと分かりにくいですが、
恐らく自宅ラボなどで ESXi を利用している方はブートドライブとして SSD, HDD を利用する場合、ESXi のブート領域の余りを VMFS として仮想マシンなどのデータを置く領域として利用しているかと思います。
※ ESXi 6.7 までは 5.2 GB以降は VMFS として利用可能

ESXi 7.0 では新しく ESX-OSData ボリュームという VMFS-L フォーマットの新しい領域が作成され、ここにコアダンプやスクラッチなど様々な領域が統合されます。※ VMFS-L は元々 vSAN 用のファイルシステムとして利用されています。
ESXi 7.0 では可変の OSData が 120GB まで拡張されるため、VMFS として利用できるのは 128GB 以降となってしまうので注意が必要です

デバイスの種類は、ESXi 7.0 以降でも USB メモリや SD カードをブートデバイスとする事はサポートされますが
BootBank の容量、スクラッチや各種ログの置き場として十分な領域を確保するためには、32GB 以上の M.2 SSD や SSD や HDD を利用する事が推奨されます

パーティションデザインの変更

ここからは細かい話ですが、変更されたパーティションデザインをご紹介します。

ESXi インストール時に作成されるパーティションは ESXi 6.7 までは最大 8 種類のパーティションが切られましたが、
ESXi 7.0 以降では最大 5 種類と大幅に簡略化されています。

ESXi 6.7 までのパーティション



  • Partition #1 : System Partition (4MB)
  • Partition #2 - "/scratch" Partition (4GB)
  • Partition #3 : VMFS Partition (VMFS)
  • Partition #5 - "/bootbank" (250MB)
  • Partition #6 - "/altbootbank" (250MB)
  • Partition #7 - Small CoreDump #1 (110MB)
  • Partition #8 - "/store" (286MB)
  • Partition #9 - Large CoreDump #2 (2.5GB)

CLI でPartitionテーブル見ると次のような感じです(32GB のデバイスを利用時)。

[root@localhost:~] esxcli --formatter=csv --format-param=fields="Display Name,Is Local,Is SSD,Size" storage core device list
DisplayName,IsLocal,IsSSD,Size,
Local NECVMWar CD-ROM (mpx.vmhba1:C0:T0:L0),true,false,0,
Local VMware Disk (mpx.vmhba0:C0:T0:L0),true,false,32768,

[root@localhost:~] partedUtil getptbl /vmfs/devices/disks/mpx.vmhba0:C0:T0:L0
gpt
4177 255 63 67108864
1 64 8191 C12A7328F81F11D2BA4B00A0C93EC93B systemPartition 128
5 8224 520191 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
6 520224 1032191 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
7 1032224 1257471 9D27538040AD11DBBF97000C2911D1B8 vmkDiagnostic 0
8 1257504 1843199 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
9 1843200 7086079 9D27538040AD11DBBF97000C2911D1B8 vmkDiagnostic 0
2 7086080 15472639 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
3 15472640 67108830 AA31E02A400F11DB9590000C2911D1B8 vmfs 0  ← 7.5GB 以降が VMFS で割り当てられる

[root@localhost:~] df -h
Filesystem   Size   Used Available Use% Mounted on
VMFS-6      24.5G   1.4G     23.1G   6% /vmfs/volumes/datastore1
vfat       249.7M 148.4M    101.3M  59% /vmfs/volumes/eefbca74-8bec43ca-3f57-2b771eef9805
vfat         4.0G   4.6M      4.0G   0% /vmfs/volumes/5e959a24-46aa910d-69e1-005056b64fa8
vfat       285.8M 173.8M    112.0M  61% /vmfs/volumes/5e959a1c-2a6338cd-39f0-005056b64fa8
vfat       249.7M   4.0K    249.7M   0% /vmfs/volumes/25a74077-d68771e7-74cb-44c65bc80f64
 

ESXi 7.0 からのパーティション


  • Partition #1 : System Partition (100MB)
  • Partition #5 - "/bootbank" (500MB / 1GB / 4GB)
  • Partition #6 - "/altbootbank" (500MB / 1GB / 4GB)
  • Partition #7 - OSData (VMFS-L)
  • Partition #8 - VMFS Partition (VMFS6)
同じく CLI でみると以下の様になります(140GB のデバイスを利用時)。
System Partition、Boot Bank ともに拡張され、VMFS-L の OSData、VMFS6 のローカルデータストアが作成されている事が確認できます。

[root@localhost:~] esxcli --formatter=csv --format-param=fields="Display Name,Is Local,Is SSD,Size" storage core device list
DisplayName,IsLocal,IsSSD,Size,
Local NECVMWar CD-ROM (mpx.vmhba1:C0:T0:L0),true,false,0,
Local VMware Disk (mpx.vmhba0:C0:T0:L0),true,false,143360,

[root@localhost:~] partedUtil getptbl /vmfs/devices/disks/mpx.vmhba0:C0:T0:L0
gpt
18275 255 63 293601280
1 64 204863 C12A7328F81F11D2BA4B00A0C93EC93B systemPartition 128
5 208896 8595455 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
6 8597504 16984063 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
7 16986112 268435455 4EB2EA3978554790A79EFAE495E21F8D vmfsl 0 ← 128GB まで OSData として VMFS-L で割り当てられる
8 268437504 293601246 AA31E02A400F11DB9590000C2911D1B8 vmfs 0 ← 128GB 以降が VMFS に割り当てられる

[root@localhost:~] df -h
Filesystem   Size   Used Available Use% Mounted on
VMFS-6      11.8G   1.4G     10.3G  12% /vmfs/volumes/datastore1
VMFS-L     119.8G   3.0G    116.7G   3% /vmfs/volumes/OSDATA-5e95a002-38c3d94c-c1a9-005056b649df
vfat         4.0G 162.7M      3.8G   4% /vmfs/volumes/BOOTBANK1
vfat         4.0G  64.0K      4.0G   0% /vmfs/volumes/BOOTBANK2
 


デバイスサイズによるパーティションデザインの違い

ESXi 7.0 以降は ESXi の Kernel がインストールされる Boot Bank が従来の 250MB から拡張されブートデバイスのサイズにより 500MB / 1GB / 4GB が自動で選ばれ、その後ろに可変サイズの OSData 領域が作成されます。
また、前述のとおりローカルデータストアとしての VMFS は 128GB 以降に作成されます。
※ Boot Bank の拡張は、近年の vSAN や NSX-T の対応、k8s 対応など ESXi の Kernel が持つ機能が増え、今後の機能設計を幅を広げるためといわれております。

ESXi 7.0 を 4GB ~ 10GB のデバイスにインストールした場合

10GB 未満のデバイスの場合は Boot Bank が二つの 500MB で構成され、残りが OSData となります。
[root@localhost:~] partedUtil getptbl /vmfs/devices/disks/mpx.vmhba0:C0:T0:L0
gpt
1044 255 63 16777216
1 64 204863 C12A7328F81F11D2BA4B00A0C93EC93B systemPartition 128
5 208896 1232895 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
6 1234944 2258943 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
7 2260992 16777182 4EB2EA3978554790A79EFAE495E21F8D vmfsl 0

[root@localhost:~] df -h
Filesystem   Size   Used Available Use% Mounted on
VMFS-L       6.8G   3.0G      3.7G  44% /vmfs/volumes/OSDATA-5e95a038-b39a3c28-1601-005056b6d1b2
vfat       499.7M 159.7M    340.0M  32% /vmfs/volumes/BOOTBANK1
vfat       499.7M   8.0K    499.7M   0% /vmfs/volumes/BOOTBANK2
 

ESXi 7.0 を 10GB ~ 32GB のデバイスにインストールした場合










10GB 以上 32GB 未満のデバイスの場合は Boot Bank が二つの 1GB で構成され、残りが OSData となります。
[root@localhost:~] partedUtil getptbl /vmfs/devices/disks/mpx.vmhba0:C0:T0:L0
gpt
1305 255 63 20971520
1 64 204863 C12A7328F81F11D2BA4B00A0C93EC93B systemPartition 128
5 208896 2306047 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
6 2308096 4405247 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
7 4407296 20971486 4EB2EA3978554790A79EFAE495E21F8D vmfsl 0

[root@localhost:~] df -h
Filesystem    Size   Used Available Use% Mounted on
VMFS-L        7.8G   3.0G      4.7G  39% /vmfs/volumes/OSDATA-5e95a096-6a73bbb9-fd63-005056b6c969
vfat       1023.8M 160.9M    862.9M  16% /vmfs/volumes/BOOTBANK1
vfat       1023.8M  32.0K   1023.8M   0% /vmfs/volumes/BOOTBANK2
 

ESXi 7.0 を 32GB ~ 128GB のデバイスにインストールした場合









32GB 以上 128GB 未満のデバイスの場合は Boot Bank が二つの 4GB で構成され、残りが OSData となります。
ESXi 6.x では作成されたローカルデータストアもこの場合は作成されません。
[root@localhost:~] partedUtil getptbl /vmfs/devices/disks/mpx.vmhba0:C0:T0:L0
gpt
13054 255 63 209715200
1 64 204863 C12A7328F81F11D2BA4B00A0C93EC93B systemPartition 128
5 208896 8595455 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
6 8597504 16984063 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
7 16986112 209715166 4EB2EA3978554790A79EFAE495E21F8D vmfsl 0
                                                             ← 128GB 以下のデバイスでは VMFS6 のパーティションは作成されない

[root@localhost:~] df -h
Filesystem  Size   Used Available Use% Mounted on
VMFS-L     91.8G   3.0G     88.7G   3% /vmfs/volumes/OSDATA-5e959fe3-697dd9c3-7a6a-005056b6bdeb
vfat        4.0G 162.7M      3.8G   4% /vmfs/volumes/BOOTBANK1
vfat        4.0G  64.0K      4.0G   0% /vmfs/volumes/BOOTBANK2
 

ESXi 7.0 を 128GB 以上のデバイスにインストールした場合








128GB 以上のデバイスの場合は Boot Bank が二つの 4GB で構成され、 OSData が 120GB、残りが VMFS6 のローカルデータストアとなります。

この様に、ローカルデータストアは 128GB 以上のデバイスで初めて作成されますので、ローカルデータストアの利用を予定されていた場合はご注意ください。

ESXi を 6.x から 7.0 以降にバージョンアップした場合

既存の ESXi 6.x から 7.0 にバージョンアップした際には、各パーティションが再作成され、Boot Bank は 500MB に拡張され、診断パーティションやスクラッチは OSData に集約されます。

ESXi 6.7 の時のパーティション

[root@localhost:~] partedUtil getptbl /vmfs/devices/disks/mpx.vmhba0:C0:T0:L0
gpt
4177 255 63 67108864
1 64 8191 C12A7328F81F11D2BA4B00A0C93EC93B systemPartition 128 ← システムパーティションは 4MB
5 8224 520191 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
6 520224 1032191 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
7 1032224 1257471 9D27538040AD11DBBF97000C2911D1B8 vmkDiagnostic 0
8 1257504 1843199 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
9 1843200 7086079 9D27538040AD11DBBF97000C2911D1B8 vmkDiagnostic 0
2 7086080 15472639 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
3 15472640 67108830 AA31E02A400F11DB9590000C2911D1B8 vmfs 0 

[root@localhost:~] df -h
Filesystem   Size   Used Available Use% Mounted on
VMFS-6      24.5G   1.4G     23.1G   6% /vmfs/volumes/datastore1
vfat       249.7M 148.4M    101.3M  59% /vmfs/volumes/eefbca74-8bec43ca-3f57-2b771eef9805
vfat         4.0G   4.6M      4.0G   0% /vmfs/volumes/5e959a24-46aa910d-69e1-005056b64fa8
vfat       285.8M 173.8M    112.0M  61% /vmfs/volumes/5e959a1c-2a6338cd-39f0-005056b64fa8
vfat       249.7M   4.0K    249.7M   0% /vmfs/volumes/25a74077-d68771e7-74cb-44c65bc80f64
 

ESXi 6.7 → ESXi 7.0 にバージョンアップ後のパーティション

既存環境を ESXi 7.0 にバージョンアップした場合は、ローカルデータストアの VMFS はそのまま維持されます。
自宅ラボ環境などでブートデバイス兼ローカルデータストアとしての容量も必要な方は、いったん 6.7 をインストール後に 7.0 にバージョンアップする事でローカルデータストアの容量を 7.0 を新規インストールした場合に比べて 100GB 以上確保することが可能です。

[root@localhost:~] partedUtil getptbl /vmfs/devices/disks/mpx.vmhba0:C0:T0:L0
gpt
4177 255 63 67108864
1 64 204863 C12A7328F81F11D2BA4B00A0C93EC93B systemPartition 128  ← システムパーティションは 100MB に拡張
5 208896 1232895 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
6 1234944 2258943 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
7 2260992 15470592 4EB2EA3978554790A79EFAE495E21F8D vmfsl 0
8 15472640 67108830 AA31E02A400F11DB9590000C2911D1B8 vmfs 0  ← VMFS の位置は変わらず

[root@localhost:~] df -h
Filesystem   Size   Used Available Use% Mounted on
VMFS-6      24.5G   1.4G     23.1G   6% /vmfs/volumes/datastore1  ← VMFS はそのまま引き継がれる
VMFS-L       6.2G   3.0G      3.2G  48% /vmfs/volumes/OSDATA-5e95d58b-553b0e70-9f56-005056b64fa8
vfat       499.7M   8.0K    499.7M   0% /vmfs/volumes/BOOTBANK1
vfat       499.7M 159.7M    340.0M  32% /vmfs/volumes/BOOTBANK2
 


メジャーバージョンアップ後に元のバージョンにロールバックしたい場合

上のパーティションの使われ方を見ていただくと分かりますが、メジャーバージョンアップ後は片方の Boot Bank が空になっている事がわかります。
ESXi は二つある Boot Bank を利用して直前のバージョンのイメージを保持しているのでバージョンアップ後に問題が見つかった場合は起動時に Shift+R でリカバリする事が可能ですが、今回のメジャーバージョンアップ後はそれが利用できません。

メジャーバージョンアップ後に 6.7 に戻したい場合は、直前の Build と同じ ESXi を再インストール(VMFS 領域は保持)した後にバックアップしておいたコンフィグを戻すことでリカバリが可能です。

メジャーバージョンアップの前には必ず現在の ESXi Build と同じ ESXi インストーラ、パッチのDepot を用意しておくことと、直前に ESXi のコンフィグをバックアップしておいてください。
How to back up ESXi host configuration (2042141)
Reverting to a previous version of ESXi (1033604)

ESXi 7.0 を 4GB のデバイスにインストールした場合

ESXi 7.0 ではインストールデバイスの最低容量が 4GB となったため、4GB 以下のデバイスでは以下の様にインストールが出来ません。
また、以前のバージョンからのバージョンアップもできない為ご注意ください。

まとめ

ESXi 7.0 から大きく変わるブートデバイスのパーティションについてのご紹介でした。
商用環境などでこれから新規導入する場合は、32GB 以上の SSD、HDD などを利用する事が推奨されます。
最近はブートデバイス専用の M.2 SSD なども各社ラインナップしているのでそれらを利用するのが良いかと思います。

自宅ラボで ESXi をご利用の方は、ESXi 7.0 を新規導入する場合はローカルデータストアの扱いが従来から大きく変更されているのでご注意ください。

2020年4月14日火曜日

テレワークでも視聴できる VMware の Webinar ・自己学習コンテンツ情報

新型コロナウイルスの対策でほとんどのイベントが中止や延期、またはリモート開催となっておりますが、
リモートワークテレワークでも視聴できる VMware が主催、関連している Webinar ・自己学習コンテンツ情報をご紹介します。

※ 昨年、技術者向けのハンズオンラボや Webinar 情報を纏めておりましたが、今回は多くの方向けの Webinar 情報となります・
昨年のまとめた情報はこちら → VMware の技術関連で有用な資料、セミナー・イベント資料の入手先

VMware Cloud Native Day - LIVE

https://vm-event.jp/tanzu/
2020年4月22日(水)13:00 - 16:30 (終了予定)オンライン開催

今月発表された vSphere 7.0 と Tanzu や Kubernetes などの新しいアーキテクチャをご紹介するオンラインイベントでどなたでも参加可能です。

VMware EVOLVE ONLINE

https://vm-event.jp/evolve/

昨年は浜松町でのリアルイベントでしたが今年はオンラインでの情報発信となる EVOLVEです。
vFORUM や 昨年の EVOLVE の際のユーザーアカウントでログインしていただくと、
今までのセミナーコンテンツなども視聴可能です。
VMware Cloud Native Day と合わせてご利用ください。

https://vm-event.jp/mypage/evolve-online/app-modernization/
https://vm-event.jp/mypage/evolve-online/solutions/

VMware Japan 公式セミナー情報

https://www.event-vmware.net/

VMware が主催で開催する各種セミナー・イベントをご案内しており、現在は Webinar 形式のオンラインセミナーをご案内しています。

IT 価値創造塾 セミナー情報

https://vmware-juku.jp/seminar/

こちらは VMware が主催、またはパートナー様主催のイベントで VMware が協賛で開催しているセミナー・イベントのご案内です。
同じく現在は Webinar 形式のオンラインセミナーをご案内しています。

VMware グローバル公式 Podcast

https://portal.inxpo.com/ID/VMWare/12/

VMware がグローバルで開催している Webinar のご案内です。過去開催分のイベントも録画されたセッションを視聴する事が可能です(全て英語セッションとなります)

パートナー向けセミナー情報(過去開催のもの含む)

https://campaign.vmware.com/imgs/apac/jp/pcdocs/seminar.html

こちらは Partner Connect (旧 Partner Central) で公開している VMware パートナー向けのセミナー録画コンテンツのご案内です。

緊急事態宣言、新型コロナウイルス対策でのイベント自粛、リモートワークは当面続きそうですので、皆様の情報収集、技術習得に活用いただけると幸いです。