Virtualização

Obtendo alta disponibilidade para o Hyper-V

Steven Ekren

 

Visão geral:

  • Consolidando servidores com o uso do Hyper-V
  • Garantindo a alta disponibilidade das máquinas virtuais
  • Configurando um failover do Windows Server 2008

Sumário

Alta disponibilidade
Hosts e convidados
Disponibilidade dos convidados
Conferindo alta disponibilidade às VMs
Pré-requisitos
Guia passo a passo de HA
Considerações

A virtualização de servidores está pronta para causar um forte impacto nos departamentos corporativos de TI, e o Hyper-V com o Windows Server 2008 pode transformar isso em realidade. A consolidação dos servidores em menos máquinas físicas traz grandes vantagens no que se refere à economia de recursos e custos, mas é preciso levar em conta dois fatores essenciais durante o processo de planejamento. Os usuários têm expectativas cada vez maiores em relação à disponibilidade de software, o que inclui os aplicativos de LOB (linha de negócios) e ferramentas como as plataformas de mensagens e de colaboração. Além disso, problemas ou falhas nos servidores podem ter um impacto consideravelmente maior sobre as operações. O Windows Server 2008 e o Hyper-V fornecem soluções que podem ser implementadas para proporcionar HA (alta disponibilidade) às VMs (máquinas virtuais), e também às cargas de trabalho hospedadas nas VMs.

Alta disponibilidade

Disponibilidade significa que os usuários podem acessar um sistema para fazer seu trabalho. Com a alta disponibilidade, há uma expectativa considerável de que os usuários sempre poderão acessar o sistema, pois ele foi projetado e implementado de forma a garantir a continuidade operacional.

A alta disponibilidade para o Hyper-V é obtida com o uso do recurso de cluster de failover do Windows Server 2008. O tempo de inatividade, seja ele planejado ou não, exerce impacto sobre a alta disponibilidade, e o cluster de failover é capaz de aumentar muito a disponibilidade das máquinas virtuais nessas duas categorias.

As máquinas virtuais podem ser gerenciadas pelo cluster de failover, que, por sua vez, pode ser usado nas máquinas virtuais para monitorar e mover as cargas de trabalho hospedadas na VM. Descreverei em mais detalhes esses dois cenários de configuração, mas a maior parte deste artigo tratará do gerenciamento de máquinas virtuais. No entanto, antes de começar, convém consultar a barra lateral "Termos úteis do Hyper-V".

Hosts e convidados

Como há vários sistemas operacionais em execução em um sistema Hyper-V, pode ser uma tarefa desafiadora definir com clareza qual é a camada ou o sistema operacional em discussão. Eu uso o termo "convidado" para referir-me ao sistema operacional e ao ambiente em uma VM Hyper-V executados em uma partição filho. Utilizo o termo "host" para indicar a máquina física, que é gerenciada pelo sistema operacional na partição pai do Hyper-V.

A disponibilidade do host soluciona os problemas causados pelo cenário de "colocar todos os ovos em uma só cesta", que pode ser produzido pela consolidação de servidores. O cluster de failover do Windows Server 2008 pode ser configurado na partição pai (host) do Hyper-V, de forma que as partições filho (máquinas virtuais ou convidados) do Hyper-V possam ter sua integridade monitorada e ser movidas entre os nós do cluster. Essa configuração tem as seguintes vantagens essenciais:

  • Se a máquina física na qual o Hyper-V e a VM são executados precisar ser atualizada, alterada ou reinicializada, as VMs poderão ser movidas para outros nós do cluster. É possível mover de volta as VMs assim que a máquina física retornar ao serviço.
  • Se a máquina física na qual o Hyper-V e as VMs são executados falhar (por exemplo, devido a uma falha na placa-mãe) ou apresentar uma degradação significativa, os outros membros do cluster de failover do Windows assumirão a propriedade das VMs e as colocarão online automaticamente.
  • Se a VM falhar, poderá ser reiniciada no mesmo servidor Hyper-V ou movida para outro. Como essa situação é detectada pelo cluster de failover do Windows, ele adotará automaticamente as etapas de recuperação, com base nas configurações das propriedades de recursos da VM. O tempo de inatividade é minimizado devido à automação da detecção e da recuperação.

