Olá sobreviventes…

Como sinto falta de postar os acontecimentos de campo, realmente tenho bastante coisa para postar, mas realmente ficaram bastante corridos esses meses, e peço desculpas para aqueles que estão esperando a continuação do post sobre Exchange e Smartphones, assim que eu organizar melhor essas mudanças na minha vida irá dedicar um pouco mais ao blog.

BTW, nesse último sábado, estive em um cliente que queria formatar um servidor IBM x3400 e instalar novamente o Windows Server 2003 R2. Esse servidor possui o SQL Server 2005 e uma database de 30GB. O desejo de reinstalar tudo é devido esse servidor ter sofrido seriamente diversos ataques de vírus, entre eles o Sality e Conflicker, o SQL estava “tão zuado” que o agente de jobs não conseguia executar nenhuma tarefa, como por exemplo backup além do que diversas consoles MMC estavam corrompidas, além de uma lentidão fora do normal.

A operação foi sem segredo, reiniciamos o servidor utilizando um WINPE e copiamos as databases utilizando o ROBOCOPY (adoro o nome de tool!) para uma HD externa. No meu notebook, um Samsung R480 com 6GB de RAM, havia previamente preparado uma VM com o mesmo Windows e com o SQL e também respeitando os mesmos updates que estavam instalados no servidor original. Realizamos um teste com as databases online e utilizamos o Totvs Protheus para confirmar que as databases estavam devidamente online e disponíveis para os users.

Como esse servidor possui uma controladora ServeRAID 8k, além dos motivos obvieis, utilizei o IBM SERVERGUIDE para preparar o servidor para a instalação automatizada do Windows Server 2003 R2. Para aqueles que não conhecem, o SERVERGUIDE é uma ferramenta de deploy que, entre outras vantagens, permite instalar uma versão do Windows que não possui os device drivers necessários, como nesse caso, o Windows Server 2003 R2 não possui em sua mídia original os devices drivers necessários para acessar o volume fornecido pela controladora ServeRAID.

Evidentemente utilizei a versão mais recente do SERVERGUIDE. Até a data da publicação desse post, a versão mais recente era 9.00. Como o SERVERGUIDE usa uma base do Windows Server 2008, foi fácil preparar um flash-disk e colocar os arquivos para ser “bootado” pelo próprio flash-disk, pois não tem coisa mais chata e lenta que usar uma mídia ótica para isso.

Iniciado com sucesso o SERVERGUIDE, o mesmo reconheceu o servidor, os discos e volume em RAID-5 corretamente. Depois de preenchido com as informações do wizard, foi iniciado automaticamente o executável do WINNT32 pelo próprio SERVERGUIDE copiando os arquivos de instalação para o volume. Tudo lindo e maravilhoso até a hora que foi realizada o reboot (não uso mais a palavra restart, por causa de uma suposta banda de gênero questionável). Ao ser iniciado a tela de SETUP com a carga dos device drivers de controladoras, o mesmo travou e foi exibido um BSD (blue screen of death). O erro apresentado era:

*** STOP: 0x0000007B (0x789EA94, 0x00000034, 0x00000000, 0x00000000)

Inicialmente a minha suspeita era memória, pois já tive alguns casos de com esse erro que, ao tirar algum pente de memória, o mesmo se comportava corretamente. Para confirmar se poderia ser memória, iniciei a execução do SETUP da própria mídia do Windows Server, e ao finalizar a carga dos devices drivers de controladoras, o mesmo conseguiu passar do ponto de erro, precisamente a tela já estava na opção de iniciar a instalação propriamente dita, claro que não reconheceu o volume pois o mesmo não possui o device driver apropriado. A solução era simples, apesar de todo o tempo perdido para essa conclusão: Utilizar uma versão mais antiga do SERVERGUIDE, precisamente a versão utilizada com sucesso foi a 8.41.

Fica a dica: Ao utilizar algum hardware relativamente antigo e um software também antigo, como por exemplo, o próprio Windows Server 2003, em muitos casos, o device driver mais atual pode ser o causador do problema.

Abraços e até a próxima!

Lição do Dia

Publicado: 2012/02/29 em TECH
Tags:, , ,

Nunca deixe um usuário fazer o trabalho de um analista de suporte.

Continuando com o artigo sobre o que é virtualização, hoje apresento alguns detalhes técnicos sobre as diferentes tecnologias de virtualização.

As Tecnologias de Virtualização

 

Introdução a Virtualização

