Збалансуйте жорсткі диски в басейні для зберігання?


13

Я маю 2x 1,5 ТБ накопичувачів у (двосторонній дзеркальний пул). Цей пул нещодавно потрапив на 100% місткість, тобто для обох накопичувачів залишилось 0% місця.

Я додав 2x 4TB накопичувачі до пулу пам’яті, але місце для зберігання не намагається збалансувати використання диска. Після додавання я бачу:

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

Здається, всі майбутні записи тепер будуть зосереджені на нових дисках. Я очікував, що Storage Space get busyколись побачить нові диски і почне відновити баланс - але такої удачі немає.

Як я можу збалансувати використання, щоб моє читання / запис було розподілено приблизно пропорційно / рівномірно між усіма накопичувачами мого пулу пам’яті?

FYI, це на Windows Server 2012 R2, але це той самий простір пам’яті, що і в Windows 8.1

Відповіді:


10

Воскресіння цього старого питання з чимось, що нарешті працює в майбутніх ОС Windows 10 та Windows Server 2016.

Microsoft додала Optimize-StoragePoolкоманду PowerShell в Windows 10 та Windows Server 2016, яка врівноважує місця для зберігання даних для всього пулу.

Це так само просто, як відкрити адміністративну консоль PowerShell та запустити її Optimize-StoragePool -FriendlyName "TheNameOfYourStoragePool"

Я тут про це блогував .

Microsoft оголосила про цю функцію лише кілька днів тому як частину нового Storage Spaces Direct, але вона працює чудово і з звичайними просторами зберігання.


Дякую ДУЖЕ ДУЖЕ за це, витратили віки на пошуки того, як це буде працювати в Windows 10, і я радий бачити, що це було оновлено!
topherg

1
Здавалося, добре справляються з тестами, які я робив. Я бачив якусь дивну поведінку з паритетами парності, але я не виключав, що я просто робив щось не так. Я незабаром налаштую його на своєму "NAS" (переставленому старому сервері HP MediaSmart Server), і я оновлю в блозі додаткову інформацію.
Стефан Йокул Сігуррсарсон

@ StefánJökullSigurðarson: Чи можете ви поставити речення або дві про дивну поведінку, поки ваша публікація в блозі не вийде в Інтернет?
DeepSpace101

1
Я думаю, що його сумнівний Microsoft коли-небудь може підтримувати або надавати подібну функціональність Windows 8 / 8.1 / 2012/2012 R2? Було б непогано мати змогу зробити це у 2012 році R2, оскільки у мене є подібне питання.
Джеймс Уайт

3
"Оптимізувати пул підтримується лише з простого або дзеркального простору; простори парності не підтримуються "
Ian Boyd

7

У мене була схожа проблема, коли я виявив простори зберігання (в Windows 8.1) і мігрував існуючі файли. Я почав з накопичувачів:

  • Аарон: 500 ГБ, 95% використано
  • Брюс: 1 ТБ, 70% використано
  • Крейг: 1 ТБ, 55% використано
  • Девін: 1 ТБ, 30% використано
  • Етан: 3 ТБ, 50% використано
  • Фелікс: 3 ТБ, 0% використано

Отже, після переключення всього на 2 накопичувачі 3 ТБ, я підключив решту 4 дисків до просторів зберігання, створив пробіл, а потім скопіював файли з 2 заселених дисків у простір (парність стійкість). Після додавання двох дисків у простір (послідовно) всі диски використовувались приблизно на 50%, але 3TB диски, де на 20% та 0% відповідно, коли вони були очищені та додані до пулу.

Я спробував зачекати кілька днів, щоб побачити, чи система відновить баланс, але нічого не сталося.

Врешті-решт, у мене було два варіанти:

  1. Створіть другий пробіл і послідовно скопіюйте та видаліть файли з одного в інший (не впевнений, чи вирізання робить те саме, але я працював з розумінням того, що якщо буде зроблено вирізання, система виявить це і просто повторно позначить плити, а не переміщувати їх, але я не можу поручитися на обґрунтованість цього твердження)
  2. Візьміть диск в автономному режимі та повторно введіть його (ПОТРІБНО НЕБЕЗПЕЧЕНО)

Я пішов з другим варіантом, але в попередніх тестах перший варіант, здавалося, спрацював, але дуже повільно.

Отже, як тільки всі мої файли та диски перебувають у пулі, я фізично відключився (USB у моєму випадку, у вашому випадку ви могли, ймовірно, просто відключити пристрій) один із більш повних дисків. Простіри зберігання потім почали показувати помилку щодо "Зменшеної стійкості" і дали мені можливість вийняти диск із пулу, що я і зробив.

Потім я зачекав кілька годин (розпочав його вранці, пішов на роботу, повернувся до готового екрану), тоді як місця зберігання потім відремонтували місця. Після того, як простір було відремонтовано, я знову підключив диск, відформатував його і знову ввів у пул.

Я повторив цей крок для всіх накопичувачів, які хотів відновити баланс, працюючи в порядку від найбільшого до найменшого за потужністю, так що мій невеликий накопичувач на 500 ГБ був останнім, який потрібно було знову додати.

Так, це означає, що в кінцевому підсумку залишився один накопичувач, який користується 0%, але з часом він швидко заповнився до середнього% використання всього пулу.


Якщо припустити, що у вас є лише один віртуальний жорсткий диск, варіант 1 вимагатиме від вас вільного дискового простору, який відповідає 2x вашому обсягу, тому що навіть якщо ви користуєтеся тонким резервуванням, "старий" vhdd не звільнить будь-яку дискову область, поки не видалена. Так що в різних сценаріях це неможливо. Варіант 2 насправді не забезпечує справжнє відновлення балансу, тому що диск, який ви повторно вводите останнім, завжди буде спорожнішим, ніж інші диски.
прогнозуйте

@dognose, хоча обидві ці точки мають заслугу, поки Microsoft не запровадить більш рідний спосіб відновлення балансу плит, це, на жаль, найближче, що ми зможемо отримати. Що стосується Варіанту 2, то я закінчив відкидати Аарона (через збій диска), і остаточний ремонт отримав плити, добре відремонтовані, але так, далеко від ідеалу ...
topherg

1

У Windows 10 є команда Optimize Pool, доступна прямо в графічному інтерфейсі:

введіть тут опис зображення

введіть тут опис зображення

Windows Server

Можливість оптимізації пулу була додана за допомогою Windows Server 2016. Але на відміну від колеги з ОС на базі GUI, Windows Server не має графічного інтерфейсу для управління оптимізацією простору пам’яті. Натомість ви повинні використати повноваження:

> 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"

Але також зауважте, що на Windows Server дані будуть автоматично відновлюватися через 30 хвилин після додавання диска.

зображення

Статус оптимізації ви можете отримати через shellhell (знову ж таки, Microsoft ненавидить графічний інтерфейс користувача):

> 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

Примітка . Можливість відновити баланс / оптимізувати працює лише для просторів Windows Server 2016 / Windows 10. Якщо ви використовуєте простір, створений у Windows Server 2012 / Windows 8: вам доведеться «оновити» простір.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.