FAQ :『 Over Provisioning aka Thin Provisioning in ONTAP 』
に適用されます
オーバープロビジョニング / シンプロビジョニング
回答
シンプロビジョニングとも呼ばれるオーバープロビジョニングを使用すると、ストレージ管理者は、包含アグリゲートよりも多くのストレージスペースをプロビジョニングできます。
Data ONTAP には、ボリュームシンプロビジョニングと LUN シンプロビジョニングという 2 種類のシンプロビジョニング機能があります。これらの機能については、次のとおりです。
ボリュームのシンプロビジョニング
- シンプロビジョニングボリュームは、作成時に追加のスペースが確保されません。
- ボリュームにデータが書き込まれるときに、書き込み処理に対応するために必要なストレージをアグリゲートから確保するようにボリュームが要求します。
- シンプロビジョニングボリュームを使用すると、アグリゲートをオーバープロビジョニングできます。そのため、アグリゲートの空きスペースが不足した場合に、ボリュームが必要なスペースを確保できなくなる可能性があります。
- シンプロビジョニングボリュームを作成するには、そのスペースギャランティを none に設定します。
- スペース・ギャランティが none の場合、ボリューム・サイズはアグリゲート・サイズによって制限されません。
- すなわち、必要に応じて、各ボリュームを包含アグリゲートよりも大きくできます。
- アグリゲートから提供されるストレージは、データがボリュームに書き込まれるときにのみ使用されます。
LUN のシンプロビジョニング
- ストレージ管理者は、シンプロビジョニングを行い、ボリューム上で実際に利用可能な量よりも多くのストレージをLUNにプロビジョニングできます。
- 要求したスペースをユーザが使い切ることはめったになく、その場合、スペース リザーブLUNを使用するとストレージの効率が低下します。
- ボリュームをオーバープロビジョニングすることで、ボリューム容量を効率よく活用できます。
- シンプロビジョニングLUNが新しく作成されても、その時点ではそのLUNが属するボリューム内のスペースは使用されません。LUNにブロックが書き込まれ、LUN内のスペースが消費された時点で、そのLUNがあるボリューム内で同量のスペースが消費されます。
- シンプロビジョニングでは、ストレージコントローラで実際に使用できるよりも多くのストレージスペースを、ストレージコントローラに接続しているホストに提供できます。
- シンプロビジョニングLUNを使用したストレージ プロビジョニングでは、ユーザが必要とした時点でストレージを提供できます。
シンプロビジョニングには次の利点があります。
- ストレージ効率を高める。
- 空きスペースを複数のLUNで共有できる。
- 実際に使用するスペースのみをLUNが消費できる。
例:
次に、シンプロビジョニングされた LUN を持つボリュームの例を示します。管理者は、次の表に示すように、各 LUN に 1,000 GB のスペースを持つ 5 つのシンプロビジョニングされた LUN を持つ 4,000 GB のボリュームをプロビジョニングできます。
表14,000GBボリュームのシンプロビジョニングLUN
LUN名 |
LUNが実際に使用するスペース |
LUNに設定されている使用可能なスペース |
---|---|---|
lun1 |
100GB |
1,000GB |
lun2 |
100GB |
1,000GB |
lun3 |
100GB |
1,000GB |
lun4 |
100GB |
1,000GB |
lun5 |
100GB |
1,000GB |
合計 |
500GB |
5,000GB |
- 5つのLUNそれぞれが100GBのストレージを使用していますが、各LUNで使用可能なストレージは1,000GBです。
- この構成では、ボリュームは 1,000 GB でオーバープロビジョニングされますが、 LUN で使用される実際のスペースは 500 GB であるため、ボリュームには 3,500 GB の空きスペースがあります。
- シンプロビジョニングでは、LUNの拡大量はさまざまです。
- LUNにデータのブロックが書き込まれるたびに、利用可能なスペースのプールからLUNにスペースが拡充されます。
- それぞれに設定されている全スペースをすべてのLUNで使い切ってしまうと、ボリュームの空きスペースは不足します。
- ストレージ管理者は、ストレージコントローラを監視し、必要に応じてボリュームのサイズを増やす必要があります。
シンプロビジョニングLUNとスペース リザーブLUNを、同じボリュームおよび同じアグリゲートに配置できます。たとえば、クリティカルな本番用アプリケーションにスペース リザーブLUNを使用して、その他のアプリケーションにはシンプロビジョニングLUNを使用できます。
オーバープロビジョニング
- アグリゲートよりもサイズが大きい論理コンテナ(ボリュームまたは LUN )を作成できるため、基盤となる物理ストレージで使用可能な容量よりも多くの論理スペースをホストに提供することが一般的です。
- その結果、アグリゲートはオーバープロビジョニングされます。
アグリゲートがオーバープロビジョニングされると、使用可能なスペースが不足しているために、次のタイプの書き込みが失敗する可能性があります。
- スペース・ギャランティが none のボリュームに書き込みます。
- スペース・リザベーションが有効になっていないファイル、およびファイルのスペース・ギャランティが有効なボリュームにあるファイルに書き込みます。
したがって、アグリゲートのオーバープロビジョニングを行った場合は、使用可能なスペースを監視し、スペース不足による書き込みエラーを回避するために必要に応じてアグリゲートにストレージを追加する必要があります。
この場合の LUN とは、ストレージアレイでストレージに使用されるアレイ LUN ではなく、 Data ONTAP がクライアントに提供する LUN を意味します。 |
注:アグリゲートには、メタデータを格納するボリュームごとに保持するための十分な空きスペースが必要です。ボリュームのメタデータに必要なスペースは、ボリュームの公称サイズの約 0.5% です。
LUN がシンプロビジョニングされているかどうかを確認する方法:
LUN がシンプロビジョニングされているかどうかを確認するには、次のコマンドを実行し、強調表示された出力を書き留めます。
cluster1::> lun show -vserver vs1 -path /vol/vol1/lun1 -instance Vserver Name: vs1 LUN Path: /vol/vol1/lun1 Volume Name: vol1 Qtree Name: "" LUN Name: lun1 LUN Size: 10MB OS Type: linux Space Reservation: disabled Serial Number: wCVt1]IlvQWv Serial Number (Hex): 77435674315d496c76515776 Comment: new comment Space Reservations Honored: false Space Allocation: disabled State: offline LUN UUID: 76d2eba4-dd3f-494c-ad63-1995c1574753 Mapped: mapped Block Size: 512
上記のオプションについては、次のセクションで詳しく説明します。
- [-space-reserve {enabled | disabled}] - スペース・リザベーション - このパラメータ値に一致する LUN を選択します。true の場合、 LUN はスペースリザーブされています。false の場合、 LUN はシンプロビジョニングされます。デフォルトはtrueです。
- [-space-reserve-ered {true | false}] - スペース・リザベーション・レコレクタ - このパラメータ値に一致する LUN を選択します。値を true にすると、コンテナボリュームによって有効なスペースリザベーションを持つ LUN が表示されます。値を false にすると、シンプロビジョニングされた LUN が表示されます。
- [-space-allocation {enabled | disabled}] - スペース割り当て - このパラメータ値に一致する LUN を選択します。このパラメータを enabled に設定すると、スペース割り当てが有効になり、 LUN のプロビジョニングしきい値イベントがレポートされます。このパラメータを disabled に設定すると、スペースの割り当てが無効になり、 LUN のプロビジョニングしきい値イベントはレポートされません。
注:シンプロビジョニングを使用する場合は、ボリューム内のスペースが不足しないように、 LUN で使用されているスペースを追跡してください。 |
ボリュームがシンプロビジョニングされているかどうかを確認する方法:
- ボリュームがシンプロビジョニングされているかどうかを確認するには、次のコマンドを実行し、強調表示された出力を書き留めます。
cluster1::*> volume show -vserver vs1 -volume vol1 Vserver Name: vs1 Volume Name: vol1 Aggregate Name: aggr1 Volume Size: 30MB Volume Data Set ID: 1026 Volume Master Data Set ID: 2147484674 Volume State: online Volume Type: RW Volume Style: flex Is Cluster Volume: true Is Constituent Volume: false Export Policy: default User ID: root Group ID: daemon Security Style: mixed Unix Permissions: ---rwx------ Junction Path: - Junction Path Source: - Junction Active: - Junction Parent Volume: - Comment: Available Size: 23.20MB Filesystem Size: 30MB Total User-Visible Size: 28.50MB Used Size: 5.30MB Used Percentage: 22% Volume Nearly Full Threshold Percent: 95% Volume Full Threshold Percent: 98% Maximum Autosize (for flexvols only): 8.40GB Minimum Autosize: 30MB Autosize Grow Threshold Percentage: 85% Autosize Shrink Threshold Percentage: 50% Autosize Mode: off Autosize Enabled (for flexvols only): false Total Files (for user-visible data): 217894 Files Used (for user-visible data): 98 Space Guarantee Style: volume Space Guarantee In Effect: true Snapshot Directory Access Enabled: true Space Reserved for Snapshot Copies: 5% Snapshot Reserve Used: 98% Snapshot Policy: default Creation Time: Mon Jul 08 10:54:32 2013 Language: C.UTF-8 Clone Volume: false Node name: cluster-1-01
上記のオプションについては、次のセクションで詳しく説明します。
- [-size { <integer>[KB|MB|GB|TB|PB] } ]
- このパラメータを指定すると、指定したサイズのボリュームに関する情報のみが表示されます。サイズは、ボリュームが関連付けられているアグリゲートから消費できるスペースの最大量で、ユーザ データ、メタデータ、Snapshotコピー、およびSnapshotリザーブが含まれます。ギャランティが volume に設定されていないボリュームの場合、最大サイズまでボリュームに書き込めるかどうかは、関連付けられているアグリゲートで使用可能なスペースによって決まります。 - [-space-guarantee -enabled {true | false}] - スペースギャランティが有効 - このパラメータを指定すると、指定したスペースギャランティ設定を持つボリュームに関する情報のみが表示されます。-space-guarantee の値が none の場合、 -space-guarantee-enabled の値は常に true になります。つまり、ギャランティが存在しないため、ギャランティは常に有効です。-space-guarantee の値が volume である場合、 -space-guarantee -enabled の値は、ボリュームのマウント時に使用可能なスペースが保証されているかどうかに応じて true または false になります。
- [-space-guarantee | -s {none | volume}] - スペースギャランティスタイル - このパラメータを指定すると、指定したスペースギャランティスタイルを持つボリュームに関する情報のみが表示されます。-space-guarantee の値が none の場合、 -space-guarantee-enabled の値は常に true になります。つまり、ギャランティが存在しないため、ギャランティは常に有効です。-space-guarantee の値が volume である場合、 -space-guarantee -enabled の値は、ボリュームのマウント時に使用可能なスペースが保証されているかどうかに応じて true または false になります。
ボリュームのストレージ容量を表示する方法
volume show-footprint
コマンドを使用して、ボリュームがアグリゲート内で使用している合計スペース量を確認することもできます。
cluster1::> volume show-footprint Vserver : nodevs Volume : vol0 Feature Used Used% -------------------------------- ---------- ----- Volume Data Footprint 103.1MB 11% Volume Guarantee 743.6MB 83% Flexible Volume Metadata 4.84MB 1% Delayed Frees 4.82MB 1% Total Footprint 856.3MB 95%
注:上記の例は、シックプロビジョニングされたボリュームを示しています。ボリュームがシンプロビジョニングされている場合、ボリュームギャランティはゼロになります。
- Total Footprint の値は、アグリゲート内のボリュームで使用されているスペースの量を示します。
- 特にシンプロビジョニングを使用する場合は、これらの数値を追跡して、アグリゲート内のボリュームで消費されているスペースの量を把握し、それに応じて変更を加える必要があります。
- ボリュームと LUN のシンプロビジョニングを使用する場合、ストレージスペースの使用状況を追跡する最後の手順は、スペース不足を回避するためにアグリゲートで使用されているスペースの量を追跡することです。
アグリゲートの全体的なストレージ使用量を表示する方法
アグリゲート内のスペース使用状況を追跡するには、次のコマンドを使用します。
cluster1::> storage aggregate show-space Aggregate : wqa_gx106_aggr1 Feature Used Used% -------------------------------- ---------- ------ Volume Footprints 101.0MB 0% Aggregate Metadata 300KB 0% Snapshot Reserve 5.98GB 5% Total Used 6.07GB 5% Total Physical Used 34.82KB 0%
アグリゲートで使用されているストレージの視覚的な表示
- Volume Footes :アグリゲート内のすべてのボリュームフットプリントの合計を表示します。次の図に示すように、包含アグリゲート内のすべてのデータおよびすべてのボリュームのメタデータによって使用またはリザーブされているすべてのスペースが含まれます。
- [Total Used-] :アグリゲート内でボリューム、メタデータ、または Snapshot コピーごとに使用またはリザーブされているすべてのスペースの合計。
- Physical Used :データに使用されているスペースの量(将来の使用のために予約されているのではなく)。アグリゲートSnapshotコピー用に使用されるスペースが含まれます。
追加情報
詳細については、次のマニュアルを参照してください。