Настройка Storage Spaces Direct (S2D) в Windows Server 2016
Storage Spaces Direct (S2D) – новая технология распределенного хранения данных, представленная в Windows Server 2016. Благодаря использованию Storage Spaces Direct локальные диски нескольких серверов можно организовать в отказоустойчивое, масштабируемое хранилище, защищенное от выхода из строя как отдельных дисков, так и целых серверов. Цена такого «программного» хранилища получается значительно меньше, чем стоимость организации полноценного SAN или NAS, а за счет простого масштабирования (до 16 серверов и 400 дисков) и возможности использовать различных накопителей (в том числе SSD и NVMe) можно обеспечить значительную производительность.
Содержание:
- Что такое Storage Spaces Direct (S2D)
- Требования к Storage Spaces Direct
- Включаем Storage Spaces Direct
Что такое Storage Spaces Direct (S2D)
S2D является дальнейшим развитием технологии Storage Spaces и позволяет объединить локальные диски узлов (серверов) кластер Hyper-V в пулы хранения (Storage Pool). На данных пулах можно создать виртуальные тома (диски) и использовать их в качестве общего тома кластера Cluster Shared Volume (CSV) для хранения файлов виртуальных машин Hyper-V и файловых шар SOFS-серверов. При необходимости расширить размер хранилища достаточно добавить в S2D новый сервер или накопитель. По сути, технология Storage Spaces Direct является ответом Microsoft на VMware vSAN.
Требования к Storage Spaces Direct
В S2D поддерживаются следующие типы устройств хранения:
- Обычные HDD диски (SAS)
- SATA / SAS SSD диски
- NVMe (Non-Volatile Memory Express) — SSD диски, подключенные не через классический интерфейс SATA/SAS, а через более скоростную шину PCI Express
В дальнейшем разные типы дисков можно комбинировать в различные массивы (по скорости и емкости), например, логично расположить кэш и транзакционные логи приложений на скоростных NVMe SSD, медленные и недорогие диски лучше использовать для хранения больших файлов, доступ к которым не требует повышенной производительности и т. д.
Для работы S2D нужно организовать отказоустойчивый кластер, к узлам которого выдвигаются следующие требования:
Требования к узлам кластера S2D
Итак, предполагаем, что у нас уже собран отказоустойчивый кластер из двух серверов с Windows Server 2016 (можно собрать такой кластер даже в рабочей группе).
Примечание. Если в кластере четное число серверов, придется настроить ресурс-свидетель. Если количество узлов нечетное – свидетель не нужен.
Перед тем, как включить Storage Spaces Direct, проверьте, что ваши диски можно объединить в такой пул.
Get-PhysicalDisk –CanPool $True | Sort Model
Включаем Storage Spaces Direct
Активируем S2D с помощью командлета:
Enable-ClusterStorageSpacesDirect
Командлет отрабатывает довольно долго (около 10 минут), в течении которых будет проанализированы все доступные диски и их производительность, и автоматически создан кластерный пул. Также автоматически создаются два тира: Performance и Capacity с разным типом отказоустойчивости хранения: mirror и parity соответственно.
Всего поддерживаются 3 типа организации отказоустойчивого хранения данных:
- Mirrored (3) – данные синхронно реплицируются между 3 (или 2 в минимальной конфигурации) узлами. Высокая скорость чтения обеспечивается распределением операции между всеми серверами.
- Parity (2) – данные с хранением четности распределены между разными дисками. Данные хранятся более эффективно, т.к. не надо как в первом случае хранить несколько копий одних и тех же данных.
- Tiered (1) – используется комбинация обоих техник.
Примечание 1. В том случае, если при выполнении команды Enable-ClusterS2D появится ошибка «no disks with supported bus types found to be used for S2D», скорее всего тип шины (BusType) ваших дисков – RAID (что с точки зрения S2D – неподдерживаемая конфигурация). Проверим тип шины
Get-Disk | select Number, FriendlyName, OperationalStatus, Size, PartitionStyle, BusType | sort Number | ft -AutoSize
«BusType»=dword:0000000b (вместо 00000008)Другие примеры использования командлетов PowerShell для управления локальными дисками приведены в статье Управление дисками и разделами из PowerShell.
Примечание 2. Если в массиве обнаружен диск типа дисков SSD, NVMe, он автоматически используется в качестве диска для хранения кэша. Если таких дисков нет, в процессе создания S2D будут появляться предупреждения. Можно отключить кэш с помощью параметра -CacheState Disabled
.
Откроем консоль управления кластером и убедимся, что в разделе Storage новый появился Cluster Pool 1.
Выбрав пул, можно увидеть из каких дисков он состоит.
В случае необходимости, имя пула можно изменить:
Set-StoragePool –FriendlyName “Cluster Pool 1” –NewFriendlyName “S2D”
Если нужно создать том из определенных дисков, можно воспользоваться к примеру, такой командой. Сначала выбираем все диски с LUN 3, а затем собираем из них пул.
$HDDs = Get-PhysicalDisk | ? PhysicalLocation -like "*LUN 3"
New-StoragePool -StorageSubSystemFriendlyName *Cluster* -FriendlyName S2DPool -ProvisioningTypeDefault Fixed -PhysicalDisk $HDDs
Вывести список дисков в пуле:
Get-StoragePool -FriendlyName S2D | Get-PhysicalDisk | ft PhysicalLocation
Добавить в пул новый диск:
$HDDs = Get-PhysicalDisk | ? PhysicalLocation -like "*LUN 4"
Add-PhysicalDisk -PhysicalDisks $HDDs -StoragePoolFriendlyName S2D
Диски, помеченные как S2D, в консоли управления дисками более не отображаются, это нормально.
При наличии разнородных накопителей можно использовать тиринг (не обязательно). Тир типа зеркало из SSD дисков создается так:
New-StorageTier -StoragePoolFriendlyName S2D -FriendlyName "Mirror_Tier" -MediaType SSD -ResiliencySettingName Mirror
Тир из обычных HDD с хранением четности:
New-StorageTier -StoragePoolFriendlyName S2D -FriendlyName "Parity_Tier" -MediaType HDD -ResiliencySettingName Parity
Теперь можно создать том CSV (Cluster Shared Volume):
New-Volume –StoragePoolFriendlyName S2D –FriendlyName CSV001 –PhysicalDiskRedudancy 2 -FileSystem CSVFS_ReFS -Size 200GB
Список томов и типом избыточности можно вывести так
Get-VirtualDisk | ft FriendlyName, ResiliencySettingName, PhysicalDiskRedundancy
Новый CSV том появится в консоли управления дисками.
Данный том можно использовать для размещения виртуальных машин Hyper-V или сетевого хранилища Scale-out File Server.
Итак, при использовании Storage Spaces Direct из нескольких серверов с локальными дисками можно с легкостью создать программное сетевое хранилище данных. За счет технологии S2D обеспечивается как защита от одновременного выхода из строя любых двух дисков или двух серверов (4+ нодовый кластер). Кластер S2D автоматически запускает процесс перераспределения данных между оставшимися устройствами в случае обнаружения неполадок с дисками или серверами. В тестовой среде можно убедится, что при отключении двух любых дисков хранилище продолжает быть доступным, а ВМ, запущенные на нем штатно работают. Процедура замены неисправного диска в хранилище S2D описана в следующей
Развертывание Локальные дисковые пространства в Windows Server
- Статья
Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016
В этом разделе приведены пошаговые инструкции по развертыванию Локальные дисковые пространства в Windows Server.
Сведения о развертывании Локальные дисковые пространства в составе Azure Stack HCI см. в статье «Что такое процесс развертывания для Azure Stack HCI?Совет
Хотите приобрести гиперконвергентную инфраструктуру? Корпорация Майкрософт рекомендует приобрести проверенное решение Azure Stack HCI для оборудования или программного обеспечения от наших партнеров. Эти решения разработаны, собраны и проверены на основе нашей эталонной архитектуры, чтобы обеспечить совместимость и надежность, чтобы быстро приступить к работе. Сведения об использовании каталога аппаратных и программных решений, работающих с Azure Stack HCI, см. в каталоге Azure Stack HCI.
Совет
Виртуальные машины Hyper-V, в том числе в Microsoft Azure, можно использовать для оценки Локальные дисковые пространства без оборудования. Вам также может потребоваться просмотреть удобные сценарии быстрого развертывания лаборатории Windows Server, которые используются для учебных целей.
Перед началом работы
Ознакомьтесь с требованиями к оборудованию Локальные дисковые пространства и пройдите этот документ, чтобы ознакомиться с общим подходом и важными примечаниями, связанными с некоторыми шагами.
Соберите следующие сведения:
Вариант развертывания. Локальные дисковые пространства поддерживает два варианта развертывания: гиперконвергентные и конвергентные, также известные как разъединяемые. Ознакомьтесь с преимуществами каждого из них, чтобы решить, что подходит для вас. Шаги 1–3 ниже применимы к обоим вариантам развертывания. Шаг 4 необходим только для конвергентного развертывания.
Имена серверов. Ознакомьтесь с политиками именования организации для компьютеров, файлов, путей и других ресурсов. Вам потребуется подготовить несколько серверов с уникальными именами.
Доменное имя. Ознакомьтесь с политиками вашей организации для именования доменов и присоединения к домену. Вы присоедините серверы к домену, и вам потребуется указать доменное имя.
Сеть RDMA. Существует два типа протоколов RDMA: iWarp и RoCE. Обратите внимание, какой из сетевых адаптеров используется, и если RoCE, также обратите внимание на версию (версия 1 или 2). Для RoCE также обратите внимание на модель коммутатора верхнего уровня.
Идентификатор виртуальной локальной сети. Обратите внимание, что идентификатор виртуальной локальной сети, используемый для сетевых адаптеров ОС управления на серверах(при их наличии). Его можно получить у администратора сети.
Шаг 1. Развертывание Windows Server
Шаг 1.1. Установка операционной системы
Первым шагом является установка Windows Server на каждом сервере, который будет находиться в кластере. Локальные дисковые пространства требуется Windows Server Datacenter Edition. Вы можете использовать вариант установки основных серверных компонентов или сервер с возможностями рабочего стола.
При установке Windows Server с помощью мастера установки можно выбрать windows Server (со ссылкой на server Core) и Windows Server (Server with Desktop Experience), что эквивалентно варианту полной установки, доступной в Windows Server 2012 R2. Если вы не выберете этот вариант, вы получите вариант установки основных серверных компонентов. Дополнительные сведения см. в разделе «Установка основных серверных компонентов».
Шаг 1.2. Подключение к серверам
В этом руководстве основное внимание уделяется варианту установки основных серверных компонентов и удаленному развертыванию и удаленному управлению из отдельной системы управления, которая должна иметь следующие возможности:
- Версия Windows Server или Windows 10 по крайней мере как новая, так как серверы, которыми он управляет, и с последними обновлениями
- Сетевое подключение к серверам, которые он управляет
- Присоединено к тому же домену или полностью доверенному домену
- На нем должны быть установлены средства удаленного администрирования сервера (RSAT) и модули PowerShell для Hyper-V и отказоустойчивой кластеризации. Средства RSAT и модули PowerShell доступны в Windows Server и могут быть установлены без установки других компонентов. Средства удаленного администрирования сервера также можно установить на Windows 10 компьютере управления.
В системе управления установите отказоустойчивый кластер и средства управления Hyper-V. Это можно сделать в диспетчере сервера с помощью мастера добавления ролей и компонентов. На странице Компоненты щелкните Средства удаленного администрирования сервера и выберите средства, которые требуется установить.
Войдите в сеанс PowerShell и используйте имя сервера или IP-адрес узла, к которому хотите подключиться. После выполнения этой команды вам будет предложено ввести пароль администратора, указанный при настройке Windows.
Enter-PSSession -ComputerName <myComputerName> -Credential LocalHost\Administrator
Ниже приведен пример того, как сделать то же самое более полезным в сценариях, если это необходимо сделать несколько раз:
$myServer1 = "myServer-1" $user = "$myServer1\Administrator" Enter-PSSession -ComputerName $myServer1 -Credential $user
Совет
При удаленном развертывании из системы управления может возникнуть ошибка, например WinRM не может обработать запрос. Чтобы устранить эту проблему, используйте Windows PowerShell, чтобы добавить каждый сервер в список надежных узлов на компьютере управления:
Set-Item WSMAN:\Localhost\Client\TrustedHosts -Value Server01 -Force
Примечание. Список надежных узлов поддерживает подстановочные знаки, например Server*
.
Чтобы просмотреть список надежных узлов, введите Get-Item WSMAN:\Localhost\Client\TrustedHosts
.
Чтобы очистить список, введите Clear-Item WSMAN:\Localhost\Client\TrustedHost
.
Шаг 1.3. Присоединение к домену и добавление учетных записей домена
До сих пор вы настроили отдельные серверы с учетной записью локального администратора. <ComputerName>\Administrator
Чтобы управлять Локальные дисковые пространства, необходимо присоединить серверы к домену и использовать учетную запись домена доменные службы Active Directory, которая находится в группе администраторов на каждом сервере.
В системе управления откройте консоль PowerShell с правами администратора. Используется Enter-PSSession
для подключения к каждому серверу и выполнения следующего командлета, заменяя собственное имя компьютера, доменное имя и учетные данные домена:
Add-Computer -NewName "Server01" -DomainName "contoso.com" -Credential "CONTOSO\User" -Restart -Force
Если ваша учетная запись администратора хранения не является членом группы «Администраторы домена», добавьте учетную запись администратора хранения в локальную группу администраторов на каждом узле или еще лучше, добавьте группу, используемую для администраторов хранилища. Для этого можно использовать следующую команду (или написать функцию Windows PowerShell. Дополнительные сведения см. в статье «Добавление пользователей домена в локальную группу» с помощью PowerShell:
Net localgroup Administrators <Domain\Account> /add
Шаг 1.4. Установка ролей и компонентов
Следующим шагом является установка ролей сервера на каждом сервере. Это можно сделать с помощью Windows Admin Center, диспетчер сервера) или PowerShell. Ниже приведены роли для установки:
- Отказоустойчивая кластеризация
- Hyper-V
- Файловый сервер (если требуется разместить все общие папки, например для конвергентного развертывания)
- Мост для центра обработки данных (если вы используете RoCEv2 вместо сетевых адаптеров iWARP)
- PowerShell для кластеризации RSAT
- PowerShell для Hyper-V
Чтобы установить с помощью PowerShell, используйте командлет Install-WindowsFeature . Его можно использовать на одном сервере следующим образом:
Install-WindowsFeature -Name "Hyper-V", "Failover-Clustering", "Data-Center-Bridging", "RSAT-Clustering-PowerShell", "Hyper-V-PowerShell", "FS-FileServer"
Чтобы выполнить команду на всех серверах в кластере одновременно, используйте этот маленький фрагмент скрипта, изменив список переменных в начале скрипта в соответствии с вашей средой.
# Fill in these variables with your values $ServerList = "Server01", "Server02", "Server03", "Server04" $FeatureList = "Hyper-V", "Failover-Clustering", "Data-Center-Bridging", "RSAT-Clustering-PowerShell", "Hyper-V-PowerShell", "FS-FileServer" # This part runs the Install-WindowsFeature cmdlet on all servers in $ServerList, passing the list of features into the scriptblock with the "Using" scope modifier so you don't have to hard-code them here. Invoke-Command ($ServerList) { Install-WindowsFeature -Name $Using:Featurelist }
Шаг 2. Настройка сети
Если вы развертываете Локальные дисковые пространства на виртуальных машинах, пропустите этот раздел.
Локальные дисковые пространства требуется сеть с высокой пропускной способностью и низкой задержкой между серверами в кластере. Требуется по крайней мере 10 ГбE сети и рекомендуется удаленный прямой доступ к памяти (RDMA). Вы можете использовать iWARP или RoCE, если он имеет логотип Windows Server, соответствующий вашей версии операционной системы, но iWARP обычно проще настроить.
Важно!
В зависимости от сетевого оборудования, особенно с RoCE версии 2, может потребоваться некоторая конфигурация коммутатора верхнего уровня. Правильная конфигурация коммутатора важна для обеспечения надежности и производительности Локальные дисковые пространства.
Windows Server 2016 появилось объединение встроенных коммутаторов (SET) в виртуальном коммутаторе Hyper-V. Это позволяет использовать одни и те же физические порты сетевого адаптера для всего сетевого трафика при использовании RDMA, уменьшая количество необходимых физических портов сетевого адаптера. Для Локальные дисковые пространства рекомендуется использовать встроенную командную группу коммутаторов.
Переключение или переключение между узлами
- Переключение: сетевые коммутаторы должны быть правильно настроены для обработки пропускной способности и типа сети. При использовании RDMA, реализующего протокол RoCE, настройка сетевого устройства и коммутатора еще более важна.
- Без переключения: узлы могут быть соединены с помощью прямых подключений, избегая использования коммутатора. Для каждого узла требуется прямое подключение к каждому другому узлу кластера.
Инструкции по настройке сети для Локальные дисковые пространства см. в руководстве по развертыванию Windows Server 2016 и 2019 RDMA.
Шаг 3. Настройка локальных дисковых пространств
Следующие действия выполняются в системе управления, версия которой совпадает с версией настраиваемых серверов. Следующие действия не следует выполнять удаленно с помощью сеанса PowerShell, а вместо этого выполняться в локальном сеансе PowerShell в системе управления с правами администратора.
Шаг 3.1. Очистка дисков
Перед включением Локальные дисковые пространства убедитесь, что диски пусты: старые секции или другие данные. Выполните следующий скрипт, заменив имена компьютеров, чтобы удалить все старые секции или другие данные.
Предупреждение
Этот скрипт окончательно удалит все данные на всех дисках, отличных от загрузочного диска операционной системы.
# Fill in these variables with your values $ServerList = "Server01", "Server02", "Server03", "Server04" Invoke-Command ($ServerList) { Update-StorageProviderCache Get-StoragePool | ? IsPrimordial -eq $false | Set-StoragePool -IsReadOnly:$false -ErrorAction SilentlyContinue Get-StoragePool | ? IsPrimordial -eq $false | Get-VirtualDisk | Remove-VirtualDisk -Confirm:$false -ErrorAction SilentlyContinue Get-StoragePool | ? IsPrimordial -eq $false | Remove-StoragePool -Confirm:$false -ErrorAction SilentlyContinue Get-PhysicalDisk | Reset-PhysicalDisk -ErrorAction SilentlyContinue Get-Disk | ? Number -ne $null | ? IsBoot -ne $true | ? IsSystem -ne $true | ? PartitionStyle -ne RAW | % { $_ | Set-Disk -isoffline:$false $_ | Set-Disk -isreadonly:$false $_ | Clear-Disk -RemoveData -RemoveOEM -Confirm:$false $_ | Set-Disk -isreadonly:$true $_ | Set-Disk -isoffline:$true } Get-Disk | Where Number -Ne $Null | Where IsBoot -Ne $True | Where IsSystem -Ne $True | Where PartitionStyle -Eq RAW | Group -NoElement -Property FriendlyName } | Sort -Property PsComputerName, Count
Выходные данные будут выглядеть следующим образом, где Count — это количество дисков каждой модели на каждом сервере:
Count Name PSComputerName ----- ---- -------------- 4 ATA SSDSC2BA800G4n Server01 10 ATA ST4000NM0033 Server01 4 ATA SSDSC2BA800G4n Server02 10 ATA ST4000NM0033 Server02 4 ATA SSDSC2BA800G4n Server03 10 ATA ST4000NM0033 Server03 4 ATA SSDSC2BA800G4n Server04 10 ATA ST4000NM0033 Server04
Шаг 3.
2. Проверка кластераНа этом шаге вы запустите средство проверки кластера, чтобы убедиться, что узлы сервера настроены правильно для создания кластера с помощью Локальные дисковые пространства. При выполнении проверки кластера (Test-Cluster
) перед созданием кластера он выполняет тесты, которые проверяют, подходит ли конфигурация для успешной работы в качестве отказоустойчивого кластера. В приведенном -Include
ниже примере используется параметр, а затем указаны конкретные категории тестов. Таким образом, в проверку будут включены тесты локальных дисковых пространств.
Используйте следующую команду PowerShell, чтобы проверить набор серверов для использования в качестве кластера локальных дисковых пространств.
Test-Cluster -Node <MachineName1, MachineName2, MachineName3, MachineName4> -Include "Storage Spaces Direct", "Inventory", "Network", "System Configuration"
Шаг 3.3. Создание кластера
На этом шаге вы создадите кластер с узлами, которые были проверены для создания кластера на предыдущем шаге с помощью следующего командлета PowerShell.
При создании кластера вы получите предупреждение о том, что при создании кластерной роли возникли проблемы, которые могут препятствовать запуску. Дополнительные сведения см. в приведенном ниже файле отчета». Это предупреждение можно игнорировать. Оно появляется из-за того, что нет доступных дисков для кворума кластера. Рекомендуется настраивать файловый ресурс-свидетель или облако-свидетель после создания кластера.
Примечание
Если серверы используют статические IP-адреса, измените следующую команду, чтобы отразить статический IP-адрес, добавив следующий параметр и указав IP-адрес:-StaticAddress <X.X.X.X.X>. В следующей команде заполнитель ClusterName необходимо заменить на уникальное имя NetBIOS длиной до 15 символов.
New-Cluster -Name <ClusterName> -Node <MachineName1,MachineName2,MachineName3,MachineName4> -NoStorage
После создания кластера репликация записи DNS для имени кластера может занять некоторое время. Продолжительность времени зависит от среды и конфигурации репликации DNS. Если разрешение кластера не удалось выполнить, в большинстве случаев вместо имени кластера можно использовать имя компьютера узла, который является активным участником кластера.
Шаг 3.4. Настройка следящего сервера кластера
Рекомендуется настроить следящий сервер для кластера, поэтому кластеры с тремя или более серверами могут противостоять сбою двух серверов или отключению. Для развертывания с двумя серверами требуется кластер-свидетель, в противном случае любой из серверов, переходя в автономный режим, также становится недоступным другой. В этих системах в качестве свидетеля можно использовать файловый ресурс или облако-свидетель.
Дополнительные сведения см. в указанных ниже разделах.
- Настройка кворума и управление им
- Развертывание облака-свидетеля для отказоустойчивого кластера
Шаг 3.5. Включение локальных дисковых пространств
После создания кластера используйте Enable-ClusterStorageSpacesDirect
командлет PowerShell, который будет помещать систему хранения в режим Локальные дисковые пространства и выполнять следующие действия автоматически:
Создайте пул: Создает один большой пул с таким именем, как «S2D в cluster1».
Настроит кэши локальных дисковых пространств: если для использования локальными дисковыми пространствами доступно более одного типа носителя (диска), он задает самые быстрые из них в качестве устройств кэша (в большинстве случаев для чтения и записи).
Уровней: Создает два уровня в качестве уровней по умолчанию. Один из них называется «Емкость», а другой — «Производительность». Командлет анализирует устройства и настраивает каждый уровень на основе типов устройств и устойчивости.
Из системы управления откройте командное окно PowerShell с правами администратора и запустите следующую команду. Нужно указать имя кластера, созданного при выполнении предыдущих действий. Если эта команда выполняется локально на одном из узлов, параметр -CimSession не требуется.
Enable-ClusterStorageSpacesDirect -CimSession <ClusterName>
Чтобы включить локальные дисковые пространства с помощью указанной выше команды, вместо имени кластера можно использовать имя узла. Это может быть более надежным, так как при использовании имени только что созданного кластера могут возникнуть задержки репликации DNS.
После выполнения этой команды, которое может занять несколько минут, система будет готова для создания томов.
Шаг 3.6. Создание томов
Мы рекомендуем использовать командлет, New-Volume
так как он обеспечивает самый быстрый и простой интерфейс. Этот командлет автоматически создает виртуальный диск, разбивает и форматирует его, создает том с соответствующим именем и добавляет его в общие тома кластера — и все это за один шаг.
Подробнее см. в разделе Создание томов в локальных дисковых пространствах.
Шаг 3.7. При необходимости включите кэш CSV
При необходимости можно включить кэш общего тома кластера (CSV) для использования системной памяти (ОЗУ) в качестве кэша на уровне блока для операций чтения, которые еще не кэшируются диспетчером кэша Windows. Это может повысить производительность таких приложений, как Hyper-V. Кэш CSV может повысить производительность запросов на чтение, а также полезен для сценариев Scale-Out файлового сервера.
Включение кэша CSV сокращает объем доступной памяти для запуска виртуальных машин в гиперконвергентном кластере, поэтому вам придется сбалансировать производительность хранилища с объемом памяти, доступной для виртуальных жестких дисков.
Чтобы задать размер кэша CSV, откройте сеанс PowerShell в системе управления с учетной записью, которая имеет разрешения администратора в кластере хранилища, а затем используйте этот скрипт, изменив $ClusterName
и $CSVCacheSize
переменные соответствующим образом (в этом примере задается кэш CSV размером 2 ГБ на сервер):
$ClusterName = "StorageSpacesDirect1" $CSVCacheSize = 2048 #Size in MB Write-Output "Setting the CSV cache..." (Get-Cluster $ClusterName).BlockCacheSize = $CSVCacheSize $CSVCurrentCacheSize = (Get-Cluster $ClusterName).BlockCacheSize Write-Output "$ClusterName CSV cache size: $CSVCurrentCacheSize MB"
Дополнительные сведения см. в разделе «Использование кэша чтения в памяти CSV».
Шаг 3.8. Развертывание виртуальных машин для гиперконвергентных развертываний
Если вы развертываете гиперконвергентный кластер, последним шагом является подготовка виртуальных машин в кластере Локальные дисковые пространства.
Файлы виртуальных машин необходимо хранить в пространстве имен CSV систем (например, C:\ClusterStorage\Volume1) так же, как и кластерные виртуальные машины в отказоустойчивом кластере.
Вы можете использовать встроенные средства или другие средства для управления хранилищем и виртуальными машинами, такими как System Center Virtual Machine Manager.
Шаг 4. Развертывание файлового сервера Scale-Out для конвергентных решений
Если вы развертываете конвергентное решение, следующим шагом является создание экземпляра файлового сервера Scale-Out и настройка некоторых общих папок. Если вы развертываете гиперконвергентный кластер, завершите работу с этим разделом.
Шаг 4.1. Создание роли Scale-Out файлового сервера
Следующим шагом при настройке служб кластера для файлового сервера является создание роли кластеризованного файлового сервера, которая заключается в создании экземпляра Scale-Out файлового сервера, на котором размещаются постоянно доступные общие папки.
Создание роли файлового сервера Scale-Out с помощью диспетчер сервера
В диспетчере отказоустойчивости кластеров выберите кластер, перейдите в раздел «Роли» и нажмите кнопку «Настроить роль…«.
Откроется мастер обеспечения высокой доступности.На странице «Выбор роли» щелкните «Файловый сервер«.
На странице «Тип файлового сервера » щелкните «Масштабируемый файловый сервер» для данных приложения.
На странице «Точка доступа клиента » введите имя Scale-Out файлового сервера.
Убедитесь, что роль успешно настроена, перейдя в роли и убедившись, что в столбце «Состояние» отображается состояние рядом с созданной ролью кластеризованного файлового сервера, как показано на рисунке 1.
Scale-Out
Рис. 1 Диспетчер отказоустойчивости кластеров с Scale-Out файлового сервера с состоянием «Выполняется»
Примечание
После создания кластеризованной роли могут возникнуть некоторые задержки распространения сети, которые могут помешать созданию общих папок в течение нескольких минут или, возможно, дольше.
Создание роли файлового сервера Scale-Out с помощью Windows PowerShell
В сеансе Windows PowerShell, подключенном к кластеру файлового сервера, введите следующие команды, чтобы создать роль Scale-Out файлового сервера, изменив FSCLUSTER в соответствии с именем кластера, и SOFS в соответствии с именем, которое вы хотите присвоить роли файлового сервера Scale-Out:
Add-ClusterScaleOutFileServerRole -Name SOFS -Cluster FSCLUSTER
Примечание
После создания кластеризованной роли могут возникнуть некоторые задержки распространения сети, которые могут помешать созданию общих папок в течение нескольких минут или, возможно, дольше. Если роль SOFS завершается сбоем немедленно и не запустится, это может быть вызвано тем, что у объекта компьютера кластера нет разрешения на создание учетной записи компьютера для роли SOFS. Дополнительные сведения см. в этой записи блога: роль масштабируемого файлового сервера не запускается с идентификаторами событий 1205, 1069 и 1194.
Шаг 4.2. Создание общих папок
После создания виртуальных дисков и их добавления в csv-файлы пора создавать общие папки на них — по одному файловой папке на CSV на виртуальный диск. System Center Virtual Machine Manager (VMM) — это, вероятно, самый удобный способ сделать это, так как он обрабатывает разрешения, но если у вас его нет в вашей среде, можно использовать Windows PowerShell для частичной автоматизации развертывания.
Используйте скрипты, включенные в сценарий конфигурации общего ресурса SMB для рабочих нагрузок Hyper-V , который частично автоматизирует процесс создания групп и общих папок. Он написан для рабочих нагрузок Hyper-V, поэтому при развертывании других рабочих нагрузок может потребоваться изменить параметры или выполнить дополнительные действия после создания общих папок. Например, если вы используете Microsoft SQL Server, учетная запись службы SQL Server должна быть предоставлена полный контроль над общей папкой и файловой системой.
Примечание
При добавлении узлов кластера необходимо обновить членство в группах, если для создания общих папок не используется System Center Virtual Machine Manager.
Чтобы создать общие папки с помощью сценариев PowerShell, сделайте следующее:
Скачайте скрипты, включенные в конфигурацию общего ресурса SMB для рабочих нагрузок Hyper-V , на один из узлов кластера файлового сервера.
Откройте сеанс Windows PowerShell с учетными данными администратора домена в системе управления, а затем используйте следующий скрипт, чтобы создать группу Active Directory для объектов компьютера Hyper-V, изменив значения переменных соответствующим образом для вашей среды:
# Replace the values of these variables $HyperVClusterName = "Compute01" $HyperVObjectADGroupSamName = "Hyper-VServerComputerAccounts" <#No spaces#> $ScriptFolder = "C:\Scripts\SetupSMBSharesWithHyperV" # Start of script itself CD $ScriptFolder .\ADGroupSetup.ps1 -HyperVObjectADGroupSamName $HyperVObjectADGroupSamName -HyperVClusterName $HyperVClusterName
Откройте сеанс Windows PowerShell с учетными данными администратора на одном из узлов хранилища, а затем используйте следующий скрипт, чтобы создать общие папки для каждого CSV-файла и предоставить административные разрешения для общих папок группе администраторов домена и вычислительному кластеру.
# Replace the values of these variables $StorageClusterName = "StorageSpacesDirect1" $HyperVObjectADGroupSamName = "Hyper-VServerComputerAccounts" <#No spaces#> $SOFSName = "SOFS" $SharePrefix = "Share" $ScriptFolder = "C:\Scripts\SetupSMBSharesWithHyperV" # Start of the script itself CD $ScriptFolder Get-ClusterSharedVolume -Cluster $StorageClusterName | ForEach-Object { $ShareName = $SharePrefix + $_.SharedVolumeInfo.friendlyvolumename.trimstart("C:\ClusterStorage\Volume") Write-host "Creating share $ShareName on "$_.name "on Volume: " $_.SharedVolumeInfo.friendlyvolumename .\FileShareSetup.ps1 -HyperVClusterName $StorageClusterName -CSVVolumeNumber $_.SharedVolumeInfo.friendlyvolumename.trimstart("C:\ClusterStorage\Volume") -ScaleOutFSName $SOFSName -ShareName $ShareName -HyperVObjectADGroupSamName $HyperVObjectADGroupSamName }
Шаг 4.3. Включение ограниченного делегирования Kerberos
Чтобы настроить ограниченное делегирование Kerberos для удаленного управления сценариями и повышения безопасности динамической миграции, с одного из узлов кластера хранилища используйте скрипт KCDSetup. ps1, включенный в конфигурацию общего ресурса SMB для рабочих нагрузок Hyper-V. Вот немного оболочки для скрипта:
$HyperVClusterName = "Compute01" $ScaleOutFSName = "SOFS" $ScriptFolder = "C:\Scripts\SetupSMBSharesWithHyperV" CD $ScriptFolder .\KCDSetup.ps1 -HyperVClusterName $HyperVClusterName -ScaleOutFSName $ScaleOutFSName -EnableLM
Дополнительные ссылки
- Обзор Локальных дисковых пространств
- Общие сведения о кэше локальных дисковых пространств
- Планирование томов в локальных дисковых пространствах
- дисковые пространства отказоустойчивости
- Требования к оборудованию для локальных дисковых пространств
- В RDMA или не в RDMA — вот в чем вопрос (блог TechNet)
Storage Spaces Direct — Azure Stack HCI
- Статья
Применяется к: Azure Stack HCI версий 22h3 и 21h3; Windows Server 2022, Windows Server 2019, Windows Server 2016
Локальные дисковые пространства — это функция Azure Stack HCI и Windows Server, которая позволяет объединять серверы с внутренним хранилищем в кластер программно-определяемого хранилища.
В этой статье представлен обзор Локальные дисковые пространства, принципы его работы, когда его использовать и его основные преимущества. В этой статье вы также можете просмотреть видеоролики и истории реальных клиентов, чтобы узнать больше о Storage Spaces Direct.
Чтобы начать работу, попробуйте Storage Spaces Direct в Microsoft Azure или загрузите оценочную копию Windows Server с 180-дневной лицензией с сайта Windows Server Evaluations. Минимальные требования к оборудованию для Storage Spaces Direct в Windows Server и Azure Stack HCI см. в разделах Системные требования для Windows Server и Системные требования для Azure Stack HCI соответственно. Чтобы развернуть Storage Spaces Direct как часть Azure Stack HCI, см. раздел Развертывание операционной системы Azure Stack HCI.
Что такое Storage Spaces Direct?
Storage Spaces Direct — это программно-определяемое решение для хранения, которое позволяет совместно использовать ресурсы хранения в вашей конвергентной и гиперконвергентной ИТ-инфраструктуре. Он позволяет объединять внутренние накопители в кластере физических серверов (от 2 до 16) в программно-определяемый пул хранения. Этот пул хранения имеет кэш, уровни, отказоустойчивость и кодирование стирания по столбцам — все это настраивается и управляется автоматически.
Вы можете масштабировать емкость хранилища вашего кластера, добавляя дополнительные диски или серверы в кластер. Storage Spaces Direct автоматически подключает новые диски и перебалансирует пул носителей. Он также автоматически использует самые быстрые из имеющихся носителей для обеспечения встроенного и всегда активного кэша.
Storage Spaces Direct — это основная технология Azure Stack HCI версий 21h3 и 20h3. Он также включен в выпуски Datacenter Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server Insider Preview Builds и Azure Edition Windows Server 2022.
Вы можете развернуть Storage Spaces Direct на кластере физических серверов или на виртуальных машинные (VM) гостевые кластеры. При развертывании в гиперконвергентном кластере физических серверов рекомендуется использовать гиперконвергентные серверы Azure Stack. Чтобы развернуть Storage Spaces Direct как часть Azure Stack HCI, см. раздел Развертывание операционной системы Azure Stack HCI.
Развертывание Storage Spaces Direct на гостевых кластерах виртуальных машин предоставляет виртуальное общее хранилище для набора виртуальных машин поверх частного или общедоступного облака. В рабочих средах это развертывание поддерживается только в Windows Server. Сведения о том, как развернуть Storage Spaces Direct на гостевых кластерах виртуальных машин в Windows Server, см. в разделе Использование Storage Spaces Direct в кластерах гостевых виртуальных машин.
Только в целях тестирования и оценки вы можете развернуть Storage Spaces Direct на гостевых кластерах виртуальных машин в тестовых средах Azure Stack HCI. Сведения о его развертывании в тестовых средах гиперконвергентной инфраструктуры Azure Stack см. в разделе Учебник. Создание лаборатории на основе виртуальной машины для гиперконвергентной инфраструктуры Azure Stack.
Как это работает
Storage Spaces Direct применяет многие функции Windows Server, такие как отказоустойчивая кластеризация, файловая система общего тома кластера (CSV), блок сообщений сервера (SMB) 3 и дисковые пространства. Он также представляет новую технологию под названием Software Storage Bus.
Storage Spaces Direct создает программно-определяемое решение для хранения, объединяя внутренние накопители в кластере стандартных серверов. Вы начинаете с подключения серверов с внутренними накопителями через Ethernet для формирования кластера — специальный кабель или структура хранения не требуются. Когда вы включаете Локальные дисковые пространства в этом кластере, он объединяет диски хранения с каждого из этих серверов в один программно-определяемый пул виртуального общего хранилища.
Затем вы создаете тома из этого пула хранения, в которых вы можете хранить свои данные. На этих томах работает файловая система CSV. Это означает, что для каждого сервера эти тома выглядят и ведут себя так, как если бы они были смонтированы локально. Благодаря встроенной в эти тома отказоустойчивости ваши данные остаются в сети и доступны даже в случае сбоя диска или отключения всего узла.
В этих томах вы можете разместить свои файлы, например .vhd и .vhdx для ВМ. Вы можете использовать кластер, на котором запущены Storage Spaces Direct, как:
- Масштабирование файлового сервера (SoFS) путем предоставления томов по сети в виде общих файловых ресурсов SMB3.
- Гиперконвергентная система за счет включения Hyper-V в кластере и размещения виртуальных машин непосредственно поверх томов.
В следующем разделе описаны функции и компоненты стека Storage Spaces Direct.
Сетевое оборудование. Storage Spaces Direct использует SMB3, включая SMB Direct и SMB Multichannel, через Ethernet для связи между серверами. Мы настоятельно рекомендуем использовать 10+ GbE с удаленным прямым доступом к памяти (RDMA), iWARP или RoCE.
Оборудование для хранения. Для Storage Spaces Direct требуется от 2 до 16 утвержденных Microsoft серверов с напрямую подключенными дисками SATA, SAS, NVMe или энергонезависимой памятью, каждый из которых физически подключен только к одному серверу. На каждом сервере должно быть не менее двух твердотельных накопителей и не менее четырех дополнительных накопителей. Устройства SATA и SAS должны располагаться за адаптером главной шины (HBA) и расширителем SAS.
Отказоустойчивая кластеризация. Storage Spaces Direct использует встроенную функцию кластеризации Azure Stack HCI и Windows Server для подключения серверов.
Шина хранения программного обеспечения. Шина хранения программного обеспечения охватывает кластер и создает программно-определяемую структуру хранения, благодаря которой все серверы могут видеть все локальные диски друг друга. Вы можете думать об этом как о замене дорогостоящих и ограниченных кабелей Fibre Channel или Shared SAS.
Кэш уровня шины хранения. Шина хранения программного обеспечения динамически связывает самые быстрые имеющиеся диски (например, SSD) с более медленными дисками (например, жесткими дисками), чтобы обеспечить кэширование чтения/записи на стороне сервера, что ускоряет ввод-вывод и повышает пропускную способность.
Пул хранения. Набор дисков, составляющих основу дисковых пространств, называется пулом носителей. Он создается автоматически, и все подходящие диски автоматически обнаруживаются и добавляются в него. Мы настоятельно рекомендуем использовать один пул на кластер с настройками по умолчанию. Дополнительные сведения о пуле носителей см. в блоге Deep Dive into the Storage Pool.
Складские помещения. Storage Spaces обеспечивает отказоустойчивость «виртуальных дисков» с использованием зеркального отображения, кодирования стирания или того и другого. Вы можете думать об этом как о распределенном программно-определяемом RAID-массиве, использующем диски в пуле. В Storage Spaces Direct эти виртуальные диски обычно обладают устойчивостью к двум одновременным отказам дисков или серверов (например, трехстороннее зеркальное отображение с каждой копией данных на другом сервере), хотя также доступна отказоустойчивость корпуса и стойки.
Устойчивая файловая система (ReFS). ReFS — это лучшая файловая система, специально созданная для виртуализации. Он включает в себя значительное ускорение операций с файлами .vhdx, таких как создание, расширение и слияние контрольных точек, а также встроенные контрольные суммы для обнаружения и исправления битовых ошибок. Он также представляет уровни реального времени, которые чередуют данные между «горячими» и «холодными» уровнями хранения в режиме реального времени в зависимости от использования.
Общие тома кластера. Файловая система CSV объединяет все тома ReFS в единое пространство имен, доступное через любой сервер. Для каждого сервера каждый том выглядит и действует так, как будто он смонтирован локально.
Масштабируемый файловый сервер. Этот последний уровень необходим только в конвергентных развертываниях. Он обеспечивает удаленный доступ к файлам с помощью протокола доступа SMB3 для клиентов, таких как другой кластер, работающий под управлением Hyper-V, по сети, эффективно превращая Storage Spaces Direct в сетевое хранилище (NAS).
Основные преимущества
Storage Spaces Direct предлагает следующие основные преимущества:
Image | Описание |
---|---|
Простота. Перейдите от стандартных отраслевых серверов под управлением Windows Server или Azure Stack HCI к своему первому кластеру Storage Spaces Direct менее чем за 15 минут. Для пользователей System Center развертывание — это всего лишь один флажок. | |
Высокая производительность. Независимо от того, используются ли они на флэш-дисках или в гибридной среде, Storage Spaces Direct может выполнять более 13,7 млн операций ввода-вывода в секунду на сервер. Встроенная в гипервизор архитектура Storage Spaces Direct обеспечивает стабильную работу с малой задержкой, встроенный кэш для чтения/записи и поддержку передовых дисков NVMe, подключаемых непосредственно к шине PCIe. | |
Отказоустойчивость. Встроенная функция отказоустойчивости обеспечивает постоянную доступность при сбоях дисков, серверов или компонентов. Более крупные развертывания также можно настроить для отказоустойчивости шасси и стойки. Когда аппаратное обеспечение выходит из строя, просто замените его; программное обеспечение исцеляет себя без каких-либо сложных действий по управлению. | |
Эффективность использования ресурсов. Кодирование Erasure обеспечивает повышение эффективности хранения в 2,4 раза благодаря уникальным инновациям, таким как локальные коды реконструкции и уровни ReFS в реальном времени, которые распространяют эти преимущества на жесткие диски и смешанные горячие или холодные рабочие нагрузки, при этом минимизируя потребление ЦП для выделения ресурсов. туда, где они нужны больше всего — к виртуальным машинам. | |
Управляемость . Используйте Storage QoS Controls, чтобы контролировать загруженные виртуальные машины с минимальными и максимальными ограничениями IOPS для каждой виртуальной машины. Служба работоспособности обеспечивает непрерывный встроенный мониторинг и оповещения. Новые API упрощают сбор обширных показателей производительности и емкости в масштабе всего кластера. | |
Масштабируемость . До 16 серверов и более 400 дисков, до 4 петабайт (4000 терабайт) хранилища на кластер. Для масштабирования добавьте больше дисков или серверов; Storage Spaces Direct автоматически подключает новые диски и начинает их использовать. Эффективность и производительность хранилища предсказуемо улучшаются при масштабировании. |
Когда использовать
Storage Spaces Direct — это основная технология Azure Stack HCI и Windows Server. Это идеальное решение для сетевого хранилища, если вы хотите:
- Увеличить или увеличить емкость сетевого хранилища. Вы можете добавить дополнительные диски или дополнительные серверы, чтобы расширить емкость сетевого хранилища, сохраняя при этом безопасность и доступность своих данных. Если диск в пуле хранения выходит из строя или весь узел отключается, все данные остаются в сети и доступны.
- Одновременный обмен одним и тем же набором данных из разных мест. Пул носителей, создаваемый Storage Spaces Direct, выглядит и действует как общий сетевой ресурс. Пользователи вашей сети могут получить доступ к сохраненным данным в любое время из любого места, не беспокоясь о физическом местоположении своих сохраненных данных.
- Используйте разные носители. С помощью Storage Spaces Direct вы можете комбинировать различные типы носителей в своем кластере серверов, чтобы сформировать программно-определяемый пул хранения. Программное обеспечение автоматически решает, какой носитель использовать на основе данных — активных данных на более быстром носителе и других редко используемых данных на более медленном носителе.
Варианты развертывания
Storage Spaces Direct поддерживает следующие два варианта развертывания:
- Гиперконвергентное
- Конвергентный
Примечание
Azure Stack HCI поддерживает только гиперконвергентное развертывание.
Гиперконвергентное развертывание
В гиперконвергентном развертывании вы используете один кластер как для вычислений, так и для хранения. Вариант гиперконвергентного развертывания запускает виртуальные машины Hyper-V или базы данных SQL Server непосредственно на серверах, предоставляющих хранилище, сохраняя свои файлы на локальных томах. Это устраняет необходимость настройки доступа к файловому серверу и разрешений, что, в свою очередь, снижает затраты на оборудование для предприятий малого и среднего бизнеса, а также развертываний в удаленных офисах или филиалах. Чтобы развернуть Storage Spaces Direct на Windows Server, см. Развертывание Storage Spaces Direct на Windows Server. Чтобы развернуть Локальные дисковые пространства как часть Azure Stack HCI, см. раздел Что такое процесс развертывания Azure Stack HCI?
Конвергентное развертывание
В конвергентном развертывании вы используете отдельные кластеры для хранения и вычислений. Вариант конвергентного развертывания, также известный как «дезагрегированный», размещает масштабируемый файловый сервер (SoFS) поверх Storage Spaces Direct, чтобы обеспечить сетевое хранилище через общие файловые ресурсы SMB3. Это позволяет масштабировать вычислительные ресурсы и рабочую нагрузку независимо от кластера хранения, что необходимо для крупномасштабных развертываний, таких как Hyper-V IaaS (инфраструктура как услуга) для поставщиков услуг и предприятий.
Управление и мониторинг
Для управления и мониторинга Storage Spaces Direct можно использовать следующие инструменты:
Имя | Графический или командная строка? | Платно или включено? |
---|---|---|
Центр администрирования Windows | Графический | В комплекте |
Диспетчер сервера и диспетчер отказоустойчивого кластера | Графический | В комплекте |
Windows PowerShell | Командная строка | В комплекте |
System Center Virtual Machine Manager (SCVMM) и Operations Manager | Графический | Платный |
Видео
Storage Spaces Direct Обзор (5 минут)
Storage Spaces Direct на Microsoft Ignite 2018 (1 час)
Storage Spaces Direct на Microsoft Ignite 2018 (1 час) 8
Мероприятие по запуску Storage Spaces Direct на Microsoft Ignite 2016 (1 час)
Истории клиентов
Во всем мире более 10 000 кластеров используют Storage Spaces Direct. Организации всех размеров, от малых предприятий, развертывающих всего два узла, до крупных предприятий и государственных учреждений, развертывающих сотни узлов, зависят от Storage Spaces Direct для своих критически важных приложений и инфраструктуры.
Посетите Microsoft.com/HCI, чтобы прочитать их истории.
Дополнительные ссылки
- Отказоустойчивость и эффективность хранения
- Реплика хранилища
- Хранилище в блоге Microsoft
- Storage Spaces Прямая пропускная способность с iWARP (блог TechNet)
- Новые возможности отказоустойчивой кластеризации в Windows Server
- Качество обслуживания хранилища
- Поддержка ИТ-специалистов Windows
Непосредственное развертывание дисковых пространств на Windows Server
- Статья
Применяется к: Windows Server 2022, Windows Server 2019, Windows Server 2016
В этом разделе приведены пошаговые инструкции по развертыванию локальных дисковых пространств на Windows Server. Чтобы развернуть Локальные дисковые пространства как часть Azure Stack HCI, см. раздел Что такое процесс развертывания Azure Stack HCI?
Совет
Хотите приобрести гиперконвергентную инфраструктуру? Microsoft рекомендует приобрести проверенное аппаратное/программное решение Azure Stack HCI у наших партнеров. Эти решения разработаны, собраны и проверены в соответствии с нашей эталонной архитектурой, чтобы обеспечить совместимость и надежность, чтобы вы могли быстро приступить к работе. Чтобы ознакомиться с каталогом аппаратных и программных решений, которые работают с гиперконвергентной инфраструктурой Azure Stack, см. Каталог гиперконвергентной инфраструктуры Azure Stack.
Совет
Вы можете использовать виртуальные машины Hyper-V, в том числе в Microsoft Azure, для оценки Storage Spaces Direct без оборудования. Вы также можете ознакомиться с удобными сценариями быстрого лабораторного развертывания Windows Server, которые мы используем в учебных целях.
Перед началом работы
Ознакомьтесь с требованиями к оборудованию Storage Spaces Direct и просмотрите этот документ, чтобы ознакомиться с общим подходом и важными примечаниями, связанными с некоторыми шагами.
Соберите следующую информацию:
Вариант развертывания. Storage Spaces Direct поддерживает два варианта развертывания: гиперконвергентное и конвергентное, также известное как дезагрегированное. Ознакомьтесь с преимуществами каждого из них, чтобы решить, какой из них подходит именно вам. Шаги 1–3 ниже применимы к обоим вариантам развертывания. Шаг 4 необходим только для конвергентного развертывания.
Имена серверов. Ознакомьтесь с политиками именования вашей организации для компьютеров, файлов, путей и других ресурсов. Вам потребуется выделить несколько серверов, каждый из которых будет иметь уникальное имя.
Доменное имя. Ознакомьтесь с политиками вашей организации в отношении именования доменов и присоединения к домену. Вы будете присоединять серверы к своему домену, и вам нужно будет указать доменное имя.
Сеть RDMA. Существует два типа протоколов RDMA: iWarp и RoCE. Обратите внимание, какой из них используют ваши сетевые адаптеры, а если RoCE, также обратите внимание на версию (v1 или v2). Для RoCE также обратите внимание на модель вашего стоечного коммутатора.
Идентификатор VLAN. Обратите внимание на идентификатор VLAN, который будет использоваться для управления сетевыми адаптерами ОС на серверах, если таковые имеются. Вы должны быть в состоянии получить это от своего сетевого администратора.
Шаг 1. Разверните Windows Server
Шаг 1.1. Установите операционную систему
Первым шагом является установка Windows Server на каждый сервер, который будет входить в кластер. Для Storage Spaces Direct требуется Windows Server Datacenter Edition. Вы можете использовать вариант установки Server Core или сервер с возможностями рабочего стола.
При установке Windows Server с помощью мастера установки вы можете выбрать между Windows Server (имеется в виду Server Core) и Windows Server (Server with Desktop Experience) , что эквивалентно Full 9Вариант установки 0365 доступен в Windows Server 2012 R2. Если вы не выберете, вы получите вариант установки Server Core. Дополнительные сведения см. в разделе Установка ядра сервера.
Шаг 1.2. Подключение к серверам
В этом руководстве основное внимание уделяется установке Server Core и удаленному развертыванию/управлению из отдельной системы управления, которая должна иметь:
- Версия Windows Server или Windows 10 не ниже серверы, которыми он управляет, и с последними обновлениями
- Сетевое подключение к серверам, которыми он управляет
- Присоединен к тому же домену или полностью доверенному домену
- Инструменты удаленного администрирования сервера (RSAT) и модули PowerShell для Hyper-V и отказоустойчивой кластеризации. Инструменты RSAT и модули PowerShell доступны в Windows Server и могут быть установлены без установки других компонентов. Вы также можете установить средства удаленного администрирования сервера на управляющий ПК с Windows 10.
В системе управления установите инструменты управления отказоустойчивым кластером и Hyper-V. Это можно сделать через диспетчер серверов с помощью Мастер добавления ролей и компонентов . На странице Features выберите Remote Server Administration Tools , а затем выберите инструменты для установки.
Войдите в сеанс PS и используйте либо имя сервера, либо IP-адрес узла, к которому вы хотите подключиться. Вам будет предложено ввести пароль после выполнения этой команды, введите пароль администратора, который вы указали при настройке Windows.
Enter-PSSession -ComputerName-Credential LocalHost\Administrator
Вот пример того, как сделать то же самое более полезным в сценариях способом, если вам нужно сделать это более одного раза:
$myServer1 = "myServer-1" $user = "$myServer1\Администратор" Enter-PSSession -ComputerName $myServer1 -Credential $user
Совет
При удаленном развертывании из системы управления может появиться сообщение об ошибке, например WinRM не может обработать запрос. Чтобы исправить это, используйте Windows PowerShell, чтобы добавить каждый сервер в список доверенных узлов на управляющем компьютере:
Set-Item WSMAN:\Localhost\Client\TrustedHosts -Value Server01 -Force
Примечание. Список доверенных хостов поддерживает подстановочные знаки, например Server*
.
Чтобы просмотреть список надежных узлов, введите Get-Item WSMAN:\Localhost\Client\TrustedHosts
.
Чтобы очистить список, введите Clear-Item WSMAN:\Localhost\Client\TrustedHost
.
Шаг 1.3. Присоединитесь к домену и добавьте учетные записи домена
Пока вы настроили отдельные серверы с учетной записью локального администратора, <ИмяКомпьютера>\Администратор
.
Для управления Локальными дисковыми пространствами необходимо присоединить серверы к домену и использовать учетную запись домена доменных служб Active Directory, которая находится в группе администраторов на каждом сервере.
В системе управления откройте консоль PowerShell с правами администратора. Используйте Enter-PSSession
, чтобы подключиться к каждому серверу и запустить следующий командлет, заменив собственное имя компьютера, имя домена и учетные данные домена:
Add-Computer -NewName "Server01" -DomainName "contoso.com" -Credential "CONTOSO\User" -Restart -Force
Если ваша учетная запись администратора хранилища не является членом группы администраторов домена, добавьте свою учетную запись администратора хранилища в локальную группу администраторов на каждом узле или, что еще лучше, добавьте группу, которую вы используете для администраторов хранилища. Вы можете использовать следующую команду (или написать для этого функцию Windows PowerShell — дополнительные сведения см. в разделе Использование PowerShell для добавления пользователей домена в локальную группу):
Администраторы сетевой локальной группы <Домен\Учетная запись> /добавить
Шаг 1.
4. Установка ролей и компонентовСледующим шагом является установка ролей сервера на каждом сервере. Это можно сделать с помощью центра администрирования Windows, диспетчера серверов или PowerShell. Вот роли для установки:
- Отказоустойчивая кластеризация
- Гипер-V
- Файловый сервер (если вы хотите разместить какие-либо файловые ресурсы, например, для конвергентного развертывания)
- Data-Center-Bridge (если вы используете RoCEv2 вместо сетевых адаптеров iWARP)
- RSAT-кластеризация-PowerShell
- Hyper-V-PowerShell
Для установки через PowerShell используйте командлет Install-WindowsFeature. Вы можете использовать его на одном сервере следующим образом:
Install-WindowsFeature -Name "Hyper-V", "Failover-Clustering", "Data-Center-Bridge", "RSAT-Clustering-PowerShell", "Hyper-V -PowerShell", "ФС-файловый сервер"
Чтобы запустить команду на всех серверах в кластере одновременно, используйте этот фрагмент сценария, изменив список переменных в начале сценария в соответствии с вашей средой.
# Заполните эти переменные своими значениями $ServerList = "Сервер01", "Сервер02", "Сервер03", "Сервер04" $FeatureList = "Hyper-V", "Отказоустойчивая кластеризация", "Мост центра обработки данных", "RSAT-кластеризация-PowerShell", "Hyper-V-PowerShell", "FS-FileServer" # Эта часть запускает командлет Install-WindowsFeature на всех серверах в $ServerList, передавая список функций в блок сценария с модификатором области действия «Используя», поэтому вам не нужно жестко закодировать их здесь. Вызов команды ($ ServerList) { Install-WindowsFeature -Name $Using:Featurelist }
Шаг 2. Настройте сеть
Если вы развертываете Storage Spaces Direct внутри виртуальных машин, пропустите этот раздел.
Storage Spaces Direct требует высокой пропускной способности сети с малой задержкой между серверами в кластере. Требуется как минимум сеть 10 GbE и рекомендуется удаленный прямой доступ к памяти (RDMA). Вы можете использовать либо iWARP, либо RoCE, если на нем есть логотип Windows Server, соответствующий версии вашей операционной системы, но iWARP обычно проще настроить.
Важно
В зависимости от вашего сетевого оборудования, и особенно от RoCE v2, может потребоваться некоторая настройка верхнего коммутатора стойки. Правильная конфигурация коммутатора важна для обеспечения надежности и производительности Storage Spaces Direct.
В Windows Server 2016 реализовано объединение встроенных коммутаторов (SET) внутри виртуального коммутатора Hyper-V. Это позволяет использовать одни и те же физические порты NIC для всего сетевого трафика при использовании RDMA, уменьшая количество необходимых физических портов NIC. Для Storage Spaces Direct рекомендуется объединение на основе коммутатора.
Коммутируемые или некоммутируемые соединения узлов
- Коммутируемые: Сетевые коммутаторы должны быть правильно настроены для работы с полосой пропускания и типом сети. При использовании RDMA, реализующего протокол RoCE, конфигурация сетевых устройств и коммутаторов еще более важна.
- Без коммутатора: узлы могут быть соединены между собой с помощью прямых соединений, избегая использования коммутатора. Требуется, чтобы каждый узел имел прямое соединение с каждым другим узлом кластера.
Инструкции по настройке сети для локальных дисковых пространств см. в Руководстве по развертыванию Windows Server 2016 и RDMA 2019.
Шаг 3. Настройка Storage Spaces Direct
Следующие шаги выполняются в системе управления той же версии, что и настраиваемые серверы. Следующие шаги НЕ следует выполнять удаленно с использованием сеанса PowerShell, а вместо этого выполнять их в локальном сеансе PowerShell в системе управления с административными разрешениями.
Шаг 3.1. Очистка дисков
Перед включением Storage Spaces Direct убедитесь, что ваши диски пусты: нет старых разделов или других данных. Запустите следующий сценарий, заменив имена ваших компьютеров, чтобы удалить все старые разделы или другие данные.
Предупреждение
Этот сценарий безвозвратно удалит все данные на любых дисках, кроме загрузочного диска операционной системы!
# Заполните эти переменные своими значениями $ServerList = "Сервер01", "Сервер02", "Сервер03", "Сервер04" Вызов команды ($ ServerList) { Update-StorageProviderCache Get-StoragePool | ? IsPrimordial -eq $false | Set-StoragePool -IsReadOnly:$false -ErrorAction SilentlyContinue Get-StoragePool | ? IsPrimordial -eq $false | Получить-виртуальный диск | Remove-VirtualDisk -Confirm:$false -ErrorAction SilentlyContinue Get-StoragePool | ? IsPrimordial -eq $false | Remove-StoragePool -Confirm:$false -ErrorAction SilentlyContinue Получить-физический диск | Reset-PhysicalDisk -ErrorAction SilentlyContinue Получить-Диск | ? Число -ne $null | ? IsBoot -ne $true | ? IsSystem -ne $true | ? PartitionStyle-ne RAW | % { $_ | Set-Disk -isoffline:$false $_ | Set-Disk -isreadonly:$false $_ | Clear-Disk-RemoveData-RemoveOEM-Confirm:$false $_ | Set-Disk -isreadonly:$true $_ | Set-Disk -isoffline:$true } Получить-Диск | Где число -Ne $Null | Где IsBoot -Ne $True | Где IsSystem -Ne $True | Где PartitionStyle -Eq RAW | Группа -NoElement -Свойство FriendlyName } | Сортировка - свойство PsComputerName, количество
Вывод будет выглядеть следующим образом, где Count — количество дисков каждой модели на каждом сервере:
Count Name PSComputerName ----- ---- -------------- 4 ATA SSDSC2BA800G4n Server01 10 АТА ST4000NM0033 Сервер01 4 ATA SSDSC2BA800G4n Server02 10 АТА ST4000NM0033 Сервер02 4 ATA SSDSC2BA800G4n Server03 10 АТА ST4000NM0033 Сервер03 4 ATA SSDSC2BA800G4n Server04 10 АТА ST4000NM0033 Сервер04
Шаг 3.
2. Проверка кластера На этом шаге вы запустите средство проверки кластера, чтобы убедиться, что серверные узлы правильно настроены для создания кластера с помощью Storage Spaces Direct. Когда проверка кластера ( Test-Cluster
) запускается перед созданием кластера, она запускает тесты, которые проверяют, подходит ли конфигурация для успешного функционирования в качестве отказоустойчивого кластера. В приведенном ниже примере используется параметр -Include
, после чего указываются конкретные категории тестов. Это гарантирует, что специальные тесты Storage Spaces Direct будут включены в проверку.
Используйте следующую команду PowerShell, чтобы проверить набор серверов для использования в качестве кластера Локальные дисковые пространства.
Test-Cluster — Node— включить «Storage Spaces Direct», «Inventory», «Network», «System Configuration»
Шаг 3.3. Создайте кластер
На этом шаге вы создадите кластер с узлами, которые вы проверили для создания кластера на предыдущем шаге, используя следующий командлет PowerShell.
При создании кластера вы получите предупреждение, в котором говорится: «При создании кластерной роли возникли проблемы, которые могут помешать ее запуску. Дополнительные сведения см. в файле отчета ниже». Вы можете смело игнорировать это предупреждение. Это связано с отсутствием дисков для кворума кластера. После создания кластера рекомендуется настроить файловый ресурс-свидетель или облачный свидетель.
Примечание
Если серверы используют статические IP-адреса, измените следующую команду, чтобы отразить статический IP-адрес, добавив следующий параметр и указав IP-адрес:-StaticAddress
New-Cluster -Name-Node -NoStorage
После создания кластера может потребоваться некоторое время для репликации записи DNS для имени кластера. Время зависит от среды и конфигурации репликации DNS. Если разрешение кластера не удалось, в большинстве случаев вы можете добиться успеха, используя вместо имени кластера имя компьютера узла, который является активным членом кластера.
Шаг 3.4. Настройте следящий сервер кластера
Мы рекомендуем настроить следящий сервер для кластера, чтобы кластеры с тремя или более серверами могли выдержать сбой двух серверов или их отключение. Для развертывания с двумя серверами требуется свидетель кластера, в противном случае переход одного из серверов в автономный режим приводит к тому, что другой становится недоступным. В этих системах вы можете использовать общий файловый ресурс в качестве свидетеля или использовать облачный свидетель.
Дополнительные сведения см. в следующих разделах:
- Настройка и управление кворумом
- Развертывание облачного свидетеля для отказоустойчивого кластера
Шаг 3.5. Включение Storage Spaces Direct
После создания кластера используйте командлет Enable-ClusterStorageSpacesDirect
PowerShell, который переведет систему хранения в режим Storage Spaces Direct и автоматически выполнит следующие действия:
Create пул: Создает один большой пул с именем типа «S2D в кластере 1».
Настраивает кэши Storage Spaces Direct: Если для использования Storage Spaces Direct доступно несколько типов носителей (дисков), он включает самые быстрые устройства кэширования (чтение и запись в большинстве случаев)
Уровни: Создает два уровня по умолчанию. Один называется «Емкость», а другой — «Производительность». Командлет анализирует устройства и настраивает каждый уровень с учетом сочетания типов устройств и отказоустойчивости.
В системе управления в окне команд PowerShell, открытом с правами администратора, введите следующую команду. Имя кластера — это имя кластера, созданного на предыдущих шагах. Если эта команда запускается локально на одном из узлов, параметр -CimSession необязателен.
Enable-ClusterStorageSpacesDirect -CimSession <имя_кластера>
Чтобы включить Storage Spaces Direct с помощью приведенной выше команды, вы также можете использовать имя узла вместо имени кластера. Использование имени узла может быть более надежным из-за задержек репликации DNS, которые могут возникнуть при использовании вновь созданного имени кластера.
После завершения этой команды, что может занять несколько минут, система будет готова к созданию томов.
Шаг 3.6. Создание томов
Мы рекомендуем использовать командлет New-Volume
, так как он обеспечивает наиболее быструю и простую работу. Этот единственный командлет автоматически создает виртуальный диск, разбивает его на разделы и форматирует, создает том с соответствующим именем и добавляет его в общие тома кластера — и все это за один простой шаг.
Дополнительные сведения см. в разделе Создание томов в Storage Spaces Direct.
Шаг 3.7. При необходимости включите кэш CSV
При необходимости можно включить кэш общего тома кластера (CSV) для использования системной памяти (ОЗУ) в качестве блочного кэша операций чтения со сквозной записью, которые еще не кэшированы диспетчер кэша Windows. Это может повысить производительность таких приложений, как Hyper-V. Кэш CSV может повысить производительность запросов на чтение, а также полезен для сценариев масштабируемого файлового сервера.
Включение кэша CSV уменьшает объем памяти, доступной для запуска виртуальных машин в гиперконвергентном кластере, поэтому вам придется сбалансировать производительность хранилища с объемом памяти, доступной для виртуальных жестких дисков.
Чтобы установить размер кэша CSV, откройте сеанс PowerShell в системе управления с учетной записью, имеющей права администратора в кластере хранения, а затем используйте этот сценарий, изменив переменные $ClusterName
и $CSVCacheSize
на подходит (в этом примере задается кэш CSV объемом 2 ГБ на каждый сервер):
$ClusterName = "StorageSpacesDirect1" $CSVCacheSize = 2048 #Размер в МБ Запись-вывод "Настройка кэша CSV..." (Get-Cluster $ClusterName).BlockCacheSize = $CSVCacheSize $CSVCurrentCacheSize = (Get-Cluster $ClusterName). BlockCacheSize Запись-вывод «Размер кэша CSV $ClusterName: $CSVCurrentCacheSize MB»
Дополнительные сведения см. в разделе Использование кэша чтения в памяти CSV.
Шаг 3.8. Развертывание виртуальных машин для гиперконвергентных развертываний
При развертывании гиперконвергентного кластера последним шагом является подготовка виртуальных машин в кластере Storage Spaces Direct.
Файлы виртуальной машины должны храниться в системном пространстве имен CSV (пример: c:\ClusterStorage\Volume1) точно так же, как кластеризованные виртуальные машины в отказоустойчивых кластерах.
Для управления хранилищем и виртуальными машинами можно использовать встроенные инструменты или другие инструменты, например System Center Virtual Machine Manager.
Шаг 4. Развертывание горизонтально масштабируемого файлового сервера для конвергентных решений
Если вы развертываете конвергентное решение, следующим шагом будет создание экземпляра горизонтально масштабируемого файлового сервера и настройка нескольких общих файловых ресурсов. Если вы развертываете гиперконвергентный кластер — вы закончили, и этот раздел вам не нужен.
Шаг 4.1. Создание роли масштабируемого файлового сервера
Следующим шагом в настройке служб кластера для файлового сервера является создание роли кластерного файлового сервера, то есть создание экземпляра масштабируемого файлового сервера, на котором размещены ваши постоянно доступные файловые ресурсы.
Чтобы создать роль масштабируемого файлового сервера с помощью диспетчера серверов
В диспетчере отказоустойчивого кластера выберите кластер, перейдите к Роли и нажмите Настроить роль… .
Появится мастер высокой доступности.На странице Select Role щелкните File Server .
На странице File Server Type щелкните Scale-Out File Server для данных приложения .
На странице Client Access Point введите имя масштабируемого файлового сервера.
Убедитесь, что роль была успешно настроена, перейдя к Роли и убедившись, что в столбце Статус отображается Работает рядом с созданной вами ролью кластерного файлового сервера, как показано на рисунке 1.
Рис. 1. Диспетчер отказоустойчивого кластера , показывающий масштабируемый файловый сервер в состоянии «Работает»
Примечание
После создания кластерной роли могут возникнуть некоторые задержки распространения по сети, из-за которых вы не сможете создать общие файловые ресурсы на несколько минут или, возможно, дольше.
Чтобы создать роль масштабируемого файлового сервера с помощью Windows PowerShell
В сеансе Windows PowerShell, подключенном к кластеру файловых серверов, введите следующие команды, чтобы создать роль масштабируемого файлового сервера, изменив FSCLUSTER на соответствующий имя вашего кластера и SOFS , чтобы соответствовать имени, которое вы хотите присвоить роли масштабируемого файлового сервера:
Add-ClusterScaleOutFileServerRole -Name SOFS -Cluster FSCLUSTER
Примечание
После создания кластерной роли могут возникнуть некоторые задержки распространения по сети, из-за которых вы не сможете создать общие файловые ресурсы на несколько минут или, возможно, дольше. Если роль SOFS сразу дает сбой и не запускается, это может быть связано с тем, что объект компьютера кластера не имеет разрешения на создание учетной записи компьютера для роли SOFS. Для получения справки см. эту запись в блоге: Роль масштабируемого файлового сервера не запускается с идентификаторами событий 1205, 1069.и 1194.
Шаг 4.2. Создание общих файловых ресурсов
После того, как вы создали виртуальные диски и добавили их в CSV, пришло время создать на них общие файловые ресурсы — по одному общему файловому ресурсу на CSV на каждый виртуальный диск. System Center Virtual Machine Manager (VMM), вероятно, самый удобный способ сделать это, поскольку он обрабатывает разрешения за вас, но если в вашей среде его нет, вы можете использовать Windows PowerShell для частичной автоматизации развертывания.
Используйте сценарии, включенные в сценарий конфигурации общего ресурса SMB для рабочих нагрузок Hyper-V, который частично автоматизирует процесс создания групп и общих ресурсов. Он написан для рабочих нагрузок Hyper-V, поэтому при развертывании других рабочих нагрузок вам может потребоваться изменить параметры или выполнить дополнительные действия после создания общих ресурсов. Например, если вы используете Microsoft SQL Server, учетной записи службы SQL Server должен быть предоставлен полный доступ к общему ресурсу и файловой системе.
Примечание
При добавлении узлов кластера вам потребуется обновить членство в группе, если вы не используете System Center Virtual Machine Manager для создания общих ресурсов.
Чтобы создать файловые ресурсы с помощью сценариев PowerShell, выполните следующие действия:
Загрузите сценарии, включенные в конфигурацию общих ресурсов SMB для рабочих нагрузок Hyper-V, на один из узлов кластера файловых серверов.
Откройте сеанс Windows PowerShell с учетными данными администратора домена в системе управления, а затем используйте следующий сценарий, чтобы создать группу Active Directory для объектов компьютеров Hyper-V, изменив значения переменных в соответствии с вашей средой:
# Заменить значения этих переменных $HyperVClusterName = "Compute01" $HyperVObjectADGroupSamName = "Hyper-VServerComputerAccounts" <#Без пробелов#> $ScriptFolder = "C:\Scripts\SetupSMBSharesWithHyperV" # Запуск самого скрипта CD $ScriptFolder . \ADGroupSetup.ps1 -HyperVObjectADGroupSamName $HyperVObjectADGroupSamName -HyperVClusterName $HyperVClusterName
Откройте сеанс Windows PowerShell с учетными данными администратора на одном из узлов хранения, а затем используйте следующий сценарий, чтобы создать общие ресурсы для каждого CSV и предоставить административные разрешения для общих ресурсов группе администраторов домена и вычислительному кластеру.
# Заменить значения этих переменных $StorageClusterName = "StorageSpacesDirect1" $HyperVObjectADGroupSamName = "Hyper-VServerComputerAccounts" <#Без пробелов#> $SOFSName = "СОФС" $SharePrefix = "Поделиться" $ScriptFolder = "C:\Scripts\SetupSMBSharesWithHyperV" # Запуск самого скрипта CD $ScriptFolder Get-ClusterSharedVolume -Cluster $StorageClusterName | ForEach-Object { $ShareName = $SharePrefix + $_.SharedVolumeInfo.friendlyvolumename.trimstart("C:\ClusterStorage\Volume") Write-host "Создание общего ресурса $ShareName на "$_.name" на томе: " $_.
S2D: Настройка Storage Spaces Direct (S2D) в Windows Server 2016