對卷id 75eb3e08-924f-4bf2-b403-6aebf4df48de 做備份:
cinder backup-create 75eb3e08-924f-4bf2-b403-6aebf4df48de --name wy_volume1_backup5 --force

執(zhí)行結(jié)果.png
但是日志里顯示attach_info['volume_id'] = '1c13b2a5-fbd6-401f-801a-6bd2aa5b9a2c'

日志.png
卷'1c13b2a5-fbd6-401f-801a-6bd2aa5b9a2c'看起來是nova創(chuàng)建的,而且deleted了:

1c13b2a5-fbd6-401f-801a-6bd2aa5b9a2c.png
原因:代碼里獲取備份設(shè)備的時候,判斷如果原卷狀態(tài)是in-use,則創(chuàng)建一個快照卷,‘1c13b2a5-fbd6-401f-801a-6bd2aa5b9a2c’就是新建的快照的卷id。
獲取備份設(shè)備:
cinder.volume.driver.BaseVD#get_backup_device
def get_backup_device(self, context, backup):
"""Get a backup device from an existing volume.
The function returns a volume or snapshot to backup service,
and then backup service attaches the device and does backup.
"""
backup_device = None
is_snapshot = False
if self.backup_use_temp_snapshot() and CONF.backup_use_same_host:
(backup_device, is_snapshot) = (
self._get_backup_volume_temp_snapshot(context, backup))
else:
<!--程序走這?。。?!-->
backup_device = self._get_backup_volume_temp_volume(
context, backup)
is_snapshot = False
cinder.volume.driver.BaseVD#_get_backup_volume_temp_volume
def _get_backup_volume_temp_volume(self, context, backup):
"""Return a volume to do backup.
To backup a snapshot, create a temp volume from the snapshot and
back it up.
Otherwise to backup an in-use volume, create a temp volume and
back it up.
"""
媽的線索又斷了。。。。