Привет, ребята,
Я какое-то время переключаюсь между дисковыми пространствами и аппаратным контроллером LSI. Контроллер HW предлагает 8 портов, мой встроенный LSI sas 16 и мой корпус 12 слотов для дисков. В настоящее время я использую MS Server 2016 Datacenter.
Интересно, переключусь ли я с моего Raid 5 (HW-контроллер) на 6x4 ТБ на более гибкое решение SS с 7x4 ТБ + 5x2 ТБ (жесткие диски) + 2x256 ГБ SSD в качестве кеша. Мой опыт работы с SS был не так хорош в прошлом, было много пропадающих дисков и проблем + потеря данных и очень плохая система предупреждений MS (SS полностью отсутствует в моей голове), но большинство проблем с жесткими дисками было вызвано моим блоком питания, который теперь решено - поэтому я решил попробовать SS, так как я могу иметь все свои диски на одном контроллере + избавиться от контроллера HW. Встроенный LSI (плата XEON D) отлично работает, включая ждущий режим жесткого диска.
Я прочитал этот пост Зеркальный виртуальный диск в пуле хранения не может расшириться после добавления диска в Windows Server 2012 R2
Я процитирую очень интересные выводы:
Следовательно, чтобы расширить пул хранилища на 4 столбца - вам не нужно добавлять 4 диска - вам нужно только убедиться, что у вас есть 4 диска с оставшимся дисковым пространством в пуле!
Итак, если 1 заполнен, но у 3 осталось свободное место, пул снова станет работоспособным после добавления одного диска!
На данный момент я сделал тестовый пул и диск следующим образом: -> создал пул с 3x2 ТБ + 2x256 ГБ SSD (в графическом интерфейсе)
-> Get-StoragePool MyStoragePool | New-StorageTier –FriendlyName SSDTier –MediaType SSD
-> Get-StoragePool MyStoragePool | New-StorageTier –FriendlyName HDDTier –MediaType HDD
-> Get-StoragePool MyStoragePool | Set-ResiliencySetting -Name Mirror -NumberOfColumnsDefault 1
-> $SSD = Get-StorageTier -FriendlyName SSDTier
-> $HDD = Get-StorageTier -FriendlyName HDDTier
-> $vd1 = New-VirtualDisk -StoragePoolFriendlyName MyStoragePool -FriendlyName Mirror -StorageTiers @($SSD) -StorageTierSizes @(175GB) -ResiliencySettingName Mirror -WriteCacheSize 0GB
-> $vd1 = New-VirtualDisk -StoragePoolFriendlyName MyStoragePool -FriendlyName Parity -StorageTiers @($HDD) -StorageTierSizes @(3700GB) -ResiliencySettingName Parity -WriteCacheSize 1GB
отлично работает в Powershell, но не предоставляет мне правильную настройку в графическом интерфейсе. Когда я делаю
-> Get-VirtualDisk | Format-List
я получил
PS C:\Users\Administrator> Get-VirtualDisk | Format-List
ObjectId : {1}\\HOMESERVER\root/Microsoft /Windows/Storage/Providers_v2\SPACES_VirtualDisk.ObjectId="{ae6f3b40-843d-11e6-8239-806e6f6e6963}:VD:{4b713005-eb2e-4ac4-bf03-71a8ae7e05dc}{018a9f90-33a5-4c4e-a8e
b64e55}"
PassThroughClass :
PassThroughIds :
PassThroughNamespace :
PassThroughServer :
UniqueId : 909F8A01A5334E4CA8E4E55ECBB64E55
Access : Read/Write
AllocatedSize : 3972844748800
AllocationUnitSize :
ColumnIsolation :
DetachedReason : None
FaultDomainAwareness :
FootprintOnPool : 5963025219584
FriendlyName : Parity
HealthStatus : Healthy
Interleave :
IsDeduplicationEnabled : False
IsEnclosureAware :
IsManualAttach : False
IsSnapshot : False
IsTiered : True
LogicalSectorSize : 512
MediaType :
Name :
NameFormat :
NumberOfAvailableCopies :
NumberOfColumns :
NumberOfDataCopies :
NumberOfGroups :
OperationalStatus : OK
OtherOperationalStatusDescription :
OtherUsageDescription :
ParityLayout :
PhysicalDiskRedundancy :
PhysicalSectorSize : 4096
ProvisioningType :
ReadCacheSize : 0
RequestNoSinglePointOfFailure : False
ResiliencySettingName :
Size : 3972844748800
UniqueIdFormat : Vendor Specific
UniqueIdFormatDescription :
Usage : Other
WriteCacheSize : 1073741824
PSComputerName :
ObjectId : {1}\\HOMESERVER\root/Microsoft/Windows/Storage/Providers_v2\SPACES_VirtualDisk.ObjectId="{ae6f3b40-843d-11e6-8239-806e6f6e6963}:VD:{4b713005-eb2e-4ac4-bf03-71a8ae7e05dc}{bc5374c5-e4c0-4fbe-b4d
094b26}"
PassThroughClass :
PassThroughIds :
PassThroughNamespace :
PassThroughServer :
UniqueId : C57453BCC0E4BE4FB4D9036AED094B26
Access : Read/Write
AllocatedSize : 472446402560
AllocationUnitSize :
ColumnIsolation :
DetachedReason : None
FaultDomainAwareness :
FootprintOnPool : 472446402560
FriendlyName : SSD_VD
HealthStatus : Healthy
Interleave :
IsDeduplicationEnabled : False
IsEnclosureAware :
IsManualAttach : False
IsSnapshot : False
IsTiered : True
LogicalSectorSize : 512
MediaType :
Name :
NameFormat :
NumberOfAvailableCopies :
NumberOfColumns :
NumberOfDataCopies :
NumberOfGroups :
OperationalStatus : OK
OtherOperationalStatusDescription :
OtherUsageDescription :
ParityLayout :
PhysicalDiskRedundancy :
PhysicalSectorSize : 4096
ProvisioningType :
ReadCacheSize : 0
RequestNoSinglePointOfFailure : False
ResiliencySettingName :
Size : 472446402560
UniqueIdFormat : Vendor Specific
UniqueIdFormatDescription :
Usage : Other
WriteCacheSize : 0
Вывод 1: Интересно, что здесь много отсутствующих данных.
Вывод 2: работает без сбоев со скоростью 150 МБ / с + копирование MP3 на новый диск. Это внешне хорошо для производительности записи с паритетом дисковых пространств благодаря 1 Гб WBC.
Моя цель - иметь расширяемый пул как минимум с дисками 6x4 ТБ + 2x256 ГБ SSD вначале и использовать кэш обратной записи на SSD, который отлично работает в моем примере выше. Я могу закрепить четность на жестких дисках и зеркало на SSD (для моей виртуальной машины не все время будить мои жесткие диски)
Могу ли я установить номер столбца четности, например, 3 при использовании 6 дисков? Могу ли я добавить еще 3 дисков по 4 ТБ, чтобы легко расширить свой пул? Например, 6x4TB -> 9x4TB = 8x4TB можно использовать в Parity ...?
Допустим, я поместил 6 x 4 ТБ и 5 x 2 ТБ в один пул вместе с 2 твердотельными накопителями ... каков будет максимальный том с четностью, и могу ли я расширить его, заменив впоследствии диски на 2 ТБ? Цитируемое сообщение означало:
Я не могу сейчас проголосовать против, но хочу подчеркнуть, что основная информация, приведенная в сообщении bviktors, неверна - он все еще думает в Raid, говоря, что вы не можете расширить половину дисковой группы:
Если у вас есть пул хранения с 4 столбцами - вы можете использовать любое количество дисков, начиная с 4. Пространства хранения всегда будут использовать все диски, которые у вас есть! Счетчик столбцов просто определяет, сколько данных на диски записывается одновременно (это называется чередованием). Однако следующая полоса (размер по умолчанию 256 КБ, называемая чередованием) может (и будет) записана на 4 разных диска!
Следовательно, чтобы расширить пул хранилища на 4 столбца - вам не нужно добавлять 4 диска - вам нужно только убедиться, что у вас есть 4 диска с оставшимся дисковым пространством в пуле!
Итак, если 1 заполнен, но у 3 осталось свободное место, пул снова станет работоспособным после добавления одного диска!
(Это позволяет смешивать емкость по желанию - нет необходимости поддерживать ограничение рейда равных размеров диска)
Рекомендуется всегда добавлять больше дисков, чем было бы #NumberOfDataCopies * #NumberofColumns:
Рассмотрим диск с копиями 2 столбцов 2 - для этого требуется как минимум 4 диска. Если вы потеряете один диск, вы все равно сможете получить доступ к своим данным, но вы больше не сможете ничего писать, потому что у вас не осталось 4 столбцов, где можно было бы хранить данные!
Предположим, вы бы добавили 5 дисков в этот пул (который будет использоваться в зависимости от размера подсистемой дисковых пространств, заполненный наилучшим образом, чтобы все диски работали на 100% одновременно) - потеря одного диска по-прежнему сохраняет ваши data - и ваш пул будет работать для новых записей, потому что у вас все еще осталось минимум 4 столбца.
Кроме того, это позволяет вам немедленно перестроить пул в случае отказа одного диска, без необходимости сначала покупать новый диск!
Set-PhysicalDisk -FriendlyName "BrokenDisk" -Usage Retired Get-PhysicalDisk -FriendlyName "BrokenDisk" | Get-VirtualDisk | Ремонт-VirtualDisk -AsJob
Теперь данные будут «перемещены» на оставшиеся диски, если останется достаточно места. После перестройки:
$ disk = Get-PhysicalDisk -FriendlyName "BrokenDisk" Remove-PhysicalDisk -StoragePoolFriendlyName "My Pool" -PhysicalDisks $ disk
(Вы можете использовать те же команды для вывода «функциональных» дисков из эксплуатации и перемещения данных на другие диски - это позволит как-то перераспределить данные после добавления диска - но в конце у вас всегда будет один диск «пустой». Однако в вашем случае это не сработает из-за небольшого количества дисков. Например, в пуле из 10 дисков вы можете освободить диск объемом 2 ТБ, распределив всего 200 МБ на каждый другой диск. Повторный запуск операции теперь будет записывать предпочтительный вариант на пустой диск. В Storage Spaces в основном всегда говорится: «Я должен написать: 8 блоков (NumberOfColumns * NumberOfDataCopies) размером 64 КБ (чередование / количество столбцов) каждый - дайте мне 8 различных дисков из 10 дисков с наименьшим процентным использованием, так что я могу закинуть туда данные! ")
Было бы неплохо иметь возможность перенести все данные с диска 2 ТБ на другие устройства пула (пока место свободно), а затем добавить новый диск в пул. Интересно, могут ли Storage Spaces выполнять внутреннюю миграцию, но, похоже, главное, что столбцы исправлены. Что будут делать места для хранения, если я переключусь с 6x4 ТБ на 12x4 ТБ? (весь паритет). Что прим. столбцы? В стандарте должно быть 6 (при использовании 6x4 ТБ), - рекомендации MS говорят мне, что мне нужно еще 6 дисков для расширения (что отстой).
Производительность не так важна, поскольку я ограничен 1 Гбит LAN (даже 3x2 Tb Parity с 1GB WBC работает достаточно быстро). Таким образом, столбцы могут быть как можно ниже.
Я готов извлечь максимальную емкость из этого пула с помощью простого резервирования (четности). У меня есть дополнительная резервная копия на моем диске 8 ТБ, которая запускается каждые 3 дня, поэтому мои важные данные все равно сохраняются.
Спасибо за ответы и идеи.