Rééquilibrer les disques durs dans un pool d'espace de stockage?

13

J'ai 2 disques de 1,5 To dans un (pool de stockage miroir bidirectionnel). Ce pool a récemment atteint une capacité de 100%, ce qui signifie qu'il restait 0% d'espace sur les deux disques.

J'ai ajouté 2 disques de 4 To au pool de stockage, mais l'espace de stockage ne tente pas de rééquilibrer l'utilisation du disque. Après avoir ajouté, je vois maintenant:

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

Il semble que toutes les futures écritures soient désormais concentrées sur les nouveaux lecteurs. Je m'attendais à Storage Space get busyune fois qu'il a vu les nouveaux disques et commencer le rééquilibrage - mais pas de chance.

Comment puis-je rééquilibrer l'utilisation afin que mes lectures / écritures soient réparties à peu près proportionnellement / également sur tous les lecteurs de mon pool de stockage?

Pour info, c'est sur Windows Server 2012 R2 mais c'est le même espace de stockage que Windows 8.1

DeepSpace101
la source

Réponses:

10

Ressusciter cette vieille question avec quelque chose qui fonctionne enfin dans les prochains OS Windows 10 et Windows Server 2016.

Microsoft a ajouté une Optimize-StoragePoolcommande PowerShell dans Windows 10 et Windows Server 2016 qui rééquilibre les espaces de stockage pour un pool entier.

C'est aussi simple que d'ouvrir une console d'administration PowerShell et de l'exécuter Optimize-StoragePool -FriendlyName "TheNameOfYourStoragePool"

J'ai blogué à ce sujet ici .

Microsoft a annoncé la fonctionnalité il y a quelques jours dans le cadre des nouveaux espaces de stockage directs, mais elle fonctionne également très bien avec les espaces de stockage normaux.

Stefán Jökull Sigurðarson
la source
Merci TRÈS TRÈS pour cela, avez passé des années à chercher comment cela fonctionnerait dans Windows 10, et je suis heureux de voir qu'il a été mis à niveau!
topherg
1
Cela semblait bien fonctionner pour les tests que j'ai faits. J'ai vu un comportement étrange avec les pools de parité, mais je n'exclurais pas que je faisais simplement quelque chose de mal. Je l'installerai bientôt sur mon "NAS" (ancienne machine HP MediaSmart Server réutilisée) et je mettrai à jour le blog avec plus d'informations.
Stefán Jökull Sigurðarson
@ StefánJökullSigurðarson: Pouvez-vous mettre une phrase ou deux sur le comportement étrange jusqu'à ce que votre article de blog soit en ligne?
DeepSpace101
1
Je suppose que Microsoft doutera jamais de rétroporter ou de fournir des fonctionnalités similaires à Windows 8 / 8.1 / 2012/2012 R2? Ce serait bien de pouvoir le faire en 2012 R2, car j'ai un problème similaire.
James White
3
"Optimiser le pool est pris en charge uniquement avec des espaces simples ou miroirs; les espaces de parité ne sont pas pris en charge "
Ian Boyd
7

J'ai rencontré un problème similaire lorsque j'ai découvert les espaces de stockage (dans Windows 8.1) et que je migrais mes fichiers existants. J'ai commencé avec les disques:

  • Aaron: 500 Go, 95% utilisé
  • Bruce: 1 To, 70% utilisé
  • Craig: 1 To, 55% utilisé
  • Devin: 1 To, 30% utilisé
  • Ethan: 3 To, 50% utilisé
  • Felix: 3 To, 0% utilisé

Donc, après avoir tout déplacé sur les 2 disques de 3 To, j'ai connecté les 4 disques restants aux espaces de stockage, créé un espace, puis copié les fichiers des 2 disques remplis dans l'espace (résilience de parité). Après avoir ajouté les deux disques dans l'espace (séquentiellement), tous les disques étaient à environ 50% d'utilisation, mais les disques de 3 To étaient à 20% et 0% respectivement lorsqu'ils ont été effacés et ajoutés au pool.

