sábado, 1 de outubro de 2011

Virtualização: Disk2vhd e disco dinâmicos

Há uma suíte de utilitários, que foi criada por Mark Russinovich e Bryce Cogswell, que não pode faltar para profissionais de TI e desenvolvedores, que são os Sysinternals.

Um desses utilitários, o Disk2vhd, é usado para auxiliar processos de P2V (Physical to Virtual), gerando arquivos .vhd compatíveis com Hyper-V e Virtual PC. Inclusive pode ser executado mesmo com o sistema on-line, usando recursos de snapshot de volume presentes a partir do Windows Server 2003/Windows XP.

Posso dizer que o processo é muito rápido e eficiente, mas em uma ocasião, quando precisei efetuar em um servidor com mirror set, subentende-se discos dinâmicos no contexto, me deparei com um pequeno problema ao tentar montar (attach) os discos no meu sistema destino. O disco apareceu como inválido e ao tentar reativá-lo, retornou a seguinte mensagem:
This operation is not allowed on the invalid disk pack.
Vocês devem estar se perguntando, se eu queria virtualizar por que fui inventar de anexar o .vhd ao servidor? Foi uma oportunidade de expandir a partição e isso fica muito fácil usando o Gerenciador de Discos do Windows 2008 ou Windows 7, que permite alterar o tamanho de partições sem o uso de ferramentas de terceiros. Claro que primeiro eu expandi o Disco Virtual, com o Edit Disk do Hyper-V.

Voltando ao nosso assunto. Após algumas buscas no google, descobri que teria que editar o arquivo .vhd e manualmente alterar o tipo de partição.
Como fazer isso? Vou reportar o que eu fiz no meu caso:

  1. Mirror Set no servidor físico: Quebrei o espelho. Após isso realizei o processo com Disk2vhd.
  2. Fiz o download do HxD, que é um editor hexa de discos, imagens de disco e arquivos.
  3. Anexei o arquivo .vhd gerado pelo Disk2vhd através do Gerenciador de discos do Windows (Win7 ou Server 2008)
  4. Com o HxD, selecionei o disco que foi anexado para edição
  5. Procurei editar o setor 0x01C2, que possui o tipo de partição (mais informações). Devemos encontrar o valor 0x42 (Dynamic Disk Volume) para 0x07 (NTFS partition). Salve as alterações.
  6. Desanexe o disco e depois anexo-o novamente.
  7. Pronto, seu volume já deve estar disponível novamente para ser usado na sua máquina virtual
Aproveito e compartilho 2 links que me ajudaram a chegar até aqui:

terça-feira, 27 de setembro de 2011

Habilitando 'Instant File Initialization' em um servidor SQL Server 2005/2008

Talvez já tenham percebido o tempo que normalmente o SQL Server demora ao criar um banco, alterar seu tamanho ou restaurar uma base.
Hoje, ao ter que restaurar uma base de 560 GB, recordei que demoraria um pouco até começar a receber as mensagens de progresso da minha tarefa. Sabem porque? Os arquivos tem que ser inicializados (preenchidos com 'zeros').

Então me lembrei de um recurso, que ainda não tinha usado: 'Instant File Initialization', que permite que esses arquivos sejam instantaneamente criados sem a necessidade de preencher o mesmo com zeros. Isso trata-se de um privilégio de sistema operacional, não exatamente do SQL Server.
Para ativar esse recurso, você terá que atribuí-lo à conta de serviço que foi utilizada para executar a sua instância do SQL Server. Sempre é recomendado que seja uma conta com o mínimo possível de privilégios. Mesmo sabendo que o Administrador da máquina já tem esse direito, essa não é a conta mais adequada para executar os serviços relacionados ao SQL Server (nem qualquer outro!).

Um pequeno passo-a-passo:
  • Abra o console de Diretivas de Seguraça Local (Local Security Policy)
  • Em Security Settings, Local Policies, User Rights Assignment, selecione Perform Volume Maintenance Tasks
  • Abra o diálogo com um duplo clique e adicione a conta de serviço do SQL Server e clique OK
  • Feche o console
  • Reinicie sua instância do SQL Server
Bom, o resultado é que meu restore, de 560 GB, levou apenas 52 minutos e eu achei muito bom!

Para quem quiser saber mais, seguem uns bons links a seguir :

How and Why to Enable Instant File Initialization (SQL Server Premier Field Engineer Blog)
Database File Initialization (BOL)
Misconceptions around instant file initialization (Paul S. Randal)
Instant Initialization - What, Why and How? (Kimberly L. Tripp) - Nesse tem umas métricas interessantes

quinta-feira, 22 de setembro de 2011

Erro na aba Settings, do GP Management Console

Vim postar uma pequena dica para quem usa o Group Policy Management Console.

Ao acessar a aba Settings (Configurações) de algumas diretivas, recebia a seguinte mensagem de erro:

An error occurred while generating report:
An unknown error occurred while the HTML report was being created.
Para resolver, foi necessário editar o seguinte arquivo:

C:\WINDOWS\SYSVOL\sysvol\domain\Policies\{guid}\user\Microsoft\ieak\install.ins,