A Figura 1 representa o que pode ocorrer nesse tipo de situação. A princípio, VM2 reside no Host A. Depois, VM2 é movida para o Host B. Observe que o nó que possui o armazenamento SAN LUN 2 é transferido do Host A para o Host B durante a movimentação. Para garantir que a solução de alta disponibilidade atenda às suas necessidades de disponibilidade, avalie cuidadosamente onde as VMs serão colocadas. É preciso pensar tanto em capacidade quanto em desempenho.

fig01.gif

Figura 1 Uma máquina virtual e a mudança de seu armazenamento para um novo host (clique na imagem para ampliá-la)

A capacidade dos nós deve ser suficiente para hospedar todas as VMs e para permitir que um número "X" de nós falhe ou seja retirado da participação ativa no cluster. "X" representa o número de nós cuja perda você deseja que o cluster seja capaz de tolerar, mantendo a capacidade de hospedar todas as VMs. Em sua decisão quanto à capacidade, você pode optar por ter alguns nós que não hospedem VMs regularmente, mantendo-os em reserva. Como alternativa, é possível distribuir as VMs por todos os nós, garantindo que cada nó tenha capacidade extra suficiente para assumir corretamente a propriedade das VMs e iniciá-las, caso um número "X" de nós apresente falha.

Por motivos relacionados ao desempenho cotidiano, talvez seja interessante distribuir as VMs por todos os nós do cluster. Se houver nós mantidos em reserva, sem hospedar nenhuma VM, os nós que hospedam as VMs terão mais recursos em uso, e isso poderá reduzir o desempenho das VMs e da partição de gerenciamento. Distribuir as VMs pelos nós reduz a carga de cada um e pode resultar em melhor desempenho para as VMs e as partições de gerenciamento. No entanto, pode tornar mais complexo o planejamento de capacidade. Softwares de gerenciamento como o System Center Virtual Machine Manager 2008 podem ajudá-lo, fornecendo cálculos de capacidade para falha de nós e posicionamento de VMs.

Disponibilidade dos convidados

A disponibilidade dos convidados se concentra em conferir alta disponibilidade a uma carga de trabalho executada em uma VM. As cargas de trabalho geralmente incluem servidores de arquivos e de impressão, IIS e aplicativos de LOB. A análise das necessidades e das soluções de alta disponibilidade para as cargas de trabalho em VMs é muito semelhante àquela realizada em servidores autônomos. A solução dependerá da carga de trabalho específica.

Algumas cargas de trabalho podem alcançar a alta disponibilidade por meio do Windows NLB (balanceamento de carga de rede), que permite que vários servidores façam parte de um pool com um nome de rede comum. Os clientes fazem uma solicitação de conexão usando esse nome de rede virtual, e a conexão é estabelecida com um dos nós no cluster NLB. Um cenário que tipicamente utiliza clusters NLB é a criação de farms da Web com IIS, sendo que cada sistema individual tem IIS com as mesmas páginas da Web e acesso aos mesmos dados. O NLB fornece o balanceamento de carga, e também a capacidade de remover a associação de servidores para manutenção ou em caso de problema com o servidor, proporcionando assim um nível de alta disponibilidade. Se uma VM Hyper-V estiver executando o Windows Server 2008 (ou uma versão anterior do Windows Server que inclua NLB), o convidado poderá ser membro de um cluster NLB com outros convidados no mesmo ou em outro(s) host(s) Hyper-V.

Os convidados que executam o Windows Server 2008 podem usar o recurso de cluster de failover do Windows para fornecer alta disponibilidade a suas cargas de trabalho. O uso do cluster de failover do Windows em um convidado (cluster de convidado) tem várias vantagens:

Monitoramento de integridade da carga de trabalho O cluster de failover do Windows tem um monitor de recursos que faz chamadas para a DLL de recursos associada ao cluster. Cada recurso conta com um monitoramento de integridade que testa o aplicativo ou o serviço gerenciado por ele para garantir que esteja funcionando corretamente. Essas verificações são normalmente chamadas de isAlive/looksAlive. Se apresentar falha em uma dessas chamadas, o recurso propriamente dito falhará. Dependendo da configuração de suas propriedades, talvez o recurso tente reiniciar o serviço ou o aplicativo, ou talvez seja movido para outro nó no cluster de failover do Windows.

Manutenção de máquinas virtuais Se a configuração da VM precisar ser alterada, ou então se o sistema operacional ou o software precisar ser atualizado ou alterado, a carga de trabalho poderá ser movida para outro nó do cluster, e a VM poderá ser desligada ou atualizada com uma interrupção mínima para os usuários finais.

