0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VCF 9 の Memory Tiering 入門!DRAM を増やさずにメモリ容量を倍にする仕組みをやさしく解説

0
Last updated at Posted at 2026-08-19

本記事の内容はあくまでも私個人の理解をまとめたものです。正確な情報は Broadcom 社の公式ドキュメントを参照してください。

仮想化基盤を運用していると、「CPU はまだ余っているのに、メモリが足りなくて VM をこれ以上載せられない」という場面によく出会います。メモリを増設すればいいのですが、DRAM(いわゆる普通のメモリ)は高価で、近年は価格も調達性も悩ましいところです。。

VMware Cloud Foundation 9(VCF 9、正確には土台となる vSphere / ESX 9)で登場した Memory Tiering over NVMe は、この「メモリの壁」に対する新しい答えです。ざっくり言うと、高価な DRAM を全部積まなくても、安い NVMe SSD をメモリの延長として使って実効メモリを増やす仕組みです。

VCF 9 の新機能つながりでは、以前こんな記事も書いています。よろしければあわせて参照ください。

この記事では、初めて Memory Tiering に触れる方向けに、仕組み・設定方法・使いどころを整理します。

先に全体像を1枚にまとめるとこうなります。細かい部分はこの後のセクションで説明していきます。

image.png

Memory Tiering とは

Memory Tiering は、メモリを「速い階」と「安い階」の2層(tier)に分けて使う機能です。

階層 実体 役割
Tier 0 DRAM(通常のメモリ) 速いが高い。よく使うデータ(ホット)を置く
Tier 1 ローカル NVMe SSD 遅いが安く大容量。あまり使わないデータ(コールド)を置く

よく使う書類は手元の机(DRAM)に、たまにしか見ない書類は隣の棚(NVMe)に置くイメージです。取り出しは棚のほうが少し遅いものの、机だけのときよりずっと多くの書類を扱えるようになります。

押さえておきたいのは、この2層が VM からは1つのメモリに見える(透過的)ことです。ゲスト OS やアプリケーション側の変更は要りません。

仕組み: ホットとコールドを自動で振り分ける

ESX が定期的にゲストのメモリを見て、直近でよくアクセスされたページを「ホット」として DRAM に残し、そうでないページを「コールド」として NVMe に送ります。ここは自動なので、運用側で手作業のチューニングは基本的に不要です。

Broadcom の性能検証ドキュメントでは、この動きが次のように説明されています。

"places frequently accessed data on the fast, more expensive DRAM, while demoting infrequently accessed data to the secondary, slower, cheaper memory tier located in NVMe storage."

どれくらいメモリが増える?

デフォルトの比率は DRAM : NVMe で 1:1 です。たとえば DRAM が 1TB のホストに 1TB 分の NVMe を足すと、オーバーヘッドを除いて実効で約2TB のメモリとして使えるようになります。

VCF 9.1 の設定画面では、この比率が Size Percentage という項目で表現されていて、デフォルトかつ推奨値は 100% です。「NVMe で DRAM と同じ容量ぶんを上乗せする=実効メモリを100%増やす」という意味になります。

使うための条件

いくつか前提があります。ここは押さえておきたいところです。

項目 内容
有効化 デフォルトは無効。明示的に有効化が必要
NVMe の種類 vSAN のキャッシュ相当の高耐久・高性能クラス(手元の任意のコンシューマ向け NVMe をそのまま使う位置づけではない)
接続方法 ホストにローカル接続(fabric や Ethernet 越しは対象外)
用途 tiering 専用。VM ストレージや vSAN とは共有不可

「余っている安い SSD を挿すだけ」ではない点だけ注意しておけば大丈夫です。

VCF 9.1 では設定がぐっと楽になった

以前(vSphere / ESX 9.0)は、有効化に ESXCLI コマンドやホスト単位の詳細設定+再起動が必要でした。ここが VCF 9.1 で大きく改善されています。

項目 vSphere / ESX 9.0 VCF 9.1
有効化 ESXCLI / ホスト単位の詳細設定 vSphere Configuration Profiles の UI で一括適用
再起動 必要 不要(順次 Maintenance Mode + 自動 live-migrate)
比率の指定 詳細設定(Mem.TierNvmePct) Size Percentage フィールド(デフォルト 100%)
NVMe 冗長化 — software-based mirroring