J'ai essayé d'attendre quelques jours pour voir si le système se rééquilibrerait, mais rien ne s'est produit.

Finalement, j'ai découvert que j'avais deux options:

  1. Créez un deuxième espace et copiez et supprimez séquentiellement les fichiers de l'un à l'autre (je ne sais pas si la coupe fait la même chose, mais je fonctionnais en sachant que si une coupe était effectuée, le système le détecterait et ré-étiquetterait simplement les dalles plutôt que de les déplacer, mais je ne peux pas garantir la validité de cette déclaration)
  2. Mettez un disque hors ligne et réintroduisez-le (REQUIERT UNE RÉSILIENCE)

Je suis allé avec la deuxième option, mais dans les tests précédents, la première option semblait fonctionner, mais très lentement.

Donc, une fois tous mes fichiers et disques dans le pool, j'ai physiquement déconnecté (USB dans mon cas, dans votre cas, vous pourriez probablement désactiver le périphérique) l'un des disques les plus complets. Les espaces de stockage ont alors commencé à afficher une erreur sur "Reduced Resiliency" et m'ont donné la possibilité de supprimer le disque du pool, ce que j'ai fait.

J'ai ensuite attendu plusieurs heures (j'ai commencé le matin, je suis allé travailler, je suis revenu à un écran fini) pendant que Storage Spaces a ensuite réparé les espaces. Une fois l'espace réparé, j'ai reconnecté le disque, l'ai formaté et l'ai réintroduit dans le pool.

J'ai répété cette étape pour tous les disques que je voulais rééquilibrer, en travaillant dans un ordre du plus grand au plus petit, afin que mon petit disque de 500 Go soit le dernier à être rajouté.

Oui, cela signifie qu'en fin de compte, il reste un disque qui est à 0% d'utilisation, mais avec le temps, il a été rapidement rempli à nouveau en% d'utilisation moyenne de l'ensemble du pool

topherg
la source
En supposant que vous ne disposiez que d'un seul disque dur virtuel, l'option 1 vous obligerait à disposer d'un espace disque libre correspondant à 2 fois votre volume, car même si vous utilisez l'allocation dynamique, l '"ancien" vhdd ne libérera aucun espace disque non supprimé. Donc, dans divers scénarios, ce n'est pas possible. L'option 2 ne permet pas vraiment un véritable rééquilibrage, car le disque que vous réintroduisez en dernier sera toujours plus vide que les autres disques.
abandonner le
@dognose, bien que ces deux points aient du mérite, jusqu'à ce que Microsoft introduise une façon plus native de rééquilibrer la dalle, c'est le plus proche que nous pourrons malheureusement obtenir. En ce qui concerne l'option 2, j'ai fini par jeter Aaron (en raison d'une défaillance du disque), et la réparation finale a bien rééquilibré les dalles, mais oui, loin d'être idéal ...
topherg
1

Windows 10 a la commande Optimiser le pool disponible directement dans l'interface graphique:

entrez la description de l'image ici

entrez la description de l'image ici

Windows Server

La possibilité d'optimiser un pool a été ajoutée avec Windows Server 2016. Mais contrairement à son homologue de système d'exploitation basé sur une interface graphique, Windows Server n'a pas d'interface graphique pour gérer l'optimisation de l'espace de stockage. Au lieu de cela, vous devez utiliser 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"

Notez également que sur Windows Server, les données seront automatiquement rééquilibrées 30 minutes après l'ajout d'un lecteur.

image

Vous pouvez obtenir l'état de l'optimisation via PowerShell (Encore une fois, Microsoft déteste les interfaces utilisateur graphiques):

> 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

Remarque: La possibilité de reblancer / optimiser ne fonctionne que pour les espaces Windows Server 2016 / Windows 10. Si vous utilisez un espace créé dans Windows Server 2012 / Windows 8: vous devrez «mettre à niveau» l'espace.

Ian Boyd
la source