Pages

Descrição do Problema

Tenho em minha corporação um cluster de servidores WEB montado em cima de NLB e com o conteúdo das páginas replicado através do DFS Replication.  Todo o site é replicado com sucesso para qualquer formato de arquivo. Meus problemas começaram quando a webdesigner reclamou que alguns arquivos que ela coloca com sucesso em um dos servidores, no local correto, simplesmente não replica. Minha primeira ação foi achar que ela estava fazendo alguma coisa errada, mas qual não foi minha surpresa quando descobri que era exatamente isso. Alguns arquivos de imagem, que ela salva em um dos servidores, não replica para os demais. Analisando o erro vi que o arquivo está correto, não é corrompido, não registra erro no event viewer e está com as permissões corretas, mas não replica.  E para completar o problema, outros arquivos de imagem, no mesmo formato do rebelde, ela coloca exatamente no mesmo local com as mesmas permissões, e  replicam perfeitamente para todos os servidores.


CAUSA

Depois de uns bons cabelos arrancados, pesquisa no google, bing e meus recursos de criatividade, consegui resolver o problema e posto os passos usados no troubleshooting para você ter como referência em casos parecidos.

Por padrão o DFS-R gera um arquivo de log com todos os seus processos com considerável nível de riqueza. Estes arquivos de logs são gerados na pasta %systemroot%\debug. Analisando este log achei a seguinte entrada referente ao meu arquivo que não estava sendo replicado:

20101103 08:34:54.959 1912 USNC 1204 UsnConsumer::ProcessUsnRecord Skipping USN_RECORD with FILE_ATTRIBUTE_TEMPORARY flag:
+ USN_RECORD:
+ RecordLength: 88
+ MajorVersion: 2
+ MinorVersion: 0
+ FileRefNumber: 0x1200000000446a
+ ParentFileRefNumber: 0x1000000013b82
+ USN: 0xf20fdf18
+ TimeStamp: 20101103 08:34:54.959 E. South America Standard Time
+ Reason: Close File Delete
+ SourceInfo: 0x0
+ SecurityId: 0x3f0
+ FileAttributes: 0x120
+ FileNameLength: 26
+ FileNameOffset: 60
+ FileName: FlashImg.jpg
 
Quando li este log, entendi que o arquivo foi pulado do processamento por ser um arquivo temporário. Mas o arquivo não começa com "~" ou termina como .tmp, como são as exceções padrões do DFS. É um arquivo .jpg como vários outros. Então, de onde diabos este infeliz achou que este arquivo era temporário?  Neste momento descobri que, apesar de não aparecer em quase nenhuma interface padrão do Windows, console ou aplicativo, existe um atributo em cada arquivo em uma partição NTFS que marca este arquivo como temporário. Este atributo é mostrado na linha copiada acima: + FileAttributes: 0x120


Pesquisando um pouco percebi que o 0x120 representa os atributos marcados neste arquivo, onde 0x100 representa uma flag de arquivo temporário e 0x20 representa um arquivo pronto para ser arquivado (arquive).

O problema é que DFS Replication não replica arquivos com esta flag de temporário marcada.  Esta é uma política implícita e não existe opção de mudá-la (pelo menos nas versões atuais). Ele simplesmente pula o arquivo e pronto.  Uma maneira de visualizar  este atributo via linha de comando para você poder testar seus arquivos é através da seguinte linha de comando:

fsutil usn readdata Nome_arquivo (Execute como administrador e em arquivos locais);

O resultado será algo perecido com isso:

Major Version : 0x2
Minor Version : 0x0
FileRef# : 0x000c000000044e24
Parent FileRef# : 0x000200000002c892
Usn : 0x000000008d082d50
Time Stamp : 0x0000000000000000 00:00:00 01/01/1601
Reason : 0x0
Source Info : 0x0
Security Id : 0x0
File Attributes : 0x120
File Name Length : 0x1a
File Name Offset : 0x3c
FileName : Nome_Arquivo
 
