Erro '2155347997' durante backup do system state no "nó passivo" do cluster
Por: Rafael Oliveira
Recentemente trabalhei em alguns casos de falha de backup do system em ambientes em cluster Windows Server 2008 e 2008 R2, o qual o mesmo sempre falha no ínicio do processo na etapa de enumeração dos arquivos. Temos já documentação disponível que mostra como lidar com este problema:
System state backup error in Windows Server 2008, in Windows Vista, in Windows 7 and in Windows Server 2008 R2: "Enumeration of the files failed" https://support.microsoft.com/en-us/kb/980794
Reasons why the error Enumeration of the files failed may occur during System State backup https://blogs.technet.microsoft.com/askcore/2010/06/18/reasons-why-the-error-enumeration-of-the-files-failed-may-occur-during-system-state-backup/
O motivo que me levou a escrever este artigo é que os documentos sempre fazem referência ao erro "Enumeration of the file failed" que pode aparecer no log de eventos Application ou termos referência do mesmo do no log de erro o Windows Server Backup situado em ‘ C:\Windows\Logs\WindowsServerBackup\SystemStateBackup_Error date time.log ’ . Entretanto, nos casos que trabalhei recentemente, tinhamos a falha no ínicio do backup, porém no log Application tínhamos apenas o seguinte evento de erro:
Log Name: Application
Source: Microsoft-Windows-Backup
Date: 27/12/2016 16:33:44
Event ID: 517
Task Category: None
Level: Error
Keywords:
User: SYSTEM
Computer: XXXXXXXXXXXXXXXXXX
Description:
The backup operation that started at ' 2016 - 12 - 27T18:33:03.193643800Z' has failed with following error code ' 2155347997' (The operation ended before completion.). Please review the event details for a solution, and then rerun the backup operation once the issue is resolved.
Event Xml:
<Event xmlns="https://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Microsoft-Windows-Backup" Guid="{1DB28F2E-8F80-4027-8C5A-A11F7F10F62D}" />
<EventID>517</EventID>
<Version>0</Version>
<Level>2</Level>
<Task>0</Task>
<Opcode>0</Opcode>
<Keywords>0x8000000000000000</Keywords>
<TimeCreated SystemTime="2016-12-27T18:33:44.183245800Z" />
<EventRecordID>122046</EventRecordID>
<Correlation />
<Execution ProcessID="4620" ThreadID="2704" />
<Channel>Application</Channel>
<Computer>XXXXXXXXXXXXXXXXXX</Computer>
<Security UserID="S-1-5-18" />
</System>
<EventData>
<Data Name="BackupTime">2016-12-27T18:33:03.193643800Z</Data>
<Data Name="ErrorCode">2155347997</Data>
<Data Name="ErrorMessage">%%2155347997</Data>
</EventData>
</Event>
E ao verificar o log de erro do Windows Server Backup em ‘ C:\Windows\Logs\WindowsServerBackup\SystemStateBackup_Error date time.log ’ , o mesmo estava em branco.
O problema é que não haviam outras evidências de erros que mostrassem a causa e este sintoma não nos leva a crer que o problema tenha relação com a causa descrita nos documentos acima. Porém, após análise do trace WBAdminUI.etl , o qual é gerado na pasta C:\Windows\Logs\WindowsServerBackup\ , foi identificado que a falha também estava relacionada ao processo de enumeraçao de arquivos. A questão é que este trace apenas pode ser convertido por uma das ferramentas que usamos aqui no suporte.
Um dos cenários mais comuns são falhas de backup em servidores que são nós de um cluster e, no momento do backup, não é owner dos recursos. Para corrigir o problema, siga os passos da documentação informada no ínicio do artigo. Os mesmos também são mostrados abaixo:
- Abra o Msinfo32, Software Environment -> Services.
- Verifique se temos serviços que façam referência para um binário que está armazenado em um disco do cluster. Em caso afirmativo, a falha do backup ocorre durante a enumeração, pois este node possui um serviço cuja path não está disponível naquele momento, pois o outro node é owner do disco. Por exemplo:
File Manager Server File Manager Server Stopped Auto Own Process h:\aplicacoes\sistema\fmanagerserver.exe Normal LocalSystem 0
- Garanta que o hotfix https://support.microsoft.com/en-us/kb/980794 esteja instalado. Se ele não estiver instalado, é necessário instalá-lo antes de prosseguir com este procedimento.
- Abra o editor de registro e procure pelo valor HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SystemWriter\ExcludedBinaryPaths. Caso ele não exista, basta criar um novo tipo " Multi-String Value" .
- Edite o valor "ExcludedBinaryPaths" adicionando a lista de binários, colocando um em cada linha. É necessário adicionar a path completa do binário. Para o serviço mostrado no exemplo acima, teríamos que adicionar h:\aplicacoes\sistema\fmanagerserver.exe .
- Reinicie o servidor para aplicar a alteração.
Uma recomendação adicional é proativamente configurar este valor no registro em ambos nodes para evitar que, no futuro, o nó do cluster que atualmente hospeda os recursos sofra falhas de backup do system state em um momento o qual os mesmos estejam em execução no outro node.