viernes, 20 de febrero de 2009

System.IO.IOException device is not ready

Al añadir un nuevo nodo a la granja se producía la excepción “System.IO.IOException: el dispositivo no está listo” o “System.IO.IOException: device is not ready” en el wizard de configuración:

 

Exception: System.IO.IOException: The device is not ready.

at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)

at System.IO.Directory.InternalCreateDirectory(String fullPath, String path, DirectorySecurity dirSecurity)

at System.IO.DirectoryInfo.Create(DirectorySecurity directorySecurity)

at Microsoft.SharePoint.Administration.SPProvisioningAssistant.CreateDirectory(DirectoryInfo di, Boolean secureAdminAccess)

at Microsoft.SharePoint.Administration.SPServer.CreateDirectory(String path, Boolean secureAdminAccess)

at Microsoft.SharePoint.Administration.SPServer.CreateDirectory(String path)

at Microsoft.SharePoint.Administration.SPUsageSettings.EnsureLogFileDirectories(SPFarm farm)

at Microsoft.SharePoint.Administration.SPWebApplication.Provision()

at Microsoft.SharePoint.Administration.SPWebServiceInstance.Provision()

at Microsoft.SharePoint.Administration.SPFarm.Join()

at Microsoft.SharePoint.PostSetupConfiguration.ConfigurationDatabaseTask.CreateOrConnectConfigDb()

at Microsoft.SharePoint.PostSetupConfiguration.ConfigurationDatabaseTask.Run()

at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask

 

El problema consiste en que al agregar el nuevo nodo a la granja, sharepoint intenta configurar el nuevo nodo con los paths de logs y análisis de uso configurados en la consola de administración. De manera que si especificamos en la administración central una unidad de disco que no existe en el nuevo nodo lanzará una excepción al no poder crear el directorio.

La solución consiste en especificar un path en los logs y y análisis de uso que dispongan todos los nodos de la granja. En mi caso, tenía configurado que los logs se almacenaran en la unidad “D:\” y el nuevo nodo solo tenía la unidad “C:\”, bastó con indicar la ruta estándar y volver a configurar.

Antes de volver a configurar tuve que desacoplarlo de la granja ya que se queda a medias, y eliminar a mano los sitios web en el iis creados al extender los web applications.

 

La solución original la podéis encontrar en System.IO.IOException Error in the Configuration Wizard.

Espero que os sirva.

No hay comentarios: