Estratégias Avançadas com SQL Server AlwaysOn DBP-301
SP_WHO Especialistas em SQL Server Microsoft Most Valuable Professional (MVP) Palestrantes em vários eventos Online e presenciais Co-autores dos livros: SQL Server 2014: Alta Disponibilidade na Prática com AlwaysOn Failover Cluster Instances SQL Server: Além do conceito SQL Server Blog Post Collection Blog http://marcelodba.wordpress.com https://www.mcdbabrasil.com.br Contatos fernandes_dba@hotmail.com @marcelodba Nilton Pinheiro niltonpinheiro@msn.com @nilton_pinheiro Marcelo Fernandes
Agenda SQL Server Failover Cluster Tradicional Tipos de Storage para SQL Server Escolhendo a Storage Baseado no Workload SQL Server Failover Cluster usando iscsi como opção de Storage SQL Server Failover Cluster usando File Share (SMB 3.0) como opção de Storage SQL Server Failover Cluster com Cluster Sare Volume (CSV)
SQL Server Failover Cluster - Tradicional SQLINST1 (nome virtual) Rede Pública Rede Privada (Heartbeat) Heartbeat Standby SRVNODE1 E:\ F:\ G:\ W:\ SQL DB SQL DB Log SRVNODE2 A necessidade de uma storage é um fator limitante para muitas empresas!
Tipos de Storage para SQL Server Discos Internos HDD tradicional ou SSDs Placa de armazenamento PCI-E Direct-attached storage (DAS) HDD ou SSDs Storage area networks (SAN) - HDD ou SSDs Server Message Block (SMB) 3.0 file shares Disponível no Windows Server 2012 e 2012 R2 SQL Server suporta o uso do File Share a partir da versão 2012 (stand-alone ou FCI) iscsi Target Server SMB FileShare (usando SMB 3.0 ou 3.02) Cluster Shared Volume (CSV)
Storage HDD vs SSD 100-200MB/sec. por disco 100-200 IOPS por disco 6Gbps SAS/SATA pode atingir até 550MB/sec. por disco 3Gbps SAS/SATA pode atingir até 275MB/sec. por disco Placa PCI-E pode atingir até 6.5GB/sec. 6Gbps SAS/SATA pode atingir até 100,000 IOPS PCI-E storage cards pode atingir até 1.3 milhões IOPS
Comparativo de Desempenho de I/O 32768 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1 0.5 Comparativos de Storages Read IO Write IO Total IO MB/s I/O per s AvgLat MB/s I/O per s AvgLat MB/s I/O per s AvgLat Storage Comp. SSD High-end Read IO 66.25 8479.36 6.978 146.66 18772.01 2.698 181.5 23232.62 2.469 Write IO 22.1 2828.59 1.7 49 6271.93 2.113 60.61 7758.36 0.853 Total IO 88.34 11307.95 5.658 195.66 25043.94 2.552 242.12 30990.98 2.064 diskspd -b8k -d180 -o16 -t4 -h -r -w25 -L -Z1G -c10g D:\iotest.dat
Escolhendo a Storage baseado no Workload Também oferece melhor desempenho sequencial em relação ao HDD SSD é mais caro que o HDD (por GB) O preço do SSD está cada vez mais acessível HDD têm uma performance ruim para I/O randômico (que pode ser mascarado através do cache da controladora) Cache baseado em Flash pode prover melhor desempenho para o HDD Recomendado para ambientes com alto overhead de I/O randômicos Recomendado para ambientes que apresentam gargalos de I/O
SQL Server FCI usando iscsi como opção de Storage
iscsi Target Server Ativação da role iscsi Target Server Quando configurada promove o servidor a um Storage Server Integrada ao Windows Failover Clustering Não recomendado para discos SQL Server
iscsi Target Server - Arquitetura SQLINST1-E-BIN=E:\ SQLINST1-G-DADOS= G:\ SQLINST1-I-LOG=I:\ SERVER01 SERVER01 SERVER01 QUORUM=Q:\ SERVER02 Target1 Storage Server SERVER02 Target2 Switch Target1 iscsi Initiator Target2 C:\ SQLINST2-F-BIN=F:\ SQLINST2-H-DADOS=H:\ SQLINST2-J-LOG=J:\ C:\ E:\ SQLINST1-E-BIN.vhdx SQLINST1-G-DADOS.vhdx SQLINST1-I-LOG.vhdx QUORUM.vhdx SQLINST2-F-BIN.vhdx SQLINST2-H-DADOS.vhdx SQLINST2-J-LOG.vhdx Conjunto independente de discos para cada instância instalada no cluster Target1 Target2 SERVER02 iscsi Initiator C:\
Demo SQL Server FCI usando o iscsi como opção de Storage SQLINST1-E-BIN=E:\ SERVER01 SERVER02 Target1 SQLINST1-G-DADOS= G:\ SQLINST1-I-LOG=I:\ Target1 Storage Server Switch iscsi Initiator C:\ QUORUM=Q:\ C:\ TECHEDBR15 E:\ SQLINST1-E-BIN.vhdx SQLINST1-G-DADOS.vhdx SQLINST1-I-LOG.vhdx QUORUM.vhdx Target1 iscsi Initiator C:\
SQL Server FCI usando o File Share (SMB3.0) como opção de Storage
SMB 3.0 File Shares File share é lento A conexão com o file share pode falhar ou cair SMB consome muita CPU Suporta I/O usando múltiplas placas de rede simultâneas, Tolerância a falhas de interfaces de rede, Integrado ao Windows Failover Clustering Windows Server 2012 suporta SMB Direct, que permite o uso de placas de rede com suporte a Remote Direct Memory Access (RDMA) RDMA requer SMB Multichannel RDMA oferece alta velocidade com baixa latência e baixo consumo de CPU
SMB 3.0 File Shares SQL Server 2014 Windows Server 2012 R2 SQLINST File Server no Windows Server 2012 R2 File Server no Windows Server 2012 R2 Shared Storage
Scale-Out File Server (SOFS) O que é? Nova solução para armazenamento de arquivos para servidores de aplicações Os cenários incluem máquinas virtuais Hyper-V e bancos de dados SQL Server Destaques Armazenamento de nível corporativo: escalável, confiável e sempre disponível Fácil provisionamento e gerenciamento, usando ferramentas familiares da Microsoft Utiliza as mais recentes tecnologias de rede (converged Ethernet, RDMA) Maior flexibilidade, incluindo live migration e implantações de multi-clusters Reduz as despesas de capital e operacionais Recursos suportados SMB Transparent Failover - Disponibilidade contínua se um nó falhar SMB Scale-out -clusters de servidor de arquivo ativo/ativo, automaticamente balanceados SMB Direct (SMB sobre RDMA) - Baixa latência, alto rendimento, baixo uso de CPU SMB Multichannel - O aumento da tolerância a falhas da rede e throughput SMB Encryption - Transmissão de dados segura, sem a custosa infra-estrutura PKI VSS for SMB File Shares - Backup e restauração usando a estrutura VSS existente SMB PowerShell, VMM Support - Capacidade de gerenciamento e suporte System Center Hyper-V Cluster Scale-Out File Server Storage Compartilhada Fonte (José Barreto): http://channel9.msdn.com/events/teched/northamerica/2014/dcim-b337
MB/sec SMB Multichannel Performance Windows Server 2012 usando 4 placas de rede 10GbE Dimensionamento da largura de banda Linear 1 NIC 1150 MB/sec 2 NICs 2330 MB/sec 3 NICs 3320 MB/sec 4 NICs 4300 MB/sec Aproveita o suporte da NIC para RSS (Receive Side Scaling) Largura de banda para pequenos IO é um gargalo na CPU 5000 4500 4000 3500 3000 2500 2000 1500 1000 500 0 I/O Size SMB Client Interface Scaling - Throughput 512 1024 4096 8192 16384 32768 65536 131072 262144 524288 1048576 1 x 10GbE 2 x 10GbE 3 x 10GbE 4 x 10GbE Fonte (José Barreto): http://channel9.msdn.com/events/teched/northamerica/2014/dcim-b337
SMB com SQL Server Ps: Recomendado uso a partir do Windows Server 2012 R2 (SMB 3.02)
Demo SQL Server FCI usando o File Share como opção de Storage Cluster File Server \\TECHEDFS\SQLP3-BIN \\TECHEDFS\SQLP3-DADOS \\TECHEDFS\SQLP3-LOG VSQLINSTP3\P3 \\TECHEDFS\SQLP3-BIN \\TECHEDFS\SQLP3-DADOS \\TECHEDFS\SQLP3-LOG C:\ C:\ E:\ TECHEDBR15 Switch C:\
SQL Server FCI e Cluster Shared Volume (CSV)
Cluster Shared Volume (CSV) Oferece tolerância a falhas de I/O (nós, rede ou HBA), Redirecionamento de dados via SMB 3.0 em casos de falha no acesso direto à storage pelos nós, Recurso do SQL Server não depende mais dos recursos de disco O failover do SQL Server é realizado sem a troca de owner dos discos Durante o Failover não existe mais a desmontagem e remontagem dos volumes Tempo de Failover muito mais rápido Maior disponibilidade Falha no acesso direto ao disco não provoca o failover da instância
Cluster Share Volume - Arquitetura SQLNode 1 SQLNode 2 Coordination Node SQLNode 3 SQL rodando no SQLNode3 não é afetado. SQLINST1 SQLINST2 SQLINST3 Cluster Shared Volume File System (CSVFS) SMB 3.0 SMB 3.0 CSV Proxy File System Stack Sincronização de Metadata entre os nós do cluster. CSV Proxy File System Stack NTFS Stack CSV Proxy File System Stack I/O redirecionado via SMB3.0 (Block Redirected I/O) read-write I/O Disk read-write I/O Disk read-write I/O Disk read-write simultâneo em todos os nós do cluster Direct I/O Fonte : Cluster Shared Volumes Reborn in Windows Server 2012: Deep Dive, TechEd 2012 Direct I/O Shared Storage Direct I/O Falha de conexão com a storage
CSV Falha de nós SQLNode2 se torna o novo Coordinator Node Coordination Node Coordination Node SQL rodando no SQLNode2 não é afetado. SMB 3.0 SQLINST Os volumes são realocados para o nó que estiver Online no cluster Shared Storage É gerada uma breve file de I/O enquanto a propriedade dos volumes é alterada.
Determinando o status dos volumes CSV
Demo SQL Server FCI usando Cluster Shared Volume (CSV)
Considerações para implementação AG requer que os nomes dos bancos de dados sejam únicos entre os sites, Ajudará a evitar ou minimizar a contenção de I/O
Referências SQL Failover Cluster without Shared Storage SQL Server 2012 and SMB Install SQL Server with SMB Fileshare as a Storage Option iscsi Target Server in Windows Server 2012 R2 Deployments and Tests in an iscsi SAN Understanding the state of your Cluster Shared Volumes in Windows Server 2012 R2 Deploying SQL Server 2014 with Cluster Shared Volumes
Q&A Visite o espaço Ask the Experts, próximo dos expositores
Continue sua capacitação Microsoft Virtual Academy http://aka.ms/ch9 http://aka.ms/mva