Kilo - nova live resize

環境git

版本: rdo OpenStack Kilo
github

qemu: 2.3.0api

libvirt: 1.2.17-13bash


背景ide

想複用nova resize那套邏輯,resize用的仍是cold_migrate那套邏輯,走conductor api.spa


實現思路3d

一、鏡像須要qemu-guest-agent支持,在鏡像中安裝qemu-guest-agent包,並設置開機自啓動,而後鏡像設置元數據,這兩種方式設置均可以:orm

glance p_w_picpath-update <p_w_picpath-id> --property hw_qemu_guest_agent=yes
nova p_w_picpath-meta {p_w_picpath_id} set hw_qemu_guest_agent=yes


二、 沿用本來resize的邏輯,因此live-resize也是以flavor來的,並且仍是設置元數據(hw:max_vcpus、hw:max_memory、hw:max_memory_slots)接口

hw:max_memory_slots: 是內存插槽數內存

舉例以下:

[root@controller01 ~(keystone_admin)]$ nova flavor-show 29797db8-0f32-4c2f-b5ee-4b4657be5277

+----------------------------+--------------------------------------+

| Property                   | Value                                |

+----------------------------+--------------------------------------+

| OS-FLV-DISABLED:disabled   | False                                |

| OS-FLV-EXT-DATA:ephemeral  | 0                                    |

| disk                       | 14                                   |

| extra_specs                | {"hw:max_vcpus": "4"}                |

| id                         | 29797db8-0f32-4c2f-b5ee-4b4657be5277 |

| name                       | m1.small                             |

| os-flavor-access:is_public | True                                 |

| ram                        | 1548                                 |

| rxtx_factor                | 1.0                                  |

| swap                       |                                      |

| vcpus                      | 1                                    |

+----------------------------+--------------------------------------+

[root@controller01 ~(keystone_admin)]$ nova flavor-show 7efa6a5e-9271-4820-a098-67f50bcb982a

+----------------------------+--------------------------------------+

| Property                   | Value                                |

+----------------------------+--------------------------------------+

| OS-FLV-DISABLED:disabled   | False                                |

| OS-FLV-EXT-DATA:ephemeral  | 0                                    |

| disk                       | 14                                   |

| extra_specs                | {"hw:max_vcpus": "4"}                |

| id                         | 7efa6a5e-9271-4820-a098-67f50bcb982a |

| name                       | m1.small.big                         |

| os-flavor-access:is_public | True                                 |

| ram                        | 1548                                 |

| rxtx_factor                | 1.0                                  |

| swap                       |                                      |

| vcpus                      | 2                                    |

+----------------------------+--------------------------------------+



具體實現


模仿resize的接口,實現一遍live_resize邏輯。

patch地址(disk、內存還未作):https://github.com/yaoice/nova/commit/175c5f003ddecdb87a45578bc06f3a1f9edc9727

相關文章
相關標籤/搜索