Top.Mail.Ru

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


 hyper-v


---=== windows cluster hyper-V ===---

-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.
- Далее настраивается подключение к СХД. В оснастке iSCSI Initiator на вкладке Discovery необходимо прописать адрес цели и доступные пути до неё.
На вкладке Targets необходимо выделить цель и перейти в настройку, нажав Connect.
Аналогичным образом прописываются все доступные пути к СХД. Список добавленных путей можно посмотреть на вкладке Favorite Targets.
Установить ПО хранилища.
- Запустить 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

Старт машины

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}.

СОздать в реестре сервера 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

[tags]hyper-v,cluster,MS SQL,sql,windows,veeam,server,сервер,кластер[/tags]

Другие варианты запуска потока.

Поделиться: