PowerVault ME4:オーバーコミットメントとは何ですか?また、どのように機能しますか?
Summary: この記事では、PowerVault ME4シリーズでのオーバーコミットメントの基本的な理念と、それらを計算する方法について説明します。
Resolution
目次
- オーバーコミットメントの概要と仕組みを教えてください。
- ログでオーバーコミットメントに関する情報や問題を表示する場所を教えてください。
- メタデータ インデックス サイズとは何ですか?
- 16GiBアドレス テーブルとは何ですか?
- オーバーコミットメントの上限を教えてください。
- 共有データ、固有データ、およびスナップ データの違いを教えてください。
- 固有データ(show snapshots type all)と割り当て済みサイズ(show snapshot-space)の値は一致している必要がありますか?
- コミットされているスペースの量を計算する方法と、どこにコミットされているかを教えてください。
質問:オーバーコミットメントの概要と仕組みを教えてください。
回答:
オーバーコミットとは、スナップショットを含むすべての仮想ボリュームの合計コミット サイズが、仮想プールの物理スペースを超えることを意味します。
この機能は、仮想ストレージに固有のものです。リニアには適用されません。
この機能を使用すると、物理ストレージ リソースをオーバーコミットすることで、物理的に割り当てられているよりも多くのストレージ スペースがあるかのようにオペレーティング システムを動作させることができます。
アレイに作成されたすべてのボリューム(スナップショットを含む)は、仮想プールのストレージ スペースからメタデータ インデックスを使用します。
一般的には、FWは仮想プールあたり最大1PiBのメタデータをサポートします。
たとえば、プールAに100TBの使用可能なプール領域を持つストレージ アレイがあるとします。
「オーバーコミットメント」が無効になっている場合、最大100TBのボリューム(スナップショットを含む)を作成することができ、構成のメタデータ インデックスは100TBを超えることはできません。
「オーバーコミットメント」が有効になっている場合、FWは、100TBの物理制限を超えたボリューム(スナップショットを含む)を作成できます。これは、FWが最大1PiBのメタデータ インデックスをサポートしているためです。
したがって、プールあたり最大1PiBのボリューム(スナップショットを含む)を作成することができます。これに関する詳細については、「メタデータ インデックス サイズとは何ですか?」を参照してください。
質問:ログでオーバーコミットメントに関する情報や問題を表示する場所を教えてください。
回答:
GUIでオーバーコミットメントに関する情報が表示されると、イベント ログにはイベントIDが表示されます。イベント コードの例を以下に示します。
イベントID473 - 示されたボリュームは、その仮想プールの閾値を超える割合を使用しています。これは、ストレージ使用量がこのボリュームのユーザー指定の閾値を超えたことを示しています。
イベントID573 - 警告:削除できるスナップショットがないため、仮想プールに対して割り当てられているスナップショット容量を減らすことができません。
イベントID571 - エラー:割り当てられているスナップショット容量は、仮想プールの構成された割合制限を超えました。
注:その他のイベント コードやその説明については、オーナーズ ガイドを参照してください。
質問:メタデータ インデックス サイズとは何ですか?16GiBアドレス テーブルとは何ですか?
回答:
サポートされているメタデータ インデックス エントリーの最大数は65312です。物理的にアドレス可能な容量を計算するには、メタデータのインデックス エントリー数をアドレス テーブルのサイズで乗算します。
この数式の結果は、約1PiB(1,048,576GiB)に相当します。
回答:
一般的には、FWは仮想プールあたり最大1PiBのメタデータをサポートします。
「オーバーコミットメント」機能が無効になっている場合、プールのメタデータの上限は利用可能なストレージ スペースです。
「オーバーコミットメント」機能が有効になっている場合、プールあたり最大1PiB(FW制限)のメタデータを使用できます。
質問:共有データ、固有データ、およびスナップ データの違いは何ですか?
回答:
スナップ データ:スナップショットに関連づけられている書き込みデータの合計量です。
言い換えれば、これは、スナップショットが最初に作成されたときのスナップショットの親ボリュームのボリューム割り当て情報です。つまり、スナップショットが作成されたときのボリュームのコミット済みサイズです。
固有データ:スナップショットに固有の書き込みデータの量です。
言い換えれば、これは元のボリュームから変更または修正されたデータです。
共有データ:このスナップショットと他のスナップショット間で共有される書き込みデータの量です。
言い換えれば、これはこのスナップショットの作成時に元のボリュームから変更または修正されていないデータです。
また、「共有データ+固有データ」は、「スナップ データ」とほぼ等しくなります。
質問:固有データ(show snapshots type all)と割り当て済みサイズ(show snapshot-space)の値は一致している必要がありますか?
回答:
設計により、固有データ(変更されたデータ)は、割り当て済みサイズの値と一致する必要があります。固有データはスナップショットの物理データサイズです。この固有データはスナップショット容量を使用します。
スナップショットのみが構成されている場合、すべてのスナップショットの固有データの合計は、報告されたスナップショット割り当て済みサイズの合計と同じになります。
レプリケーションが構成されている場合、標準のスナップショットに関連づけられているすべてのスナップショットの固有データと、レプリケーション タスクに関連づけられたスナップショットの固有データの合計になります。
ただし、一般に、「show snapshots」の出力では、「スナップ データ」、「共有データ」、「固有データ」は報告されません。これには、「show snapshots type all」コマンドが使用されます。
例:
レプリケーションが構成されている場合、FWは各レプリケーション タスク(S1、S2、S3)の3つのスナップショットを保持します。
S3スナップショットの値は、初期レプリケーション後にレプリケーションされたものです。
以降のレプリケーション スケジュールでは、S3がS2になると、「show snapshots」データは、テーブル内の関連づけられているすべてのデータの情報を報告します。
レプリケーション実行時は、各「S3」の値がログに報告されません。また、この情報を報告するCLIコマンドはありません。 つまり、レプリケーションの実行時には、固有データと割り当て済みサイズの間に不一致が生じることがあります。
これは予期される動作です。
Pool Name URL Creation Date/Time Status Status-Reason Parent Volume Base Vol Base Vol Snaps TreeSnaps Snap-Pool Snap Data Unique Data Shared Data Retention Priority
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
A ESXI.S1 2020-02-03 19:48:09 Available N/A ESXI ESXI 0 8 N/A 7580.4GB 0B 7580.4GB never-delete
A ESXI.S2 2020-02-03 19:48:09 Available N/A ESXI ESXI 0 8 N/A 7580.4GB 7767.8MB 7572.6GB never-delete
A ESXI.S3 2020-02-03 19:48:10 Available N/A ESXI ESXI 0 8 N/A 0B 0B 0B never-delete
A ESXIs01_S0003 2020-03-02 05:01:10 Available N/A ESXI ESXI 0 8 N/A 6988.9GB 344.6GB 6644.2GB never-delete
A ESXIs01_S0004 2020-03-03 05:01:08 Available N/A ESXI ESXI 0 8 N/A 7042.6GB 22.2GB 7020.3GB never-delete
A ESXIs01_S0005 2020/03/04 05:01:08 Available N/A ESXI ESXI 0 8 N/A 7045.4GB 49.8GB 6995.5GB never-delete
A ESXIs01_S0006 2020/03/05 5:01:15 Available N/A ESXI ESXI 0 8 N/A 7580.0GB 19.3GB 7560.6GB never-delete
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
質問:コミットされているスペースの量を計算する方法と、どこにコミットされているかを教えてください。
回答:
コミットされた容量は、すべての仮想ボリュームのサイズとスナップショット メタデータのサイズの合計です。
ボリュームまたはスナップショットごとにコミットされている場所は、GUIでは表示されません。これは、ログやCLIコマンドを使用して計算する必要があります。
「show pools」および「show volumes」からの出力が必要です。
例:
プールAのオーバーコミットメントを示しているがプールBでのものは示していない、GUI情報からのスクリーンショット

