Medindo consumo de energia real (JouleMeter)

Tabelas de teóricas de consumo de um microcomputador, notebook ou servidores são amplos na internet. Em geral se utilizam 4 formas de cálculos: Determinístico Arbitrário – Usa-se capacidade total da fonte menos um percentual arbitrário de uso concorrente. Por exemplo, se a fonte do seu computador é 200W e você não utiliza todas as saidas de energia, arbitra-se o valor de 60%, portanto 120W. Este método não é confiável porque não tem qualquer base real para o percentual. Deterministico Acumulado – Soma-se o consumo da CPU, memória, discos, placa mãe e adicionais levando em conta as especificações técnicas do fabricante de cada componente. Este método é exato no cálculo mas pode aumentar o consumo real, pois leva-se em conta o valor de consumo máximo de cada componente, sendo que o processador varia o consumo conforme a demanda, o disco pode desligar em ociosidade, alem de não levar em conta dispositivos USB como teclado, mouse e pendrive. Consumo Real – Este método é o mais exato e traz o consumo a partir da energia “puxada” pelo equipamento a partir do cabo de força principal com a ajuda de um alicate amperímetro, como a imagem abaixo. Este alicate traz a amperagem, voltagem e consumo pelo arco elétrico gerado no cabo de força ao ser coloca na pinça de leitura. Porem, este método também tem a desvantagem de exigir que a medição seja humana e não manter registros das oscilações conforme o uso dos componentes se ajustam a demanda de processamento. Consumo Real (heurístico) – Este método é automatizado, inteligente e real. Por meio de fórmulas heurísticas de consumo é possivel saber o total medindo o consumo da CPU, memória e outros componentes a partir de dados dos sensores do computador ou pelos dados de cada componente atualizado. Este cálculo é feito por um software que acumula os dados trazendo a média de consumo, INCLUINDO CO2 !!! Para isso baixe a ferramenta JouleMeter criada pela Microsoft Research e gratuito em http://research.microsoft.com/en-us/projects/joulemeter/default.aspx O consumo de CPU e memória do programa é infimo e não afetará o ambiente, sendo permitida até a instalação em VMs baseadas em processadores com Intel-VT ou AMD-V. É isso ai, agora você poderá fazer tabelas reais de consumo dos servidores, estações e outros da sua rede. Em breve farei um post comparando o consumo de servidores visualizando o cenário de virtualização.

Sequenciando as VMs no Hyper-V

No nosso ambiente instalamos um servidor Dell e as cinco VMs antes distribuidas em 3 maquinas físicas foram consolidadas. Porem, nossos Domain Controllers são duas VMs e notamos o problema da falta de um DC no momento do startup das outras VMs, principalmente a do Exchange, quando o servidor é atualizado pelo WUA, por exemplo ou em caso de pane na host. Como resolver isso? Solução 1 A maquina fisica ser o Domain Controller e hospedar os FSMOs. A desvantagem deste método é que a recomendação padrão é que a maquina do Hyper-V seja dedicada a esta função, e que nem driver de video ela tenha (Problemas com o driver Intel Graphics Media Integrated HD e o Hyper-V). Tanto esta solução quanto a abaixo não eram viáveis porque o cliente mantem uma segunda maquina em outro local fisico com as VMs copiadas para apenas atualizar o BD do SQL em caso de pane do servidor ou do prédio, e sincronizar AD neste caso seria inviável. Solução 2 Colocar um servidor fisico hospedando o AD. Não é víável para este cliente porque sua intenção foi comprar um servidor bi-processado, fontes redundantes e storage dedicado, alem de um poderoso no-break para 1h30m de operação. Colocar mais um servidor seria contra o projeto apresentado, até porque no ambiente também existe um servidor System Center Data Protection Manager (DPM) que não pode ser DC. Com isso, precisamos limitar o ambiente a 3 maquinas físicas (servidor Hyper-V, DPM e TMG). Solução 3 Sequenciar as VMs, fazendo com que a DC que hospeda o FSMO fosse a primeira. Esta se tornou a opção ideal, não incluiria mais uma maquina a ser gerenciada e permitiria fazer o restore de emergencia rapidamente no caso de pane do servidor. Porem, note que este processo é invertido. Não se diz qual máquina irá ligar na frente, mas sim coloca-se um delay nas maquinas que dependem. Isso pode ser feito nas configurações de cada VM que dependa de outra maquina e alterar as configurações “Automatic Start Action”, como mostrado abaixo: NOTA: Esta solução é adequada para casos de reinicio do servidor onde as VMs foram salvas e irão reiniciar automaticamente e não se aplicam ao startup manual, obviamente.