Manutenção de máquinas host Se a máquina física que hospeda uma VM Hyper-V precisar de manutenção ou de atualizações de software, e os outros membros do cluster de failover do Windows estiverem localizados em outros hosts Hyper-V, a carga de trabalho na VM poderá ser movida para outro nó do cluster, e a VM poderá ser desligada para acomodar as alterações ou as reinicializações do servidor físico.

Falha de máquina virtual ou host Se houver falha do host Hyper-V físico ou da máquina virtual convidada, os outros nós do cluster de failover do Windows detectarão que o membro do cluster não está mais respondendo nem participando do cluster, e os nós restantes colocarão online os aplicativos ou os serviços que eram executados na VM com falha.

Termos úteis do Hyper-V

A seguir, você encontra uma lista de termos que ajudam a definir os componentes ou as funções de um sistema Hyper-V de alta disponibilidade (cluster de host).

Partição pai Todos os sistemas operacionais executados em um servidor de hipervisor têm recursos de hardware alocados que incluem RAM, CPU e outros componentes de sistema. No Hyper-V, a partição que gerencia a configuração dos recursos do hipervisor e do sistema geralmente é chamada de partição pai. Quando a função Hyper-V é configurada e o servidor, reinicializado, a instalação do Windows Server 2008 que constituía o sistema operacional nativo do sistema torna-se o sistema operacional da partição pai do servidor Hyper-V.

Partição filho Um ambiente isolado em um servidor Hyper-V, configurado para manter um sistema operacional convidado e fornecer recursos de hardware para esse sistema operacional.

Host Hyper-V O servidor físico que hospeda o Hyper-V e o sistema operacional executado na partição pai.

Máquina virtual Hyper-V As informações de configuração e os dados do Hyper-V usados para inicializar e executar uma partição filho do Hyper-V. Isso inclui as informações de configuração necessárias para criar a partição filho e os arquivos VHD ou os discos de passagem contendo seus dados.

Disco de passagem Um dispositivo de armazenamento exposto no Gerenciamento de Disco como um disco físico designado para uso exclusivo de um convidado Hyper-V. O convidado Hyper-V monta o disco e o utiliza como um dispositivo de armazenamento conectado localmente.

VHD (disco rígido virtual) Um arquivo ao qual se conecta uma partição filho Hyper-V, exposto ao sistema operacional como um dispositivo de armazenamento (disco). O arquivo .vhd se localiza em um dispositivo de armazenamento montado pela partição pai, e pode ser um dispositivo de armazenamento com conexão direta ou um armazenamento com o qual se faz conexão via SAN, NAS ou SMB.

Conferindo alta disponibilidade às VMs

É muito simples configurar uma máquina virtual para ter alta disponibilidade utilizando o Assistente de Função de HA, no Gerenciamento de Cluster de Failover. As máquinas virtuais Hyper-V têm vários componentes essenciais que precisam ser levados em conta no gerenciamento de alta disponibilidade. Vejamos alguns conceitos importantes e pré-requisitos gerais.

Nós de cluster de failover Cada servidor físico que faz parte de um cluster de failover é chamado de nó. Nos clusters de host, o serviço de cluster de failover é executado no Windows Server 2008, na partição pai do sistema Hyper-V. Isso permite que as VMs executadas em partições filho dos mesmos servidores físicos sejam configuradas como máquinas virtuais de alta disponibilidade. As máquinas virtuais configuradas para HA serão mostradas como recursos no console de Gerenciamento de Cluster de Failover.

Armazenamento de HA As máquinas virtuais de alta disponibilidade podem ser configuradas par usar VHDs (discos rígidos virtuais), discos de passagem e discos diferenciais. Para habilitar a movimentação de máquinas virtuais entre nós do cluster de failover, é preciso haver armazenamento (que apareça na forma de discos no Gerenciamento de Disco) acessível por qualquer nó que possa hospedar a VM e gerenciado pelo serviço de cluster de failover. Os discos de passagem devem ser adicionados ao cluster de failover como recursos de disco, e os arquivos VHD devem estar em discos adicionados ao cluster de failover como recursos de disco.