Ao longo dos últimos anos, muitas organizações se voltaram para a tecnologia de virtualização para consolidar servidores físicos e reverter a tendência de expansão de servidores, bem como menor consumo elétrico, refrigeração e os custos de espaço para lidar com orçamentos cada vez menores. Recentemente, as tecnologias de virtualização de aplicativos e desktops também surgiram e foram adoptadas em um esforço para simplificar a implementação e gestão das infraestruturas do usuário final.

Cada vez mais, departamentos de Tecnologia da Informação (TI) descobrem que virtualização de infraestruturas proporcionam ambientes mais flexíveis para operar e contribuir para mais rapidamente se adaptar às constantes mudanças empresariais.

Virtualização, no contexto de software, como por exemplo, o Microsoft Hyper-V Server e Virtual Server 2005 R2, pode ser descrito como a abstração de recursos físicos do sistema de modo que várias partições lógicas possam serem criadas para hospedar um conjunto heterogêneo de sistemas operacionais, cada um executando simultaneamente em um único servidor físico.

Cada partição lógica, também conhecida como Máquina Virtual (VM – Virtual Machine) é um ambiente de software que apresenta recursos (através de emulação de hardware ou outros dispositivos), no topo do qual um sistema operacional e um ou mais aplicativos podem ser instalados e executados.

Embora a virtualização tornou-se intensivamente adotada em ambientes de TI baseados em x86 somente na década atual, a tecnologia em si foi realmente introduzida pela primeira vez há 40 anos.

 

Virtualização baseada em x86

Na última década, as pesquisas de tecnologia de virtualização e o desenvolvimento de produtos têm estado focado na plataforma x86 (32 bits e 64 bits). Em 2006, a AMD e Intel liberaram revisões de processadores x86 com novas instruções e extensões especificamente dirigidas para habilitar a virtualização auxiliada por hardware.

As deficiências da plataforma legada de processadores x86 em relação aos recursos atuais de virtualização não impediu os fornecedores de software de desenvolver soluções antes do lançamento do Intel Virtualization Technology (Intel VT) e AMD-Virtualization (AMD-V). Na verdade, vários tipos de tecnologias de virtualização foram criados para serem executados na arquitetura original do processador x86, utilizando diversas metodologias que diferem em seu nível de abstração, limitações e problemas.

 

O que é Virtualização de Software?

Virtualização de software inclui várias técnicas para permitir que um único sistema físico hospede várias partições isoladas e seguras entre elas, compartilhando simultaneamente recursos do sistema físico. Essas abordagens diferentes variam em densidade de partição (o número de partições simultâneas), escalabilidade, desempenho e abrangência de sistemas operacionais que podem ser suportadas simultaneamente em uma determinada plataforma.

 

Virtualização em nível de Máquina

A base de uma solução de virtualização de nível de máquina é o Monitor de Máquina Virtual (Virtual Machine Monitor – VMM). O VMM é responsável pela criação, isolamento e preservação do estado da máquina virtual, bem como a orquestração de acesso aos recursos do sistema. O VMM está vinculado a uma arquitetura de processador específico. Embora permita que diferentes sistemas operacionais possam executar em máquinas virtuais, contudo está limitado a sistemas operacionais que possam ser executados nativamente no processador físico do sistema.

Na figura abaixo ilustra três diferentes implementações de VMM: Tipo-2, o modelo “híbrido”, e Tipo-1. O VMM de tipo-2 é executado sobre um sistema operacional hospedeiro (host), como o Java VM. No modelo “híbrido”, o VMM é executado como um par (peer) para o sistema operacional host. Essa tipo de implementação é utilizada, por exemplo, no software Microsoft Virtual Server 2005 R2. Em contraste, um VMM de tipo-1, ou “hypervisor”, é executado diretamente no hardware abaixo de todas as partições da máquina virtual. O software Microsoft Hyper-V é uma solução baseada em hypervisor.

Em termos de desempenho, o hypervisor (VMM de tipo-1) é geralmente capaz de atingir níveis mais elevados de eficiência e, portanto, maior densidade de máquina virtual. Os outros tipos de VMMs dependem do sistema operacional host para o acesso aos recursos, o que resulta em mudanças de contexto mais custoso, menor desempenho e de maior sobrecarga ao sistema.

Apesar das diferentes implementações de VMM, as três variantes principais são usadas para criar uma interface entre as máquinas virtuais e os recursos do sistema virtualizado. Esses métodos são denominados Virtualização Completa (Full Virtualization), a Virtualização Nativa (Native Virtualization) e Paravirtualização (Paravirtualization).

 

Virtualização Completa

