PowerVault ME4: cos'è l'overcommitment e come funziona
Summary: Questo articolo descrive in dettaglio i principi di base dell'overcommitment sulla serie PowerVault ME4 e come calcolarlo.
Resolution
Sommario
- Cos'è l'overcommitment e come funziona?
- Dove si possono trovare le informazioni o i problemi relativi all'overcommitment nei registri?
- Qual è la dimensione dell'indice dei metadati?
- Che cos'è la tabella degli indirizzi da 16GiB?
- Qual è il limite di overcommitment massimo?
- Qual è la differenza tra dati condivisi, dati univoci e dati istantanea?
- I valori relativi ai dati univoci (show snapshots type all) e alla dimensione allocata (show snapshot-space) devono corrispondere?
- Come si calcola la quantità di spazio con commit e dove lo spazio è stato sottoposto a commit?
Domanda: cos'è l'overcommitment e come funziona?
Risposta:
Sottoposto a overcommit significa che la dimensione totale dei commit di tutti i Virtual Volumes, incluse le istantanee, supera lo spazio fisico disponibile nel pool virtuale.
Questa funzione è specifica del virtual storage. NON è applicabile allo storage lineare.
Questa funzione consente l'overcommit delle risorse dello storage fisico, consentendo al sistema operativo di operare come se disponesse di uno spazio di storage maggiore rispetto a quello fisicamente allocato.
Ogni volume, incluse le istantanee, creato nell'array, utilizza gli indici dei metadati dallo spazio di storage del pool virtuale.
In generale, FW supporta un massimo di 1 PiB di metadati per pool virtuale.
Si consideri ad esempio un array di storage con 100 TB di spazio utilizzabile nel pool A.
Con la funzione "Overcommitment" disabilitata, è possibile creare volumi (incluse le istantanee) SOLO fino a un massimo di 100 TB e la configurazione non può superare 100 TB di indice dei metadati.
Con la funzione "Overcommitment" abilitata, FW consente la creazione di volumi (incluse le istantanee) oltre il limite fisico di 100 TB, in quanto FW supporta un massimo di 1 PiB di indice dei metadati.
Pertanto, il sistema può creare volumi (incluse le istantanee) fino a un massimo di 1 PiB per pool. Per una descrizione maggiormente dettagliata, vedere la domanda "Qual è la dimensione dell'indice dei metadati?"
Domanda: Dove si possono trovare le informazioni o i problemi relativi all'overcommitment nei registri?
Risposta:
Quando vengono visualizzate informazioni sul overcommitment nella GUI, gli ID evento vengono riportati nei registri eventi. Di seguito sono riportati alcuni codici evento di esempio.
ID evento 473: il volume indicato utilizza una quantità di spazio superiore alla percentuale di soglia del pool virtuale. Ciò significa che l'uso dello storage ha superato la soglia specificata dall'utente per il determinato volume.
ID evento 573: avviso che indica che lo spazio allocato alle istantanee per un pool virtuale non può essere ridotto poiché non sono presenti istantanee eliminabili.
ID evento 571: errore che indica che lo spazio allocato alle istantanee ha superato il limite percentuale configurato del pool virtuale.
Nota: ulteriori codici evento con relative spiegazioni sono disponibili nella guida del proprietario.
Domanda: Qual è la dimensione dell'indice dei metadati? Che cos'è la tabella degli indirizzi da 16GiB?
Risposta:
Il numero massimo supportato di voci dell'indice dei metadati è 65.312. Per calcolare lo spazio fisicamente indirizzabile, moltiplicare le voci dell'indice dei metadati per la tabella degli indirizzi.
Questo valore corrisponde a circa 1 PiB, ovvero 1.048.576 GiB.
Domanda: Qual è il limite di overcommitment massimo?
Risposta:
In generale, FW supporta un massimo di 1 PiB di metadati per pool virtuale.
Con la funzione "Overcommitment" disabilitata, il pool consente l'utilizzo dei metadati SOLO fino alla quantità massima di spazio di storage disponibile.
Con la funzione "Overcommitment" abilitata, il pool consente l'utilizzo dei metadati fino a un massimo di 1 PiB per pool, che è il limite di FW.
Domanda: Qual è la differenza tra dati condivisi, dati univoci e dati istantanea?
Risposta:
Dati istantanea: la quantità totale di dati in scrittura associati all'istantanea.
In altre parole: le informazioni di allocazione del volume principale dell'istantanea al momento della creazione originale dell'istantanea. Tale valore equivale alla dimensione del volume sottoposto a commit quando è stata creata la'istantanea.
Dati univoci: la quantità di dati in scrittura univoci dell'istantanea.
In altre parole: i dati cambiati o modificati rispetto al volume originale.
Dati condivisi: la quantità di dati in scrittura condivisi tra questa istantanea e altre istantanee.
In altre parole: i dati non cambiati o modificati rispetto al volume originale al momento della creazione dell'istantanea.
Inoltre, la somma di "dati condivisi + dati univoci" corrisponde approssimativamente ai "dati istantanea".
Domanda: I valori relativi ai dati univoci (show snapshots type all) e alla dimensione allocata (show snapshot-space) devono corrispondere?
Risposta:
Secondo progettazione, il valore dei dati univoci (dati modificati) deve corrispondere a quello della dimensione allocata. I dati univoci rappresentano la dimensione dei dati fisici delle istantanee e utilizzano lo spazio allocato alle istantanee.
Per le configurazioni con SOLO istantanee configurate, la somma dei dati univoci di tutte le istantanee corrisponde alla dimensione totale allocata alle istantanee che viene restituita.
Per le configurazioni con replica configurata, la somma dei dati univoci di tutte le istantanee associate alle istantanee standard e dei dati univoci delle istantanee associate alle attività di replica.
Tuttavia, in generale, l'output di show snapshots non restituisce "dati istantanea", "dati condivisi" o "dati univoci". Ecco perché viene utilizzato il comando "show snapshots type all".
Esempio:
Per le configurazioni con replica configurazione, FW mantiene tre istantanee per ogni attività di replica (S1, S2 e S3).
Il valore per l'istantanea "S3" è ciò che viene replicato dopo la replica iniziale.
Nella pianificazione della replica successiva, quando S3 diventa S2, il comando "show snapshots" restituisce tutte le informazioni sui dati associati nella tabella.
Mentre è in corso la replica, i valori di ogni "S3" non vengono riportati nei registri. Inoltre, non vi sono comandi CLI per ottenere queste informazioni. Ciò significa che, quando si verifica la replica, si potrebbe osservare una discrepanza tra i dati univoci e la dimensione allocata.
Si tratta del comportamento previsto.
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 05:01:15 Available N/A ESXI ESXI 0 8 N/A 7580.0GB 19.3GB 7560.6GB never-delete
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Domanda: Come si calcola la quantità di spazio con commit e dove lo spazio è stato sottoposto a commit?
Risposta:
Lo spazio sottoposto a commit è la dimensione di tutti i Virtual Volumes + la dimensione dei metadati delle istantanee.
La GUI non mostra dove è stato eseguito il commit di tutto lo spazio per volumi o istantanee. Ciò deve essere calcolato in base ai registri e/o ai comandi della CLI.
È necessario procurarsi l'output di "show pools" e "show volumes".
Esempio:
Schermata di informazioni della GUI che mostra l'overcommitment sul pool A e nessun overcommitment sul pool B

