Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SQL Server 2017 Standard Edition Basic Always On Availability Group на Azure VM.No AD  [new]
zzzzzzzzzz
Member

Откуда:
Сообщений: 355
Привет,

Пожалуйста помогите с настройками. Бьюсь уже неделю. Нужен свежий взгляд.
Пытаюсь сделать SQL Server 2017 Standard Edition Basic Always On Availability Group на Azure VM...

Вопросы:
- Возможно я что-то упускаю базовое?
- Возможно такая конфигурация не будет работать совсем Windows Server 2016 no Active Directory Cluster + SQL Server 2017 Standard Basic AG + Azure Load Balancer as a Listener?

Дальше детали, что делал.
Буду благодарен за людые идеии и/или комментарии/

У меня есть:
2 Azure VMs с SQL Server 2017 Standard. Basic Availability Group созданные с опцией WSFC.
SQL1 ip xx.xx.xx.10
SQL2 ip xx.xx.xx.11
Cluster IP xx.xx.xx.12
AlwaysOn Listener/ Azule Internal Load Balancer xx.xx.xx.15
Кластер использует Cloud Witness.
Кластер без домена делал на основе этой статьи https://www.sqlpassion.at/archive/2016/01/11/how-to-create-a-sql-server-availability-group-without-an-active-directory-domain/
Обратите внимание: это кластер без домена. Только 2 виртуалки в ажуре и etc/hosts + domain suffix.

Чтоб сделать листенер использовал эти ресурсы: Azure Internal Load Balancer as Alway On Listener
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sqlclassic/virtual-machines-windows-classic-ps-sql-int-listener?toc=/azure/virtual-machines/windows/classic/toc.json
https://blogs.msdn.microsoft.com/igorpag/2016/01/25/configure-an-ilb-listener-for-sql-server-alwayson-availability-groups-in-azure-arm/#comment-2655
https://www.linkedin.com/pulse/set-up-internal-load-balancer-sql-server-availability-zheng-xu/

Все получилось. Файловер происходит врeчную и автоматически. Листенер могу создать как из SSMS так и со стороны кластера(как в статье)

Но вот проблема. Т.к. кластер без домена, я могу сделать пинг только с активной ноды. И похоже это распостраняется и на Always On Listener, несмотря на то, что он прикручен на уровне кластера к Azure Internal Load Balancer.

итого:

могу в пределах одной сети пинговать с на ip .10 .11
могу присоединиться к SQl Server на любой ноде напрямую.
Вижу и могу присоединиться к SQl Server через листенер только с активной нодыю (на которой в данный момент Primary Replica)
С других машин в той же сети кластер и листенер недоступны.
Firewalls и NSG отключил. Не помогает. Причина другая похоже.

Читал и пробовал много всякого. находил похожую по описанию проблему, но к сожалению, без ответа/или не помогло мне.
Например:
https://social.msdn.microsoft.com/Forums/en-US/cd79c334-8106-4983-aeb0-3531675b485c/connect-to-sql-availability-group-listener-from-primary-server-but-not-from-secondary?forum=sqldisasterrecovery
https://serverfault.com/questions/583911/failover-cluster-client-access-point-only-responds-to-pings-on-the-owner-node
https://dba.stackexchange.com/questions/177374/sql-server-ag-listener-issues-in-an-aws-vpc/177389
https://support.microsoft.com/en-us/help/2792139/time-out-error-and-you-cannot-connect-to-a-sql-server-2012-alwayson-av

Проверяю соединение так:

SSMS
ping
psping.exe xx.xxx.xx.11:59999
psping.exe xx.xxx.xx.11:5022
psping.exe xx.xx.xx.15:1433
sqlcmd -S xx.xx.xx.15 -E
sqlcmd -S xx.xx.xx.15 -E -M
telnet xx.xxx.xx.15 1433


Еще такое пробовал
https://blogs.msdn.microsoft.com/alwaysonpro/2017/02/22/troubleshooting-internal-load-balancer-listener-connectivity-in-azure/
https://support.microsoft.com/en-us/help/2792139/time-out-error-and-you-cannot-connect-to-a-sql-server-2012-alwayson-av
https://blogs.msdn.microsoft.com/alwaysonpro/2016/02/01/troubleshooting-availability-group-listener-in-azure/
https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-troubleshoot

Хоть у меня и одна сеть, пробовал Multisubnet Failover
Get-ClusterResource "MyListener"| Get-ClusterParameter
Get-ClusterResource "MyListener" | Get-ClusterParameter
Get-ClusterResource "MyListener" | Set-ClusterParameter -Name overrideaddressmatch -Value 1


$CAPName = 'MyListener'
Get-ClusterResource $CAPName | Set-ClusterParameter RegisterAllProvidersIP 0
Get-ClusterResource $CAPName | Get-ClusterParameter

Пока идей больше нет.

Спасибо заранее за ответы.
25 апр 18, 14:58    [21368098]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2017 Standard Edition Basic Always On Availability Group на Azure VM.No AD  [new]
zzzzzzzzzz
Member

Откуда:
Сообщений: 355
Получилось.

В моем случае прочина была во 2-м NIC. Как только убрал его, все заработало.


раньше эта команда не востринимала -StaticAddress xx.xxx.xx.12 . Обходил вручную.
new-cluster -name Cluster –NodeVM01,VM02 -StaticAddress xx.xxx.xx.12 -NoStorage –AdministrativeAccessPoint DNS
27 апр 18, 16:09    [21374604]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить