Menu
Hyper-V настройка кластера на windows 2019

Hyper-V настройка кластера на windows 2019

 Руководство по подключению ноды к кластеру Hyper-V с центразизованым хранением VM на СХД lenovo DE2000

В общем случае, получается отказоустойчивое соединение iscsi через два коммутатора к двух контроллерам СХД.

Только по факту используется не 2, как на изображении, а 8 путей подключения

Данная инструкция предусмотрена для подключения к Lenovo DE2000. Для других СХД возможны изменения, но общий принцип остается тем же.

-Hyper-V хост
- установка сервера и драйверов
- включение необходимых ролей и опций (Roles and Features). Установка роли Hyper-V, а также опций Failover Clustering и Multipath IO.
- В свойствах сетевых адаптеров, выделенных для сети СХД должны быть включены Jumbo фреймы:
- найстройка LACP если нужно (через Server manager -> Local Server -> NIC Teaming). IP адреса не присваивать, потом VirtualSwitch не соберется
- Создать VirtualSwitch в Hyper-V manager. Если настроен LACP, выбрать Microsoft Network Adapter Multiplexor driver. Надо обратить внимание на то, чтобы имя виртуального коммутатора было на всех хостах одинаково, например vSwitch0.

  • Далее настраивается подключение к СХД. В оснастке iSCSI Initiator на вкладке Discovery необходимо прописать адрес цели и доступные пути до неё.(Discover portal -> ip_shd_1->OK,DicoverPortal -> ip_shd_2->OK и тд)
  • На вкладке Targets необходимо выделить цель и перейти в настройку, нажав Connect. Аналогичным образом прописываются все доступные пути к СХД. Список добавленных путей можно посмотреть на вкладке Favorite Targets.(Connect->отметить всё, advanced-> Microsoft_iscsi+HostIp1+ShdIp1, Connect->отметить всё, advanced-> Microsoft_iscsi+HostIp1+ShdIp2 ...... Connect->отметить всё, advanced-> Microsoft_iscsi+HostIp2+ShdIp4)
  • Установить ПО СХД (storagemanager) в режиме host.
    - Запустить failoverCluster Manager и создать кластер. Потребуется указать IP адрес кластера.
    - Создать VM для SQL кластера. Есть используется LACP virtual switch, нужно поставить галку в nic teaming в advanced features сетевого адаптера.

 

-SQL cluster-


- установить WIN сервер
- установка SQL сервера 2017 standart.
Компоненты:
- Службы ядра СУБД
Идентификатор экземпляра
- MSSQLSERVER
Учетные записи служб
- Агент SQL сервер - авто
- ядро СУБД SQL сервер - авто
- обохреватель SQL сервер - Отключено
Конфигурация сервера
- смешанный режим.
- указать sa пароль
- добавить администраторов сервера
Каталоги данных
- указать пути баз на SSD диск
- указать пути для бэкапов
TempDB
- на SSD
- Установить роль FailoverCluaster
- Включение режима поддержки AlwaysOn SQL servera
(рекомендуется запускать от доменной учетки)
- Запустить диспетчер конфигурации SQL Server 2017
- Выбрать свойства службы SQL Server
- На вкладке «Высокий уровень доступности AlwaysOn» установить флажок
- проверить, что в имени кластера указан тот кластер, который требуется
- Перезапустить службу SQL Server (действия по правой кнопке мыши на записи службы)
- Убедиться, что на сервере БД доступен режим Высокий уровень доступностиˆ
- настройки работы с памятью и тд
- в SSMS выбрать свойства сервера
- память: нижний - 2048, верхний - (полный объем на сервере минус 4-8Гб)
- процессоры: максимальное число раб. потоков 2048, галка "поддерживать приоритет..."
- дополнительно:
максимальная степень параллелизма - 4
стоимостный порог - 45
- Добавление перекрестно пользователей SQL
Для кластеров добавить перекрестно учетные записи экземпляров SQL Server с правами создания БД (ниже описание для инстансов SQL Server под локальной учетной записью)
Шаблон скрипта добавления
USE [master]
GO
CREATE LOGIN [VZLJOT\otherservername$] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
CREATE LOGIN [VZLJOT\sql-serv] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
GO
ALTER SERVER ROLE [dbcreator] ADD MEMBER [DOMAIN\otherservername$]
ALTER SERVER ROLE [dbcreator] ADD MEMBER [DOMAIN\sql-serv]
GO
- Создаем endpoint на каждом сервере и перекрестно предоставляем права
CREATE ENDPOINT Hadr_endpoint
AS TCP
(
LISTENER_PORT = 5022
)
FOR DATA_MIRRORING
(
ROLE = ALL,
ENCRYPTION = REQUIRED ALGORITHM AES
)
GO