Recurso de máquina virtual É um tipo de recurso do cluster de failover que representa a máquina virtual. Quando o recurso de máquina virtual é colocado online, uma partição filho é criada pelo Hyper-V e o sistema operacional na máquina virtual é iniciado. A função offline do recurso de máquina virtual remove a VM do Hyper-V no nó onde ela era hospedada, e a partição filho é removida do host Hyper-V. Se a máquina virtual for desligada, interrompida ou colocada em estado salvo, esse recurso será colocado em estado offline.

Recurso de configuração de máquina virtual É um tipo de recurso do cluster de failover usado para gerenciar as informações de configuração de uma VM. Há um recurso de configuração de máquina virtual para cada máquina virtual. Uma propriedade desse recurso contém o caminho para o arquivo de configuração contendo todas as informações necessárias para adicionar a máquina virtual ao host Hyper-V. O acesso ao arquivo de configuração é necessário para que uma máquina virtual seja iniciada. Como a configuração é gerenciada por um recurso separado, a configuração do recurso de uma VM pode ser modificada, mesmo com a VM offline.

Grupo de serviços e aplicativos de máquina virtual Para que um serviço ou aplicativo tenha alta disponibilidade por meio do cluster de failover, é preciso que vários recursos estejam hospedados no mesmo nó do cluster de failover. Para garantir que esses recursos estejam sempre no mesmo nó e que interajam corretamente, eles são colocados em um grupo chamado pelo cluster de failover do Windows Server 2008 de "Serviços ou Aplicativos". O recurso de máquina virtual e o recurso de configuração de máquina virtual de uma VM estão sempre no mesmo grupo de Serviços ou Aplicativos. Também pode haver um ou mais recursos de disco físico (ou outro tipo de armazenamento) contendo VHDs, arquivos de configuração ou discos de passagem em um grupo de Serviços ou Aplicativos.

Dependências de recursos É importante garantir que o recurso de configuração de máquina virtual seja colocado online antes que o recurso de máquina virtual seja colocado online (iniciado), e que o recurso de configuração de máquina virtual seja colocado offline depois que o recurso de máquina virtual seja colocado offline (interrompido). Configurar as propriedades do recurso de máquina virtual de forma a torná-lo dependente do recurso de configuração de máquina virtual garante essa ordem online/offline. Se houver um recurso de armazenamento contendo o arquivo do recurso de configuração de máquina virtual ou o recurso de máquina virtual, será preciso tornar o recurso dependente desse(s) recurso(s) de armazenamento. Por exemplo, se a máquina virtual usar arquivos VHD no disco G: e no disco H:, o recurso de máquina virtual deverá ser dependente do recurso do arquivo de configuração, do recurso do disco G: e do recurso do disco H:.

Pré-requisitos

Eis aqui os três pré-requisitos para conferir alta disponibilidade às máquinas virtuais Hyper-V usando o recurso de cluster de failover do Windows Server 2008:

  1. O recurso de cluster de failover do Windows Server 2008 deve ser configurado para cada nó do cluster. Para obter mais informações sobre como configurar e gerenciar clusters de failover, consulte a barra lateral "Recursos do Hyper-V".
  2. A função Hyper-V precisa estar instalada. As atualizações do Hyper-V precisam estar instaladas, e a função, configurada para cada nó do cluster de failover (mais uma vez, consulte a barra lateral "Recursos do Hyper-V"). O Hyper-V tem um pacote de atualização que instala os componentes do servidor Hyper-V, e outro que instala o console de gerenciamento do Hyper-V. Quando a atualização dos componentes do servidor Hyper-V estiver instalada, a função poderá ser adicionada com o Gerenciador de Servidores ou o ServerManagerCMD.
  3. Você precisa ter armazenamento compartilhado disponível para as máquinas virtuais. O armazenamento pode ser gerenciado pelo cluster de failover como um tipo de recurso de disco físico interno, ou então você pode usar uma solução de terceiros para gerenciar o armazenamento compartilhado. É claro que a solução de terceiros precisa oferecer suporte aos clusters de failover do Windows Server 2008.

Guia passo a passo de HA

Agora, vejamos como uma solução de alta disponibilidade é configurada. O primeiro passo é configurar uma máquina virtual. Em um dos nós do cluster de failover com a função Hyper-V instalada, configure uma máquina virtual usando o Gerenciador Hyper-V (veja a Figura 2). Pode ser uma nova VM configurada manualmente, ou então uma VM preexistente importada. Os VHDs precisam estar localizados em um disco gerenciado pelo cluster de failover do Windows Server 2008 e que esteja online no nó onde a VM está sendo configurada.

