はじめに
このドキュメントでは、ホスト管理モードでIntel® Optane™ Persistent Memory(PMEM)を使用して、Unified Computing System(UCS)BシリーズサーバにESXiを設定するプロセスについて説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- UCS B シリーズ
- インテル® Optane™データ・センター・パーシステント・メモリー・モジュール(DCPMM)の概念
- VMware ESXiおよびvCenter Serverの管理
この設定を行う前に、次の要件が満たされていることを確認します。
- B200/B480 M5仕様ガイドのPMEMガイドラインを参照してください。
- CPUが第2世代のIntel® Xeon®スケーラブルプロセッサであることを確認します。
- PMEM/Dynamic Random Access Memory(DRAM;ダイナミックランダムアクセスメモリ)の比率は、KB 67645の要件を満たしています。
- ESXiは6.7 U2 + Express Patch 10(ESXi670-201906002)以降です。6.7より前のリリースはサポートされていません。
- UCS ManagerおよびServerは、4.0(4)バージョン以降です。最新の推奨バージョンについては、www.software.cisco.com/を参照してください。
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- UCS B480 M5
- UCS Manager 4.1(2b)
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
App Directモードに設定されたUCSサーバでは、VMware ESXi仮想マシンがOptane DCPMM Persistent memories Non-Volatile Dual In-Line Memory Modules(NVDIMM)にアクセスします。
Intel Optane DCPMMは、Unified Extensible Firmware Interface(UEFI)シェルまたはOSユーティリティを使用して、IPMCTL管理ユーティリティを使用して設定できます。このツールは、次のアクションの一部を実行するように設計されています。
- モジュールの検出と管理
- モジュールファームウェアのアップデートと設定
- ヘルスの監視
- 目標、リージョン、ネームスペースのプロビジョニングと設定
- PMEMのデバッグとトラブルシューティング
UCSは、サービスプロファイルに付加された永続的なメモリポリシーを使用して設定できるため、使いやすさが向上します。
オープンソースの不揮発性デバイス制御(NDCTL)ユーティリティは、LIBNVDIMM Linuxカーネルサブシステムの管理に使用されます。NDCTLユーティリティを使用すると、システムはOSで使用するリージョンおよびネームスペースとして設定をプロビジョニングおよび実行できます。
ESXiホストに追加された永続メモリは、ホストによって検出され、フォーマットされ、ローカルPMemデータストアとしてマウントされます。PMEMを使用するために、ESXiはVirtual Machine Flying System(VMFS)-Lファイルシステム形式を使用し、ホストごとに1つのローカルPMEMデータストアのみがサポートされます。
他のデータストアとは異なり、PMEMデータストアは従来のデータストアとしてタスクをサポートしません。vmxファイルとvmware.logファイルを含むVMホームディレクトリをPMEMデータストアに配置することはできません。
PMEMは、ダイレクトアクセスモードと仮想ディスクモードの2つの異なるモードでVMに提供できます。
-
ダイレクトアクセスモード
PMEM領域をNVDIMMの形式で提示することで、VMをこのモードに設定できます。このモードを使用するには、VMオペレーティングシステムがPMemに対応している必要があります。NVDIMMはバイトアドレス可能なメモリとして機能するため、NVDIMMモジュールに保存されたデータは電源サイクルを通じて保持される可能性があります。NVDIMMは、PMEMの構成時にESXiによって作成されるPMemデータストアに自動的に保存されます。
-
仮想ディスクモード
あらゆるハードウェアバージョンをサポートするために、VM上に存在する従来のOSとレガシーOSを対象としています。VM OSはPMEM対応である必要はありません。このモードでは、従来のSmall Computer System Interface(SCSI)仮想ディスクを作成し、VM OSで使用できます。
このドキュメントでは、ダイレクトアクセスモードで仮想マシン(VM)を使用するための設定について説明します。
設定
この手順では、Intel Optane DCPMMを使用してUCSブレードシリーズサーバでESXiを設定する方法について説明します。
サービス プロファイルの設定
1. UCS ManagerのGUIで、Servers > Persistent Memory Policyの順に移動し、図に示すようにAddをクリックします。

2.目標を作成し、図に示すようにメモリモードが0%であることを確認します。

3. 目的のサービスプロファイルにPMEMポリシーを追加します。
Service Profile > Policies > Persistent Memory Policyの順に移動し、作成したポリシーを適用します。
4. 地域の健全性を確認します。
選択したサーバ>インベントリ>永続メモリ>リージョンに移動します。タイプAppDirectが表示されます。このメソッドは、CPUソケットごとに1つの領域を作成します。

ESXiの確認
1. Webコンソールで、ホストは使用可能な合計PMEMを表示します。

2. ESXiは、図に示すように、PMEMの総量で構成される特別なデータストアを表示します。

