O que é e como calcular IOPS (Exchange, SQL, SharePoint, etc)?

Esta pergunta é frequente, principalmente porque como consultor de soluções da Dell que é um fabricante de hardware temos que saber.

O que são IOPS?

É o número de operações por segundo que um disco individual consegue chegar. Por exemplo, um disco SAS de 10K consegue em média 140 IOPS.

Esta velocidade é padrão na industria com variações entre modelos, mas podemos ter uma base do que é aceitável e o fabricante do disco poderá lhe informar este número.

Porem, note que a diferença é muito grande, principalmente levando em conta os novos discos SSD. Por exemplo, o disco X25-E da Intel (Veja o pdf com as caracteristicas em http://download.intel.com/design/flash/nand/extreme/extreme-sata-ssd-datasheet.pdf) chega a números 30 vezes maiores que os discos SAS e SATA.

image

Porque o IOPS é tão importante?

Esta pergunta é óbvia, mas a explicação pode não ser tão simples. Acontece que na maioria dos casos temos a tendencia de minimizar a questão dizendo que é “performance” ou “percepção do usuário” mas na verdade pode impactar diretamente no funcionando de um aplicativo, em alguns casos até inviabilizando.

Por exemplo, um ambiente Exchange 2003 com 2 mil caixas de correio precisa de 1,5 mil IOPS e este número não é fácil de alcançar. O SQL Server para um banco de dados do SharePoint precisa de 5 mil IOPS para funcionar.

Como calcular o IOPS?

Multiplique o total de discos pelo tipo de RAID e conseguirá o seu número. Segue alguns exemplos:

image

O RAID 1, RAID 10 ou RAID 0 irá lhe proporcional o maior numero de IOPS possivel, já o RAID 5 o calculo leva em conta 1 disco a menos e no RAID 50 2 discos a menos para as paridades.

Como conseguir o maior IOPS possivel com maior capacidade?

Temos tres formas de fazer isso:

  1. Utilize discos de alta performance, como os SAS de 15K ou o SSD, porem são caros e no caso do SSD de tamanhos de apenas 32/50/64/100GB
  2. Utilize o tipo de RAID apropriado para a performance e não visando o tamanho desejado como muitos hoje fazem, o que muitas vezes implica em utilizar RAID 10 para ter a performance total ao invés de RAID 50, perderiamos em capacidade mas ganhamos em performance
  3. Compre um storage que trabalha com as LUNs virtuais, ou seja, ele aloca os dados nos discos conforme a necessidade deste dado e não necessita dizer o tipo de RAID

O que são as LUNs virtuais?

Não vamos entrar no ponto técnico já que este é bem mais complexo, porem podemos entender o que é esta nova tecnologia sem nos tornarmos especialistas em storage.

Usando os storages da Dell como exemplo, o MD3200i trabalha com LUNs da forma normal que conhecemos. Você indica que os discos X a Y formam o RAID 0, de Z a W o RAID 5 e assim por diante. Ou seja, mapeamos diretamente os discos e ficamos dependentes da capacidade de IO individual de cada um.

Já na série EqualLogic podemos definir o tamanho da LUN sem indicar os discos e o próprio storage irá alocar automaticamente os dados mais acessados nos discos mais rápidos (!!!!!!!!!!). Você deve estar achando que é brincadeira ou algo do tipo “conceito”, mas não é!!

Os novos storages vendidos pela Dell, EMC, IBM e outros são inteligentes e permitem misturar os discos. Por exemplo, posso colocar discos SSD na gaveta do storage e mais uma gaveta adicional com 24 discos de 15K SAS e não me preocupar se a LUN que criei está nos discos mais performáticos, quem fará este trabalho é o storage.

E, o mais interessante, quando o storage “perceber” que determinado dado (LUN) é mais acessado que outro ele irá realocar para os discos mais rápidos e fazer o shift dos dados sem intervenção e queda de performance, já que trabalha em background e automático !!!!

Referencias interessantes

Como calcular IOPS para Exchange 2003 http://technet.microsoft.com/en-us/library/bb125019(EXCHG.65).aspx

Como calcular IOPS para Exchange 2010 http://technet.microsoft.com/en-us/library/ee832791.aspx

Como calcular IOPS para o SQL do SharePoint 2010 http://technet.microsoft.com/en-us/library/cc298801.aspx

Utilitário para medir IOPS para o SQL Server (SQLIO) http://www.microsoft.com/download/en/details.aspx?displaylang=br&id=20163

Referencia do EqualLogic S6000 http://www.equallogic.com/products/default.aspx?id=9511

Centro de Treinamento TechNet–System Center Configuration Manager 2007 SP2 e R3

Foi muito bom ter recebido hoje a noticia da publicação de mais um Centro de Treinamento TechNet que pude participar.

Na semana passada foi publicado o Centro de Treinamento MSDN sobre desenvolvimento de aplicações com WPF (Novo Centro de Treinamento no MSDN–WPF 4.0)

Eu esperava ansioso pela publicação desta nova trilha de aprendizado para os profissionais de TI que tive o privilégio de organizar e participar na gravação dos videos, e os profissionaios mais um vez vão poder usufruir do trabalho de 3 MVPs: Eu, Raphael Perez (dotnetwork.com.br) e o Igor Humberto (Só Bits na Mente).

Foi um trabalho demorado, já que foi necessário usar várias VMs, preparar PPTs e montar demos, mas ficou muito bom, pois alem dos videos linkamos os tópicos da biblioteca técnica do TechNet correspondente.

Segue o link http://technet.microsoft.com/pt-br/hh264602

ee402630_CentroDeTreinamento2

System Center Configuration Manager 2007 SP2 e R3

Nesta trilha você aprenderá sobre a importância de um ambiente com gerenciamento centralizado. Veremos como o SCCM 2007 poderá ajuda-lo a distribuir software, realizar inventários, gerir conformidades, suporte remoto, economizar energia, relatórios gerenciais do parque de máquinas e outras importantes funções.


Gerenciando ambiente, Instalação e Configuração inicial do ambiente

Iniciaremos com um briefing sobre gerenciamento de ambientes e como o SCCM 2007 cumpre esta tarefa. Passaremos para a instalação, pré-requisitos e configuração inicial para o ambiente com SCCM 2007 em uma rede


Breve visão de gerenciamento


Instalação e pré-requisitos do SCCM 2007 SP2 e R3


Configuração inicial do ambiente da rede para o SCCM


Configurando sites secundários


Pré-requisitos e instalação (inglês)


Configurando sites para boa performance (inglês)


Novidades do System Center Configuration Manager 2007 SP2 e R3


Configurando boundaries e papeis do SCCM 2007 (inglês)


Instalação dos clientes e Inventários

Neste tópico saberemos como é realizado o descobrimento e a instalação dos agentes do SCCM. Também abordaremos como configurar, realizar e utilizar os inventários de software e hardware.


Configurando o servidor para descobrir e instalar clientes


Configurando os agentes de inventário


Utilizando os inventários e gerando relatórios


Instalando clientes (inglês)


Configurando a descoberta de clientes (inglês)


Configuração e uso de inventários (inglês)


Distribuição de Software, Updates e Sistema Operacional

Um dos principais recursos do SCCM é sua capacidade de controlar o envio, instalação e controle de softwares. Veremos como integrar o SCCM ao WSUS para distribuição centralizada e controlada dos updates.


Configurando os servidores e agentes para distribuição de software


Criando pacotes, programas e anúncios de software


Integrando o WSUS com o SCCM e distribuindo updates


Integrando SCUP com o WSUS para distribuir updates para softwares não-Microsoft


Configurando o SCCM para distribuir imagens de Sistema Operacional


Utilizando o SCCM para distribuir Sistema Operacional


Distribuição de software com o SCCM 2007 (inglês)


Distribuição de updates com o SCCM 2007 (inglês)


Distribuição de SO com o SCCM 2007 (inglês)


Gerenciando o parque de máquinas

Neste tópicos abordaremos as features que nos permitem gerenciar o parque de máquinas e gerenciar o uso de aplicações, bem como as funcionalidades adicionadas pelo R3.


Gerenciando software com o Software Metering


Utilizando o Asset Inteligence para gerenciamento de aplicações


Utilizando o Desired Configuration Manager (DCM) para garantir uniformidade


System Center Configuration Manager 2007 R3 e o Cliente Verde


Utilizando o Software Metering (inglês)


Utilizando o DCM para compliance de ambientes (inglês)


Gerenciamento de energia com o SCCM 2007 R3 (inglês)


Wake Up On Lan com o SCCM 2007 (inglês)


Relatórios, Monitoração e Manutenção do SCCM 2007

Conheça os relatórios nativos do SCCM 2007, bem como os integrados ao SQL Server Reporting. Monitores os diferentes logs, contadores de performance e ambiente do SCCM 2007. Prepare-se para recuperação de falhas.


Integrando o SCCM 2007 ao SSRS


Breve visão dos relatórios do SCCM 2007


Criando queries e relatórios no SCCM 2007


Monitoração e analise do ambiente


Backup e restore do SCCM 2010


Instalando relatórios no SCCM e SRSS 2008 (inglês)


Desenvolvendo queries e relatórios no SCCM 2007 (inglês)


Recuperação de desastres (inglês)

Virtualizar Domain Controllers–Devo ou não?

Esta pergunta já ouvi inúmeras vezes. Em treinamento, palestras, emails e clientes sempre ouço a pergunta “Porque eu não posso virtualizar o Domain Controller?”

Esta semana em um grande cliente que atendo como consultor da Dell, alguns sites não permitiam logon, o Office Communicator não funcionava e outros problemas. Portanto, acho que este tema é bem apropriado com o crescimento dos ambientes virtualizados.

UPDATE: O Windows Server 2012 introduziu recursos próprios para virtualizar Domain Controllers sem as restrições com o NTP, porem a questão de logar no servidor Hyper-V pode continuar ativa.

Vamos começar com o fato concreto: Ninguem disse que não podem ser virtualizados, e sim que existem fatores a considerar. E é sobre isso que irei escrever.

Posso virtualizar todos os meus Domain Controllers?

Pode, mas terá sérios problemas de segurança e comprometer a réplica se o seu Domain Controller for Windows 2003.

Existem alguns pontos a se considerar ao pensar em virtualizar todos os servidores que podem ser consultados em http://support.microsoft.com/kb/888794/en-us quando vc ainda utilizar DCs com Windows 2000 ou Windows 2003.

Não é a toa que se recomenda ter os FSMOs em servidor fisico, mas falaremos disso daqui a pouco.

Porque virtualizar todos os Domain Controller compromete a segurança?

Neste caso temos duas opções, a primeira deixar o Hyper-V utilizando segurança SAM (local) ou ingressar ele no dominio da VM e as duas podem lhe trazer problemas.

A primeira opção é um sistema de segurança antigo, não baseado em Kerberos e fácil de se quebrar.

A segunda é o risco de ao ter uma queda das VMs ou um desligamento para manutenção ou energia o servidor do Hyper-V não aceitar logon e mostrar a mensagem “No Domain Controllers for Authentication”.

Porque não é recomendado virtualizar FSMOs?

Porque os FSMOs desempenham papeis importantes na estrutura, normalmente é o Global Catalog e tambem o NTP Server.

Caso seja virtualizado as FSMOs o servidor poderá ficar com problemas de sincronização de horários, replicação atrasada, etc.

Se ele estiver em uma VM e esta for desligada por um certo tempo o risco de estar com problemas de USN é maior ainda.

E o pior momento é se o host Hyper-V perder o relógio e atrasar o horário, gerando inconsistencias sérias no AD.

Esta discussão é antiga, desde o inicio do Hyper-V e pode ser acompanhada em http://blogs.technet.com/b/robse/archive/2008/06/16/dc-virtualized-and-external-ntp-servers.aspx

Qual o problema com o NTP Server?

O NTP Server tem a função de ser o sincronizador de horário nos dominios. A principio é feito pelo PDC Emulator.

Maquina fisicas mantem relógio por consultar o RTC (Real Time Clock) na BIOS que é baseado em cristal e após isso o SO passa a usar algoritmos logicos para manter o relógio.

O problema em VMs é que este algoritmo pode ficar comprometido por conta da carga, já que ele não é fisico e sofre interferencia conforme o weight definido para as operações, ou seja, irá atrasar ou adiantar.

Para evitar isso o Hyper-V faz a sincronização usando as Integrations Features, e ai ocorrem as desincronizações e os usuários não conseguem logar, aplicaçoes dão erro, etc.

Ai temos um problema, no documento “Running Domain Controllers in Hyper-V” (http://www.microsoft.com/download/en/details.aspx?id=20164) diz para desligar esta feature dos DCs virtuais.

Por outro lado o blog do PM de virtualização (http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/11/19/time-synchronization-in-hyper-v.aspx) diz para não fazer isso.

O problema é muito bem abordado pelo Ben Armstrong e é real. Uma maquina fisica mantem o relógio quando desligada (RTC), mas a virtual não, portanto se todos os DCs forem virtuais e esta opção estiver desabilitada em um desligamento eles irão retornar com o horário em que foram desligados, e quem irá atualizá-los?

Minha Recomendação Final

Siga as práticas do documento “Running Domain Controllers in Hyper-V”, mas sempre tenha um servidor fisico QUE NÃO SEJA O HOST DO HYPER-V.

Configure todas as máquinas, incluindo os hosts do Hyper-V para sincronizar com esta fisica usando Net Time /SetSNTP:<servidor> e assim não terá problema com o relógio, já que o próprio host irá sincronizar com o fisico e consequentemente as VMs com ele.

 

É isso ai, espero ter ajudado e qualquer acrescimo podem me enviar pelos comentários ou email.