Nesse método, um sistema virtual completo é criado e mantido pelo VMM para abstrair o hardware real da máquina virtual. Esse método permite que um sistema operacional seja executado em uma máquina virtual sem qualquer modificação. O software Virtual Server 2005 R2 usa essa técnica junto com tradução binária, um processo que permite ao VMM tratar com instruções x86 não-virtualizáveis para fornecer virtualização em processadores x86 anteriores ao Intel VT e AMD-V.

Uma vantagem da virtualização completa e abordagem de dissociação entre o hardware físico da máquina virtual é a capacidade de mover máquinas virtuais facilmente entre servidores com configurações físicas diferentes, contudo essa flexibilidade vem com um impacto no desempenho por causa da sobrecarga associada com a manutenção de cada estado da máquina virtual e da latência introduzida com a tradução binária.

 

Virtualização Nativa

Virtualização nativa depende de uma arquitetura de processador virtualizável, como por exemples os processadores AMD-V e Intel VT. Esses processadores implementam novos modos de execução, instruções e construções de dados em hardware que são projetados para reduzir a complexidade do VMM.

Com a virtualização nativa, o VMM não é mais necessita manter o estado e as características de recursos da máquina virtual em software; essas funções agora pertencem ao hardware do processador. Assim como no caso da virtualização completa, sistemas operacionais podem rodar sem modificações dentro de máquinas virtuais. Hyper-V utiliza esse método para executar sistemas operacionais legados.

Este tipo de implementação tem muitas vantagens potenciais, que vão desde a simplificação da arquitetura do VMM para oferecer melhorias de desempenho significativas bem como a redução de sobrecarga baseada em software. Ao reduzir a sobrecarga da virtualização, uma maior densidade de partição pode ser alcançada em qualquer sistema.

 

Paravirtualização

Paravirtualização foi desenvolvido como uma alternativa ao uso de tradução binária para lidar com instruções x86 não-virtualizáveis. Nesse método os sistemas operacionais convidados (guests) requerem modificação para permitir “hiperchamadas” da máquina virtual para o hypervisor. Em vez de ter o hypervisor (ou VMM) traduzir uma instrução potencialmente perigosa do sistema operacional convidado, uma “hiperchamada” estruturada é feita a partir do convidado para o hypervisor para gerenciar as mudanças de estado do sistema. Nesse modelo o sistema operacional é modificado para chamar o VMM sempre que executar uma instrução que possa alterar o estado do sistema, uma instrução sensível. Isso acaba com a necessidade do VMM testar instrução por instrução, o que representa um ganho significativo de desempenho. Outro ponto positivo da paravirtualização é que os dispositivos de hardware são acessados por drivers da própria máquina virtual, não necessitando mais do uso de drivers genéricos que inibiam o uso da capacidade total do dispositivo.

Embora a paravirtualização apresentasse um ganho de desempenho significativo frente à virtualização completa, essa disparidade tem sido superada devido à presença de instruções de virtualização nos processadores Intel VT e AMD-V.

A paravirtualização foi lançada e implementada pela XenSource (recentemente adquirida pela Citrix), que produziu a solução de virtualização Xen de código aberto. Os lançamentos iniciais de Xen suportavam apenas alguns sistemas operacionais modificados. Com o lançamento do Xen 3.0, que alavancou a funcionalidade de virtualização de hardware da AMD-V e Intel VT, um sistema operacional Windows XP inalterado podia ser executado em uma máquina virtual convidada.

 

Virtualização em nível de Sistema Operacional

Virtualização em nível de sistema operacional é baseada na abstração da camada do sistema operacional para suportar múltiplas partições isoladas ou para suportar ambientes virtuais (VEs) em uma instância única do sistema operacional do host. A virtualização é realizada através do acesso de multiplexação ao kernel, enquanto que assegura que nenhum único VE seja capaz de derrubar o sistema.

Esta técnica resulta em baixa sobrecarga de virtualização e pode render alta densidade de partição. No entanto, existem dois grandes inconvenientes com este tipo de solução. A primeira desvantagem é a incapacidade de executar uma mistura heterogênea de sistema operacional em um determinado servidor, porque todas as partições compartilham um único kernel do sistema operacional. A segunda desvantagem, também causada pelo modelo de kernel compartilhado, é a falta de suporte à execução de carga de trabalho mista de 32-bit e 64-bit.

Parallels Virtuozzo Containers antigamente conhecido como SWsoft, é um exemplo de produto que usa a virtualização em nível de sistema operacional. Foi utilizado por muitos Web Hostings.

 

Virtualização em nível de Aplicação