fig02.gif

Figura 2 Configurando uma máquina virtual (clique na imagem para ampliá-la)

Agora, coloque a máquina virtual no estado interrompido desligando-a, desativando-a ou salvando seu estado. Somente as máquinas virtuais no estado interrompido podem ser configuradas para gerenciamento pelo cluster de failover.

Abra o console do Gerenciamento de Cluster de Failover (mostrado na Figura 3) em qualquer servidor que esteja executando a função de cluster de failover do Windows Server 2008, ou então em um cliente Windows Vista executando as RSAT (Ferramentas de Administração de Servidor Remoto). Conecte-se ao cluster de failover escolhendo a ação Gerenciar um Cluster… e depois selecionando um nó ou o nome do cluster, ou então selecionando a opção para conectar-se ao cluster no nó em que o console é executado.

fig03.gif

Figura 3 Uma máquina virtual no Gerenciamento de Cluster de Failover (clique na imagem para ampliá-la)

No console do Gerenciamento de Cluster de Failover, selecione a ação Configurar um Serviço ou Aplicativo... Isso abrirá o Assistente de Alta Disponibilidade, que o orientará na configuração de serviços, aplicativos ou máquinas virtuais a serem gerenciados pelo cluster de failover. Na página Selecionar Serviço ou Aplicativo do assistente, escolha Máquina Virtual e depois selecione Avançar.

A página Selecionar Máquina Virtual exibirá todas as máquinas virtuais configuradas em qualquer nó do cluster de failover. Selecione uma máquina virtual e depois, Avançar. A página de Confirmação do assistente exibirá possíveis avisos ou erros. Nesta etapa, a configuração da máquina virtual é verificada, para garantir que possa ser configurada como um recurso de HA e que os nós possam hospedá-la. Selecione Avançar para adicionar a máquina virtual ao cluster de failover como um recurso de alta disponibilidade.

A página de Resumo traz informações sobre os resultados da adição da máquina virtual como um recurso de alta disponibilidade, inclusive possíveis avisos. O botão Exibir Relatório… mostra os detalhes das tarefas realizadas para conferir alta disponibilidade à máquina virtual, além de possíveis avisos ou erros. Por fim, selecione Concluir para fechar o Assistente de Alta Disponibilidade.

Como mostra a janela na Figura 3, o console do Gerenciamento de Cluster de Failover lista um objeto com o nome padrão de Virtual Machine(x) no painel esquerdo, sob o nome do cluster e em Serviços ou Aplicativos. Escolha a máquina virtual nessa estrutura de árvore, e os recursos que fazem parte do grupo de Serviços ou Aplicativos serão mostrados no painel central do console. Se qualquer outra máquina virtual tivesse seus arquivos no mesmo armazenamento da VM escolhida, também seria adicionada ao grupo. Serão mostrados os recursos de máquina virtual e de configuração de máquina virtual referentes a cada máquina virtual colocada no grupo.

O painel de informações do grupo de Serviços ou Aplicativos exibe as informações de Status, Alertas, Proprietários Preferenciais e Proprietário Atual do grupo. O nó Proprietário é aquele onde a máquina virtual está configurada ou em execução no momento. Selecione a ação Mover Máquinas Virtuais para Outro Nó para fazer com que a máquina virtual seja colocada offline e depois volte a ficar online em outro nó. Em geral, é prática recomendada mover uma VM para cada nó que possa hospedá-la no cluster de failover para verificar se a movimentação tem êxito e se a VM é iniciada e executada.

Recursos do Hyper-V

Considerações

Eis alguns pontos fundamentais que é preciso ter em mente ao configurar máquinas virtuais para alta disponibilidade:

Armazenamento Se as máquinas virtuais tiverem arquivos VHD no mesmo disco compartilhado, ainda que estejam localizados em diferentes volumes do mesmo disco, eles serão colocados no mesmo grupo de Serviços ou Aplicativos. Uma das vantagens do compartilhamento de disco é permitir melhor utilização do espaço de armazenamento compartilhado disponível.

No entanto, o aspecto negativo é que, sempre que uma máquina virtual for movida, seja devido à recuperação automática de um problema na máquina virtual ou por opção do administrador, todas as máquinas virtuais do grupo serão movidas.