プールAの詳細についてのスクリーンショット

「show pools」からの出力例
Name Serial Number Class Blocksize Total Size Avail Snap Size OverCommit Disk Groups Volumes Low Thresh Mid Thresh High Thresh Sec Fmt Health Reason Action
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
A 00c0ff50ae66000081562a5e01000000 Virtual 512 35.2TB 29.5TB 1437.9GB Enabled 2 105 50.00 % 75.00 % 99.39 % 512e OK
B 00c0ff50ae0600009f562a5e01000000 Virtual 512 35.2TB 23.9TB 1305.3GB Enabled 2 108 50.00 % 75.00 % 99.39 % 512e OK
「show volumes」からの出力例:トランケートまたは変更され、次の表と計算によってデータの取得元が示されます。
Pool Name Total Size Alloc Size Class Type Large Virtual Extents Health Reason Action
-------------------------------------------------------------------------------------------------------------------------
B D-ADPSVR2 XXX.XGB XXX.XGB Virtual base Disabled OK
B D-ADPSVR2s01_S0011 XXX.XGB XXX.XGB Virtual snapshot Disabled OK
オーバーコミットメントを計算するためのステップ
次のコマンドからの値を使用します。表かexcelを使うことをお勧めします。
show pools = Total Size, Avail, Snap Size
show volumes = Total Size, Alloc Size
データがコミットされている場所を表示するには、データを使用可能な形式に分解します。 以下の表は、どのフィールドを参照し、どの場所のデータを取得するかを示しています。
| 名前 |
CLIコマンド |
列/フィールド |
修飾子1 |
修飾子2 |
計算 |
| 合計サイズ |
show pools |
Total Size |
|
共通分母(MB/GB/TB)に変換 |
なし |
| 利用可能/フリー |
show pools |
Avail |
|
共通分母(MB/GB/TB)に変換 |
なし |
| 使用済みスナップショット |
show pools |
Snap Size |
|
共通分母(MB/GB/TB)に変換 |
なし |
| ボリューム合計サイズ |
show volumes |
Total Size |
[Type]列の「base」アイテム |
共通分母(MB/GB/TB)に変換 |
すべての項目を合計 |
| ボリューム割り当て済みサイズ |
show volumes |
Alloc Size |
[Type]列の「base」アイテム |
共通分母(MB/GB/TB)に変換 |
すべての項目を合計 |
| 合計スナップショット サイズ |
show volumes |
Total Size |
[Type]列の「snapshot」アイテム |
共通分母(MB/GB/TB)に変換 |
すべての項目を合計 |
| 割り当て済みスナップショット |
show volumes |
Alloc Size |
[Type]列の「snapshot」アイテム |
共通分母(MB/GB/TB)に変換 |
すべての項目を合計 |
注:割り当てられた値を使用して、システムで使用中のスペースの量を確認できます。
お客様のシステムの例
| タイトル |
プールA (GB単位) |
プールB (GB単位) |
| Total Size |
35200 |
35200 |
| 利用可能/フリー |
29500 |
23900 |
| 使用済みスナップショット |
1437.9 |
1305.3 |
| ボリューム合計サイズ |
12246.2 |
12578.4 |
| ボリューム割り当て済みサイズ |
4231.0952 |
9910.8845 |
| 合計スナップショット サイズ |
29979.3 |
16762.9 |
| 割り当て済みスナップショット |
16922.1 |
10974.2117 |
次に、プールあたりのコミット済みやオーバーコミットの情報を計算します。
コミット済み: ボリューム合計サイズ + 合計スナップショット サイズ
| プール |
ボリューム合計サイズ |
合計スナップショット サイズ |
コミット済み |
| A |
12246.2 |
29979.3 |
42225.5 |
| B |
12578.4 |
16762.9 |
29341.3 |
オーバーコミット: コミット済み - 合計サイズ
| プール |
コミット済み |
合計サイズ |
オーバーコミット |
| A |
42225.5 |
35200 |
7025.5 |
| B |
29341.3 |
35200 |
-5858.7 |
注:オーバーコミット値については、正の値は、プールがオーバーコミットされていることを意味します。負の値は、プールがオーバーコミットされていないことを意味します。
例では:
Aは7025.5GBオーバーコミットされています
Bは負の数であるため、オーバーコミットされていません。