Ainda como referência, veja a seguinte tabela de atributos que podem ser representados como saída deste comando:
 
READONLY 0x1
HIDDEN 0x2
SYSTEM 0x4
DIRECTORY 0x10
ARCHIVE 0x20
DEVICE 0x40
NORMAL 0x80
TEMPORARY 0x100
SPARSE_FILE 0x200
REPARSE_POINT 0x400
COMPRESSED 0x800
OFFLINE 0x1000
NOT_CONTENT_INDEXED 0x2000
ENCRYPTED 0x4000

Resolução


Como opção de resolução podemos simplesmente desmarcar o atributo de arquivo temporário, porém com esta solução você mata apenas o sintoma, e acaba fazendo o arquivo ser replicado. O ideal é você achar em que momento este arquivo se tornou temporário e por qual aplicação e tentar mudar o comportamento desta aplicação para resolver o caso. Só assim você garantirá que isso não voltará a acontecer.
 
Mas se você quiser limpar o atributos de temporário, pode fazer isso até para vários arquivos dentro de uma pasta, porém não é tão simples como usar um attrib, já que este aplicativo não toma ciência deste atributo. Instale o powershell neste servidor (http://www.microsoft.com/powershell) e execute o seguinte comando:
 
Get-childitem D:\Data -recurse | ForEach-Object -process {if (($_.attributes -band 0x100) -eq 0x100) {$_.attributes = ($_.attributes -band 0xFEFF)}}
 
Onde D:\Data é o diretório onde estão seus arquivos. A opção -recurse vai executar o comando em todos os subdiretórios.
 
Também existe aplicativos terceiros como File Tweak que te dá a chance de controlar este atributo de uma maneira mais simples.
 
Um grande abraço a todos

domingo, 26 de setembro de 2010 às 18:12 Postado por Cláudio Costa 3 Comments

Você já tentou usar o System Center Operations Manager para simplesmente executar um "ping" para um dispositivo na sua rede? Apesar de parecer extremamente simples e básico em qualquer software de monitoramento, quem já tentou fazer isso no SCOM sabe que não é tão simples. O discovery de Network Devices no SCOM exige que o dispositivo tenha suporte a SNMP v1 ou v2. 

Existe alguns dispositivos de rede como alguns APs, Mainframes, aparelhos de ponto e acesso, etc que não suportam SNMP, mas que precisamos ser avisados se ficarem offline. Após uma certo tempo de pesquisa, estudando scripts complexos e artigos não muito simples, consegui achar uma solução fácil com a valiosa ajuda do amigo Cleber Marques, da Opslogix,  (http://www.clebermarques.com/), especialista na plataforma System Center.

Para conseguir executar um simples ping para um dispostivo qualquer, existe um software terceiro GRATUITO da opslogix (http://www.opslogix.com/), que extende o Operation Manager para conseguir este monitoramento. Inclusive com gráficos de performance, relatórios de tempo de resposta, disponibilidade e etc. Veja abaixo exemplos de ScreenShots.

Tela de Status

Relatório de Tempo de Resposta

Relatório de Disponibilidade



 Para instalar o procedimento é simples:

1 - Registre o seu e-mail no site abaixo e faça download do pacote de gerencimanto (coloque e-mail válido porque o link para download vai para seu endereço);
       http://www.opslogix.com/#ping

2 - Depois do download concluído,  e executado, você vai extrair 3 arquivos principais. Um é o manual em pdf, outro é o arquivo de instalação msi que deve ser instalado no RMS (Root Management Server) e o Outro é o extensor da console que deve ser instalado em toda máquina com uma console instalada; Siga o procedimento do manual.

3 - Depois disso, na parte de Monitoring, você vai ver uma nova View chamada Opslogix. A configuração é bem intuítiva, você precisa adicionar os dispositvos que devem ser monitorados informando um display name e um nome ou endereço IP que será monitorado (pode ser feita uma carga grande através de CSV), e selecionar entre os servidores e máquinas já monitoradas com agente, aquele que será usado para executar o ping.

Pronto, você já tem o monitoramento por ping e relatórios para monitorar sua rede. Ressalto ainda que a empresa ainda oferece alguns Pacotes de Gerenciamentos que não são gratuítos, mas que vale a pena saber que existe, por exemplo, um que extende o Operation Manager para suportar SNMP v3, que ainda não é nativo na solução.

domingo, 18 de julho de 2010 às 13:13 Postado por Cláudio Costa 4 Comments

            Um problema que perdi um bom tempo testando e fazendo laboratório que agora você pode economizar se precisar passar por isso. Recentemente a pedido de um amigo do forum fiz um laboratório no seguinte cenário. Tinha um DC 2003 em Inglês e precisava preparar a floresta e o domínio para instalar um DC 2008 em Português-BR.  Ao tentar rodar o adprep /forestprep no Schema Master, simplesmente o comando ia para a linha de baixo e parava, não dava erro mas também não executava.
             
Sintoma

Ao executar o adprep /forestprep no meu Schema Master 2003 Server em en-us, o comando simplesmente trava, sem executar mas sem retornar erro.

Causa

Quando você executa o adprep /forestprep de um DVD na linguatem PT-BR em um DC cujo sistema operacional é EN-US, o comando procura uma pasta EN-US contida no mesmo diretório do adprep, porém como o DVD é de outra língua só existe a pasta PT-BR e portanto o comando não é executado.

Resolução

Copie a pasta adprep para o disco local do seu DC, renomeie a pasta para a linguagem correta, no meu caso, a pasta foi renemeada de PT-BR para EN-US e o problema foi resolvido. Consegui preparar a floresta e instalar o DC 2008 na linguagem pretendida sem mais problemas.

Boa sorte!

quinta-feira, 1 de julho de 2010 às 09:43 Postado por Cláudio Costa 1 Comment

Antigamente eu usava um aplicativo do observatório nacional que eu instalava como serviço, mas comecei a ter alguns problemas com ele. Então, no 2008, agora, faço a configuração normal com um servidor de hora externo.

Atualmente, estou usando  os servidores de hora da www.ntp.br para fazer a sincronia dos relógios, aqui no Brasil. Para configurar, é simples: Por padrão, as máquinas que fazem parte do seu domínio, sincronizam o relógio com o PDC Emulator da sua hierarquia.

Logo, convém que seu PDC Emulator faça a sincronia com uma fonte externa, para garantir o horário correto. Basta seguir os seguintes comandos:

# Primeiro, configure qual o servidor de hora que seu servidor deve usar:
w32tm /config /manualpeerlist:pool.ntp.br

# Depois, configure o Windows Time Service para que ele busque a hora da lista manual, que você acabou de configurar:
w32tm /config /syncfromflags:MANUAL

# Marque o Domain Controller para se publicar na rede como um servidor de hora válido de referência para as outras máquinas.
 w32tm /config /reliable:YES

# Após executar os comandos acima, as configurações foram feitas no registro. O comando abaixo vai forçar que o serviço leia novamente o registro para se reconfigurar:
w32tm /config /update

# Por padrão, o Windows vai fazer a sincronia com a lista acima a cada 3600 segundos (1 hora). Se você quiser forçar que a sincronia ocorra agora:
w32tm /resync

Pronto, a partir de agora, seu PDC Emulator está sincronizando com uma fonte externa confiável de hora.

Mais alguns pontos para completar o artigo:
# Se você quiser saber com quem o seu computador está sincronizando:
w32tm /query /source

# Para configurar o serviço de hora para voltar a sincronizar com o domínio, caso você tenha mudado:
w32tm /config /syncfromflags:DOMHIER

# Para configurar o serviço de hora para sincronizar com o domínio e com fontes externas:
w32tm /syncfromflags:ALL

# Para que os serviço de hora não sincronize com ninguém
w32tm /syncfromflags:None

Atenção: Caso você receba a mensagem:
The following error occurred: Access is denied. (0x80070005)

Lembre-se de executar o prompt de comando em modo elevado (botão da direita, executar como Administrador).

----------------- Complemento----------
Hoje passei por um problema em um servidor que a hora não estava sincronizando de jeito algum. Dava uma mensagem que nenhuma informação de hora estava disponível. Só consegui corrigir este problema resetando o serviço de hora.

net stop w32time
w32tm /unregister
w32tm /register
net start w32time
w32tm /resync /rediscover


Boa sorte!



O Evento de Erro 10016 de Origem DistributedCOM, é no mínimo irritante. Já vi servidores instalados absolutamente do zero, sem nenhum software ou serviço com o log de Eventos inundado deste erro. A mensagem é basicamente assim:

Esta pode aparecer tanto no Windows 2003 como no 2008.

The application-specific permission settings do not grant Local Launch permission for the COM Server application with CLSID
{24FF4FDC-1D9F-4195-8C79-0DA39248FF48
to the user NT AUTHORITY\SYSTEM SID (S-1-5-18) from address LocalHost (Using LRPC). This security permission can be modified using the Component Services administrative tool

No Windows 2008 R2 a Microsoft foi benevolente em informar também o APPID, que já minimiza um pouco do trabalho. No 2008 R2, a mensagem fica parecida com esta:

The application-specific permission settings do not grant Local Launch permission for the COM Server application with CLSID
{24FF4FDC-1D9F-4195-8C79-0DA39248FF48}
and APPID
{B292921D-AF50-400C-9B75-0C57A7F29BA1}
to the user NT AUTHORITY\SYSTEM SID (S-1-5-18) from address LocalHost (Using LRPC). This security permission can be modified using the Component Services administrative tool.
 
Vamos tentar resolver este erro. O primeiro ponto é descobrir o APPID da aplicação que está dando erro. Se você usar o 2008 R2, o APPID já está no evento portanto, pule os 3 passos abaixo e vá para o próximo parágrafo, se você não usa, faça o seguinte:
 
1 - Execute o regedit
2 - Navegue para HKCR\CLSID\{24FF4FDC...} ou a chave que aparece no seu evento:
3 - Ao selecionar a chave, no painel da esquerda vc vai ver o valor, o AppID. Este é o seu AppID.
 
Agora que você já tem o APPID, o certo seria abrir o dcomcnfg e dar a permissão que você precisa. Mas no 2008 e no 2008 R2, se vc tentar fazer isso, toda a tela de edição da segurança estará desabilitada. Um administrador, por padrão não tem privilégio para mudar esta permissão. Alías, só quem teria este acesso é o usuário TrustedInstaller. Portanto, faça o seguinte:
 
1 - Execute o regedit
2 - Navegue para HKLM\SOFTWARE\Classes\AppID\{B292921D...} O seu AppID vai aqui
3 - Clique com o botão da direita na chave do AppID, vá em Permissions
4 - Clique em Avançado, vá para a página Owner
5 - Selecione o Grupo "Administrators", marque a caixa "Replace owner on subcontainers and objects"
6 - Clique em Appy e depois em OK
7 - Marque o privilégio de Full Control para o grupo Administrators
8 - Clique em Apply e depois em OK
 
Pronto, agora é só dar a permissão no dcomcnfg:
 
1 - Execute dcomcnfg;
2 - Navegue para Component Services\computers\My Computer\DCOM Config
3 - Ao selecionar DCOM Config, à esquerda vai aparecer todos os objetos de DCOM
4 - Mande exibir os objetos em formato de Detalhes, para aparecer o nome e o AppID
5 - Localize o seu AppID
6 - Xingue a vontade por não ter opção de pesquisa ou para ordenar por AppID. Vc tem que localizar no olho mesmo;
7 - O AppID que eu usei no meu exemplo é muito comum de dar erro. Para facilitar sua vida, o {B292921D-AF50-400c-9B75-0C57A7F29BA1} refere-se ao NAP Agent Service;
8 - Clique com o botão da direita no objeto correto, veja propriedades e vá para a página de segurança;
9 - Teoricamente, agora você deve conseguir editar as permissões.
10 - Para cada permissão, selecione "Customize" e edite as permissões conforme necessário. Se a reclamação do evento é para o usuário SYSTEM, dê o privilégio de Launch e Activation, local e remoto, aplique e os erros devem parar.
 
Boa Sorte

terça-feira, 29 de junho de 2010 às 11:54 Postado por Cláudio Costa 1 Comment

Prezados, hoje tive a felicidade de vivenciar um problema em um dos servidores Windows Server 2008 x64.  A falha inicialmente foi física, trata-se de um servidor Dell PorwerEdge 6850, com uma controladora RAID cuja memória conheceu a grande luz. Sem a memória da controladora, o cache de escrita nos discos foi perdido e com isso o arquivo de registry foi corrompido.  Após a troca da memória, recebemos o erro do arquivo de registry corrompido, no meu caso foi o arquivo:

c:\windows\system32\config\system

Poderia ter sido outro arquivo de registro, como o security, software e etc.

Se este arquivo tiver algum problema, o Windows não sobe nem na base da porrada. São nestes arquivos que são armazenados os dados da registry do Sistema Operacional.

Uma boa notícia: ainda há uma luz no fim do túnel.

Coloque o CD de instalação do Windows 2008 e na primeira tela, selecione a opção para Reparar o seu computador. Ele deve exibir logo depois uma tela pendido para você escolher a instalação do Windows que você deseja restaurar.

Se aparecer duas ou mais instalações, selecione aquela que apresenta o erro na incialização. Se não aparecer nenhuma, é porque aquela luz no fim do túnel ficou um pouco mais distante. Você precisa dos drivers da sua controladora de disco, carregue-os que tudo deve ficar bem.

Se você já conseguiu ver seu sistema operacional e selecionou-o, deve cair numa tela com 3 opções, abra o prompt de comando.

execute os seguintes comandos, troque o "system" para o seu registro que foi corrompido:

copy c:\windows\system32\config\system c:\windows\tmp\system.bak (copia o registro bichado, só pra fazer um backup por desencargo de consciência)

delete c:\windows\system32\config\system (mata o arquivo original da copia que vc acabou de fazer)

copy c:\windows\system32\config\RegBack\system c:\windows\system32\config

Isso vai recuperar algum backup que o seu sistema operacional tenha feito automaticamente. Teoricamente, a cada alteração no registro, o seu SO faz um backup da versão anterior e salva na pasta RegBack. Caso já tenha um backup, ele salva a versão anterior como .OLD e faz novamente o backup, ou seja, você tem sempre as duas ultimas versões.

Pronto: basta reiniciar o servidor que o sistema operacional deve ser carregado e aquele luz no fim do túnel iluminou a sua vida.

Se não existir a pasta RegBack ou se a versão que estiver lá for inválida ou inexistente, vc acabou de descobrir que aquela luz no fim do túnel era na verdade um trem.

Espero ter ajudado.

           Hoje li um artigo do Justin James no TechRepublic que achei legal.  Trata-se de dicas para uma entrevista de emprego, não para o candidato, que já tem muito material na internet, mas para o entrevistador. O grande desafio de quem esta entrevistando alguém não é descobrir o nível de conhecimento técnico, mas descobrir sobre o perfil do candidato. O conhecimento tecnico pode ser resolvido com um treinamento, mas o perfil é algo que ja vem com o profissional e muito mais dificil de mudar. Vou traduzir aqui as perguntas que o Justin James escreveu, não estou dizendo que são as melhores, que não podem ser adaptadas ou que vão achar o que você precisa, mas dão uma idéia legal sobre um caminho ou opções que podem ser escolhidas. Ele foca em assuntos que são unânimes lá fora para os "geekys", mas que aqui talvez precise ser adaptado:

Jornada nas Estrelas ou Guerra nas Estrelas?

             Se existe uma maneira de julgar o verdadeiro caráter de um candidato, é determinar a preferência dele entre Jornada nas Estrelas ou Guerra nas Estrelas. Certifique-se de que quando fizer a pergunta, você não vai dar nenhuma dica sobre qual vc prefere. Alguns candidatos vão tentar uma posição política ou não se comprometer, 'Eu gosto igualmente dos dois'. Essa resposta não faz o menor sentido só mostra uma fraqueza em uma área determinada do intelecto de quem nao consegue tomar decisões. Independente da resposta, peça que eles fortaleçam a opinião com argumentos. Isso vai mostrar a capacidade de defender uma idéia, de lembrar de um alto nível de detalhes e de atribuir uma lógica rasoável em um mundo de fantasia, talentos que podem ser cruciais para sobreviver no mundo de uma TI corporativa.

Quem atirou primeiro, Han Solo ou Greedo?

              Essa vai ser entendida mais pelos fãs de Guerra nas estrelas O candidato tem que ter responder esta quesão com precisão: Han Solo atirou primeiro. Trata-se de uma cena que foi alterada na versão remasterizada de 1997,  que foi alterada para mostrar que Greedo atirou primeiro. Mas na versao original, quem atirou primeiro foi Han Solo. A idéia seria descobrir quem tem em seu perfil a dedicação  para pesquisar completamente um assunto, que não gosta de ficar com dúvidas, nem que para isso ele seja obsessivo o suficiente para ir atrás de locadoras em busca de um VHS ou cópias originais de um filme.

O filme ou a versão original?

               Muitos profissionais são melhor sucedidos em determinadas vagas quando são capazes de detectar diferenças sutis. Por exemplo, dois roteadores podem ter configurações quase idênticas com apenas uma pequena diferença em uma configuração, e profissionais que nao conseguirem achar este tipo de diferenças podem ficar batendo cabeça enquanto a rede está fora.  Na minha experiência (do Justin James), a maneira mais eficiente de julgar a habilidade do candidato em ver estas diferenças é na pergunta "filme ou original? As produtoras de filmes são obrigadas a fazer certas mudanças quando lançam um filme baseado em um livro, série, quadrinhos ou qualquer outra coisa. A versão do diretor do filme "Dune" é um clássico, com quase 8 horas de duração. Fazer o candidato detalhar a diferença de clássicos deste tipo (Senhor dos Anéis, X-men, Spiderman, Batman ... ) você está realmente testando a capacidade do candidato de ver detalhes.

Lembra quando Steve Jobs abriu a KoalaSoft?

Todo entrevistador deve ter a habilidade de levar o candidato a uma situação embaraçosa.  Uma maneira de conseguir é mensionar alguns "fatos" errados propositalmente. Steve Jobs, o fundador da Apple, foi afastado de sua empresa em 1985 e abriu a NEXT. Então você pode tentar algo como: "... isso me faz lembrar quando o Steve Jobs abriu a companhia KoalaSoft...".  Preste atenção na reação do candidato, veja como ele se comporta mesmo quando achar que alguém esta falando a maior besteira do mundo, mesmo sendo um superior. Se ele não reagir de forma alguma, por não saber do que você está falando, ele no mínimo é um cara mal informado, principalmente se você escolher um fato que todo mundo sabe. Mas a situação fica realmente interessante quando ele tenta te contradizer sem te ofender. Se ele tentar te corrigir, experimente insistir. "Você realmente acha que o Steve Jobs ia montar uma empresa com o nome de NeXT?".

Por que o primeiro processador Pentium da Intel ficou mais famoso?

Se o candidato não tiver idéia da resposta ("erros matemáticos") ou outras falhas tecnicas historias, bugs, entre outros, ele já perde uma certa porção de credibilidade. Perguntas assim mede a capacidade humana de se lembrar de falhas. Também vai lembrar ao candidato que os erros deles são sempre lembrados.

Quem foi Gary Gygax?

O inventor de Dungeons and Dragons. Isso é conhecimento obrigatório, sem desculpas.

         
Artigo original (com mais perguntas): http://blogs.techrepublic.com.com/10things/?p=1609&tag=nl.e101

Requisitos:

  • O RODC não requer que a floresta ou o domínio estejam em nível funcionando 2008, porém exige que exista um Writeble Domain Controller 2008 com Global Catalog habilitado, que será usado como servidor de origem para replicar a base para o RODC.
  • Antes de fazer a instalação do primeiro RODC, a floresta deve ser preparada para isso. Para isso, usando o Adprep.exe localizado no CD de instalação do 2008, execute: adprep /rodcprep
  • Pronto, agora execute: dcpromo
  • Marque a opção de Modo de instalação avançado;
  • Passe pela tela de aviso de compatibilidade;
  • Adicione um Domain Controller a um domínio existente em uma floresta existente;
  • informe o nome do domínio;
  • Informe as credenciais;
  • Selecione o site em que o RODC irá atuar;
  • Na tela de  "Addition Domain Controller Options" lembre-se de marcar a opção "Read Only Domain Controller RODC);

  • Conforme planejado em sua política de segurança, verifique se você quer permitir a replicação de senhas ou não. Esta configuraçào pode ser alterada depois.
  • Na tela de delegação de instalação /Administração você tem a opção de delegar a alguém a administração deste servidor sem contudo dar o privilégio para ele administrar o AD. Esta configuração também pode ser mudado depois;
  • Na tela "Install from Media", você tem a opção de replicar os dados diretamente do servidor de origem. Caso esteja em um link muito lento em que esta replicação pode demorar muito, você tem a opção de criar a partir de um backup feito do servidor de origem em alguma mídia. O backup é gerado a partir do ntdsutil
  • Se for selecionado para replicar do servidor, selecione qual o servidor de origem e depois onde os arquivos serão armazenados. Se sua base for grande, é recomendado que os dados estejam em um disco ou RAID Grupo diferente dos arquivos LOGs. ;
  • Digite a senha de Restore do serviço de diretório. Atenção, se algum dia o seu DC der problema e você precisar logar localmente e modo de restauração, esta é a senha que você vai usar. Confirme as configurações selecionadas e clique em "Next"
  • O AD será instalado neste servidor com as partições marcadas como "Somente Leitura". Ao terminar a instalação será solicitado um boot para que as alteraçoes surtam efeito. Basta confirmar.
Parabéns, você acabou de instalar um Controlador de Domínio de Somente Leitura.

às 00:31 Postado por Cláudio Costa 1 Comment

Sintomas

  • A base existente em um RODC está muito desatualizada.  Um objeto criado, alterado ou apagado de um DC na sede (Writeble) não replicada para o RODC na Filial
  • Os eventos referentes ao serviço de diretório lotado de erros:

Evento 2845: "O KCC (Knowledge Consistency Checker) localizou uma conexão de replicação para o serviço de diretório local somente leitura, mas o servidor de origem não está respondendo nem replicando. Um novo servidor de origem adequado não foi encontrado entre os parceiros de replicação atuais. Esta operação será repetida. "

Evento 1865: "O KCC (Knowledge Consistency Checker) não pôde formar uma topologia de rede de árvore de abrangência completa . Como resultado, a lista de sites a seguir não pode ser acessada do site local. "

Evento 2042 "Faz muito tempo que esta máquina replicou com a máquina de origem nomeada. O tempo entre as replicações com essa origem excedeu o prazo da marca para exclusão. A replicação foi interrompida com essa origem. "

  • O comando repadmin /showreps mostra o seguinte erro:
Último erro: 1256 (0x4e8):
O sistema remoto não está disponível. Para obter informações sobre a
solução de problemas de rede, consulte a 'Ajuda' do Windows.

  • Ao tentar forçar uma replicação manual, ou via repadmin ou via Active Directory Sites and Service, recebemos o erro: 
Falha em DsReplicaSync() com status 8452 (0x2104):
O contexto de nomenclatura está sendo removido ou não é replicado do servidor especificado.

Causa

          Os erros mostram que o RODC não está tendo conectividade com um DC de origem (Writeble) para replicar a base. Na instalação de um RODC, o KCC cria uma conexão no Controlador de Domínio de somente leitura para fazer a conexão intra e inter sites. Esta conexão diz para o RODC de onde ele deve puxar a base do AD para manter seus dados atualizados. Por algum motivo, o RODC não está tendo êxito nesta conexão.

Resolução

  1. Abra a console "Serviços e Sites do Active Directory";
  2. Por padrão a console é aberta em um DC de Escrita (onde no geral os dados estão atualizados), clique com o botão da direita em "Serviços e Sites do Active Directory" e clique em "Alterar Controlador de Domínio"
  3. Selecione na lista o RODC que não está sendo atualizado;
  4. Clique em OK na mensagem que informa que nenhuma informação poderá ser feita (Claro, o DC é de somente leitura, lembra?)
  5. Abra o site específico do RODC, abra Server, abra o RODC (nome do servidor) e selecione no painel da esquerda o NTDS Settings;
  6. Deve existir dois objetos de conexão um para tramitação da base do AD e outra para o FRS que faz a sincronia do SYSVOL. Observe nas duas conexões o Campo "Do Servidor". Este campo mostra da onde o RODC está tentando baixar a base.
Opção 1.  Conectividade

    7.   Teste a conectividade do seu RODC para o DC. Neste momento, teste para ter certeza que você está conseguindo chegar corretamente no servidor. Se existir um firewall separando os dois servidores, é necessário o protocolo ICMP  (usado para identificar link lento) e as portas comuns de conectividade entre os DCs. Veja a documentação no seguinte link como referência das portas necessárias: http://www.microsoft.com/downloads/details.aspx?FamilyID=c2ef3846-43f0-4caf-9767-a9166368434e&displaylang=en

Opção 2. Resolução de Nome

    8. Certifique-se de que o RODC consegue chegar no DC de Escrita através do nome;
    9. Certifique-se de que a zona _msdcs está populada corretamente. Veja que existe um alias referente ao GUID do objeto DSA cadastrado na zona _msdcs como um alias, apontando para o servidor de origem. Este registro é algo no formato: 6be0c672-8ae4-46fd-b497-8840654b2ee4
    10.  Se for o caso, crie novamente sua zona _msdcs. No DC de Escrita, limpe  a zona _msdcs e reinicie o serviço "Netlogon" em todos os DCs.

Opção 3. Nome do servidor de Origem Inválido (o meu caso)

    11. Ao verificar o servidor de origem foi verificado que o RODC estava apontando para um servidor de Origem que não existe mais. O servidor foi desativado sem que o RODC criasse uma nova conexão para um  servidor alternativo. Neste caso, ele fica indefinidamente tentando se conectar ao servidor de origem antigo;
      12. Rebaixe o RODC a Member Server rodando o dcpromo para remover o serviço de Active Directory dele;
       13. Rode novamente o DCPromo para promover o servidor novamente a RODC. Na instalação ele vai forçar a replicação do servidor atual e com isso o problema de replicação está corrigido;