Microsoft Security Compliance Manager

Muitos de nós já precisamos criar os modelos de segurança que são importados nas GPOs definindo a segurança a ser utilizada. A análise dos baselines costuma ser feita com o snap-in “Security Configuration and Analysis” do MMC. Também é comum utilizarmos como base os arquivos baixados do site da Microsoft no formato INI. Porem, a Microsoft acaba de lançar (dia 8/set) a ferramenta Microsoft Security Compliance Manager que passa a ser uma ferramenta profissional da linha Solution Acelerators para trabalhar com os modelos de segurança. Logo ao instalar você terá a possibilidade de baixar os modelos prontos do site da Microsoft: A ferramenta também permite ao administrador organizar os modelos e apenas com um clique com o botão direito do mouse criar a GPO que irá aplicar o modelo, utilizando a opção “Create GPO Backup” abaixo: Vale a pena utilizar este novo SA que facilitará muito a análise, customização e utilização dos modelos de segurança !!! Baixe a ferramenta em http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5534bee1-3cad-4bf0-b92b-a8e545573a3e&displaylang=en

Embate entre IT PROs e desenvolvedores, como melhorar o relacionamento?

No Community Zone que ocorreu na semana passada estávamos conversando em uma mesa, não vou citar os nomes porque não lembro todos e seria injusto, e chegamos no assunto acima. De um lado da mesa tinhamos alguns IT PROs e do alguns desenvolvedores. Os desenvolvedores já logo criticam o pessoal de Infra pela dificuldade que eles impõe e sempre jogam a culpa nos sistemas e programadores. Eu atuo nas duas áreas desde que comecei a trabalhar em 1988. Neste época sistema operacional era CPM, rede era multiplexada serial, linguagem era Dbase II que já era o banco de dados também. Desde então tento manter os dois universos, estudo tanto os produtos de rede quanto as linguagem de programação. Posso dizer que está ficando dificil, os produtos se tornaram muito complexos, mas ainda consigo me organizar por estudar a fundo um por vez focando nas mudanças. Mas enfim, a idéia do post é falar da experiencia de quem a um bom tempo convive nos dois mundos. O que os desenvolvedores fazem para serem “odiados”? O principal problema dos profissionais de redes é conseguir monitorar as aplicações. Os desenvolvedores não se interessam muito em como os IT PROs trabalham e não dão os recursos necessários para eles. Algumas coisas simples como métricas, logs e identificação clara de processos já resolveriam muitas discussões. O que podemos fazer como desenvolvedores para trazer a paz? Alguns exemplos de recursos que poderiam ser facilmente utilizados pelos desenvolvedores: Na string de conexão com o banco de dados inclua o parametro Application Name para o DBA poder monitorar a aplicação. É um parametro muito simples e extremamente necessário, porque em aplicações é comum utilizar usuários fixos para aplicações e sem o nome não é possivel saber qual sistema está executando aquele comando que gerou locks ou wait times excessivos. Um exemplo de uma string de conexão “bem feita” seria: ”Provider=SQLServerOleDB;Server=ABC;Database=DEF;UID=Joao;PWD=1234;Application Name=SISContabil” Inclua nos seus aplicativos contadores de performance utilizando os objetos PerformanceCounter e Installer. Estes objetos geram no Performance Monitor do Windows dados que podem ser transformados em gráficos, traces, alertas e logs. O processo para criar um contador é muito simples: 1. Insira o objeto PerformanceCounter em sua aplicação 2. Configure o objeto criando uma categoria (CategoryName) e contador (CounterName) 3. Clique com o botão direito no objeto e escolha Add Installer para que sua aplicaçoes crie no registry do Windows os registros do contador 4. No seu código ao acessar um banco de dados, por exemplo, utilize o objeto PerformanceCounter com o método Increment para aumentar o valor do contador Gere erros ou alertas de problemas no log de eventos do Windows. Este recurso permitirá aos operadores vasculhar no Event Viewer do Windows problemas que estão ocasionando paradas. Tão útil é este recurso que os IT PROs poderão utilizar produtos como o System Center Operations Manager, NetIQ ou Tivolli para quando um evento acontecer disparar emails de alerta para os administratores, ou melhor ainda, executar scripts que automaticamente resolvem o problema. Para fazer isso basta seguir os passos: 1. Acrescente ao seu aplicativo o objeto EventLog 2. Defina o nome do Log (Log) que será criado e o nome da aplicação (Source) 3. Dentro do seu aplicativo utilize o método WriteEntry para passar os parametros que serão gravados no log do SO Estes são 3 exemplo que poderão ser utilizados e resolverão muitos dos problemas que hoje existem entre estes grupos. Claro que os exemplos estão baseados em aplicações Windows Forms, mas os mesmos objetos podem ser utilizados programaticamente no ASP.NET. Para que os desenvolvedores tenham uma idéia do porque é importante os passos acima, pense que o IT PRO trabalha com resolução de problemas baseados em comportamento de sintoma-causa-solução e sem contadores de performance e eventos não tem como achar a causa sobrando apenas culpar o programador que “andou mexendo no servidor”. Outro recurso muito importante que os passos acima possibilitam é criar o Baseline onde os IT PROs tem uma base de alterações no ambiente. Por exemplo, fazem a medição de contadores ao longo de um periodo e quando o servidor apresenta problemas de performance eles comparam os contadores atuais com os de base para descobrir onde estão as variações. Se o desenvolvedor não dá as medições o IT PRO irá verificar os contadores e como nenhum demonstrará o problema, mais um vez o “programador que mexeu aqui” é o culpado. Outra forma de monitoração com produtos que já foram citados são os Dashboards do SCOM que mostram em grandes monitores o estado de cada servidor por monitorar os eventos no log e o baseline de performance. Se a aplicação não gera nem log nem contadores, o servidor não irá apresentar o erro, resumindo a dizer que o IIS ou o SQL está com tempo de resposta lento quando o problema já se alastrou para todos os subsistemas (disco, processador e memória). É isso ai, como programador também me incluo entre os que deixam de prover as ferramentas. Mas vamos mudar isso !!!!! Se alguem lembra de outros métodos para “pacificar” essa apimentada relação, comente.