VCF 9.1 では、設定が vSphere Configuration Profiles(Desired State Configuration)のポイント&クリック UI に集約され、クラスタ内の全ホストにまとめて適用できます。大まかな流れはこうです。

  1. クラスタの Configure タブ → vSphere Configuration Profiles
  2. Draft(Create a new Draft)を作成
  3. memtier > nvme > Configure Settings を開く
  4. Memory Tiering を True にし、View host-specific details で各ホストの NVMe デバイスを選択
  5. Save → Apply Changes → Remediate

公式ブログではこの体験が次のように紹介されています。

"The entire setup happens in one place; vSphere Configuration Profiles, through a guided point-and-click workflow ... No ESX CLI commands, no scripts, no manual host-by-host coordination."

うれしいのは ホストの再起動が要らない点です。適用時はホストが順番に Maintenance Mode に入り、その間 VM は自動的に別ホストへ live-migrate されます。運用中のクラスタにも取り入れやすくなりました。設定手順は以下の公式ブログが分かりやすいです。

障害対策: software-based mirroring(VCF 9.1)

「メモリの一部を SSD に置くと、その SSD が壊れたらどうなるの?」というのは自然な疑問です。VCF 9.1 では、この不安に応える software-based mirroring が追加されました。

やり方はシンプルで、ホストあたり NVMe を2台用意し、設定時に2台目を mirror として選ぶだけです。これで単一 NVMe デバイスの障害から Tier 1 を保護できます。しかも RAID コントローラは不要で、追加のインフラ投資なしに冗長化できるのがポイントです。

なお、VCF 9.1 のリリースノートでは、この mirroring に加えて "cost savings analysis"(コスト削減効果の分析)も新機能として挙げられています。

効果と使いどころ

Broadcom の性能検証では、各種のエンタープライズワークロードで次のような結果が示されています。

  • 性能低下は 10%未満
  • VM の集約密度は 約2倍
  • TCO は 最大40%削減

"delivers performance with a loss of less than 10% ... doubles VM density and provides up to a 40% TCO saving."

公式の目安は「メモリの割り当ては多い(全 VM で50%超)が、実際にアクティブに使われているのは少ない(DRAM の50%未満)」というシナリオです。つまり「とりあえず多めにメモリを割り当てているけれど、常時フルには使っていない」という、よくある過剰割り当ての集約環境にハマります。

注意点: 向き・不向きを見極める

万能ではないので、向かないケースも把握しておくと安心です。

  • 低レイテンシがシビアなワークロードには向きません。コールドなページは NVMe から読み出すぶん、DRAM だけのときより遅くなり得るためです。
  • Fault Tolerant な VM、Nested 仮想化 VM、Confidential Computing 系の VM(SEV / SGX / TDX)は対象外です。
  • VM をメモリにサスペンドする操作はサポートされません。

このあたりは「使えない」というより「得意分野がはっきりしている機能」と捉えるとよいと思います。アクティブメモリが小さい集約系では効果が高い一方、レイテンシ最優先のワークロードは素直に DRAM で回す、という住み分けです。

まとめ

VCF 9 の Memory Tiering のポイントを整理すると:

  • DRAM(Tier 0)と NVMe SSD(Tier 1)を組み合わせて実効メモリ容量を増やす機能。VM からは透過的
  • デフォルト比率は 1:1(VCF 9.1 の UI では Size Percentage 100%)で、実効メモリが約2倍になる
  • VCF 9.1 では UI で完結・再起動不要になり、software-based mirroring で NVMe 障害にも備えられる
  • 「割り当ては多いがアクティブは少ない」集約環境で、性能低下を抑えつつ VM 密度と TCO を改善できる
  • 低レイテンシ用途など向かないケースもあるので、得意分野を見極めて使う

「メモリが足りなくて VM を追加できない」という悩みに、DRAM 増設以外の選択肢が増えたのは大きいと感じています。個人的には、設定が UI で完結して再起動もいらなくなった VCF 9.1 の作り込みが、この機能をぐっと実用的にしていると思います。

参考リンク

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?