«

»

Создание и настройка отказоустойчивого (Scale-Out File Server) кластера на Windows Server 2012

В этой статье описываются действия по установке и настройке отказоустойчивого кластера Scale-Out File Server, состоящего из 4 узлов и одного хранилища построенного на компоненте iSCSI Software Target Server. Scale-Out File Server (Масштабируемый файловый сервер) - это кластерный файловый сервер впервые представлен в Windows Server 2012. Основные преимущества Scale-Out File Server в Windows Server 2012:

  • Active-Active. Все узлы кластера могут принимать и обслуживать запросы SMB-клиентов.
  • Увеличенная пропускная способность. Максимальная пропускная способность общего ресурса равна общей пропускной способности всех узлов кластера файловых серверов.

Scale-Out File Server не следует использовать, если рабочая нагрузка создает большое количество операций с метаданными, например открытие и закрытие файлов, создание новых файлов или переименование существующих. Масштабируемые файловые серверы представляют собой идеальный вариант для серверных приложений, которые долго сохраняют приложения открытыми, выполняя в файловой системе в основном операции с данными и нечастые операции с метаданными. Сравнение типов файлового кластера: Таблица с портала TechNet.

FailoverCluster002

Начнем с установки компонентов Failover-Clustering на все узлы кластера. Установка будет через Power-Shell. Команды будем выполнять удаленно с помощью командлета Invoke-Command.

 Invoke-Command -ComputerName prmlabsrv01,prmlabsrv02,prmlabsrv03,prmlabsrv04 -ScriptBlock  {Install-WindowsFeature -Name Failover-Clustering}

Для появления необходимых командлетов для управления кластером  необходимо установить RSAT (Remote Server Administration Tools).

Install-WindowsFeature -Name RSAT-Clustering -Credential (get-credential)

Переходим к созданию кластера. До начала создания кластера рекомендуется запустить тест (Test-Cluster -Node node1,node2,noden) для выявления всевозможных ошибок. У пользователя который создает кластер должны быть права на создание объекта CNO cluster name object (объект компьютер) в AD, иначе получите ошибку как в первом случае. Пример ошибки из проверки, что у пользователя нет прав : The user running validate, does not have permissions to create computer objects in the 'corp.local' domain. Учетная запись должна иметь административные разрешения на серверах, которые станут узлами кластера. Используем при создании параметр -NoStorage. Хранилище будет создано позже.

New-Cluster -Name prmlabsrv -Node prmlabsrv01,prmlabsrv02,prmlabsrv03,prmlabsrv04 –StaticAddress 172.30.65.25 -NoStorage

CreateFailoverClustering03

Пример делегации прав пользователю на создание объекта CNO "объект кластера".

CreateFailoverClustering02

Теперь перейдем к созданию хранилища. Хранилище будет построено на iSCSI Software Target Server. Теперь в Server 2012 компонент ISCSI Target Server добавлен по умолчанию. Его необходимо только установить.

Add-WindowsFeature FS-iSCSiTarget-Server

Создадим два Target и два диска.

  • 1 диск для Cluster Shared Volume (CSV) - Data,
  • 2 диск Quorum будет использоваться как диск свидетель (Disk Witness in Quorum).

New-IscsiServerTarget -TargetName "Data" -InitiatorIds IPAddress:172.30.65.20,IPAddress:172.30.65.21,IPAddress:172.30.65.22,IPAddress:172.30.65.23

New-IscsiVirtualDisk -DevicePath "E:\iSCSIVirtualDisks\Data.vhd" -Size 10GB

Add-IscsiVirtualDiskTargetMapping -TargetName "Data" -DevicePath "E:\iSCSIVirtualDisks\Data.vhd" 

Выше приведенным способом создадим диск Quorum. Обьема диска в 512 Мб хватит вполне (-Size 512MB).

Подключаем диски к узлам кластера

Для подключения дисков нам необходим iSCSI initiator. На Windows Server 2012 iSCSI initiator установлен по умолчанию, однако сам сервис MSiSCSI не стартован. Его необходимо стартовать иначе командлеты для подключения дисков не будут работать.

Invoke-Command -ComputerName prmlabsrv01,prmlabsrv02,prmlabsrv03,prmlabsrv04 -ScriptBlock { Start-Service msiscsi ; Set-Service msiscsi –StartupType "Automatic" }

Подключаем диски data и quorum ко всем узлам кластера.

Invoke-Command- ComputerName prmlabsrv01,prmlabsrv02,prmlabsrv03,prmlabsrv04 -ScriptBlock { New-IscsiTargetPortal –TargetPortalAddress prmstorage01 ; Get-IscsiTarget | Connect-IscsiTarget -IsPersistent 1 }

Далее начинаем инициализировать диски. Для продолжения нам необходимо получить их номера.

Invoke-Command -ComputerName prmlabsrv01 -ScriptBlock { Get-Disk|ft }

CreateFailoverClustering04Наши подключенные диски под номерами 3 и 4.  Выполняем инициализацию, создание разделов и форматирование дисков.

