見出し画像

vSphere ESXi 7 のブートメディアに関する検討事項と VMware テクニカル ガイダンス

vSphere インストール先デバイス選択時の悪習

これまでデバイスベイを空けてESXiホストをインストールするコストを下げるために、SDカードやUSBデバイスが選択されてきました。
しかしこのようなデバイスは、耐久性が低く、時間の経過とともに信頼性や問題が発生します。
またSDカードやUSBドライブは、パフォーマンスに問題があり、高頻度の読み書き操作に耐えられない場合があります。

実際にESXi 7.xでは、SDカードやUSBドライブをブートメディアとして使用しているホストで、ブート関連の問題が頻繁に報告されています。

この記事では、このような問題の詳細を説明し、問題を軽減するための技術的なガイダンスを提供します。

画像1

vSphere のパーティション構造

詳細を説明する前に、新しいシステムレイアウトを理解することが重要です。

vSphere 7以前のパーティション管理では、パーティションサイズが固定され、パーティション番号も固定されていました。
例えば、NSX-T、vSAN、Tanzu、vGPUなどを組み合わせるようになった場合、vSphere 6.x のパーティションサイズでは複数のソリューションを使用することに制約がありました。
そのため、大規模なモジュールのインストールやデバッグ機能、サードパーティ製コンポーネントの可能性などが制限されていました。

今後、ESXiホストが他のVMwareやサードパーティのソリューションをサポートする必要性はますます高まっていきます。
そのため vSphere 7.x のシステムストレージには、より信頼性が高く、柔軟性があり、高性能なストレージデバイスが必要となります。

vSphere 7.x の新しいパーティションスキーマでは、システムブートパーティションのみが100MBに固定されています。

残りのパーティションは動的、つまりパーティションサイズはブートメディアのサイズに基づいて決定されます。

画像2

SDカードやUSBデバイスに関するもう一つの大きな変更点は、ESX-OSDataパーティションです。
コアダンプ、ロッカー、スクラッチなどの非ブートパーティションはすべて、ESX-OSData (VMFS-L) パーティションという新しいパーティションに統合されました。

ESX-OSData パーティションに送られる IO リクエストが増加するため、ESX-OSDataパーティションは高耐久性の永続的ストレージデバイス上に作成する必要があります。
このようなIOリクエストの増加は、ESXi 7.xで導入された以下のような複数の要因によるものです。

デバイスの状態を確認するために送信されるプローブ要求の数が増加し、デバイスがIO要求に対応し続けている
システムの状態やタイムスタンプをバックアップするためのスケジュールされたスクリプトが、IOリクエストの増加に若干ながら影響
より多くの機能やソリューションが構成状態をESX-OSDataに保存しているため、ハイエンドのローカルに接続された永続的ストレージデバイスにインストールする必要がある

画像3

vSphere 7とSDカードおよびUSBドライブに関する潜在的な問題

1. VMFS-Lロッカーのパーティションが破損する可能性

SDカードやUSBメモリなどの耐久性の低いデバイスは、頻繁な読み取り操作によってすぐに消耗してしまいます。
頻繁に読み込まれる原因としては、仮想マシンがアクセスするVMToolsファイルが挙げられます。
これを軽減する1つの方法は、VMToolsの読み取りIO操作をRAMディスクにオフロードして、SDカードやUSBドライブに送られるIO操作を大幅に減らすことです。

現在の回避策は、手動で ToolsRAMDisk オプションを有効にして VMTools を RAMDisk に移動させることです。
この問題は vSphere 7 Update 2c で解決されています。
詳細については、KB 83376 を参照してください。

2. '/bootbank' が見つからない

SD カードや USB デバイスは通常、キューの深さが小さいため、ストレージ スタックで未処理の IO 要求が発生し、最終的にタイムアウトになります。

この問題は、vSphere 7 Update 2c では解決されています。
詳細については、KB 83963 を参照してください。

画像4

起動メディアとしてのSDカードやUSBメモリの使用に関する改善策

SDカードやUSBデバイスの使用には制限があります

1. ESX-OSData パーティションを格納するブートメディアとして、スタンドアロンの SD カードまたは USB ドライブ(ESX-OSData パーティション用の追加デバイスはありません)を使用することは、vSphere 7 Update 3 で非推奨となり、今後のメジャー リリースではサポートされません

2. 近い将来、SD カードや USB ドライブをブート メディアとして使用する構成でサポートされるのは、最低 8 GB の SD カードまたは USB ドライブ、ESX-OSData パーティション用のローカル接続されたパーシステントストレージデバイスのみです。
ローカルに接続されたストレージデバイスの推奨リストを以下に示します。