Letras de unidade e GUIDs É possível criar volumes sem letras de unidade atribuídas. As máquinas virtuais podem usar esses volumes, e eles podem ser gerenciados pelo cluster de failover. Se um recurso de disco tem volumes que usam GUIDs em vez de letras de unidade, o GUID será mostrado no Gerenciamento de Cluster. Ao criar máquinas virtuais e especificar o caminho para os VHDs, é muito importante verificar se o GUID no caminho corresponde ao GUID mostrado no Gerenciamento de Cluster para o volume. Caso não corresponda, talvez a máquina virtual não seja iniciada corretamente (online) em outros nós do cluster de failover.

Há várias situações nas quais é possível que os GUIDs não correspondam. Se um volume foi colocado online em nós antes que eles fossem adicionados como um recurso de disco gerenciado pelo cluster de failover, talvez o volume tenha um GUID diferente em cada nó. Também é possível que um volume tenha vários GUIDs em um único nó. Quando um disco é adicionado a um cluster de failover como recurso de disco físico, os GUIDs do volume em uso no nó em que os discos estão online são anotados nas propriedades do recurso de disco.

Os GUIDs dos volumes serão adicionados a um nó quando o recurso de disco for colocado online. Isso garante que o GUID específico anotado pelo cluster de failover para o volume seja um caminho válido em qualquer nó que coloque o disco online. O nó pode ter outros GUIDs associados ao mesmo volume. Por isso, um usuário poderia encontrar um GUID válido para o volume naquele nó, mas que não fosse o mesmo GUID que tem o uso com o volume nos outros nós garantido pelo cluster de failover. O sintoma desse problema é que um recurso de máquina virtual, geralmente o de Configuração, falha ao ser colocado online e exibe uma mensagem de erro indicando que o caminho é inválido. O caminho na mensagem de erro mostra o GUID que não é aquele gerenciado pelo cluster para o volume.

Pontos de montagem Os volumes montados em uma pasta em outro volume, em vez de ter uma letra de unidade atribuída ou um GUID utilizado, são válidos para uso com o Hyper-V e os clusters de failover. Como o volume montado e o volume que hospeda o ponto de montagem precisam estar no mesmo nó do cluster de failover, você precisa ter todos os discos que fazem parte do ponto de montagem no mesmo grupo de Serviços ou Aplicativos do cluster de failover.

Se os volumes estiverem nos mesmos discos, isso logicamente não será um problema. Porém, certamente será um problema se os volumes estiverem em discos diferentes. Embora seja evidente, convém mencionar que o volume montado e o host do ponto de montagem precisam ser armazenamento compartilhado configurado para ser gerenciado pelo cluster de failover.

Discos diferenciais Todos os arquivos VHD que fazem parte de discos diferenciais precisam estar em armazenamento compartilhado no mesmo grupo de Serviços ou Aplicativos da VM que utiliza os discos diferenciais. Em sua configuração mais simples, um disco diferencial envolve dois VHDs. Um VHD é o pai e contém um conjunto de dados usados como base. O outro VHD é um filho associado ao pai.

Quando é usado pela primeira vez, o disco diferencial aparece apenas como pai. Se houver dados localizados no pai, serão lidos a partir desse VHD. Todas as gravações ocorrem no VHD filho. Se houver dados localizados no filho, uma leitura desses dados fará referência ao VHD filho.

Se, por algum motivo, uma VM for configurada de forma que o VHD filho esteja no armazenamento compartilhado, mas o VHD pai não esteja no armazenamento compartilhado no mesmo grupo, ou então esteja em um dispositivo de armazenamento com conexão direta, a VM falhará ao ser iniciada (online) se for movida para outro nó. O Assistente de Alta Disponibilidade verificará se isso está configurado corretamente na VM e emitirá uma mensagem de erro se detectar o problema, mas convém observar esse requisito se a configuração da VM for alterada.

Steven Ekren é gerente sênior de programa da equipe de cluster de failover e alta disponibilidade do Windows Server. Steven atuou por 12 anos no Suporte da Microsoft, onde auxiliou clientes corporativos a implementar e solucionar problemas em clusters de failover do Windows Server e em tecnologias de virtualização incluindo o Windows Hyper-V, o System Center Virtual Machine Manager, o Microsoft Virtual Server e o Microsoft Virtual PC.