[Openstack] [cinder] live-migration of volume-backend instance fails

Eugen Block eblock at nde.ag
Mon Feb 29 14:45:20 UTC 2016


Hi everyone,

I have successfully deployed a 3 node environment (1 control, 2  
compute nodes, all of them running with openSUSE Leap 42.1) according  
to the docs. I also added an external storage node as a cinder-volume  
to store the instance images on a SAN-Server, not in local files. That  
works just fine, until I try to (live-)migrate an instance.

The instances was created by

nova boot --block-device  
source=image,id=24939ebe-6201-48f9-bb0d-5c207d94cea2,dest=volume,size=1,shutdown=remove,bootindex=0 --nic net-id=1940e2f7-ec41-4d2f-b531-11e8d229145d --flavor 1  
VMfromVol

Running "nova live-migration VMfromVol" leads to this error in  
cinder-volume.log:
---cut here---
Stdout: u'Unexpected error while running command.
Command: scstadmin -open_dev disk1 -handler vdisk_fileio -attributes  
filename=/dev/ndesan03/volume-a3a78f9d-39b5-46af-aea8-d310a22795ff
Exit code: 1
Stdout: u"\\nCollecting current configuration: done.\\n\\n\\n-> Making  
requested changes.\\n\\t-> Opening device \'disk1\' using handler  
\'vdisk_fileio\': done.\\n\\n\\nFATAL: Received the following  
error:\\n\\n\\tDevice already exists.\\n\\n"\nStderr: u\'\''

ERROR cinder.volume.manager ISCSITargetHelperCommandFailed: Failed to  
add device to SCST handler
---cut here---

nova-compute.log only reports:

Remote error: ClientException The server has either erred or is  
incapable of performing the requested operation.

and on the other compute node:

ClientException: The server has either erred or is incapable of  
performing the requested operation.

So to summarize: there is an existing iscsi target on one compute node  
for a running instance. The command "nova live-migration <server>  
<host>" triggers cinder to create another iscsi target for the other  
compute node, but with the same volume label, which already exists and  
the operation fails. Is there something I'm missing in the config  
files? How can I ensure that the other compute node only logs in to  
the same target and doesn't create a new export?

I would really appreciate any help! If you need any other information  
about my configs or the whole stack traces from nova-compute.log and  
cinder-volume.log, please let me know!

Best regards,
Eugen

-- 
Eugen Block                             voice   : +49-40-559 51 75
NDE Netzdesign und -entwicklung AG      fax     : +49-40-559 51 77
Postfach 61 03 15
D-22423 Hamburg                         e-mail  : eblock at nde.ag

         Vorsitzende des Aufsichtsrates: Angelika Mozdzen
           Sitz und Registergericht: Hamburg, HRB 90934
                   Vorstand: Jens-U. Mozdzen
                    USt-IdNr. DE 814 013 983





More information about the Openstack mailing list