创建主存储时,可能会发生创建存储pool失败(SR已经被使用,重装CloudStack management后可能发生此问题),错误提示如下:
Can not create storage pool through host 1 due to Catch Exception com.cloud.utils.exception.CloudRuntimeException, create StoragePool failed due to com.cloud.utils.exception.CloudRuntimeException: There is a SR using the same configuration server:10.217.5.192, serverpath:/home/export/primary for pool c9c0319f-33f0-3494-9ada-4d7a2f1dafd4on host:09b3515e-447e-406f-869a-239386d5fe90 on host:09b3515e-447e-406f-869a-239386d5fe90 pool: 10.217.5.192/home/export/primary
失败原因通常是因为已经在host里创建过CS,到重装之前UUID为09b3515e-447e-406f-869a-239386d5fe90的host里删除c9c0319f-33f0-3494-9ada-4d7a2f1dafd4的SR,然后再创建主存储就没有问题了。
在XenServer里删除SR方法如下
1. 首先得到SR的UUID
xe sr-list name-label=c9c0319f-33f0-3494-9ada-4d7a2f1dafd4
2. 使用UUID获得物理块设备列表,可能有多个。
xe pbd-list sr-uuid= SR-uuid-from-step-1
3. 卸载物理块设备,如有多个,需要执行多次
xe pbd-unplug uuid=PBD-uuid-from-step-2
4. 销毁物理块设备,如有多个,需要执行多次
xe pbd-destroy uuid=PBD-uuid-from-step-2
5. 删除SR
xe sr-forget uuid=SR-uuid-from-step-1
另外,此问题可以在重新安装前,查询出storage_pool里的SR(select uuid from storage_pool;),然后到相应host(通常是SSVM所在的host里)里删除相关SR。