仮想マシンのNVDIMMの設定
1. ESXiでは、仮想マシンはNVDIMMとしてOptane DCPMM PMEMにアクセスします。NVMDIMMを仮想マシンに割り当てるには、vCenterから仮想マシンにアクセスし、Actions > Edit Settingsの順に選択します。次の図に示すように、ADD NEW DEVICEをクリックしてNVDIMMを選択します。

注:仮想マシンを作成する際は、OSの互換性がインテル® Optane™ Persistent Memoryをサポートするために必要な最低限のバージョンであることを確認してください。バージョンが適切でない場合、選択可能な項目にNVDIMMオプションは表示されません。
2. 図に示すように、NVDIMMのサイズを設定します。

仮想マシンで名前空間を構成する
1. NDCTLユーティリティは、PMEMまたはNVDIMMの管理と設定に使用されます。
この例では、設定にRed Hat 8を使用しています。Microsoftには、永続的なメモリ名前空間の管理に使用するPowerShellコマンドレットがあります。
Linuxディストリビューションで使用可能なツールを使用して、NDCTLユーティリティをダウンロードします
例:
# yum install ndctl
# zypper install ndctl
# apt-get install ndctl
2. ESXiによってデフォルトで作成されたNVDIMM領域と名前空間を確認します。NVDIMMが仮想マシンに割り当てられているときは、領域が構成と一致していることを確認します。名前空間のモードがrawに設定されていることを確認します。これは、ESXiによって名前空間が作成されたことを意味します。確認するには、次のコマンドを使用します。
# ndctl list -RuN

3. (オプション)名前空間がまだ作成されていない場合は、次のコマンドを使用して名前空間を作成できます。
# ndctl create-namespace
ndctl create-namespaceコマンドでは、デフォルトでfsdaxモードの新しい名前空間が作成され、新しい/dev/pmem([x].[y])デバイスが作成されます。名前空間が既に作成されている場合は、この手順をスキップできます。
4. PMEMアクセスモードを選択します。設定で使用できるモードは次のとおりです。
- セクタモード:
ストレージを高速ブロックデバイスとして提示します。これは、永続メモリをまだ使用できないレガシーアプリケーションに役立ちます。
- Fsdaxモード:
永続メモリデバイスがNVDIMMへの直接アクセスをサポートできるようにします。ファイルシステムのダイレクトアクセスでは、ダイレクトアクセスプログラミングモデルを使用できるようにするために、 fsdaxモードを使用する必要があります。このモードでは、NVDIMM上にファイルシステムを作成できます。
- Devdaxモード:
DAX文字デバイスを使用して永続メモリへのrawアクセスを提供します。 devdaxモードを使用しているデバイスにファイルシステムを作成することはできません。
- Rawモード:
このモードにはいくつかの制限があり、パーシステントメモリの使用には推奨されません。
モードをfsdaxモードに変更するには、次のコマンドを使用します。
ndctl create-namespace -f -e --mode fsdax
devがすでに作成されている場合は、dev名前空間を使用してモードをフォーマットし、fsdaxに変更します。

注:これらのコマンドではアカウントがルート権限を持っていることが必要ですが、sudo コマンドが必要な場合もあります。
5. ディレクトリとファイルシステムを作成します。
Direct Access(DAX)は、アプリケーションがCPUから(ロードとストアを介して)永続的なメディアに直接アクセスし、従来のI/Oスタックをバイパスできるようにするメカニズムです。DAX対応パーシステントメモリファイルシステムには、ext4、XFS、およびWindows NTFSがあります。
作成およびマウントされたXFSファイルシステムの例:
sudo mkdir < directory route (e.g./mnt/pmem) >
sudo mkfs.xfs < /dev/devicename (e.g. pmem0) >

6. ファイル・システムをマウントし、正常に完了したことを確認します。
sudo mount < directory >
df -h < directory >

VMはPMEMを使用する準備が整いました。
トラブルシュート
エラーが見つかった場合は、通常、-o daxマウントオプションを使用してこのDAX対応ファイルシステムをマウントすることをお勧めします。

整合性を確保するために、ファイル・システムの修復が実行されます。

回避策として、-o dax オプションを使用せずにマウントをマウントできます。
注:xfsprogsバージョン5.1では、デフォルトでreflinkオプションが有効なXFSファイルシステムが作成されます。以前は、デフォルトで無効にされていました。reflinkオプションとdaxオプションは相互に排他的で、これによりマウントが失敗します。
このエラーは、mountコマンドが失敗した場合にdmesgで確認できます。

回避策として、-o daxオプションを削除します。

ext4 FSでマウントします。
EXT4ファイルシステムはDAXをサポートしていますが、リフレンク機能を実装していないため、代替として使用できます。

関連情報