从两天以来,我一直在努力想办法解决这个问题,但没有成功。如果您遇到过类似的问题,请告诉我,以及如何解决。否则任何指点都会有帮助。
这就是我们要做的。
所有这些都是在单独的线程中完成的,但是添加了依赖项。例如。4依赖于2 (4->2)。2->1.5->3->1。
问题是,有时:
我已经检查了代码,所有组件都在执行他们应该做的事情。这让我怀疑openstack本身!(我知道…这有点奇怪。)
我正在使用allinone与冰箱和RDO包堆栈设置。
更新1
我使用JClouds API来附加卷。此外,我还指定了设备名称(/dev/xvdb、/dev/xvdc)。然而,在调用之后,我正在检查响应中的设备名称,然后使用它们。
NovaAPI nova = ContextBuilder
.newBuilder("openstack-nova")
.endpoint(endpoint)
.credentials(getIdentity(), getPassword())
.modules(modules).buildApi(NovaApi.class);
VolumeAttachmentApi attachment = nova.getVolumeAttachmentExtensionForZone(CONSTANT_REGION).get();
VolumeAttachment attachment.attachVolumeToServerAsDevice(volumeIdExisting, instanceId, deviceDevXVDB);Update 2 I创建了一个示例程序来隔离该问题。此示例程序执行以下操作:
/-> 2 -> 3 >\
1 -> -> 6 -> -> x
\-> 4 -> 5 >/基本上,主线程创建实例并启动两个线程。一个线程创建空白卷(10 it )并将其附加。而另一个则从快照(1GB)创建卷并将其附加。然后主线程创建IP并将其连接起来,并等待两个线程完成。
这种观察是相当奇怪的。每次附加卷响应都表示空白卷被附加到/dev/vdc,而来自快照的卷则附加到/dev/vdb。
但是当我检查这个实例时
fdisk -l /dev/vdb返回10 and和
fdisk -l /dev/vdc返回1GB
我错过了什么??任何指示/建议都是有帮助的。
发布于 2015-09-18 06:56:12
只是为了记录下。同时附加卷将无法工作。分配给附加卷的设备名称取决于首先附加的设备名称。尽管我们可以指定名称,但底层驱动程序可能不会遵守该名称。
最后,我们取消了卷与顺序的平行附加,现在一切都按预期工作。
https://stackoverflow.com/questions/25526567
复制相似问题