onde {guid} é o Unique ID da GPO.
Onde for encontrado:
[Security Imports]
ImportSecZones=1
Altere para zero e salve o arquivo.
Faça um refresh no console e já será possível ver as configurações da GPO novamente.


sexta-feira, 9 de setembro de 2011

Instalando CentOS 5 no Hyper-V

Segue um guia que eu compilei, juntando uma série de referências para instalar o CentOS 5.x com o Integration Components 2.1, da Microsoft, em uma máquina virtual num servidor Hyper-V:


  • Prepare uma máquina virtual com memória e discos dos tamanhos desejados
  • Remova o Network Adapter e adicione um Legacy Network Adapter
  • Defina um MAC Address estático para este adaptador (se for utilizar Live Migration)
  • Defina a imagem ou a mídia para a instalação do sistema operacional
  • Adicione o grupo de programas “Development Tools” durante a instalação. Caso tenha esquecido, utilize o comando ‘yum groupinstall “Development Tools”
  • Certifique-se de ter instalados os seguintes pacotes:
    • kernel-devel
    • gcc
    • make
    • adjtimex (se for 64-bit)
  • Adicione o repositório RPMforge (http://packages.sw.be/):
  • Instale o pacote dkms:
    # yum install dkms
  • Com o dkms instalado, precisaremos baixar o ISO do Integration Services 2.1 do site da MS e carregar na máquina virtual:
    # mkdir -p /mnt/cdrom
    # mount /dev/cdrom /mnt/cdrom
    # cp –rp /mnt/cdrom /usr/src/linuxic-2.1
    # umount /mnt/cdrom
    # cp /usr/src/linuxic-2.1/scripts/dkms.conf /usr/src/linuxic-2.1/
  • Edite o arquivo /etc/modprobe.conf para carregar os módulos do Integration Services. Adicione as seguintes linhas:
    alias scsi_hostadapter1 vmbus
    alias scsi_hostadapter2 blkvsc
    alias scsi_hostadapter3 storvsc
    alias scsi_hostadapter4 netvsc
  • Compile e instale o Integration Services:
    # dkms add -m linuxic -v 2.1
    # dkms build -m linuxic -v 2.1
    # dkms install --force -m linuxic -v 2.1
  • Desligue a máquina virtual.
  • Com a máquina virtual desligada, podemos remover o Legacy Network Adapter e adicionar um Network Adapter. Se for usar Live Migration, lembre-se de adicionar um MAC Address estático.
  • Pode adicionar, caso necessite, até 4 processadores virtuais.
  • Ejete o ISO do Integration Components
  • Quando for configurar sua nova interface de rede na máquina virtual, agora estará disponível uma seth0 (e não uma eth0). Se não reconhecer de início a nova interface, um novo boot poderá resolver esta questão. Pode remover o arquivo /etc/sysconfig/network-scripts/ifcfg-eth0.bak
Para mais informações:

quinta-feira, 25 de agosto de 2011

The Story of Linux: Commemorating 20 Years of the Linux Operating System

Linux: 20 anos! Parabéns!

I'll be celebrating 20 years of Linux with
The Linux Foundation!

Eu tenho muito que comemorar, pois graças ao Linux aprendi muito e continuo aprendendo com ele e ajudei muitos clientes e seus negócios a serem mais seguros, produtivos com soluções baseadas no nosso querido "Tux"...rs
Parabéns a comunidade do software livre!

terça-feira, 28 de junho de 2011

Agora MCITP DBA SQL 2005!

Grande dia!
Após alguns meses de estudo e vários simulados, a ansiedade de chegar logo o dia e hora da prova, cada clique  nervoso no botão 'Next' do exame e a tela em branco antes do resultado, finalmente posso dizer que passei no exame e superei mais uma fase, que até reconheço ter demorado pra chegar, mas valeu a pena e será um incentivo para o próximo objetivo: MCITP SQL 2008.
Vamos ver se tento ser mais ágil, pois o SQL Codename 'Denali' já está chegando com muita coisa legal.

O importante é o incremento da auto-estima e ver que os esforços valeram!

Obrigado a todos que acreditaram e principalmente ao Criador que permitiu que eu chegasse aqui!
UHUU!!!

sexta-feira, 17 de junho de 2011

Malware Patrol

Um site com diversas blacklists atualizadas constantemente para aumentar a segurança de servidores DNS, de e-mail e Proxies.
Achei interessante a proposta e deixo aqui para que vocês possam avaliar também.
No próprio site, tem uma página com tutoriais para cada solução deseja.
Segue o link:

Malware Patrol

sexta-feira, 10 de junho de 2011

Dicas Linux: Repositório Hardware EL (Red Hat, CentOS e similares)

Ontem me deparei com uma placa mãe com uma interface de rede Atheros (AR 8151) que não era reconhecida pelo kernel do CentOS 5.

Após uma breve busca, encontrei um site com um repositório de vários drivers. Uma vez configurado o yum, bastou solicitar a instalação do driver para que tudo corresse às mil maravilhas!

O site:

ELRepo.org (http://elrepo.org/tiki/tiki-index.php)


No próprio site tem a dica de como configurar o repositório para utilizar com o yum, para quem tiver dúvidas.
Vale a pena!

Um abraço "and thanks to ELRepo Project"!

quinta-feira, 2 de junho de 2011

Falha ao atualizar Visual Studio 2005 SP1

Pode parecer bem desatualizado, mas já encontrei diversos servidores com este problema: executo o Windows/Microsoft Update e no meio das atualizações críticas encontra-se o Visual Studio 2005 Service Pack 1. Isso é comum em servidores com SQL Server 2005 instalado. Se esta atualização é selecionada, o download é efetuado e na hora de instalar, erro. Você verifica o histórico do Microsoft Update e vê o seguinte cenário:
Vai verificar o que ocorreu e vê a seguinte mensagem:
Error Code: 0x643. O que que eu fiz de errado?!!!
Nada. De acordo com o artigo da base de conhecimento da MS http://support.microsoft.com/kb/925336, esse erro acontece porque:
É necessário que o computador tenha memória contígua suficiente para o tamanho do pacote. Se o computador não tiver memória contígua suficiente, um erro ocorrerá. Devido ao erro, o Windows Installer não poderá verificar se o pacote foi assinado corretamente. Por isso, a mensagem de erro descrita na seção "Sintomas" é exibida.
Ótimo! E como eu resolvo?
Conforme o mesmo artigo, será necessário editar o registro e alterar o seguinte valor na chave:

HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers\PolicyScope=1

Ou seja, se existir, altere de 0 para 1. Se não existir, deverá ser criado um novo valor DWORD PolicyScope com valor 1.
Feche o regedit.exe. Aplique a atualização do VS2005. Após a conclusão, retorne o valor de PolicyScope para 0.

Parabéns! Seu servidor foi atualizado com sucesso!
 

domingo, 17 de abril de 2011

Preparando um HD para boot nativo com VHD

Para quem não sabe, VHD significa "Virtual Hard Disk", arquivos criados para serem o repositório de dados de uma máquina virtual. Para quem utiliza a virtualização, já conhece a praticidade deste formato.

Com os sistemas operacionais Windows 7 e Windows Server 2008, é possível dar boot diretamente de um desses arquivos.

O post do blog do Keith Combs dá um passo-a-passo de como preparar um disco e usar este recurso:


Prepping a new hard drive for “Native Boot from VHD”

 

Achei legal e resolvi deixar registrado aqui, como um bookmark. O blog do Keith também tem vários outros posts bem interessantes. Pra quem gosta de tecnologia (em inglês).


segunda-feira, 28 de março de 2011

Liberado download do SQL Server codename 'Denali'

Para quem quiser testar a nova geração do SQL Server da Microsoft, a versão CTP1 (Community Technology Preview 1) já está disponível no Microsoft Download Center, nas edições 32 e 64 bits.


Microsoft® SQL Server® code-named 'Denali' - Community Technology Preview 1 (CTP1) 

 

domingo, 27 de março de 2011

Microsoft Virtual Academy

Muitos se questionam diante da tendência da computação em nuvem (Cloud Computing) quais as ferramentas que deve usar para se atualizar.
A Microsoft disponibilizou mais um recurso, que é o Microsoft Virtual Academy, com diversos cursos sobre Windows Azure, SQL Azure, Public e Private Cloud.
Outra coisa legal é que cada curso completado credita pontos em seu perfil, que poderá ser utilizado em vouchers para exames de certificação.
Quem quiser conferir, basta acessar a URL http://www.microsoftvirtualacademy.com e divirta-se!

sexta-feira, 18 de março de 2011

Consultas de Diagnósticos para SQL 2005 e SQL 2008

Com a introdução do SQL 2005, foram disponibilizados recursos interessantes para gerenciamento das instâncias: as DMV's e DMF's (Dynamic Management Views e Dynamic Management Functions). A descrição de cada uma, assim como os dados retornados podem ser consultados no BOL (Books On Line) de cada versão.

Não faz muito tempo, encontrei no blog Glenn Berry's SQL Server Performance, dois scripts que ajudam a dar uma geral na sua instância, que facilitam e muito a avaliar o desempenho. E, aos novatos, uma oportunidade para se familiarizar com este recurso importante do SQL Server. Ei-los (já na versão de março de 2011):
E se quiser arquivar as informações, ele também disponibilizou planilhas para preencher com as informações coletadas:
Para quem já está conhecendo a nova versão do SQL Server (codenome Denali) também tem uma versão das consultas de diagnóstico: SQL Server Denali–specific version of my Diagnostic Information Queries

Claro, esse é um blog que vale a pena salvar nos favoritos do navegador.

sábado, 12 de março de 2011

Download de eBooks Microsoft (Gratuitos)

Olá, pessoal!

Sei que andei sumidaço, mas vamos aproveitar e compartilhar um material gratuito da Microsoft: eBooks!

Tem livros sobre  SQL Server 2008 R2, Windows 7, Virtualização, Windows Server 2008 R2, todos da Microsoft Press.

Basta visitar este link:

Something for the weekend - free eBooks from Microsoft Press



Espero voltar a atualizar com mais freqüência!
Um forte abraço a todos!