Todas as técnicas de virtualização discutidos até este ponto têm o mesmo objetivo, aumentar o número de partições seguras, isolado em execução simultaneamente em hardware físico para maximizar o uso da CPU, armazenamento, rede, memória e outros recursos. Embora possam ser aplicados em um ambiente desktop, esses são principalmente voltadas para a solução de gestão de recursos em ambientes de servidor entretanto esses não abordam problemas de gerenciamento de aplicativos de desktop. Virtualização em nível de aplicação é uma tecnologia que é voltado para a separação e isolamento de aplicações “client-side” rodando no sistema operacional local. Conforme a figura abaixo, aplicações são isoladas em um ambiente virtual em camadas entre o sistema operacional e a pilha de aplicação. O ambiente virtual carrega a aplicação, isola a aplicação de outros aplicativos e do sistema operacional e também impede que o aplicativo modifique recursos locais, como arquivos e configurações do registro. Os aplicativos podem ler informações de arquivos e de registros do sistema local, mas versões graváveis destes recursos são mantidos dentro do ambiente virtual. Na verdade, o aplicativo nunca precisa ser instalado localmente no desktop; em vez disso, os bits de código podem ser dinamicamente transmitidos e armazenados em cache no ambiente virtual conforme novas partes do aplicativo são necessárias.

Em 2006, a Microsoft entrou no mercado de virtualização em nível de aplicação com a aquisição da Softricity e sua linha de produtos SoftGrid. O software Microsoft SoftGrid Application Virtualization for Desktops roda no desktop local e mantém um sistema de registro, sistema de arquivos, e outras configurações em um ambiente virtual, sendo esses entregues para a aplicação conforme sua necessidade. Atualmente existem diversos produtos para a virtualização em nível de aplicação e essa linha é conhecida como Microsoft Application Virtualization v4.6.

Olá Sobreviventes…

Recentemente tive que contatar o suporte da Microsoft, pois estava enfrentando um sério problema que estava ocorrendo em um cliente. Apesar do procedimento de resolução ser relativamente simples, a identificação do causador do problema consumiram diversas horas de análises e tentativas juntamente com o engenheiro de suporte.

O que estava acontecendo era que o cliente comprou diversos smartphones para os colaboradores, contudo não havia feito nenhuma consulta sobre qual aparelho “realmente” seria compatível com o Exchange Server 2010 SP1. Não bastando comprar aparelhos sem fazer uma pesquisa ou mesmo uma homologação, o cliente conseguiu o feito de comprar dois tipos de smartphones, sendo um modelo da Motorola (estarei apresentando o modelo em breve) e o outro é o Samsung Galaxy S2. Uma nota importante a ser destacada é que conforme diversos documentos houveram mudanças relacionadas ao acesso dos smartphones ao Exchange Server 2010 com SP1.

Ao iniciar a configuração do smartphone Samsung Galaxy S2, eu achei o processo do assistente de conexão bastante simples e prático, bem mais amigável o processo de configuração do Samsung Galaxy S2 em relação ao smartphone da Motorola, apesar desse também ser bastante simples.

Uma coisa precisa ser “definitivamente” desmistificada em relação à utilização de certificado digital no Exchange Server 2010. Se você realmente quer ter um servidor Exchange Server 2010 devidamente funcional, esse aceitando corretamente as requisições de clientes (Outlook, OWA, Smartphones) inevitavelmente, e digo novamente, inevitavelmente você necessita de um certificado digital próprio para Exchange Server 2010. O modelo apropriado e correto de certificado digital para Exchange Server 2010 é do tipo “Multiple Domain Certificates” também conhecido como “Unified Communications Certificates” (UCC), funciona similarmente a um certificado SSL, mas o UCC permite adicionar múltiplos domínios. Não adianta inventar moda e utilizar o “Self-Certificate” gerado pelo Exchange Server 2010. Para mim, o “Self-Certificate” somente serve para testar o Exchange e jamais deve ser usado em ambiente de produção, pois somente causa frustração quando você quer realizar algo mais especifico, como por exemplo, permitir um smartphone conectar corretamente no Exchange Server 2010. Aliás, eu acho que durante o processo de instalação do Exchange Server 2010 deveria apresentar um aviso sobre a obrigatoriedade do certificado digital em ambiente de produção.