Schermata più dettagliata sul pool A

Output di esempio di "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
Output di esempio di "show volumes", troncato o modificato per mostrare la provenienza dei dati per le tabelle e i calcoli seguenti
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
Procedura per calcolare l'overcommitment
Utilizzare i seguenti valori ottenuti a seguito dei comandi; si suggerisce di inserirli in una tabella o in un foglio di Excel.
show pools = Total Size, Avail, Snap Size
show volumes = Total Size, Alloc Size
Per suddividere i dati in forma utilizzabile per visualizzare la posizione di commit dei dati, di seguito è riportata una tabella dei campi da esaminare e da cui estrarre i dati.
| Name |
Comando CLI |
Colonna/Campo |
Modificatore 1 |
Modificatore 2 |
Calcolo |
| Total Size |
show pools |
Total Size |
|
Convertire in un comune denominatore (MB/GB/TB) |
N/D |
| Avail / Free |
show pools |
Avail |
|
Convertire in un comune denominatore (MB/GB/TB) |
N/D |
| Snapshot Used |
show pools |
Snap Size |
|
Convertire in un comune denominatore (MB/GB/TB) |
N/D |
| Volume Total Size |
show volumes |
Total Size |
elementi "base" nella colonna Type |
Convertire in un comune denominatore (MB/GB/TB) |
Sommare tutti gli elementi |
| Volume Allocated Size |
show volumes |
Alloc Size |
elementi "base" nella colonna Type |
Convertire in un comune denominatore (MB/GB/TB) |
Sommare tutti gli elementi |
| Total Snapshot Size |
show volumes |
Total Size |
"istantanee" nella colonna Type |
Convertire in un comune denominatore (MB/GB/TB) |
Sommare tutti gli elementi |
| Snapshot Allocated |
show volumes |
Alloc Size |
"istantanee" nella colonna Type |
Convertire in un comune denominatore (MB/GB/TB) |
Sommare tutti gli elementi |
Nota: è possibile utilizzare i valori allocati per visualizzare la quantità di spazio in uso nel sistema.
Esempio di sistema del cliente
| Titolo |
Pool A (in GB) |
Pool B (in GB) |
| Total Size |
35200 |
35200 |
| Avail / Free |
29500 |
23900 |
| Snapshot Used |
1437.9 |
1305.3 |
| Volume Total Size |
12246.2 |
12578.4 |
| Volume Allocated Size |
4231.0952 |
9910.8845 |
| Total Snapshot Size |
29979.3 |
16762.9 |
| Snapshot Allocated |
16922.1 |
10974.2117 |
Calcolare ora i dati sottoposti a commit e/o overcommit per pool.
Sottoposti a commit: Volume Total Size + Total Snapshot Size
| Pool |
Volume Total Size |
Total Snapshot Size |
Sottoposti a commit |
| A |
12246.2 |
29979.3 |
42225.5 |
| B |
12578.4 |
16762.9 |
29341.3 |
Sottoposti a overcommit: commit - dimensione totale
| Pool |
Sottoposti a commit |
Total Size |
Sottoposti a overcommit |
| A |
42225.5 |
35200 |
7025.5 |
| B |
29341.3 |
35200 |
-5858.7 |
Nota: per quanto riguarda i valori con overcommit, i valori positivi indicano che il pool è in stato di overcommit, mentre i valori negativi indicano che il pool non è in stato di overcommit.
In base all'esempio:
A è in overcommit per 7025.5 GB
B non è in overcommit in quanto il numero è negativo.