Riequilibrare i dischi rigidi in un pool di spazi di archiviazione?


13

Ho 2 unità da 1,5 TB in un (pool di archiviazione mirror a due vie). Quel pool ha recentemente raggiunto il 100% di capacità, il che significa che ad entrambe le unità era rimasto lo 0% di spazio.

Ho aggiunto 2x unità da 4 TB al pool di archiviazione, ma lo spazio di archiviazione non tenta di riequilibrare l'utilizzo del disco. Dopo aver aggiunto ora vedo:

My storage space pool : Physical drives
1.5 TB HDD-1 : 100% used
1.5 TB HDD-2 : 100% used
4.0 TB HDD-3 : 0% used
4.0 TB HDD-4 : 0% used

Sembra che tutte le scritture future sarebbero ora concentrate sulle unità più recenti. Mi aspettavo che lo spazio di archiviazione get busyuna volta che avesse visto le nuove unità e avesse iniziato il riequilibrio, ma senza una tale fortuna.

Come posso riequilibrare l'utilizzo in modo che le mie letture / scritture siano distribuite in modo approssimativamente proporzionale / uguale su tutte le unità nel mio pool di archiviazione?

Cordiali saluti, questo è su Windows Server 2012 R2 ma è lo stesso spazio di archiviazione di Windows 8.1

Risposte:


10

Risuscitare questa vecchia domanda con qualcosa che finalmente funziona nei prossimi sistemi operativi Windows 10 e Windows Server 2016.

Microsoft ha aggiunto un Optimize-StoragePoolcomando PowerShell in Windows 10 e Windows Server 2016 che riequilibra gli spazi di archiviazione per un intero pool.

È facile come aprire ed eseguire una console amministrativa di PowerShell Optimize-StoragePool -FriendlyName "TheNameOfYourStoragePool"

Ho scritto sul blog qui .

Microsoft ha annunciato la funzionalità solo pochi giorni fa come parte del nuovo Storage Spaces Direct, ma funziona perfettamente anche con i normali spazi di archiviazione.


Grazie MOLTO MOLTO per quello, ho passato secoli alla ricerca di come funzionerà in Windows 10 e sono felice di vedere che è stato aggiornato!
topherg

1
Sembrava funzionare bene per i test che ho fatto. Ho visto un comportamento strano con i pool di parità, ma non escluderei che stavo semplicemente facendo qualcosa di sbagliato. Presto lo configurerò sul mio "NAS" (vecchio computer HP MediaSmart Server riproposto) e aggiornerò il blog con ulteriori informazioni.
Stefán Jökull Sigurðarson,

@ StefánJökullSigurðarson: puoi mettere una frase o due sul comportamento strano fino a quando il tuo post sul blog non è online?
DeepSpace101,

1
Suppongo che il suo dubbio Microsoft avrebbe mai eseguito il backport o fornito funzionalità simili a Windows 8 / 8.1 / 2012/2012 R2? Sarebbe bello poterlo fare nel 2012 R2, poiché ho un problema simile.
James White,

3
"L'ottimizzazione del pool è supportata solo con spazi semplici o mirror; gli spazi di parità non sono supportati "
Ian Boyd,

7

Ho avuto un problema simile quando ho scoperto gli spazi di archiviazione (in Windows 8.1) e stavo migrando i miei file esistenti. Ho iniziato con le unità:

  • Aaron: 500 GB, usato al 95%
  • Bruce: 1 TB, usato al 70%
  • Craig: 1 TB, usato 55%
  • Devin: 1 TB, usato al 30%
  • Ethan: 3 TB, usato al 50%
  • Felix: 3 TB, 0% utilizzato

Quindi, dopo aver spostato tutto sulle 2 unità da 3 TB, ho collegato le restanti 4 unità agli spazi di archiviazione, ho creato uno spazio, quindi ho copiato i file dalle 2 unità popolate nello spazio (resilienza di parità). Dopo aver aggiunto le due unità allo spazio (in sequenza), tutte le unità erano utilizzate per circa il 50%, ma le unità da 3 TB erano al 20% e 0% rispetto a quando erano state cancellate e aggiunte al pool.

Ho provato ad aspettare qualche giorno per vedere se il sistema si sarebbe riequilibrato, ma non è successo niente.