GRANT CONNECT ON ENDPOINT::Hadr_endpoint TO [DOMAIN\almaaz$]
Проверка наличия:
SELECT * FROM sys.endpoints WHERE type = 4

- Создать группы доступности для каждой базы
- открыть SMSS
- Высокий уровень доступности - мастер:
- автоматический переход на другой ресурс (галка)
- синхронная фиксация
- посмотреть результат "показать панель мониторинга"

 

Полезные команды:

 Включение роли Hyper-V

Install-WindowsFeature hyper-v

Список машин на хосте

Get-VM

Получение ID машины

get-vm -Name "Test Win10" | Select-Object id

Старт машины

Start-VM -Name

Создание снэпшота

Get-VM -Name | Checkpoint-VM -SnapshotName for snapshot>

Создание машины

$VMName = "VMNAME"

$VM = @{
Name = $VMName
MemoryStartupBytes = 2147483648
Generation = 2
NewVHDPath = "C:\Virtual Machines\$VMName\$VMName.vhdx"
NewVHDSizeBytes = 53687091200
BootDevice = "VHD"
Path = "C:\Virtual Machines\$VMName"
SwitchName = (Get-VMSwitch).Name
}

New-VM @VM

Скрипт для вложенном виртуализации, докера и тд

#replace with the virtual machine name
$vm = ""

#configure virtual processor
Set-VMProcessor -VMName $vm -ExposeVirtualizationExtensions $true -Count 2

#disable dynamic memory
Set-VMMemory -VMName $vm -DynamicMemoryEnabled $false

#enable mac spoofing
Get-VMNetworkAdapter -VMName $vm | Set-VMNetworkAdapter -MacAddressSpoofing On

 

Veeam Backup and replication

Решение проблемы фэйла бэкапа VM:

 Processing VM Error: Incorrect function.
Agent failed to process method {ReFs.SetFileIntegrity}.

Сjздать в реестре сервера veeam ключ:

HKLM\SOFTWARE\Veeam\Veeam Backup and Replication\

REG_DWORD (32-bit) 

Name     UseCifsVirtualSynthetic  

Value    0

 

Перенос в Hyper-V. Гостевая система bsod.

 

 Загрузиться в виртуалке с какого-нибудь liveCD.

Regedit'ом встать на HKEY_LOCAL_MACHINE

Подгрузить куст \Windows\System32\config\SYSTEM из склонированной системы под имененм 123.

Найти в нем ключи 

  • Atapi
  • Intelide
  • LSI_SAS

Исправить параметры Start и изменить на 0.

Выгрузить куст.

 Возникновение в linux системах спама вида:

systemd[1]: Time has been changed

- отключить службу синхронизации времени в параметрах VM

Сервера программных лицензий

Если на виртуалке имеется сервер лицензий, привязанный к MAC адресу, надо сделать MAC адрес в параметрах статическим.

Машина в статусе "Сохранена" (Saved)

Get-VMSnapshot "Porrima win19" | Remove-VMSavedState

Remove-VMSavedState "Porrima win19"

Машина зависла. Нужно принудительно ее выключить.

Найти ID машины:

get-vm -Name "Test Win10" | Select-Object id

Запустить Диспетчер задач (Task Manager).

Найти процесс vmwp с ID машины и убить его