Estou elaborando uma proposta para as próximas mudanças de infraestrutura. Isso incluirá um servidor de produção e um servidor de relatórios/data warehouse, cada um com Always On. Para manter os custos de hardware e licenciamento baixos, é possível executar em uma configuração de Servidor-A executando Prod-AG primário e Rep-AG secundário e Servidor-B executando Rep-AG primário e Prod-AG secundário?
Presumo que cada servidor precisaria de 2x das seguintes instâncias WSFC, instâncias sql, AG's, ouvintes, nomes/portas DNS.
Espero que isso faça sentido, aqui está um diagrama do que eu acho que vai ficar.
No caso de um failover em qualquer nó, a carga de trabalho/necessidade de negócios não é tão grande que a execução do mesmo servidor por algumas horas seria um grande problema.
Encontrei apenas algumas menções de uma configuração semelhante que funcionou, mas nenhuma informação definitiva da Microsoft ou de qualquer pessoa que tenha executado essa configuração com sucesso.
SQL Edition será 2017, provavelmente padrão, não acho que seremos aprovados para Enterprise. O SO será o Windows Server 2016 Core.
Sim, você pode ter mais de um grupo de disponibilidade em um cluster. Cada grupo de disponibilidade é completamente independente dos outros e pode passar por failover para qualquer nó do cluster separadamente. Em Configurar Grupos de Disponibilidade AlwaysOn do SQL Server 2012 para SharePoint 2013 :
É claro que isso é relevante, independentemente de o SharePoint estar envolvido.
Você não precisará de instâncias adicionais - apenas uma instância padrão do SQL Server em cada nó. E acho que você pode estar confuso sobre as instâncias do WSFC. Você simplesmente configura o cluster, instala o SQL Server em cada nó e cria os grupos de disponibilidade. Ao criar os AGs, o processo de configuração criará todas as funções e recursos de cluster necessários.
Pesquise no YouTube e veja um sendo configurado e acho que isso tornará as coisas mais claras ( https://www.youtube.com/watch?v=VKCqRgqLAuo ). A documentação fica obscura porque se refere continuamente a instâncias do WSFC e grupos de disponibilidade, mas se você estiver usando AGs diretos, não usará instâncias do WSFC. Faz parecer muito mais complexo do que é.
Sim, mas você não precisa de instâncias diferentes para fazer isso. Você pode fazer apenas uma instância por servidor e executar grupos de disponibilidade diferentes. Em seu diagrama, basta remover a instância B2 em ambos os nós e executar o AG de relatórios nas instâncias Prod.
Gosto da abordagem de 2 instâncias porque permite alocar CPU e memória por instância, bem como segurança mais granular, como conceder acesso ao sysamin por instância. Em uma única instância, pode-se usar o governador de consulta, mas esse é um recurso exclusivo da empresa e requer mais configuração. A desvantagem de uma abordagem de várias instâncias é que você perde a capacidade de executar comandos de banco de dados cruzados, se estiver copiando dados de prod para relatórios, ainda poderá executar comandos de servidor cruzado, mas esses são menos eficientes.