Alla fine, quello che ho scoperto è che avevo due opzioni:

  1. Crea un secondo spazio e copia ed elimina in sequenza i file dall'uno all'altro (non sono sicuro che il taglio faccia lo stesso, ma stavo operando con la consapevolezza che se fosse stato eseguito un taglio, il sistema lo avrebbe rilevato e semplicemente l'etichetta le lastre anziché spostarle, ma non posso garantire la validità di questa affermazione)
  2. Porta un disco offline e reintroducilo (RICHIEDE ALCUNA RESILIENZA)

Sono andato con la seconda opzione, ma nei test precedenti, la prima opzione sembrava funzionare, ma molto lentamente.

Quindi, una volta che tutti i miei file e dischi erano nel pool, ho disconnesso fisicamente (USB nel mio caso, nel tuo caso probabilmente potresti semplicemente disabilitare il dispositivo) uno dei dischi più pieni. Spazi di archiviazione ha quindi iniziato a mostrare un errore su "Resilienza ridotta" e mi ha dato la possibilità di rimuovere il disco dal pool, cosa che ho fatto.

Ho quindi atteso diverse ore (l'ho avviato la mattina, sono andato a lavorare, sono tornato a una schermata finita) mentre Storage Spaces ha riparato gli spazi. Dopo aver riparato lo spazio, ho ricollegato il disco, formattato e reintrodotto nel pool.

Ho ripetuto questo passaggio per tutte le unità che volevo riequilibrare, lavorando in un ordine dalla capacità più grande a quella più piccola, in modo che la mia piccola unità da 500 GB fosse l'ultima a essere nuovamente aggiunta.

Sì, ciò significa che alla fine è rimasta un'unità che è allo 0% di utilizzo, ma col tempo è stata rapidamente riempita fino all'utilizzo medio di% dell'intero pool


Supponendo che si disponga di un solo disco rigido virtuale, l'opzione 1 richiederebbe di disporre di spazio su disco libero corrispondente al doppio del volume, poiché anche se si utilizza il thin provisioning, il "vecchio" vhdd non libererà spazio su disco fino a quando non viene eliminato. Quindi, in vari scenari, questo non è possibile. L'opzione 2 in realtà non provoca un vero riequilibrio, perché il disco reintrodotto per ultimo sarà sempre più vuoto degli altri dischi.
riconoscere il

@dognose, mentre entrambi questi punti hanno il merito, fino a quando Microsoft non introdurrà un modo più nativo di ribilanciamento delle lastre, quello è il più vicino che saremo in grado di ottenere, purtroppo. Per quanto riguarda l'opzione 2, ho finito per scartare Aaron (a causa di un errore del disco) e la riparazione finale ha fatto riequilibrare le lastre, ma sì, tutt'altro che ideale ...
topherg

1

Windows 10 ha il comando Optimize Pool disponibile direttamente nella GUI:

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Windows Server

La possibilità di ottimizzare un pool è stata aggiunta con Windows Server 2016. Ma a differenza della sua controparte del sistema operativo della workstation basata su GUI, Windows Server non ha una GUI per gestire l'ottimizzazione dello spazio di archiviazione. Invece devi usare PowerShell:

> Get-StoragePool

FriendlyName              OperationalStatus HealthStatus IsPrimordial IsReadOnly     Size AllocatedSize
------------              ----------------- ------------ ------------ ----------     ---- -------------
Primordial                OK                Healthy      True         False      10.23 TB       5.46 TB
Silk Road Pool            OK                Healthy      False        False       5.45 TB       4.11 TB

> Optimize-StoragePool -FriendlyName "Silk Road Pool"

Si noti inoltre che su Windows Server i dati verranno automaticamente ribilanciati 30 minuti dopo l'aggiunta di un'unità.

Immagine

È possibile ottenere lo stato dell'ottimizzazione tramite PowerShell (Ancora una volta, Microsoft odia le interfacce utente grafiche):

> Get-StorageJob

Name      IsBackgroundTask ElapsedTime JobState PercentComplete BytesProcessed BytesTotal
----      ---------------- ----------- -------- --------------- -------------- ----------
Optimize  False            00:12:21    Running  11
Rebalance True             00:00:00    Running  11              114085068800   1020323168256

Nota: la possibilità di ribilanciare / ottimizzare funziona solo per gli spazi di Windows Server 2016 / Windows 10. Se stai utilizzando uno spazio creato in Windows Server 2012 / Windows 8: dovrai "aggiornare" lo spazio.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.