Removable storage导致不能Add host

一台XenServer,曾用作为过cluster的Master,从CloudStack删除后,再次加入其他已有Master的Cluster,UI上报Unable to add the host错误,日志报“com.xensource.xenapi.Types$JoiningHostCannotContainSharedSrs Unable to allow host 20.1.101.19 to join pool 20.1.101.20 due to The host joining the pool cannot contain any shared storage.The host joining the pool cannot contain any shared storage.”异常。通过google,baidu均未发现解决方案,后来通过使用xe sr-list命令,发现有Removable storage的SR,host为not in database,分析属于异常情况,改SR如下:

uuid ( RO)                : 5d938231-ee85-b668-5074-ffbbfd3c5c39

name-label ( RW):     Removable storage

name-description ( RW): 
host ( RO): <not in database>
type ( RO): udev

content-type ( RO): disk

uuid ( RO)                      : 5d938231-ee85-b668-5074-ffbbfd3c5c39
     name-label ( RW)      : Removable storage

name-description ( RW) : 
                host ( RO)      : <not in database>
                type ( RO)      : udev
   content-type ( RO)      : disk



解决方法:forget这个SR(命令:xe sr-forget uuid=5d938231-ee85-b668-5074-ffbbfd3c5c39)后,再次add host就成功了。
注:实际中,我还forget了如下的SR
uuid ( RO)                      : cc8aa0f5-eac3-3571-20e8-2eb500edbdd7
          name-label ( RW) : DVD drives
 name-description ( RW): Physical DVD drives
                host ( RO)      : <not in database>
                type ( RO)      : udev
        content-type ( RO) : iso


日志内容:
2012-12-06 13:18:31,693 INFO  [cloud.resource.ResourceManagerImpl] (catalina-exec-4:null) Trying to add a new host at http://20.1.101.19 in data center 1
2012-12-06 13:18:31,762 DEBUG [xen.resource.XenServerConnectionPool] (catalina-exec-4:null) Slave logon to 20.1.101.19
2012-12-06 13:18:31,789 DEBUG [xen.resource.XenServerConnectionPool] (catalina-exec-4:null) Logging on as the master to 20.1.101.19
2012-12-06 13:18:32,562 WARN  [xen.resource.XenServerConnectionPool] (catalina-exec-4:null) Catch com.xensource.xenapi.Types$JoiningHostCannotContainSharedSrs Unable to allow host 20.1.101.19 to join pool 20.1.101.20 due to The host joining the pool cannot contain any shared storage.
The host joining the pool cannot contain any shared storage.
        at com.xensource.xenapi.Types.checkResponse(Types.java:1000)
        at com.xensource.xenapi.Connection.dispatch(Connection.java:372)
        at com.xensource.xenapi.Pool.join(Pool.java:1058)
        at com.cloud.hypervisor.xen.resource.XenServerConnectionPool.join(XenServerConnectionPool.java:781)
        at com.cloud.hypervisor.xen.resource.XenServerConnectionPool.joinPool(XenServerConnectionPool.java:155)
        at com.cloud.hypervisor.xen.discoverer.XcpServerDiscoverer.addHostsToPool(XcpServerDiscoverer.java:395)
        at com.cloud.hypervisor.xen.discoverer.XcpServerDiscoverer.find(XcpServerDiscoverer.java:202)
        at com.cloud.resource.ResourceManagerImpl.discoverHostsFull(ResourceManagerImpl.java:644)
        at com.cloud.resource.ResourceManagerImpl.discoverHosts(ResourceManagerImpl.java:514)
        at com.cloud.api.commands.AddHostCmd.execute(AddHostCmd.java:136)
        at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:132)
        at com.cloud.api.ApiServer.queueCommand(ApiServer.java:509)
        at com.cloud.api.ApiServer.handleRequest(ApiServer.java:416)
        at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:300)
        at com.cloud.api.ApiServlet.doGet(ApiServlet.java:59)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889)
        at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:721)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2260)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)
2012-12-06 13:18:32,565 DEBUG [xen.resource.XenServerConnectionPool] (catalina-exec-4:null) Host(20.1.101.19) unable to Join the pool at 20.1.101.20
2012-12-06 13:18:32,565 WARN  [xen.discoverer.XcpServerDiscoverer] (catalina-exec-4:null) Unable to join the pool
2012-12-06 13:18:32,567 DEBUG [xen.discoverer.XcpServerDiscoverer] (catalina-exec-4:null) other exceptions: com.cloud.exception.DiscoveryException: Unable to join the pool
com.cloud.exception.DiscoveryException: Unable to join the pool
        at com.cloud.hypervisor.xen.discoverer.XcpServerDiscoverer.addHostsToPool(XcpServerDiscoverer.java:397)
        at com.cloud.hypervisor.xen.discoverer.XcpServerDiscoverer.find(XcpServerDiscoverer.java:202)
        at com.cloud.resource.ResourceManagerImpl.discoverHostsFull(ResourceManagerImpl.java:644)
        at com.cloud.resource.ResourceManagerImpl.discoverHosts(ResourceManagerImpl.java:514)
        at com.cloud.api.commands.AddHostCmd.execute(AddHostCmd.java:136)
        at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:132)
        at com.cloud.api.ApiServer.queueCommand(ApiServer.java:509)
        at com.cloud.api.ApiServer.handleRequest(ApiServer.java:416)
        at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:300)
        at com.cloud.api.ApiServlet.doGet(ApiServlet.java:59)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at com.cloud.api.ApiServer.handleRequest(ApiServer.java:416)
        at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:300)
        at com.cloud.api.ApiServlet.doGet(ApiServlet.java:59)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889)
        at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:721)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2260)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)
2012-12-06 13:18:32,568 WARN  [cloud.resource.ResourceManagerImpl] (catalina-exec-4:null) Unable to find the server resources at http://20.1.101.19
2012-12-06 13:18:32,568 WARN  [api.commands.AddHostCmd] (catalina-exec-4:null) Exception:
com.cloud.exception.DiscoveryException: Unable to add the host
        at com.cloud.resource.ResourceManagerImpl.discoverHostsFull(ResourceManagerImpl.java:694)
        at com.cloud.resource.ResourceManagerImpl.discoverHosts(ResourceManagerImpl.java:514)
        at com.cloud.api.commands.AddHostCmd.execute(AddHostCmd.java:136)
        at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:132)
        at com.cloud.api.ApiServer.queueCommand(ApiServer.java:509)
        at com.cloud.api.ApiServer.handleRequest(ApiServer.java:416)
        at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:300)
        at com.cloud.api.ApiServlet.doGet(ApiServlet.java:59)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889)
        at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:721)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2260)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)

你可能感兴趣的:(Removable storage导致不能Add host)