Após muitas pesquisas sobre um bom e barato certificado digital, consegui encontrar essa empresa – http://certificatesforexchange.com/. Achei bem justo o preço para um certificado digital UCC com até 5 domínios com validade de um ano. Durante a postagem desse artigo, o valor era de R$ 104,51 (em reais mesmo). Durante minhas pesquisas também avaliei (e comprei) o certificado da GODADDY – https://www.godaddy.com/ssl/ssl-certificates.aspx?ci=8346, praticamente custou R$ 50,00 a mais, contudo somente após a compra é que veio a decepção, a ferramenta para gerar o certificado digital estava indisponível. Uma empresa que realmente gostei apesar de não ter comprado nenhum certificado deles é a DIGICERT – http://www.digicert.com/unified-communications-ssl-tls.htm – eles oferecem diversos documentos e vídeos sobre como gerar e utilizar o certificado digital, eles oferecem também uma ferramenta WEB – https://www.digicert.com/easy-csr/exchange2010.htm – para gerar cmdlet de Powershell para criar um “Certificate Signing Request” (CSR) para Exchange Server 2010. Em breve estarei escrevendo detalhadamente sobre certificados digitais.

Por enquanto é só, estarei postando em breve a continuação desse artigo.

 

Abraços e até o próximo resgate.

Magno Alberto

Olá sobreviventes,

Um cliente estava precisando consultar as diretivas aplicadas em um servidor, contudo ao executar o GPRESULT /R somente eram apresentadas as diretivas de usuários. Fiquei intrigado com o mesmo e ao realizar acesso remoto ao servidor observei que a conta que ele estava usando possuía privilegio administrativo, mas como o servidor é um WIN2008-R2, por padrão, o UAC estava ativado. Por curiosidade, executei o GPRESULT com a seguinte sintaxe: GPRESULT /R /SCOPE COMPUTER, logo de cara recebi o seguinte erro conforme tela abaixo:

ERRO: Acesso negado.

Evidentemente o erro estava relacionado ao modo administrativo. Ao executar o CMD em modo administrativo e ao executar novamente o GPRESULT /R o mesmo apresentou os resultados esperados. Na documentação da Microsoft – http://technet.microsoft.com/en-us/library/cc733160%28WS.10%29.aspx – apesar de não sugerir o mesmo, devemos lembrar que muitas operações que requerem certas consultas específicas ao AD requerem modo administrativo.

Resumindo, execute o CMD em modo administrativo, desde que a conta seja DOMAIN ADMIN e execute o GPRESULT /R, não há a necessidade de especificar o escopo.

Abraços e até o próximo resgate.

Olá Sobreviventes…

Gostaria de compartilhar uma dica, aliás, por incrível que pareça deu enorme trabalho para encontrar um provedor gratuito para o “maravilho” Speedy. Como muitos devem saber o uso do provedor de conteúdo simplesmente é uma imposição da ANATEL, e não existe nenhuma questão técnica ou qualquer outro quesito para a obrigação da utilização desse serviço, ou seja, as agências estatais que deveriam defender o interesse da população simplesmente são os mentores da desordem desse país, mas deixando de lado o meu protesto, vamos voltar ao foco deste post.

Obviamente qualquer um poderia simplesmente digitar “provedor gratuito speedy” no Google, e evidentemente o mesmo eu fiz, contudo recebi diversas sugestões de links de fóruns, mas nenhum link apresentava exatamente o que eu queria e quando achava algum link que levaria para um “provedor de conteúdo” a página não existia ou algum outro erro.]

Lembrei que um dia alguém havia comentado que a GLOBO.COM oferecia provedor de conteúdo gratuito para uso do Speedy. Novamente no Google, após algumas tentativas encontrei diversos links com informações sobre o provedor gratuito da GLOBO.COM, mas o que realmente eu queria era achar um link para preencher o cadastro para utilizar esse serviço. A procura estava um tanto confusa que acabei até mesmo criando uma conta de e-mail na GLOBO.COM, coisa que descobri depois não haver necessidade.

Após algumas tentativas, ou melhor, após quase uma hora de buscas finalmente encontrei o dito cujo link de cadastro:

http://assine.globo.com/globocom/banda-larga-basico?origemId=260

Esse link direcionara para o formulário correto de cadastro para uso somente do provedor gratuito, sem nenhuma contratação de qualquer espécie de serviço.

 

Abraços e até o próximo resgate.

Magno Alberto

Olá Sobreviventes!

Recentemente precisei baixar o Kaspersky Administration Kit, também conhecido com KAV Admin Kit, contudo não estava conseguindo. Após algumas pesquisas mais aprofundadas, descobri que o Admin Kit foi substituído pelo Kaspersky Security Center. Após algumas observações desse “novo produto”, para mim, somente foi uma mudança de nome.

Kaspersky Security Center: http://www.kaspersky.com/downloads/productupdates/security-center

 

Abraços e até o próximo resgate.

Magno Alberto