3. いかなる場合においてもブートメディアにSDまたはUSBデバイスを使用する場合(SD/USBのみの場合はもちろん、SD/USBと合わせてHDD/SSDを用いる場合も含め)には、以下の手順により SD または USB ブートメディアに送られる IO 量を減らす必要があります。

ToolsRamDiskオプションを有効にし、VMToolsのインストール/アップグレードのIOリクエストをRAMディスクにオフロード
/scratch パーティションをローカル HDD/SSD などのパーシステントストレージに設定するか、SAN デバイスから起動する
・ESXi 7.0のインストーラーはSD カードや USB ドライブに /scratch パーティションを作成せず、パーシステントストレージを探し、そこに /scratch を作成しようする
・パーシステントストレージがない場合は、250MBの /tmp パーティションがRAMディスク上に作成されます。
なお /tmp パーティションの容量が不足すると、ESXi ホストのパフォーマンスに影響が出ます。

VMware は SD または USB ブートメディア上に /scratch パーティションを載せた構成をサポートしていません
必ずローカルに接続されたHDDまたはSSDに、もしくはそれが難しい場合には SAN 上に /scratch を構成してください。
その場合は KB 1033696に記載されている手順に従ってください。

注:RAMDiskは揮発性でデータ損失の可能性があるため、ブートパーティションの一部をRAMDiskに保存すると、動作モードが低下することに注意してください。

いかなる構成、環境下においても、コアダンプをオフロードするように「ESXi Dump Collector」を設定するべきです。

4. /bootbank が見つからない問題を解決するには、vSphere 7 Update 2c 以降にアップグレードする必要があります。
詳細はリリースノートを参照してください。

5. デュアルSDカード
これはお勧めできる構成ではなく、可能な限り採用すべきではありません。
デュアルSDカードを使用した場合にも、読み取り障害やパフォーマンスの問題が発生する可能性があります。
またミラーリングされたセットアップでは、1枚のSDカードが劣化しても、他のSDカードでも劣化が発生する可能性があります。

6. (ESXiホストが既に7.xにアップグレードされている場合)
ローカルに接続されたストレージデバイスを追加し、autoPartition=True を設定する。
これにより次回の再起動時に、最初のローカル接続ストレージが ESX-OSData パーティションとして使用されるように分割されます。
KB 77009 を参照してください。

ESXi 起動時の注意点

選択可能な回避策を記載していますが、大前提として現時点においてローカルに接続された永続的なストレージ デバイスを持つべきであり、ベストプラクティスです。
また将来的には持たなければならないことを強く認識すべきです。
詳細については、以下をご覧ください。

画像5

画像6

vSAN 環境におけるローカル接続ストレージからの ESXi ホストの起動

vSAN ディスクで共有されている同じストレージ コントローラから ESXi ホストを起動することは推奨されません。
ブートデバイスをサポートするためにコントローラを追加するか、M.2フラッシュ、PCIe NVMe、またはSATA SSDデバイスを使用してください。


結論

VMwareはブートメディアとしてSDカードやUSBドライブをサポートすること止めるよう移行しています。

パーシステントデバイスを使用せず、SD カードまたは USB ドライブのみを使用する ESXi ブート構成は、vSphere 7 Update 3 で非推奨です。

今後の vSphere のリリースでは、この構成はサポートされません

SDカードやUSBドライブを完全に使用しないことをお勧めします。

それが難しい場合は、最低8GBのSDカードまたはUSBドライブを用意し、さらに最低32GBの高耐久性デバイスをESX-OSデータパーティションにローカル接続してください。
また先に説明したように、SDカードやUSBデバイスへのIOリクエストを減らすために、/scratch パーティションをパーシステントデバイスに設定したり、ネットワークコアダンプを設定したり、toolsRamDiskオプションを有効にしたりするなどの対策をとる必要があります。
また、USBおよびストレージスタックの問題を修正したvSphere 7 Update 2c以降のリリースにアップグレードする必要があります。

画像7

重要なリンク

ESXiシステムストレージの変更点

アップグレード時のESXiシステムストレージ

ESXi システム ストレージに関する FAQ

ESXi 7 ストレージの要件

ESXi 7 システム・ストレージに関する警告 - KB 85615

VMFS-L ロッカーパーティションの破損

ESXi 7.0 U2 へのアップグレード後に表示される、パス '/bootbank' にブートバンクが見つからないエラー

ESXi 7.x/6.x/5.x/4.x用のパーシステントスクラッチロケーションの作成

ESXCLIでのESXiダンプコレクター設定

スタンドアロンのブート デバイス オプションとしての SD カード/USB の削除 KB 85685

原文

いいなと思ったら応援しよう!