Invoke-Command -ComputerName prmlabsrv01 -ScriptBlock { Initialize-Disk –Number 3,4 –PartitionStyle GPT –PassThru | New-Partition –AssignDriveLetter –UseMaximumSize | Format-Volume }

Добавляем диски к кластеру.

Get-ClusterAvailableDisk -Cluster prmlabsrv | Add-ClusterDisk

CreateFailoverClustering06

Добавим диск "Cluster Disk 1" в CSV (Cluster Shared Volume). Общий том кластера используется отказоустойчивым кластером, и обратиться к нему могут одновременно несколько узлов.

Add-ClusterSharedVolume -Cluster prmlabsrv -Name "Cluster Disk 1"

Сконфигурируем кворум и назначим диск "Cluster Disk 2" в качестве диска-свидетеля. Подробнее про кворум - Что представляют собой режимы кворума.

Set-ClusterQuorum -Cluster prmlabsrv -NodeAndDiskMajority "Cluster Disk 2"

CreateFailoverClustering10

Теперь сконфигурируем роль File Server/Scale-Out. Но для начала нужно предоставить права объекту кластера на создания computer objects в AD . Иначе будите получать ошибки Server Role Fails To Start With Event IDs 1205, 1069, and 1194.

Cluster network name resource 'test' failed to create its associated computer object in domain 'corp.local' during

Please work with your domain administrator to ensure that:

- The cluster identity 'PRMLABSRV$' has Create Computer Objects permissions. By default all computer objects are created in the same container as the cluster identity 'PRMLABSRV$'.

- The quota for computer objects has not been reached.

- If there is an existing computer object, verify the Cluster Identity 'PRMLABSRV$' has 'Full Control' permission to that computer object using the Active Directory Users and Computers tool.

CreateFailoverClustering08

Предоставим права объекту PRMLABSRV . По умолчанию объекты создаются в том же контейнере (OU) что и сам объект кластера.

CreateFailoverClustering09

Подробнее о правах необходимых объекту - http://technet.microsoft.com/en-us/library/cc731002(v=ws.10).aspx

Конфигурируем роль File Server/Scale-Out

Add-ClusterScaleOutFileServerRole -Name prmlabfs01 -Cluster prmlabsrv 

Пример конфигурации традиционной роли File Server/For general use

Add-ClusterFileServerRole -Cluster prmlabsrv -Name prmlabfs02 -Storage "Cluster Disk 3" -StaticAddress 172.30.65.26

Папку общего доступа наглядней будет создать из GUI. При выборе профиля для папки выбрать "SMB Share – Applications" и проверить, что установлен чекбокс на "Enable continuous availability".

CreateFailoverClustering11

CreateFailoverClustering17

На этом наш кластер с ролью File Server/Scale-Out готов. Проведем ряд тестов с (SMB Transparent Failover/Continuous Availability) (прозрачная отработка отказа/непрерывная доступность) и проверим функциональность Scale-Out  (Active-Active). Для теста была создана еще одна папка TestLab01 но уже без (Continuous Availability). Запускаем копирование файла new2.vhdx, в обе папки и выключаем (Owner Node) данной роли. При копировании в папку TestLab01 произошел сбой, а в папку TestLab скорость просела, но без сбоя продолжила копироваться.

CreateFailoverClustering13

CreateFailoverClustering14

Проверка на предмет подключения клиентов к разным узлам кластера.

Invoke-Command -ComputerName prmlabsrv01 -ScriptBlock {Get-SmbWitnessClient | select ClientName,FileServerNodeName,WitnessNodeName}

CreateFailoverClustering15

Как видим, произошло подключение клиентов (ClientName) к разным узлам (FileServerNodeName) файлового кластера. Параметр ClientName возвращает имя SMB клиента, FileServerNodeName — узел кластера, к которому подключен клиент, WitnessNodeName — узел на котором зарегистрирован клиент-свидетель.

В Windows Server 2012 появился новый компонент который называется Cluster Aware Updating (CAU). Кластерное обновление — это автоматизированный компонент, который позволяет обновлять кластерные серверы с незначительной потерей доступности или без потери доступности в ходе обновления. В ходе обновления компонент прозрачно переводит каждый узел кластера в автономный режим, устанавливает обновления и все зависимые обновления, перезапускает узел (при необходимости), переводит узел из автономного режима, а затем переходит к обновлению следующего узла.

Конфигурация этого компонента не вызовет сложностей. Единственное, что нужно установить это RSAT-Clustering-PowerShell на все узлы кластера иначе будет ошибка - "The specified module clusterawareupdating was not loaded bacause no valid module file was found in any module directory".

Invoke-Command -ComputerName prmlabsrv01,prmlabsrv02,prmlabsrv03,prmlabsrv04 -ScriptBlock  {Install-WindowsFeature -Name RSAT-Clustering-PowerShell}

CreateFailoverClustering16

 

Permanent link to this article: http://www.blogss.ru/create-and-configure-failover-cluster-windows-server-2012

Добавить комментарий

Your email address will not be published.