Alessandro's profileAle - SmartWindowsPhotosBlogListsMore ![]() | Help |
Ale - SmartWindows |
|||||
|
December 31 The Messenger Series - Microsoft ResearchFor the last day of 2009, check this project from Microsoft Research. Project TUVA , featuring Richard Feynman famous Lectures at Cornell also you can have the book Character of a Physical Law. Happy New Year and have fun watching the brightest bongo player in the world. December 15 The Fourth Paradigm: Data-Intensive Scientific Discovery - Microsoft ResearchHere it is a free-book to download from MS Research. It is a collection of essays from the late Jim Gray - http://en.wikipedia.org/wiki/Jim_Gray_(computer_scientist) . Or his page from MS Research - http://research.microsoft.com/en-us/um/people/gray/ . Only one of the founding fathers of modern database engines and main contributor of Terra Server. If you are interested in Computer Science and mega numbers , it is a good read. The Fourth Paradigm: Data-Intensive Scientific Discovery - Microsoft Research November 18 Be a MartianAfter a terrible and long winter ( time without blogging) I guess it is time to start over. Check this new site that was announced at the PDC 09 You can virtually explore the Red Planet. December 31 Erro 0x800705AA ao iniciar uma máquina virtual em Hyper-V
Ao tentar iniciar uma VM , você poderá receber a seguinte mensagem:
Ao ler a mensagem percebemos algo de inconsistente , pois indica que a operação falhou por falta de recursos no sistema , onde não pode alocar 4069 MB de memória RAM. Mais abaixo , ainda explica que não pode alocar os 4096MB , pois a memória disponível é 7226MB !? Com certeza temos memória disponível o suficiente para completar a operação. Esse comportamento pode se manifestar em servidores que possuem a arquitetura NUMA (Non Uniform Memory Access) , foi corrigido com o seguinte hotfix http://support.microsoft.com/Default.aspx?id=953585 . Basicamente , o erro acontece por uma falha de alocação de memória na arquitetura NUMA , que introduz conceitos diferentes do modela padrão de suporte SMP. No modelo padrão SMP (Symmetric Multi Processor), cada processador possui acesso igual a memória e I/O. Todavia com o número elevado de processadores no hardware atual , isso causa uma limitação / bottleneck de performance no bus do processador. Para a arquitetura NUMA (Non Uniform Memory Access), cada processador (por consequência os cores associados ao processador)roda em ambiente chamado NUMA Node. Cada NUMA Node compartilha seu próprio memory controller , o que podemos chamar de “memória local” ao NUMA Node , enquanto o resto da memória do sistema , pode ser considerada “Non-Local Memory”.
Esse conceito determina que a velocidade de acesso a memória não seja uniforme entre os processadores , pois se é necessário acessar uma página de memória “local” o tempo será consideravelmente menor do que ao acessar um dado que está localizado em “Non-Local Memory”. Por isso o sistema operacional tentará alocar memória local para cada processo rodando em um NUMA node, para que ocorra o máximo de eficiência no acesso a memória e que o system bus fique mais liberado para I/O. Após essa breve introdução , como sabemos se o nosso hardware suporta NUMA. Normalmente o fornecedor de hardware é que deve indicar isso. Todavia , servidores com processadores AMD são baseados na arquitetura NUMA. Servidores com processadores INTEL , podem apresentar SMP padrão ou NUMA e a maior probabilidade será em servidores com múltiplos sockets. Para servidores com Hyper-V instalado podemos determinar isso facilmente ao observar o contador chamado “Hyper-V VM Vid NUMA Node” , ele irá reportar uma instância para cada NUMA Node , ou apenas uma se o servidor possuir um único NUMA Node. Neste exemplo o servidor não possue NUMA habilitado: Voltando ao erro de iniciar a máquina virtual , basicamente há um erro quando o processo do Hyper-V tenta alocar memória. Esse comportamento é apresentado com mais frequência quando utilizamos a parent partition ( Windows 2008 host) , para fazer operações que possam causar que o System File Cache aumente ( cópia de arquivos muito grandes , por exemplo). Pois quando iniciamos a VM , irá ocorrer um flush do System File Cache se por acaso o sistema necessitar de memória para alocar para a VM. As "pages" do System File Cache irão mover-se para a StandBy List , para que mais tarde sejam liberadas ( freed ). O problema nesse caso , é que antes do hotfix , o Windows Server 2008 barra alocações NUMA contra a Stand By List. Fazendo que o sistema esteja com um consumo baixo de memória , mas a maioria da memória esta como "Cached" , que é composto por (System File Cache , Modified Pages e Standby Pages). Este é um snapshot de um servidor apresentando o problema , verifiquem que temos o Total de Physical Memory em 8GB , mas praticamente toda a memória está em Cached , e o Memory está em 1.23 GB.
Understanding NUMA Access - SQL 2008 NUMA Optimization for Windows APP Obrigado e Feliz 2009 Alessandro October 16 Recurso de Cluster MSExchangeSA falha – MSExchangeMU 1043 (0x80070015)
Olá , Acabei de trabalhar em um incidente muito interessante em vários sentidos. Especialamente em relação que temos que olhar todos os aspectos e logs para encontrarmos a razão para certos comportamentos e não nos fixarmos tão profundamente na primeira impressão que temos. Mas chega de conversa e vamos falar do incidente. Cluster Exchange 2003 ( 3x1 ) , onde os 3 nós apresentavam a mesma falha logo após um unexpected shutdown , o recurso de System Attendant não incia com erro de timeout. Após aumentar o diagnostic logging de MSExchangeSA e MSExchangeMU apenas recebemos um erro : 1043 MSExchagneMU Error code is error 80070015 (The device is not ready.) Com esse evento fixo na memória , e apresentando em todos os nós do cluster ao mesmo tempo rapidamente decidi que isso era um problema do METABASE do IIS . Pesquisei por esse evento e revi quase todos os artigos de suporte , mas nenhum resolvia esse evento específico. Ao verificar o cluster log achei o seguinte trecho ao iniciar o recurso:
000008dc.00000c98::2008/10/16-22:43:26.071 INFO [FM] FmpRmCreateResource: creating resource 43bc0450-9b47-4593-b1a2-0a76e491f02d in shared resource monitor 00000bd0.00000be8::2008/10/16-22:43:26.071 ERR Generic Service <Service Registry>: Service 'Another Service' is controlled by another resource. Error: 5010. 00000bd0.00000be8::2008/10/16-22:43:26.071 WARN [RM] RmpInsertResourceList failed, returned 5010 00000bd0.00000be8::2008/10/16-22:43:26.071 ERR [RM] Failed creating resource 43bc0450-9b47-4593-b1a2-0a76e491f02d, error 5010. 000008dc.00000c98::2008/10/16-22:43:26.071 INFO [FM] FmpRmCreateResource: unable to create resource 43bc0450-9b47-4593-b1a2-0a76e491f02d 00000bd0.00000af4::2008/10/16-22:44:10.235 INFO Microsoft Exchange System Attendant <EVS1 - Exchange System Attendant>: [EXRES] Reporting state 129 (OnlinePending). 00000bd0.00000af4::2008/10/16-22:45:39.651 INFO Microsoft Exchange System Attendant <EVS1 - Exchange System Attendant>: [EXRES] Reporting state 129 (OnlinePending). 00000bd0.00000afc::2008/10/16-22:45:39.682 INFO [RM] RmpTimerThread: Giving a reprieve for resource EVS1 - Exchange System Attendant... 00000bd0.00000af4::2008/10/16-22:47:09.278 ERR Microsoft Exchange System Attendant <EVS1 - Exchange System Attendant>: [EXRES] EventLogging: EVS1 - Exchange System Attendant: Failed to bring this resource online because of timeout. Error Code: 1460. 00000bd0.00000af4::2008/10/16-22:47:09.278 INFO Microsoft Exchange System Attendant <EVS1 - Exchange System Attendant>: [EXRES] Reporting state 4 (Failed). 00000bd0.00000af4::2008/10/16-22:47:09.278 INFO [RM] RmpSetResourceStatus, Posting state 4 notification for resource <EVS1 - Exchange System Attendant> 00000bd0.00000af4::2008/10/16-22:47:09.278 INFO Microsoft Exchange System Attendant <EVS1 - Exchange System Attendant>: [EXRES] State change: from 129 (OnlinePending) to 4 (Failed). 000008dc.00000be4::2008/10/16-22:47:09.278 INFO [FM] NotifyCallBackRoutine: enqueuing event 000008dc.00000be4::2008/10/16-22:47:09.278 INFO [FM] Calling RmNotifyChanges in monitor 0bd0. 000008dc.00000998::2008/10/16-22:47:09.278 INFO [CP] CppResourceNotify for resource EVS1 - Exchange System Attendant 00000bd0.00000af4::2008/10/16-22:47:09.278 ERR Microsoft Exchange System Attendant <EVS1 - Exchange System Attendant>: [EXRES] EventLogging: EVS1 - Exchange System Attendant: Failed to bring the resource online. Error Code: 1460. 00000bd0.00000af4::2008/10/16-22:47:09.278 INFO Microsoft Exchange System Attendant <EVS1 - Exchange System Attendant>: [EXRES] Thread exited: DwOnlinePrimaryThread. Returning error 1460. 00000bd0.00000af4::2008/10/16-22:47:09.278 INFO Microsoft Exchange System Attendant <EVS1 - Exchange System Attendant>: [EXRES] DwResourceThread::decrement:: g_lThreadCount=1. 000008dc.00000998::2008/10/16-22:47:09.278 INFO [FM] FmpRmDoHandleCriticalResourceStateChange: call InterlockedDecrement on gdwQuoBlockingResources, Resource db7cbd8a-255a-4ff1-9ef4-a469112004d9 00000bd0.00000af4::2008/10/16-22:47:09.278 INFO Microsoft Exchange System Attendant <EVS1 - Exchange System Attendant>: [EXRES] EXCHANGE_RESOURCE::Release: Count=2. 000008dc.0000099c::2008/10/16-22:47:09.278 WARN [FM] FmpHandleResourceTransition: Resource Name = db7cbd8a-255a-4ff1-9ef4-a469112004d9 [EVS1 - Exchange System Attendant] old state=129 new state=4 000008dc.0000099c::2008/10/16-22:47:09.278 WARN [FM] FmpHandleResourceTransition: Resource failed, post a work item Observem que temos essa função chamando um decremento no mecanismo de locking dos recursos do quorum , o que também explica o porque dos recursos não conseguirem fazer failover , pois existam shared locks para o quorum e é necessário acesso ao quorum para fazer a operação de failover. 000008dc.00000998::2008/10/16-22:47:09.278 INFO [FM] FmpRmDoHandleCriticalResourceStateChange: call InterlockedDecrement on gdwQuoBlockingResources, Resource db7cbd8a-255a-4ff1-9ef4-a469112004d9 Mas isso nos dá uma pista do que pode estar causando isso , ao observar a seção entre InterlockedIncrement / InterlockedDecrement . Nessa seção logo antes da tentativa de início do MSExchangeSA temos uma falha na criação de um recurso , e mencionando que o recurso era controlado por outro recurso: 00000bd0.00000be8::2008/10/16-22:43:26.071 ERR Generic Service <Service Registry>: Service 'Another Service' is controlled by another resource. Error: 5010. Isso nos deu a pista que faltava para inciar o recurso. Nesse caso decidimos por remover todos os recursos de cluster relacionados com Generic Service <Service Registry>: , após feito isso , o recurso de MSExchangeSA e outros entraram online normalmente. Isso nos mostra que devemos sempre ter a mente aberta e procurar o máximo de informação possível para resolver um problema. Obrigado e até a próxima Public folders
|
|
|||
|
|