Licença de Software NFR (Not for Resale) pode ser usada na empresa?

No grupo de MCT Brasil surgiu esta duvida recentemente por causa das licenças de software que estão acompanhando o Windows 2008, SQL Server 2008 e o Windows 7 (http://www.marcelosincic.com.br/Blog/post/Cursos-de-Windows-2008-dao-copia-do-Windows-2008-Standart-full-(NFR).aspx) para quem faz cursos oficiais. Estas licenças são do tipo NFR, em bom portugues "não para revenda". Achei interessante falar sobre isso porque mesmo entre os MCTs poucos souberam como funciona este tipo de licença, então seguem as informações que tenho e vale a pena prestar atenção para não correr o risco de ter a empresa multada:  1    A licença é NFR (Not For Resale), o que significa que é uma cópia integral mas não pode ser repassada, ou seja, não pode ser comprada ou vendida por distribuidores. Isso evita que o aluno ou até o CPLS tente comercializar. 2.   NÃO PODE SER UTILIZADA em empresas, exceto para testes ou avaliação, o que se encaixaria muito bem no caso de utilização doméstica ou testes em ambiente da empresa. 3.   Isso vale para produtos especificados como NFR, no caso o SQL Server e Windows 2008 e do Windows 7 que acompanha o curso 6292.   Verifique para detalhes a EULA do SQL Server: http://msdnaa.oit.umass.edu/Neula.asp “Not For Resale Software. Product identified as "Not for Resale" or "NFR" may not be resold, transferred, or used for any purpose other than demonstration, test, or evaluation.” Lei geral de licenciamento de software: http://www.auditnet.org/articles/softwarelicenses.htm “Not for Resale (NFR) Software License. These very specific and restricted licenses are made available by Software Vendors directly to the distribution channel software and are typically marked NFR with explicit conditions that it is NOT FOR RESALE. The NFR software is distributed as a promotional or sample product not licensed for normal commercial distribution.”

Planilha com as entradas das Group Policy em Windows 2003/Vista/2008/7

Sempre quando estamos em treinamento os alunos perguntam onde estão a configuração A ou a configuração B. No Windows 2008 isso está resolvido porque existe a opção de "Find" e uma lista com todas as policies agrupadas, mas no Windows 2003 não tem isso. No site de downloads da Microsoft existe um link permanente com planilhas Excel facilitando a busca. Acesse e se divirta: http://www.microsoft.com/downloads/details.aspx?familyid=18C90C80-8B0A-4906-A4F5-FF24CC2030FB&displaylang=en

Ferramenta para converter HD fisico (em uso) para VHD

A ferramente já existia mas era necessário que fosse um disco fora de uso para fazer a criação (http://technet.microsoft.com/en-us/sysinternals/ee656415.aspx) A nova versão do Disk2VHD agora permite que façamos a conversão do disco em uso, ou seja, o disco do próprio SO. Eu, por exemplo, converti uma partição onde tinha o dual boot para Windows 2008 R2 em VHD e ficou perfeito em apenas 15 minutos !!!!  

Boot pelo PenDrive no Windows 2003/XP e superiores

Muitas vezes precisamos criar boot por pendrive, como por exemplo, para instalar o SO em um netbook. Entre com command prompt,  se for no Windows Vista ou no Windows 7 entre como administrador (botão direito no atalho "Abrir como Administrador"): DiskPart                          (ferramenta de manutenção e configuração de disco)Listdisk                           (lista os discos fisicos da maquina)Select disk <Numero>        (seleciona o pendrive, CUIDADO PARA NÃO ESCOLHER O DISCO ERRADO)Clean                              (apaga todos os dados do disco)Create partition primary      (cria a partição com todo o tamanho do pendrive)Select partition 1               (seleciona a partição que acabou de ser criada)Active                             (ativa a partição criada)Format fs=ntfs                 (formata o pendrive)Assign                            (atribui uma letra ao pendrive no Windows Explorer)Exit                                (sai do utilitário) Não feche ainda o command prompt, verifique com qual letra o pendrive ficou no Windows Explorer. Volte ao command prompt e acesse o DVD de instalação do Windows Vista ou do Windows 7 e acesse a pasta boot: cd\boot                           (diretório de boot do DVD de instalação)bootsect /nt60 <Letra>:     (copia os arquivos de boot para um windows versão 6.0 ou superior, no caso o Vista ou Windows 7) Pronto, agora configure o BIOS de sua maquina para dar boot pelo Pendrive ou use a tecla <F8> que em muitos BIOS mostra a lista de boot.

Scripts de exemplo dos cursos Scripting (2433) e WMI (2439)

Já não ministrava estes cursos a um tempo, para ter uma idéia ainda se baseavam no Windows 2000. Estou deixando disponivel a biblioteca de scripts que criei a uns 3 anos atrás quando este curso era bem mais comum. Estão separados em 2 arquivos, o primeiro para scripts de administração, incluindo alguns que acessam base de dados, e o segundo especifico com exemplos de WMI. Bom proveito !!!!!   Scripts Básicos e Administrativos.zip (95,08 kb) Scripts WMI.zip (7,00 kb)

Promoção TechEd 2009 + Windows 7

A Microsoft irá lançar uma campanha de premiação para profissionais baseados no Windows 7. Haverá sorteio de XBOX, viagem a Seatle e ingressos para o TechEd. A premiação está dividada entre profissionais e estudantes. Vale a pena, increva-se agora que as etapas começam em 22/06: http://www.winthe7.com.br/