본문 바로가기

Cloud/Openstack

[OpenStack]Live Migration & Cold Migration

2023.11.12

 

일하다보면 종종 HW에서 Memory나 다른 Disk Fault로 인해 Migration을 진행해야하는 일이 발생한다.

 

Migration의 방법은 크게 2가지로 볼 수 있는데, live Migration과 Cold Mgraion이 있다.

Live Migration은 인스턴스가 켜져있는채로 다른 Compute로 이동하는 것이고

Colod Mgraion은 인스턴스가 꺼져있는 상태로 다른 Compute로 이동하는 것이다.

 

또한 인스턴스 1개씩 옮기는 방법과 Compute에 있는 인스턴스를 명령어 하나로 순차적으로 자동화하여 옮기는 것이 있다.

 

 

 


 

 

1. Live Migration(1개씩 옮기는 방법)

 

[사전 확인]

Source Node와 Target Node가 Enabled인 상태인지 확인하기

[root@controller ~]# openstack compute service list
+--------------------------------------+----------------+------------+----------+---------+-------+----------------------------+
| ID                                   | Binary         | Host       | Zone     | Status  | State | Updated At                 |
+--------------------------------------+----------------+------------+----------+---------+-------+----------------------------+
| ac347be8-8738-4f08-a3cf-ca8e4cf146c1 | nova-scheduler | controller | internal | enabled | up    | 2023-11-12T07:41:20.000000 |
| 7d379df7-b58b-473f-b0a7-f154caf8987b | nova-conductor | controller | internal | enabled | up    | 2023-11-12T07:41:17.000000 |
| c2f95c5c-338d-4063-b773-b6993ee0bbeb | nova-compute   | compute1   | nova     | enabled | up    | 2023-11-12T07:41:15.000000 |
| a0aad40e-4f38-4521-b782-3b4aa111b03e | nova-compute   | compute2   | nova     | enabled | up    | 2023-11-12T07:41:16.000000 |
+--------------------------------------+----------------+------------+----------+---------+-------+----------------------------+

 

Migration 대상의 상태 확인하기

+--------------------------------------+--------+--------+-----------------------+--------------------------+-----------------+
| ID                                   | Name   | Status | Networks              | Image                    | Flavor          |
+--------------------------------------+--------+--------+-----------------------+--------------------------+-----------------+
| 90bacbcb-a442-40c7-be11-9b5700b1543c | cirros | ACTIVE | extnet=192.168.50.204 | N/A (booted from volume) | 2Core5GB        |
+--------------------------------------+--------+--------+-----------------------+--------------------------+-----------------+


[root@controller ~]# openstack server list --all --long
+--------------------------------------+--------+--------+------------+-------------+-----------------------+--------------------------+--------------------------+-----------------+-------------------+----------+------------+-------------+
| ID                                   | Name   | Status | Task State | Power State | Networks              | Image Name               | Image ID                 | Flavor          | Availability Zone | Host     | Properties | Host Status |
+--------------------------------------+--------+--------+------------+-------------+-----------------------+--------------------------+--------------------------+-----------------+-------------------+----------+------------+-------------+
| 90bacbcb-a442-40c7-be11-9b5700b1543c | cirros | ACTIVE | None       | Running     | extnet=192.168.50.204 | N/A (booted from volume) | N/A (booted from volume) |2Core5GB         | nova              | compute2 |            | UP          |
+--------------------------------------+--------+--------+------------+-------------+-----------------------+--------------------------+--------------------------+-----------------+-------------------+----------+------------+-------------+

 

인스턴스가 Active, Running 상태로 되어있다

 

 

[본작업]

[root@controller ~]# openstack server migrate --live-migration [Instance UUID] --wait --debug

위의 명령어를 통해 Live Migration이 가능하다.

[root@controller ~]# openstack server migrate --live-migration 90bacbcb-a442-40c7-be11-9b5700b1543c --wait --debug
START with options: server migrate --live-migration 90bacbcb-a442-40c7-be11-9b5700b1543c --wait --debug
options: Namespace(verbose_level=3, log_file=None, deferred_help=False, debug=True, cloud='', region_name='RegionOne', cacert=None, cert='', key='', verify=None, insecure=None, default_domain='default', interface='internal', service_provider='', remote_project_name='', remote_project_id='', remote_project_domain_name='', remote_project_domain_id='', timing=False, os_beta_command=False, os_compute_api_version='', os_identity_api_version='3', os_image_api_version='', os_network_api_version='', os_object_api_version='', os_volume_api_version='', auth_type='', auth_url='http://192.168.56.250:5000', system_scope='', domain_id='', domain_name='', project_id='', project_name='admin', project_domain_id='', project_domain_name='Default', trust_id='', user_id='', username='admin', user_domain_id='', user_domain_name='Default', password='***', identity_provider='', protocol='', client_id='', client_secret='***', openid_scope='', access_token_endpoint='', discovery_endpoint='', device_authorization_endpoint='', code_challenge_method='', passcode='', default_domain_id='', default_domain_name='', token='***', endpoint='', application_credential_secret='***', application_credential_id='', application_credential_name='', access_token_type='', oauth2_endpoint='', oauth2_client_id='', oauth2_client_secret='***', access_token='***', redirect_uri='', code='', auth_methods='', os_project_name=None, os_project_id=None)
Auth plugin password selected
auth_config_hook(): {'api_timeout': None, 'verify': True, 'cacert': None, 'cert': None, 'key': None, 'baremetal_status_code_retries': '5', 'baremetal_introspection_status_code_retries': '5', 'image_status_code_retries': '5', 'disable_vendor_agent': {}, 'interface': 'internal', 'floating_ip_source': 'neutron', 'image_api_use_tasks': False, 'image_format': 'qcow2', 'message': '', 'network_api_version': '2', 'object_store_api_version': '1', 'secgroup_source': 'neutron', 'status': 'active', 'auth': {'user_domain_name': 'Default', 'project_domain_name': 'Default', 'project_name': 'admin'}, 'verbose_level': 3, 'deferred_help': False, 'debug': True, 'region_name': 'RegionOne', 'default_domain': 'default', 'timing': False, 'auth_url': 'http://192.168.56.250:5000', 'username': 'admin', 'password': '***', 'beta_command': False, 'identity_api_version': '3', 'auth_type': 'password', ': []}
defaults: {'api_timeout': None, 'verify': True, 'cacert': None, 'cert': None, 'key': None, 'auth_type': 'password', 'baremetal_status_code_retries': 5, 'baremetal_introspection_status_code_retries': 5, 'image_status_code_retries': 5, 'disable_vendor_agent': {}, 'interface': 'public', 'floating_ip_source': 'neutron', 'image_api_use_tasks': False, 'image_format': 'qcow2', 'message': '', 'network_api_version': '2', 'object_store_api_version': '1', 'secgroup_source': 'neutron', 'status': 'active'}
cloud cfg: {'api_timeout': None, 'verify': True, 'cacert': None, 'cert': None, 'key': None, 'baremetal_status_code_retries': '5', 'baremetal_introspection_status_code_retries': '5', 'image_status_code_retries': '5', 'disable_vendor_agent': {}, 'interface': 'internal', 'floating_ip_source': 'neutron', 'image_api_use_tasks': False, 'image_format': 'qcow2', 'message': '', 'network_api_version': '2', 'object_store_api_version': '1', 'secgroup_source': 'neutron', 'status': 'active', 'auth': {'user_domain_name': 'Default', 'project_domain_name': 'Default', 'project_name': 'admin'}, 'verbose_level': 3, 'deferred_help': False, 'debug': True, 'region_name': 'RegionOne', 'default_domain': 'default', 'timing': False, 'auth_url': 'http://192.168.56.250:5000', 'username': 'admin', 'password': '***', 'beta_command': False, 'identity_api_version': '3', 'auth_type': 'password', ': []}
compute API version 2.1, cmd group openstack.compute.v2
identity API version 3, cmd group openstack.identity.v3
image API version 2, cmd group openstack.image.v2
network API version 2, cmd group openstack.network.v2
object_store API version 1, cmd group openstack.object_store.v1
volume API version 3, cmd group openstack.volume.v3
command: server migrate -> openstackclient.compute.v2.server.MigrateServer (auth=True)
Auth plugin password selected
auth_config_hook(): {'api_timeout': None, 'verify': True, 'cacert': None, 'cert': None, 'key': None, 'baremetal_status_code_retries': '5', 'baremetal_introspection_status_code_retries': '5', 'image_status_code_retries': '5', 'disable_vendor_agent': {}, 'interface': 'internal', 'floating_ip_source': 'neutron', 'image_api_use_tasks': False, 'image_format': 'qcow2', 'message': '', 'network_api_version': '2', 'object_store_api_version': '1', 'secgroup_source': 'neutron', 'status': 'active', 'auth': {'user_domain_name': 'Default', 'project_domain_name': 'Default', 'project_name': 'admin'}, 'additional_user_agent': [('osc-lib', '2.8.1')], 'verbose_level': 3, 'deferred_help': False, 'debug': True, 'region_name': 'RegionOne', 'default_domain': 'default', 'timing': False, 'auth_url': 'http://192.168.56.250:5000', 'username': 'admin', 'password': '***', 'beta_command': False, 'identity_api_version': '3', 'auth_type': 'password', ': []}
Using auth plugin: password
Using parameters {'auth_url': 'http://192.168.56.250:5000', 'project_name': 'admin', 'project_domain_name': 'Default', 'username': 'admin', 'user_domain_name': 'Default', 'password': '***'}
Get auth_ref
REQ: curl -g -i -X GET http://192.168.56.250:5000 -H "Accept: application/json" -H "User-Agent: openstacksdk/2.0.0 keystoneauth1/5.3.0 python-requests/2.31.0 CPython/3.9.16"
Starting new HTTP connection (1): 192.168.56.250:5000
http://192.168.56.250:5000 "GET / HTTP/1.1" 300 269
RESP: [300] content-length: 269 content-type: application/json date: Sun, 12 Nov 2023 07:33:26 GMT location: http://192.168.56.250:5000/v3/ server: Apache vary: X-Auth-Token x-openstack-request-id: req-4a3e069b-358f-46b2-8cca-8c51282b4a33
RESP BODY: {"versions": {"values": [{"id": "v3.14", "status": "stable", "updated": "2020-04-07T00:00:00Z", "links": [{"rel": "self", "href": "http://192.168.56.250:5000/v3/"}], "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}]}]}}
GET call to http://192.168.56.250:5000/ used request id req-4a3e069b-358f-46b2-8cca-8c51282b4a33
Making authentication request to http://192.168.56.250:5000/v3/auth/tokens
http://192.168.56.250:5000 "POST /v3/auth/tokens HTTP/1.1" 201 4177
{"token": {"methods": ["password"], "user": {"domain": {"id": "default", "name": "Default"}, "id": "ba0a9fad92ea46acb96118933f13857a", "name": "admin", "password_expires_at": null}, "audit_ids": ["hCPN7aSTTim74wSEPMk-aA"], "expires_at": "2023-11-13T07:33:27.000000Z", "issued_at": "2023-11-12T07:33:27.000000Z", "project": {"domain": {"id": "default", "name": "Default"}, "id": "d3e9b007b7974ff29f98068ed4192fdb", "name": "admin"}, "is_domain": false, "roles": [{"id": "1b9e141782b64a17b0a63984a34ce7e4", "name": "admin"}, {"id": "879d5dabd3ab4848a7538a5f0a6dfe12", "name": "member"}, {"id": "0a9db6fb6ab2494da682a08096a2b7a7", "name": "heat_stack_owner"}, {"id": "5c15bf9c02974f6aae7fd37be2908a62", "name": "reader"}, {"id": "8fb9d30353d54b4b9af03e16b43450f2", "name": "manager"}], "catalog": [{"endpoints": [{"id": "5d3c5ea337304d7b8ffb9a4e8c6b02d6", "interface": "internal", "region_id": "RegionOne", "url": "http://192.168.56.250:9292", "region": "RegionOne"}, {"id": "b3f644dd6e1347009818b2b33c7b34e7", "interface": "public", "region_id": "RegionOne", "url": "http://10.0.2.250:9292", "region": "RegionOne"}], "id": "62f6a6c6843a461ca875a6677db2032a", "type": "image", "name": "glance"}, {"endpoints": [{"id": "6213944c66c7462dabaee8569f47d16f", "interface": "internal", "region_id": "RegionOne", "url": "http://192.168.56.250:8000/v1", "region": "RegionOne"}, {"id": "7d2166a471af459e8b714ab2c53479d5", "interface": "public", "region_id": "RegionOne", "url": "http://10.0.2.250:8000/v1", "region": "RegionOne"}], "id": "80803c76d09b4f9990a22e2dcf0afc02", "type": "cloudformation", "name": "heat-cfn"}, {"endpoints": [{"id": "a06f63d2bfd5417dace02ad26d0d2e1f", "interface": "public", "region_id": "RegionOne", "url": "http://10.0.2.250:5000", "region": "RegionOne"}, {"id": "c29cd14900514e71b57de01d4e885a4f", "interface": "internal", "region_id": "RegionOne", "url": "http://192.168.56.250:5000", "region": "RegionOne"}], "id": "aad0658f7d534017a92db0b5e3569dfd", "type": "identity", "name": "keystone"}, {"endpoints": [{"id": "9c8ac083a1574f2598303e4f489b9fe4", "interface": "internal", "region_id": "RegionOne", "url": "http://192.168.56.250:8004/v1/d3e9b007b7974ff29f98068ed4192fdb", "region": "RegionOne"}, {"id": "bae512af13a5473d9946dfc4ddd59643", "interface": "public", "region_id": "RegionOne", "url": "http://10.0.2.250:8004/v1/d3e9b007b7974ff29f98068ed4192fdb", "region": "RegionOne"}], "id": "b65afb14b63d465199f32d2ac364bf0b", "type": "orchestration", "name": "heat"}, {"endpoints": [{"id": "2b051d185eaf4427a03d28a062eec2bb", "interface": "public", "region_id": "RegionOne", "url": "http://10.0.2.250:8774/v2.1", "region": "RegionOne"}, {"id": "53bbe5aa99414c058a87f15abe5573aa", "interface": "internal", "region_id": "RegionOne", "url": "http://192.168.56.250:8774/v2.1", "region": "RegionOne"}], "id": "c35f68815ee144719c41d907b7b88699", "type": "compute", "name": "nova"}, {"endpoints": [{"id": "5ed9c410937a4cd5b966dd5034ee5193", "interface": "internal", "region_id": "RegionOne", "url": "http://192.168.56.250:9696", "region": "RegionOne"}, {"id": "e9e7ef9be661411a988bfc59b6b67fec", "interface": "public", "region_id": "RegionOne", "url": "http://10.0.2.250:9696", "region": "RegionOne"}], "id": "ebd934692f8d4fe9b842fde6552c49db", "type": "network", "name": "neutron"}, {"endpoints": [{"id": "2c30b0c338ee4141856b62308ca3a035", "interface": "internal", "region_id": "RegionOne", "url": "http://192.168.56.250:8780", "region": "RegionOne"}, {"id": "2f917e1ec70b4b1892c818916412b648", "interface": "public", "region_id": "RegionOne", "url": "http://10.0.2.250:8780", "region": "RegionOne"}], "id": "f0e389263ed3401f8c64e57e5fe71cc5", "type": "placement", "name": "placement"}, {"endpoints": [{"id": "0f29d33d18a84ef39a13f001354d8d69", "interface": "internal", "region_id": "RegionOne", "url": "http://192.168.56.250:8776/v3/d3e9b007b7974ff29f98068ed4192fdb", "region": "RegionOne"}, {"id": "cfb3e53bcd8f40cf86ca7b7b20921754", "interface": "public", "region_id": "RegionOne", "url": "http://10.0.2.250:8776/v3/d3e9b007b7974ff29f98068ed4192fdb", "region": "RegionOne"}], "id": "f42846c5c08a45eca1163c2c083914c6", "type": "volumev3", "name": "cinderv3"}]}}
run(Namespace(server='90bacbcb-a442-40c7-be11-9b5700b1543c', live_migration=True, host=None, block_migration=None, disk_overcommit=None, wait=True))
Instantiating compute client for API Version Major: 2, Minor: 1
Instantiating compute api: <class 'openstackclient.api.compute_v2.APIv2'>
REQ: curl -g -i -X GET http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c -H "Accept: application/json" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}b77b290d41a15768819e2b218bd5ac3441fc5ce6aed7e8b923ff6496a05344b9" -H "X-OpenStack-Nova-API-Version: 2.1"
Starting new HTTP connection (1): 192.168.56.250:8774
http://192.168.56.250:8774 "GET /v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c HTTP/1.1" 200 1512
RESP: [200] content-length: 1512 content-type: application/json date: Sun, 12 Nov 2023 07:33:27 GMT openstack-api-version: compute 2.1 server: Apache vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version x-compute-request-id: req-c90f9700-ee5e-4501-9e25-a21ad28b2b4b x-openstack-nova-api-version: 2.1 x-openstack-request-id: req-c90f9700-ee5e-4501-9e25-a21ad28b2b4b
RESP BODY: {"server": {"id": "90bacbcb-a442-40c7-be11-9b5700b1543c", "name": "cirros", "status": "ACTIVE", "tenant_id": "d3e9b007b7974ff29f98068ed4192fdb", "user_id": "ba0a9fad92ea46acb96118933f13857a", "metadata": {}, "hostId": "1c233a15a7074067163b632c585f7f7ec8a5127df74b8cd69e8b1a3d", "image": "", "flavor": {"id": "86d7387f-ffb6-43ac-93bb-011b7d2e42d3", "links": [{"rel": "bookmark", "href": "http://192.168.56.250:8774/flavors/86d7387f-ffb6-43ac-93bb-011b7d2e42d3"}]}, "created": "2023-11-12T07:18:08Z", "updated": "2023-11-12T07:18:45Z", "addresses": {"extnet": [{"version": 4, "addr": "192.168.50.204", "OS-EXT-IPS:type": "fixed", "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:24:f5:40"}]}, "accessIPv4": "", "accessIPv6": "", "links": [{"rel": "self", "href": "http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c"}, {"rel": "bookmark", "href": "http://192.168.56.250:8774/servers/90bacbcb-a442-40c7-be11-9b5700b1543c"}], "OS-DCF:diskConfig": "AUTO", "progress": 0, "OS-EXT-AZ:availability_zone": "nova", "config_drive": "", "key_name": null, "OS-SRV-USG:launched_at": "2023-11-12T07:18:44.000000", "OS-SRV-USG:terminated_at": null, "security_groups": [{"name": "default"}], "OS-EXT-SRV-ATTR:host": "compute2", "OS-EXT-SRV-ATTR:instance_name": "instance-0000000d", "OS-EXT-SRV-ATTR:hypervisor_hostname": "compute2", "OS-EXT-STS:task_state": null, "OS-EXT-STS:vm_state": "active", "OS-EXT-STS:power_state": 1, "os-extended-volumes:volumes_attached": [{"id": "907ef75c-21df-4903-8356-3f2ba66996c9"}]}}
GET call to compute for http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c used request id req-c90f9700-ee5e-4501-9e25-a21ad28b2b4b
REQ: curl -g -i -X POST http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c/action -H "Accept: application/json" -H "Content-Type: application/json" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}b77b290d41a15768819e2b218bd5ac3441fc5ce6aed7e8b923ff6496a05344b9" -H "X-OpenStack-Nova-API-Version: 2.1" -d '{"os-migrateLive": {"host": null, "block_migration": false, "disk_over_commit": false}}'
http://192.168.56.250:8774 "POST /v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c/action HTTP/1.1" 202 0
RESP: [202] content-length: 0 content-type: application/json date: Sun, 12 Nov 2023 07:33:27 GMT openstack-api-version: compute 2.1 server: Apache vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version x-compute-request-id: req-3f0d30f3-52e2-49a8-bdb9-45510a719ee7 x-openstack-nova-api-version: 2.1 x-openstack-request-id: req-3f0d30f3-52e2-49a8-bdb9-45510a719ee7
POST call to compute for http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c/action used request id req-3f0d30f3-52e2-49a8-bdb9-45510a719ee7
REQ: curl -g -i -X GET http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c -H "Accept: application/json" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}b77b290d41a15768819e2b218bd5ac3441fc5ce6aed7e8b923ff6496a05344b9" -H "X-OpenStack-Nova-API-Version: 2.1"
http://192.168.56.250:8774 "GET /v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c HTTP/1.1" 200 1522
RESP: [200] content-length: 1522 content-type: application/json date: Sun, 12 Nov 2023 07:33:33 GMT openstack-api-version: compute 2.1 server: Apache vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version x-compute-request-id: req-3c9ea6c5-ec37-49d7-a70a-411ddb7bd69f x-openstack-nova-api-version: 2.1 x-openstack-request-id: req-3c9ea6c5-ec37-49d7-a70a-411ddb7bd69f
RESP BODY: {"server": {"id": "90bacbcb-a442-40c7-be11-9b5700b1543c", "name": "cirros", "status": "MIGRATING", "tenant_id": "d3e9b007b7974ff29f98068ed4192fdb", "user_id": "ba0a9fad92ea46acb96118933f13857a", "metadata": {}, "hostId": "1c233a15a7074067163b632c585f7f7ec8a5127df74b8cd69e8b1a3d", "image": "", "flavor": {"id": "86d7387f-ffb6-43ac-93bb-011b7d2e42d3", "links": [{"rel": "bookmark", "href": "http://192.168.56.250:8774/flavors/86d7387f-ffb6-43ac-93bb-011b7d2e42d3"}]}, "created": "2023-11-12T07:18:08Z", "updated": "2023-11-12T07:33:28Z", "addresses": {"extnet": [{"version": 4, "addr": "192.168.50.204", "OS-EXT-IPS:type": "fixed", "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:24:f5:40"}]}, "accessIPv4": "", "accessIPv6": "", "links": [{"rel": "self", "href": "http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c"}, {"rel": "bookmark", "href": "http://192.168.56.250:8774/servers/90bacbcb-a442-40c7-be11-9b5700b1543c"}], "OS-DCF:diskConfig": "AUTO", "progress": 0, "OS-EXT-AZ:availability_zone": "nova", "config_drive": "", "key_name": null, "OS-SRV-USG:launched_at": "2023-11-12T07:18:44.000000", "OS-SRV-USG:terminated_at": null, "security_groups": [{"name": "default"}], "OS-EXT-SRV-ATTR:host": "compute2", "OS-EXT-SRV-ATTR:instance_name": "instance-0000000d", "OS-EXT-SRV-ATTR:hypervisor_hostname": "compute2", "OS-EXT-STS:task_state": "migrating", "OS-EXT-STS:vm_state": "active", "OS-EXT-STS:power_state": 1, "os-extended-volumes:volumes_attached": [{"id": "907ef75c-21df-4903-8356-3f2ba66996c9"}]}}
GET call to compute for http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c used request id req-3c9ea6c5-ec37-49d7-a70a-411ddb7bd69f
REQ: curl -g -i -X GET http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c -H "Accept: application/json" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}b77b290d41a15768819e2b218bd5ac3441fc5ce6aed7e8b923ff6496a05344b9" -H "X-OpenStack-Nova-API-Version: 2.1"
http://192.168.56.250:8774 "GET /v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c HTTP/1.1" 200 1522
RESP: [200] content-length: 1522 content-type: application/json date: Sun, 12 Nov 2023 07:33:38 GMT openstack-api-version: compute 2.1 server: Apache vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version x-compute-request-id: req-f3545365-0826-412d-a5b2-865a85e79da9 x-openstack-nova-api-version: 2.1 x-openstack-request-id: req-f3545365-0826-412d-a5b2-865a85e79da9
RESP BODY: {"server": {"id": "90bacbcb-a442-40c7-be11-9b5700b1543c", "name": "cirros", "status": "MIGRATING", "tenant_id": "d3e9b007b7974ff29f98068ed4192fdb", "user_id": "ba0a9fad92ea46acb96118933f13857a", "metadata": {}, "hostId": "1c233a15a7074067163b632c585f7f7ec8a5127df74b8cd69e8b1a3d", "image": "", "flavor": {"id": "86d7387f-ffb6-43ac-93bb-011b7d2e42d3", "links": [{"rel": "bookmark", "href": "http://192.168.56.250:8774/flavors/86d7387f-ffb6-43ac-93bb-011b7d2e42d3"}]}, "created": "2023-11-12T07:18:08Z", "updated": "2023-11-12T07:33:28Z", "addresses": {"extnet": [{"version": 4, "addr": "192.168.50.204", "OS-EXT-IPS:type": "fixed", "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:24:f5:40"}]}, "accessIPv4": "", "accessIPv6": "", "links": [{"rel": "self", "href": "http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c"}, {"rel": "bookmark", "href": "http://192.168.56.250:8774/servers/90bacbcb-a442-40c7-be11-9b5700b1543c"}], "OS-DCF:diskConfig": "AUTO", "progress": 0, "OS-EXT-AZ:availability_zone": "nova", "config_drive": "", "key_name": null, "OS-SRV-USG:launched_at": "2023-11-12T07:18:44.000000", "OS-SRV-USG:terminated_at": null, "security_groups": [{"name": "default"}], "OS-EXT-SRV-ATTR:host": "compute2", "OS-EXT-SRV-ATTR:instance_name": "instance-0000000d", "OS-EXT-SRV-ATTR:hypervisor_hostname": "compute2", "OS-EXT-STS:task_state": "migrating", "OS-EXT-STS:vm_state": "active", "OS-EXT-STS:power_state": 1, "os-extended-volumes:volumes_attached": [{"id": "907ef75c-21df-4903-8356-3f2ba66996c9"}]}}
GET call to compute for http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c used request id req-f3545365-0826-412d-a5b2-865a85e79da9
REQ: curl -g -i -X GET http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c -H "Accept: application/json" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}b77b290d41a15768819e2b218bd5ac3441fc5ce6aed7e8b923ff6496a05344b9" -H "X-OpenStack-Nova-API-Version: 2.1"
http://192.168.56.250:8774 "GET /v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c HTTP/1.1" 200 1522
RESP: [200] content-length: 1522 content-type: application/json date: Sun, 12 Nov 2023 07:33:44 GMT openstack-api-version: compute 2.1 server: Apache vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version x-compute-request-id: req-e3b42dfa-e373-45f2-8c70-40c3cea46575 x-openstack-nova-api-version: 2.1 x-openstack-request-id: req-e3b42dfa-e373-45f2-8c70-40c3cea46575
RESP BODY: {"server": {"id": "90bacbcb-a442-40c7-be11-9b5700b1543c", "name": "cirros", "status": "MIGRATING", "tenant_id": "d3e9b007b7974ff29f98068ed4192fdb", "user_id": "ba0a9fad92ea46acb96118933f13857a", "metadata": {}, "hostId": "1c233a15a7074067163b632c585f7f7ec8a5127df74b8cd69e8b1a3d", "image": "", "flavor": {"id": "86d7387f-ffb6-43ac-93bb-011b7d2e42d3", "links": [{"rel": "bookmark", "href": "http://192.168.56.250:8774/flavors/86d7387f-ffb6-43ac-93bb-011b7d2e42d3"}]}, "created": "2023-11-12T07:18:08Z", "updated": "2023-11-12T07:33:28Z", "addresses": {"extnet": [{"version": 4, "addr": "192.168.50.204", "OS-EXT-IPS:type": "fixed", "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:24:f5:40"}]}, "accessIPv4": "", "accessIPv6": "", "links": [{"rel": "self", "href": "http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c"}, {"rel": "bookmark", "href": "http://192.168.56.250:8774/servers/90bacbcb-a442-40c7-be11-9b5700b1543c"}], "OS-DCF:diskConfig": "AUTO", "progress": 0, "OS-EXT-AZ:availability_zone": "nova", "config_drive": "", "key_name": null, "OS-SRV-USG:launched_at": "2023-11-12T07:18:44.000000", "OS-SRV-USG:terminated_at": null, "security_groups": [{"name": "default"}], "OS-EXT-SRV-ATTR:host": "compute2", "OS-EXT-SRV-ATTR:instance_name": "instance-0000000d", "OS-EXT-SRV-ATTR:hypervisor_hostname": "compute2", "OS-EXT-STS:task_state": "migrating", "OS-EXT-STS:vm_state": "active", "OS-EXT-STS:power_state": 1, "os-extended-volumes:volumes_attached": [{"id": "907ef75c-21df-4903-8356-3f2ba66996c9"}]}}
GET call to compute for http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c used request id req-e3b42dfa-e373-45f2-8c70-40c3cea46575
REQ: curl -g -i -X GET http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c -H "Accept: application/json" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}b77b290d41a15768819e2b218bd5ac3441fc5ce6aed7e8b923ff6496a05344b9" -H "X-OpenStack-Nova-API-Version: 2.1"
http://192.168.56.250:8774 "GET /v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c HTTP/1.1" 200 1522
RESP: [200] content-length: 1522 content-type: application/json date: Sun, 12 Nov 2023 07:33:49 GMT openstack-api-version: compute 2.1 server: Apache vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version x-compute-request-id: req-2207c58a-bd8b-417f-b0c8-70d77fd6fe4f x-openstack-nova-api-version: 2.1 x-openstack-request-id: req-2207c58a-bd8b-417f-b0c8-70d77fd6fe4f
RESP BODY: {"server": {"id": "90bacbcb-a442-40c7-be11-9b5700b1543c", "name": "cirros", "status": "MIGRATING", "tenant_id": "d3e9b007b7974ff29f98068ed4192fdb", "user_id": "ba0a9fad92ea46acb96118933f13857a", "metadata": {}, "hostId": "1c233a15a7074067163b632c585f7f7ec8a5127df74b8cd69e8b1a3d", "image": "", "flavor": {"id": "86d7387f-ffb6-43ac-93bb-011b7d2e42d3", "links": [{"rel": "bookmark", "href": "http://192.168.56.250:8774/flavors/86d7387f-ffb6-43ac-93bb-011b7d2e42d3"}]}, "created": "2023-11-12T07:18:08Z", "updated": "2023-11-12T07:33:28Z", "addresses": {"extnet": [{"version": 4, "addr": "192.168.50.204", "OS-EXT-IPS:type": "fixed", "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:24:f5:40"}]}, "accessIPv4": "", "accessIPv6": "", "links": [{"rel": "self", "href": "http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c"}, {"rel": "bookmark", "href": "http://192.168.56.250:8774/servers/90bacbcb-a442-40c7-be11-9b5700b1543c"}], "OS-DCF:diskConfig": "AUTO", "progress": 0, "OS-EXT-AZ:availability_zone": "nova", "config_drive": "", "key_name": null, "OS-SRV-USG:launched_at": "2023-11-12T07:18:44.000000", "OS-SRV-USG:terminated_at": null, "security_groups": [{"name": "default"}], "OS-EXT-SRV-ATTR:host": "compute2", "OS-EXT-SRV-ATTR:instance_name": "instance-0000000d", "OS-EXT-SRV-ATTR:hypervisor_hostname": "compute2", "OS-EXT-STS:task_state": "migrating", "OS-EXT-STS:vm_state": "active", "OS-EXT-STS:power_state": 1, "os-extended-volumes:volumes_attached": [{"id": "907ef75c-21df-4903-8356-3f2ba66996c9"}]}}
GET call to compute for http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c used request id req-2207c58a-bd8b-417f-b0c8-70d77fd6fe4f
REQ: curl -g -i -X GET http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c -H "Accept: application/json" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}b77b290d41a15768819e2b218bd5ac3441fc5ce6aed7e8b923ff6496a05344b9" -H "X-OpenStack-Nova-API-Version: 2.1"
http://192.168.56.250:8774 "GET /v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c HTTP/1.1" 200 1522
RESP: [200] content-length: 1522 content-type: application/json date: Sun, 12 Nov 2023 07:33:54 GMT openstack-api-version: compute 2.1 server: Apache vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version x-compute-request-id: req-ebb063c0-9019-4d58-8bda-d1f895261e27 x-openstack-nova-api-version: 2.1 x-openstack-request-id: req-ebb063c0-9019-4d58-8bda-d1f895261e27
RESP BODY: {"server": {"id": "90bacbcb-a442-40c7-be11-9b5700b1543c", "name": "cirros", "status": "MIGRATING", "tenant_id": "d3e9b007b7974ff29f98068ed4192fdb", "user_id": "ba0a9fad92ea46acb96118933f13857a", "metadata": {}, "hostId": "1c233a15a7074067163b632c585f7f7ec8a5127df74b8cd69e8b1a3d", "image": "", "flavor": {"id": "86d7387f-ffb6-43ac-93bb-011b7d2e42d3", "links": [{"rel": "bookmark", "href": "http://192.168.56.250:8774/flavors/86d7387f-ffb6-43ac-93bb-011b7d2e42d3"}]}, "created": "2023-11-12T07:18:08Z", "updated": "2023-11-12T07:33:51Z", "addresses": {"extnet": [{"version": 4, "addr": "192.168.50.204", "OS-EXT-IPS:type": "fixed", "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:24:f5:40"}]}, "accessIPv4": "", "accessIPv6": "", "links": [{"rel": "self", "href": "http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c"}, {"rel": "bookmark", "href": "http://192.168.56.250:8774/servers/90bacbcb-a442-40c7-be11-9b5700b1543c"}], "OS-DCF:diskConfig": "AUTO", "progress": 0, "OS-EXT-AZ:availability_zone": "nova", "config_drive": "", "key_name": null, "OS-SRV-USG:launched_at": "2023-11-12T07:18:44.000000", "OS-SRV-USG:terminated_at": null, "security_groups": [{"name": "default"}], "OS-EXT-SRV-ATTR:host": "compute2", "OS-EXT-SRV-ATTR:instance_name": "instance-0000000d", "OS-EXT-SRV-ATTR:hypervisor_hostname": "compute2", "OS-EXT-STS:task_state": "migrating", "OS-EXT-STS:vm_state": "active", "OS-EXT-STS:power_state": 1, "os-extended-volumes:volumes_attached": [{"id": "907ef75c-21df-4903-8356-3f2ba66996c9"}]}}
GET call to compute for http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c used request id req-ebb063c0-9019-4d58-8bda-d1f895261e27
REQ: curl -g -i -X GET http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c -H "Accept: application/json" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}b77b290d41a15768819e2b218bd5ac3441fc5ce6aed7e8b923ff6496a05344b9" -H "X-OpenStack-Nova-API-Version: 2.1"
http://192.168.56.250:8774 "GET /v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c HTTP/1.1" 200 1522
RESP: [200] content-length: 1522 content-type: application/json date: Sun, 12 Nov 2023 07:34:00 GMT openstack-api-version: compute 2.1 server: Apache vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version x-compute-request-id: req-e49289ac-d036-4bf4-87ee-c7ea8bbaa0f5 x-openstack-nova-api-version: 2.1 x-openstack-request-id: req-e49289ac-d036-4bf4-87ee-c7ea8bbaa0f5
RESP BODY: {"server": {"id": "90bacbcb-a442-40c7-be11-9b5700b1543c", "name": "cirros", "status": "MIGRATING", "tenant_id": "d3e9b007b7974ff29f98068ed4192fdb", "user_id": "ba0a9fad92ea46acb96118933f13857a", "metadata": {}, "hostId": "1c233a15a7074067163b632c585f7f7ec8a5127df74b8cd69e8b1a3d", "image": "", "flavor": {"id": "86d7387f-ffb6-43ac-93bb-011b7d2e42d3", "links": [{"rel": "bookmark", "href": "http://192.168.56.250:8774/flavors/86d7387f-ffb6-43ac-93bb-011b7d2e42d3"}]}, "created": "2023-11-12T07:18:08Z", "updated": "2023-11-12T07:33:59Z", "addresses": {"extnet": [{"version": 4, "addr": "192.168.50.204", "OS-EXT-IPS:type": "fixed", "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:24:f5:40"}]}, "accessIPv4": "", "accessIPv6": "", "links": [{"rel": "self", "href": "http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c"}, {"rel": "bookmark", "href": "http://192.168.56.250:8774/servers/90bacbcb-a442-40c7-be11-9b5700b1543c"}], "OS-DCF:diskConfig": "AUTO", "progress": 0, "OS-EXT-AZ:availability_zone": "nova", "config_drive": "", "key_name": null, "OS-SRV-USG:launched_at": "2023-11-12T07:18:44.000000", "OS-SRV-USG:terminated_at": null, "security_groups": [{"name": "default"}], "OS-EXT-SRV-ATTR:host": "compute2", "OS-EXT-SRV-ATTR:instance_name": "instance-0000000d", "OS-EXT-SRV-ATTR:hypervisor_hostname": "compute2", "OS-EXT-STS:task_state": "migrating", "OS-EXT-STS:vm_state": "active", "OS-EXT-STS:power_state": 1, "os-extended-volumes:volumes_attached": [{"id": "907ef75c-21df-4903-8356-3f2ba66996c9"}]}}
GET call to compute for http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c used request id req-e49289ac-d036-4bf4-87ee-c7ea8bbaa0f5
REQ: curl -g -i -X GET http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c -H "Accept: application/json" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}b77b290d41a15768819e2b218bd5ac3441fc5ce6aed7e8b923ff6496a05344b9" -H "X-OpenStack-Nova-API-Version: 2.1"
http://192.168.56.250:8774 "GET /v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c HTTP/1.1" 200 1512
RESP: [200] content-length: 1512 content-type: application/json date: Sun, 12 Nov 2023 07:34:05 GMT openstack-api-version: compute 2.1 server: Apache vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version x-compute-request-id: req-2e304da8-4e96-42d8-84a7-bc1b44b68d1e x-openstack-nova-api-version: 2.1 x-openstack-request-id: req-2e304da8-4e96-42d8-84a7-bc1b44b68d1e
RESP BODY: {"server": {"id": "90bacbcb-a442-40c7-be11-9b5700b1543c", "name": "cirros", "status": "ACTIVE", "tenant_id": "d3e9b007b7974ff29f98068ed4192fdb", "user_id": "ba0a9fad92ea46acb96118933f13857a", "metadata": {}, "hostId": "ee463989489a76d56da7d2daef8a447ad9a0934da88cf4fc5c02bb8b", "image": "", "flavor": {"id": "86d7387f-ffb6-43ac-93bb-011b7d2e42d3", "links": [{"rel": "bookmark", "href": "http://192.168.56.250:8774/flavors/86d7387f-ffb6-43ac-93bb-011b7d2e42d3"}]}, "created": "2023-11-12T07:18:08Z", "updated": "2023-11-12T07:34:00Z", "addresses": {"extnet": [{"version": 4, "addr": "192.168.50.204", "OS-EXT-IPS:type": "fixed", "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:24:f5:40"}]}, "accessIPv4": "", "accessIPv6": "", "links": [{"rel": "self", "href": "http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c"}, {"rel": "bookmark", "href": "http://192.168.56.250:8774/servers/90bacbcb-a442-40c7-be11-9b5700b1543c"}], "OS-DCF:diskConfig": "AUTO", "progress": 0, "OS-EXT-AZ:availability_zone": "nova", "config_drive": "", "key_name": null, "OS-SRV-USG:launched_at": "2023-11-12T07:18:44.000000", "OS-SRV-USG:terminated_at": null, "security_groups": [{"name": "default"}], "OS-EXT-SRV-ATTR:host": "compute1", "OS-EXT-SRV-ATTR:instance_name": "instance-0000000d", "OS-EXT-SRV-ATTR:hypervisor_hostname": "compute1", "OS-EXT-STS:task_state": null, "OS-EXT-STS:vm_state": "active", "OS-EXT-STS:power_state": 1, "os-extended-volumes:volumes_attached": [{"id": "907ef75c-21df-4903-8356-3f2ba66996c9"}]}}
GET call to compute for http://192.168.56.250:8774/v2.1/servers/90bacbcb-a442-40c7-be11-9b5700b1543c used request id req-2e304da8-4e96-42d8-84a7-bc1b44b68d1e
Complete
clean_up MigrateServer:
END return value: 0

그러면 위와 같이 여러 디버그를 분출하면서 Instance 관련된 정보와 함께 Migration이 진행된다. 

 

Migraion이 완료된 것은 맨 마지막 'END return value : 0' 이 나오면 제대로 마이그레이션이 된 것을 알 수 있다.

 

 

[사후작업]

[root@controller ~]# openstack server list --all --long
+--------------------------------------+--------+--------+------------+-------------+-----------------------+--------------------------+--------------------------+-----------------+-------------------+----------+------------+-------------+
| ID                                   | Name   | Status | Task State | Power State | Networks              | Image Name               | Image ID                 | Flavor          | Availability Zone | Host     | Properties | Host Status |
+--------------------------------------+--------+--------+------------+-------------+-----------------------+--------------------------+--------------------------+-----------------+-------------------+----------+------------+-------------+
| 90bacbcb-a442-40c7-be11-9b5700b1543c | cirros | ACTIVE | None       | Running     | extnet=192.168.50.204 | N/A (booted from volume) | N/A (booted from volume) |2Core5GB         | nova              | compute1 |            | UP          |
+--------------------------------------+--------+--------+------------+-------------+-----------------------+--------------------------+--------------------------+-----------------+-------------------+----------+------------+-------------+

 

다시 확인했을때 compute2 → compute1으로 마이그레이션 된 것을 알 수 있다.

 

[root@controller ~]# nova migration-list | head -20
nova CLI is deprecated and will be removed in a future release
+----+--------------------------------------+-------------+-----------+----------------+--------------+-----------+-----------+--------------------------------------+------------+------------+----------------------------+----------------------------+----------------+----------------------------------+----------------------------------+
| Id | UUID                                 | Source Node | Dest Node | Source Compute | Dest Compute | Dest Host | Status    | Instance UUID                        | Old Flavor | New Flavor | Created At                 | Updated At                 | Type           | Project ID                       | User ID                          |
+----+--------------------------------------+-------------+-----------+----------------+--------------+-----------+-----------+--------------------------------------+------------+------------+----------------------------+----------------------------+----------------+----------------------------------+----------------------------------+
| 7  | 34d954bc-647d-4df0-b872-af875e08a1ca | compute2    | compute1  | compute2       | compute1     | -         | completed | 90bacbcb-a442-40c7-be11-9b5700b1543c | 5          | 5          | 2023-11-12T07:33:28.000000 | 2023-11-12T07:34:01.000000 | live-migration | d3e9b007b7974ff29f98068ed4192fdb | ba0a9fad92ea46acb96118933f13857a |
+----+--------------------------------------+-------------+-----------+----------------+--------------+-----------+-----------+--------------------------------------+------------+------------+----------------------------+----------------------------+----------------+----------------------------------+----------------------------------+

위의 명령어를 통해서도 알 수 있다.

 

원하는 호스트로 Instance를 Migration 하고 싶다면

openstack server migrate [Instance UUID] --live-migration --host [Host Name] --wait --debug

 

 

만약 에러가 났다면...

https://lhj1842.tistory.com/33

 

[Openstack]Trouble Shooting-Live Migration

2023.11.12 Migration을 하면서 원하는 Host에 Instance를 옮기고 싶었는데, 명령어가 되지 않았다. [root@controller ~]# openstack server list --all --long +--------------------------------------+---------+--------+------------+---------

lhj1842.tistory.com

로 확인해보면 된다

 


2. Cold Migraion

[사전 확인]

[root@controller ~]# openstack server list --all --long --host compute1
+--------------------------------------+---------+---------+------------+-------------+-----------------------+--------------------------+--------------------------+-----------------+--------------------------------------+-------------------+----------+------------+-------------+
| ID                                   | Name    | Status  | Task State | Power State | Networks              | Image Name               | Image ID                 | Flavor Name     | Flavor ID                            | Availability Zone | Host     | Properties | Host Status |
+--------------------------------------+---------+---------+------------+-------------+-----------------------+--------------------------+--------------------------+-----------------+--------------------------------------+-------------------+----------+------------+-------------+
| e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 | cirros2 | SHUTOFF | None       | Shutdown    | extnet=192.168.50.106 | N/A (booted from volume) | N/A (booted from volume) | 2Core5GB        | 86d7387f-ffb6-43ac-93bb-011b7d2e42d3 | nova              | compute1 |            | UP          |
| 90bacbcb-a442-40c7-be11-9b5700b1543c | cirros  | SHUTOFF | None       | Shutdown    | extnet=192.168.50.204 | N/A (booted from volume) | N/A (booted from volume) |2Core5GB         | 86d7387f-ffb6-43ac-93bb-011b7d2e42d3 | nova              | compute1 |            | UP          |
+--------------------------------------+---------+---------+------------+-------------+-----------------------+--------------------------+--------------------------+-----------------+--------------------------------------+-------------------+----------+------------+-------------+

로 대상을 확인 한 후 

[root@controller ~]# openstack server migrate [Instacne UUID] --wait --debug
[root@controller ~]# openstack server migrate e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 --wait --debug
START with options: server migrate e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 --wait --debug
options: Namespace(verbose_level=3, log_file=None, deferred_help=False, debug=True, cloud='', region_name='RegionOne', cacert=None, cert='', key='', verify=None, insecure=None, default_domain='default', interface='internal', service_provider='', remote_project_name='', remote_project_id='', remote_project_domain_name='', remote_project_domain_id='', timing=False, os_beta_command=False, os_compute_api_version='2.30', os_identity_api_version='3', os_image_api_version='', os_network_api_version='', os_object_api_version='', os_volume_api_version='', auth_type='', endpoint='', auth_url='http://192.168.56.250:5000', system_scope='', domain_id='', domain_name='', project_id='', project_name='admin', project_domain_id='', project_domain_name='Default', trust_id='', auth_methods='', default_domain_id='', default_domain_name='', token='***', username='admin', user_id='', password='***', identity_provider='', protocol='', client_id='', client_secret='***', openid_scope='', access_token_endpoint='', discovery_endpoint='', access_token_type='', redirect_uri='', code='', oauth2_endpoint='', oauth2_client_id='', oauth2_client_secret='***', device_authorization_endpoint='', code_challenge_method='', user_domain_id='', user_domain_name='Default', application_credential_secret='***', application_credential_id='', application_credential_name='', access_token='***', passcode='', os_project_name=None, os_project_id=None)
Auth plugin password selected
auth_config_hook(): {'api_timeout': None, 'verify': True, 'cacert': None, 'cert': None, 'key': None, 'baremetal_status_code_retries': '5', 'baremetal_introspection_status_code_retries': '5', 'image_status_code_retries': '5', 'disable_vendor_agent': {}, 'interface': 'internal', 'floating_ip_source': 'neutron', 'image_api_use_tasks': False, 'image_format': 'qcow2', 'message': '', 'network_api_version': '2', 'object_store_api_version': '1', 'secgroup_source': 'neutron', 'status': 'active', 'auth': {'user_domain_name': 'Default', 'project_domain_name': 'Default', 'project_name': 'admin'}, 'verbose_level': 3, 'deferred_help': False, 'debug': True, 'region_name': 'RegionOne', 'default_domain': 'default', 'timing': False, 'auth_url': 'http://192.168.56.250:5000', 'username': 'admin', 'password': '***', 'beta_command': False, 'compute_api_version': '2.30', 'identity_api_version': '3', 'auth_type': 'password', ': []}
defaults: {'api_timeout': None, 'verify': True, 'cacert': None, 'cert': None, 'key': None, 'auth_type': 'password', 'baremetal_status_code_retries': 5, 'baremetal_introspection_status_code_retries': 5, 'image_status_code_retries': 5, 'disable_vendor_agent': {}, 'interface': 'public', 'floating_ip_source': 'neutron', 'image_api_use_tasks': False, 'image_format': 'qcow2', 'message': '', 'network_api_version': '2', 'object_store_api_version': '1', 'secgroup_source': 'neutron', 'status': 'active'}
cloud cfg: {'api_timeout': None, 'verify': True, 'cacert': None, 'cert': None, 'key': None, 'baremetal_status_code_retries': '5', 'baremetal_introspection_status_code_retries': '5', 'image_status_code_retries': '5', 'disable_vendor_agent': {}, 'interface': 'internal', 'floating_ip_source': 'neutron', 'image_api_use_tasks': False, 'image_format': 'qcow2', 'message': '', 'network_api_version': '2', 'object_store_api_version': '1', 'secgroup_source': 'neutron', 'status': 'active', 'auth': {'user_domain_name': 'Default', 'project_domain_name': 'Default', 'project_name': 'admin'}, 'verbose_level': 3, 'deferred_help': False, 'debug': True, 'region_name': 'RegionOne', 'default_domain': 'default', 'timing': False, 'auth_url': 'http://192.168.56.250:5000', 'username': 'admin', 'password': '***', 'beta_command': False, 'compute_api_version': '2.30', 'identity_api_version': '3', 'auth_type': 'password', ': []}
compute API version 2.30, cmd group openstack.compute.v2
identity API version 3, cmd group openstack.identity.v3
image API version 2, cmd group openstack.image.v2
network API version 2, cmd group openstack.network.v2
object_store API version 1, cmd group openstack.object_store.v1
volume API version 3, cmd group openstack.volume.v3
command: server migrate -> openstackclient.compute.v2.server.MigrateServer (auth=True)
Auth plugin password selected
auth_config_hook(): {'api_timeout': None, 'verify': True, 'cacert': None, 'cert': None, 'key': None, 'baremetal_status_code_retries': '5', 'baremetal_introspection_status_code_retries': '5', 'image_status_code_retries': '5', 'disable_vendor_agent': {}, 'interface': 'internal', 'floating_ip_source': 'neutron', 'image_api_use_tasks': False, 'image_format': 'qcow2', 'message': '', 'network_api_version': '2', 'object_store_api_version': '1', 'secgroup_source': 'neutron', 'status': 'active', 'auth': {'user_domain_name': 'Default', 'project_domain_name': 'Default', 'project_name': 'admin'}, 'additional_user_agent': [('osc-lib', '2.8.1')], 'verbose_level': 3, 'deferred_help': False, 'debug': True, 'region_name': 'RegionOne', 'default_domain': 'default', 'timing': False, 'auth_url': 'http://192.168.56.250:5000', 'username': 'admin', 'password': '***', 'beta_command': False, 'compute_api_version': '2.30', 'identity_api_version': '3', 'auth_type': 'password', ': []}
Using auth plugin: password
Using parameters {'auth_url': 'http://192.168.56.250:5000', 'project_name': 'admin', 'project_domain_name': 'Default', 'username': 'admin', 'user_domain_name': 'Default', 'password': '***'}
Get auth_ref
REQ: curl -g -i -X GET http://192.168.56.250:5000 -H "Accept: application/json" -H "User-Agent: openstacksdk/2.0.0 keystoneauth1/5.3.0 python-requests/2.31.0 CPython/3.9.16"
Starting new HTTP connection (1): 192.168.56.250:5000
http://192.168.56.250:5000 "GET / HTTP/1.1" 300 269
RESP: [300] content-length: 269 content-type: application/json date: Sun, 12 Nov 2023 08:55:38 GMT location: http://192.168.56.250:5000/v3/ server: Apache vary: X-Auth-Token x-openstack-request-id: req-11dc3c48-2d58-4b38-8875-6fade143d35c
RESP BODY: {"versions": {"values": [{"id": "v3.14", "status": "stable", "updated": "2020-04-07T00:00:00Z", "links": [{"rel": "self", "href": "http://192.168.56.250:5000/v3/"}], "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}]}]}}
GET call to http://192.168.56.250:5000/ used request id req-11dc3c48-2d58-4b38-8875-6fade143d35c
Making authentication request to http://192.168.56.250:5000/v3/auth/tokens
http://192.168.56.250:5000 "POST /v3/auth/tokens HTTP/1.1" 201 4177
{"token": {"methods": ["password"], "user": {"domain": {"id": "default", "name": "Default"}, "id": "ba0a9fad92ea46acb96118933f13857a", "name": "admin", "password_expires_at": null}, "audit_ids": ["IR34niUqRIy1vK70A36ZWw"], "expires_at": "2023-11-13T08:55:38.000000Z", "issued_at": "2023-11-12T08:55:38.000000Z", "project": {"domain": {"id": "default", "name": "Default"}, "id": "d3e9b007b7974ff29f98068ed4192fdb", "name": "admin"}, "is_domain": false, "roles": [{"id": "1b9e141782b64a17b0a63984a34ce7e4", "name": "admin"}, {"id": "879d5dabd3ab4848a7538a5f0a6dfe12", "name": "member"}, {"id": "0a9db6fb6ab2494da682a08096a2b7a7", "name": "heat_stack_owner"}, {"id": "5c15bf9c02974f6aae7fd37be2908a62", "name": "reader"}, {"id": "8fb9d30353d54b4b9af03e16b43450f2", "name": "manager"}], "catalog": [{"endpoints": [{"id": "5d3c5ea337304d7b8ffb9a4e8c6b02d6", "interface": "internal", "region_id": "RegionOne", "url": "http://192.168.56.250:9292", "region": "RegionOne"}, {"id": "b3f644dd6e1347009818b2b33c7b34e7", "interface": "public", "region_id": "RegionOne", "url": "http://10.0.2.250:9292", "region": "RegionOne"}], "id": "62f6a6c6843a461ca875a6677db2032a", "type": "image", "name": "glance"}, {"endpoints": [{"id": "6213944c66c7462dabaee8569f47d16f", "interface": "internal", "region_id": "RegionOne", "url": "http://192.168.56.250:8000/v1", "region": "RegionOne"}, {"id": "7d2166a471af459e8b714ab2c53479d5", "interface": "public", "region_id": "RegionOne", "url": "http://10.0.2.250:8000/v1", "region": "RegionOne"}], "id": "80803c76d09b4f9990a22e2dcf0afc02", "type": "cloudformation", "name": "heat-cfn"}, {"endpoints": [{"id": "a06f63d2bfd5417dace02ad26d0d2e1f", "interface": "public", "region_id": "RegionOne", "url": "http://10.0.2.250:5000", "region": "RegionOne"}, {"id": "c29cd14900514e71b57de01d4e885a4f", "interface": "internal", "region_id": "RegionOne", "url": "http://192.168.56.250:5000", "region": "RegionOne"}], "id": "aad0658f7d534017a92db0b5e3569dfd", "type": "identity", "name": "keystone"}, {"endpoints": [{"id": "9c8ac083a1574f2598303e4f489b9fe4", "interface": "internal", "region_id": "RegionOne", "url": "http://192.168.56.250:8004/v1/d3e9b007b7974ff29f98068ed4192fdb", "region": "RegionOne"}, {"id": "bae512af13a5473d9946dfc4ddd59643", "interface": "public", "region_id": "RegionOne", "url": "http://10.0.2.250:8004/v1/d3e9b007b7974ff29f98068ed4192fdb", "region": "RegionOne"}], "id": "b65afb14b63d465199f32d2ac364bf0b", "type": "orchestration", "name": "heat"}, {"endpoints": [{"id": "2b051d185eaf4427a03d28a062eec2bb", "interface": "public", "region_id": "RegionOne", "url": "http://10.0.2.250:8774/v2.1", "region": "RegionOne"}, {"id": "53bbe5aa99414c058a87f15abe5573aa", "interface": "internal", "region_id": "RegionOne", "url": "http://192.168.56.250:8774/v2.1", "region": "RegionOne"}], "id": "c35f68815ee144719c41d907b7b88699", "type": "compute", "name": "nova"}, {"endpoints": [{"id": "5ed9c410937a4cd5b966dd5034ee5193", "interface": "internal", "region_id": "RegionOne", "url": "http://192.168.56.250:9696", "region": "RegionOne"}, {"id": "e9e7ef9be661411a988bfc59b6b67fec", "interface": "public", "region_id": "RegionOne", "url": "http://10.0.2.250:9696", "region": "RegionOne"}], "id": "ebd934692f8d4fe9b842fde6552c49db", "type": "network", "name": "neutron"}, {"endpoints": [{"id": "2c30b0c338ee4141856b62308ca3a035", "interface": "internal", "region_id": "RegionOne", "url": "http://192.168.56.250:8780", "region": "RegionOne"}, {"id": "2f917e1ec70b4b1892c818916412b648", "interface": "public", "region_id": "RegionOne", "url": "http://10.0.2.250:8780", "region": "RegionOne"}], "id": "f0e389263ed3401f8c64e57e5fe71cc5", "type": "placement", "name": "placement"}, {"endpoints": [{"id": "0f29d33d18a84ef39a13f001354d8d69", "interface": "internal", "region_id": "RegionOne", "url": "http://192.168.56.250:8776/v3/d3e9b007b7974ff29f98068ed4192fdb", "region": "RegionOne"}, {"id": "cfb3e53bcd8f40cf86ca7b7b20921754", "interface": "public", "region_id": "RegionOne", "url": "http://10.0.2.250:8776/v3/d3e9b007b7974ff29f98068ed4192fdb", "region": "RegionOne"}], "id": "f42846c5c08a45eca1163c2c083914c6", "type": "volumev3", "name": "cinderv3"}]}}
run(Namespace(server='e4bf8442-dcbb-47e0-87e9-4f31a99e93a1', live_migration=False, host=None, block_migration=None, disk_overcommit=None, wait=True))
Instantiating compute client for API Version Major: 2, Minor: 30
Instantiating compute api: <class 'openstackclient.api.compute_v2.APIv2'>
REQ: curl -g -i -X GET http://192.168.56.250:8774/v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.30" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}c9913f7def018908d823fd93feef23b97410c762e827873f521f0d724e8f89c6" -H "X-OpenStack-Nova-API-Version: 2.30"
Starting new HTTP connection (1): 192.168.56.250:8774
http://192.168.56.250:8774 "GET /v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 HTTP/1.1" 200 1874
RESP: [200] content-length: 1874 content-type: application/json date: Sun, 12 Nov 2023 08:55:39 GMT openstack-api-version: compute 2.30 server: Apache vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version x-compute-request-id: req-1a2bc34d-ef9a-4723-9386-9800a298e40f x-openstack-nova-api-version: 2.30 x-openstack-request-id: req-1a2bc34d-ef9a-4723-9386-9800a298e40f
RESP BODY: {"server": {"id": "e4bf8442-dcbb-47e0-87e9-4f31a99e93a1", "name": "cirros2", "status": "SHUTOFF", "tenant_id": "d3e9b007b7974ff29f98068ed4192fdb", "user_id": "ba0a9fad92ea46acb96118933f13857a", "metadata": {}, "hostId": "ee463989489a76d56da7d2daef8a447ad9a0934da88cf4fc5c02bb8b", "image": "", "flavor": {"id": "86d7387f-ffb6-43ac-93bb-011b7d2e42d3", "links": [{"rel": "bookmark", "href": "http://192.168.56.250:8774/flavors/86d7387f-ffb6-43ac-93bb-011b7d2e42d3"}]}, "created": "2023-11-12T07:56:31Z", "updated": "2023-11-12T08:45:15Z", "addresses": {"extnet": [{"version": 4, "addr": "192.168.50.106", "OS-EXT-IPS:type": "fixed", "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:5c:7f:a2"}]}, "accessIPv4": "", "accessIPv6": "", "links": [{"rel": "self", "href": "http://192.168.56.250:8774/v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1"}, {"rel": "bookmark", "href": "http://192.168.56.250:8774/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1"}], "OS-DCF:diskConfig": "AUTO", "OS-EXT-AZ:availability_zone": "nova", "config_drive": "", "key_name": null, "OS-SRV-USG:launched_at": "2023-11-12T07:57:07.000000", "OS-SRV-USG:terminated_at": null, "security_groups": [{"name": "default"}], "OS-EXT-SRV-ATTR:host": "compute1", "OS-EXT-SRV-ATTR:instance_name": "instance-0000000e", "OS-EXT-SRV-ATTR:hypervisor_hostname": "compute1", "OS-EXT-SRV-ATTR:reservation_id": "r-erl3giof", "OS-EXT-SRV-ATTR:launch_index": 0, "OS-EXT-SRV-ATTR:hostname": "cirros2", "OS-EXT-SRV-ATTR:kernel_id": "", "OS-EXT-SRV-ATTR:ramdisk_id": "", "OS-EXT-SRV-ATTR:root_device_name": "/dev/vda", "OS-EXT-SRV-ATTR:user_data": null, "OS-EXT-STS:task_state": null, "OS-EXT-STS:vm_state": "stopped", "OS-EXT-STS:power_state": 4, "os-extended-volumes:volumes_attached": [{"id": "b701e079-591e-4116-9e69-882eb07037fe", "delete_on_termination": true}], "host_status": "UP", "locked": false, "description": null, "tags": []}}
GET call to compute for http://192.168.56.250:8774/v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 used request id req-1a2bc34d-ef9a-4723-9386-9800a298e40f
REQ: curl -g -i -X POST http://192.168.56.250:8774/v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1/action -H "Accept: application/json" -H "Content-Type: application/json" -H "OpenStack-API-Version: compute 2.30" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}c9913f7def018908d823fd93feef23b97410c762e827873f521f0d724e8f89c6" -H "X-OpenStack-Nova-API-Version: 2.30" -d '{"migrate": null}'
http://192.168.56.250:8774 "POST /v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1/action HTTP/1.1" 202 0
RESP: [202] content-length: 0 content-type: application/json date: Sun, 12 Nov 2023 08:55:39 GMT openstack-api-version: compute 2.30 server: Apache vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version x-compute-request-id: req-e59ad22b-80a6-44fc-a960-6fd4cab55c8d x-openstack-nova-api-version: 2.30 x-openstack-request-id: req-e59ad22b-80a6-44fc-a960-6fd4cab55c8d
POST call to compute for http://192.168.56.250:8774/v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1/action used request id req-e59ad22b-80a6-44fc-a960-6fd4cab55c8d
REQ: curl -g -i -X GET http://192.168.56.250:8774/v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.30" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}c9913f7def018908d823fd93feef23b97410c762e827873f521f0d724e8f89c6" -H "X-OpenStack-Nova-API-Version: 2.30"
http://192.168.56.250:8774 "GET /v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 HTTP/1.1" 200 1899
RESP: [200] content-length: 1899 content-type: application/json date: Sun, 12 Nov 2023 08:55:39 GMT openstack-api-version: compute 2.30 server: Apache vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version x-compute-request-id: req-943e3ed9-b77f-44e6-bf30-1c10f64c6fe8 x-openstack-nova-api-version: 2.30 x-openstack-request-id: req-943e3ed9-b77f-44e6-bf30-1c10f64c6fe8
RESP BODY: {"server": {"id": "e4bf8442-dcbb-47e0-87e9-4f31a99e93a1", "name": "cirros2", "status": "RESIZE", "tenant_id": "d3e9b007b7974ff29f98068ed4192fdb", "user_id": "ba0a9fad92ea46acb96118933f13857a", "metadata": {}, "hostId": "ee463989489a76d56da7d2daef8a447ad9a0934da88cf4fc5c02bb8b", "image": "", "flavor": {"id": "86d7387f-ffb6-43ac-93bb-011b7d2e42d3", "links": [{"rel": "bookmark", "href": "http://192.168.56.250:8774/flavors/86d7387f-ffb6-43ac-93bb-011b7d2e42d3"}]}, "created": "2023-11-12T07:56:31Z", "updated": "2023-11-12T08:55:39Z", "addresses": {"extnet": [{"version": 4, "addr": "192.168.50.106", "OS-EXT-IPS:type": "fixed", "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:5c:7f:a2"}]}, "accessIPv4": "", "accessIPv6": "", "links": [{"rel": "self", "href": "http://192.168.56.250:8774/v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1"}, {"rel": "bookmark", "href": "http://192.168.56.250:8774/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1"}], "OS-DCF:diskConfig": "MANUAL", "progress": 0, "OS-EXT-AZ:availability_zone": "nova", "config_drive": "", "key_name": null, "OS-SRV-USG:launched_at": "2023-11-12T07:57:07.000000", "OS-SRV-USG:terminated_at": null, "security_groups": [{"name": "default"}], "OS-EXT-SRV-ATTR:host": "compute1", "OS-EXT-SRV-ATTR:instance_name": "instance-0000000e", "OS-EXT-SRV-ATTR:hypervisor_hostname": "compute1", "OS-EXT-SRV-ATTR:reservation_id": "r-erl3giof", "OS-EXT-SRV-ATTR:launch_index": 0, "OS-EXT-SRV-ATTR:hostname": "cirros2", "OS-EXT-SRV-ATTR:kernel_id": "", "OS-EXT-SRV-ATTR:ramdisk_id": "", "OS-EXT-SRV-ATTR:root_device_name": "/dev/vda", "OS-EXT-SRV-ATTR:user_data": null, "OS-EXT-STS:task_state": "resize_prep", "OS-EXT-STS:vm_state": "stopped", "OS-EXT-STS:power_state": 4, "os-extended-volumes:volumes_attached": [{"id": "b701e079-591e-4116-9e69-882eb07037fe", "delete_on_termination": true}], "host_status": "UP", "locked": false, "description": null, "tags": []}}
GET call to compute for http://192.168.56.250:8774/v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 used request id req-943e3ed9-b77f-44e6-bf30-1c10f64c6fe8
REQ: curl -g -i -X GET http://192.168.56.250:8774/v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.30" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}c9913f7def018908d823fd93feef23b97410c762e827873f521f0d724e8f89c6" -H "X-OpenStack-Nova-API-Version: 2.30"
http://192.168.56.250:8774 "GET /v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 HTTP/1.1" 200 1901
RESP: [200] content-length: 1901 content-type: application/json date: Sun, 12 Nov 2023 08:55:44 GMT openstack-api-version: compute 2.30 server: Apache vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version x-compute-request-id: req-2df4db42-b468-4683-930c-7378affaf9d3 x-openstack-nova-api-version: 2.30 x-openstack-request-id: req-2df4db42-b468-4683-930c-7378affaf9d3
RESP BODY: {"server": {"id": "e4bf8442-dcbb-47e0-87e9-4f31a99e93a1", "name": "cirros2", "status": "RESIZE", "tenant_id": "d3e9b007b7974ff29f98068ed4192fdb", "user_id": "ba0a9fad92ea46acb96118933f13857a", "metadata": {}, "hostId": "1c233a15a7074067163b632c585f7f7ec8a5127df74b8cd69e8b1a3d", "image": "", "flavor": {"id": "86d7387f-ffb6-43ac-93bb-011b7d2e42d3", "links": [{"rel": "bookmark", "href": "http://192.168.56.250:8774/flavors/86d7387f-ffb6-43ac-93bb-011b7d2e42d3"}]}, "created": "2023-11-12T07:56:31Z", "updated": "2023-11-12T08:55:43Z", "addresses": {"extnet": [{"version": 4, "addr": "192.168.50.106", "OS-EXT-IPS:type": "fixed", "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:5c:7f:a2"}]}, "accessIPv4": "", "accessIPv6": "", "links": [{"rel": "self", "href": "http://192.168.56.250:8774/v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1"}, {"rel": "bookmark", "href": "http://192.168.56.250:8774/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1"}], "OS-DCF:diskConfig": "MANUAL", "progress": 0, "OS-EXT-AZ:availability_zone": "nova", "config_drive": "", "key_name": null, "OS-SRV-USG:launched_at": "2023-11-12T07:57:07.000000", "OS-SRV-USG:terminated_at": null, "security_groups": [{"name": "default"}], "OS-EXT-SRV-ATTR:host": "compute2", "OS-EXT-SRV-ATTR:instance_name": "instance-0000000e", "OS-EXT-SRV-ATTR:hypervisor_hostname": "compute2", "OS-EXT-SRV-ATTR:reservation_id": "r-erl3giof", "OS-EXT-SRV-ATTR:launch_index": 0, "OS-EXT-SRV-ATTR:hostname": "cirros2", "OS-EXT-SRV-ATTR:kernel_id": "", "OS-EXT-SRV-ATTR:ramdisk_id": "", "OS-EXT-SRV-ATTR:root_device_name": "/dev/vda", "OS-EXT-SRV-ATTR:user_data": null, "OS-EXT-STS:task_state": "resize_finish", "OS-EXT-STS:vm_state": "stopped", "OS-EXT-STS:power_state": 4, "os-extended-volumes:volumes_attached": [{"id": "b701e079-591e-4116-9e69-882eb07037fe", "delete_on_termination": true}], "host_status": "UP", "locked": false, "description": null, "tags": []}}
GET call to compute for http://192.168.56.250:8774/v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 used request id req-2df4db42-b468-4683-930c-7378affaf9d3
REQ: curl -g -i -X GET http://192.168.56.250:8774/v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.30" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}c9913f7def018908d823fd93feef23b97410c762e827873f521f0d724e8f89c6" -H "X-OpenStack-Nova-API-Version: 2.30"
http://192.168.56.250:8774 "GET /v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 HTTP/1.1" 200 1901
RESP: [200] content-length: 1901 content-type: application/json date: Sun, 12 Nov 2023 08:55:49 GMT openstack-api-version: compute 2.30 server: Apache vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version x-compute-request-id: req-d2e89b91-b03d-413d-8145-5a7dc60eb66c x-openstack-nova-api-version: 2.30 x-openstack-request-id: req-d2e89b91-b03d-413d-8145-5a7dc60eb66c
RESP BODY: {"server": {"id": "e4bf8442-dcbb-47e0-87e9-4f31a99e93a1", "name": "cirros2", "status": "RESIZE", "tenant_id": "d3e9b007b7974ff29f98068ed4192fdb", "user_id": "ba0a9fad92ea46acb96118933f13857a", "metadata": {}, "hostId": "1c233a15a7074067163b632c585f7f7ec8a5127df74b8cd69e8b1a3d", "image": "", "flavor": {"id": "86d7387f-ffb6-43ac-93bb-011b7d2e42d3", "links": [{"rel": "bookmark", "href": "http://192.168.56.250:8774/flavors/86d7387f-ffb6-43ac-93bb-011b7d2e42d3"}]}, "created": "2023-11-12T07:56:31Z", "updated": "2023-11-12T08:55:43Z", "addresses": {"extnet": [{"version": 4, "addr": "192.168.50.106", "OS-EXT-IPS:type": "fixed", "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:5c:7f:a2"}]}, "accessIPv4": "", "accessIPv6": "", "links": [{"rel": "self", "href": "http://192.168.56.250:8774/v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1"}, {"rel": "bookmark", "href": "http://192.168.56.250:8774/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1"}], "OS-DCF:diskConfig": "MANUAL", "progress": 0, "OS-EXT-AZ:availability_zone": "nova", "config_drive": "", "key_name": null, "OS-SRV-USG:launched_at": "2023-11-12T07:57:07.000000", "OS-SRV-USG:terminated_at": null, "security_groups": [{"name": "default"}], "OS-EXT-SRV-ATTR:host": "compute2", "OS-EXT-SRV-ATTR:instance_name": "instance-0000000e", "OS-EXT-SRV-ATTR:hypervisor_hostname": "compute2", "OS-EXT-SRV-ATTR:reservation_id": "r-erl3giof", "OS-EXT-SRV-ATTR:launch_index": 0, "OS-EXT-SRV-ATTR:hostname": "cirros2", "OS-EXT-SRV-ATTR:kernel_id": "", "OS-EXT-SRV-ATTR:ramdisk_id": "", "OS-EXT-SRV-ATTR:root_device_name": "/dev/vda", "OS-EXT-SRV-ATTR:user_data": null, "OS-EXT-STS:task_state": "resize_finish", "OS-EXT-STS:vm_state": "stopped", "OS-EXT-STS:power_state": 4, "os-extended-volumes:volumes_attached": [{"id": "b701e079-591e-4116-9e69-882eb07037fe", "delete_on_termination": true}], "host_status": "UP", "locked": false, "description": null, "tags": []}}
GET call to compute for http://192.168.56.250:8774/v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 used request id req-d2e89b91-b03d-413d-8145-5a7dc60eb66c
REQ: curl -g -i -X GET http://192.168.56.250:8774/v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.30" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}c9913f7def018908d823fd93feef23b97410c762e827873f521f0d724e8f89c6" -H "X-OpenStack-Nova-API-Version: 2.30"
http://192.168.56.250:8774 "GET /v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 HTTP/1.1" 200 1897
RESP: [200] content-length: 1897 content-type: application/json date: Sun, 12 Nov 2023 08:55:54 GMT openstack-api-version: compute 2.30 server: Apache vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version x-compute-request-id: req-b6bbdc26-f6b1-43c2-8114-8c96e463698a x-openstack-nova-api-version: 2.30 x-openstack-request-id: req-b6bbdc26-f6b1-43c2-8114-8c96e463698a
RESP BODY: {"server": {"id": "e4bf8442-dcbb-47e0-87e9-4f31a99e93a1", "name": "cirros2", "status": "VERIFY_RESIZE", "tenant_id": "d3e9b007b7974ff29f98068ed4192fdb", "user_id": "ba0a9fad92ea46acb96118933f13857a", "metadata": {}, "hostId": "1c233a15a7074067163b632c585f7f7ec8a5127df74b8cd69e8b1a3d", "image": "", "flavor": {"id": "86d7387f-ffb6-43ac-93bb-011b7d2e42d3", "links": [{"rel": "bookmark", "href": "http://192.168.56.250:8774/flavors/86d7387f-ffb6-43ac-93bb-011b7d2e42d3"}]}, "created": "2023-11-12T07:56:31Z", "updated": "2023-11-12T08:55:49Z", "addresses": {"extnet": [{"version": 4, "addr": "192.168.50.106", "OS-EXT-IPS:type": "fixed", "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:5c:7f:a2"}]}, "accessIPv4": "", "accessIPv6": "", "links": [{"rel": "self", "href": "http://192.168.56.250:8774/v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1"}, {"rel": "bookmark", "href": "http://192.168.56.250:8774/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1"}], "OS-DCF:diskConfig": "MANUAL", "progress": 0, "OS-EXT-AZ:availability_zone": "nova", "config_drive": "", "key_name": null, "OS-SRV-USG:launched_at": "2023-11-12T08:55:48.000000", "OS-SRV-USG:terminated_at": null, "security_groups": [{"name": "default"}], "OS-EXT-SRV-ATTR:host": "compute2", "OS-EXT-SRV-ATTR:instance_name": "instance-0000000e", "OS-EXT-SRV-ATTR:hypervisor_hostname": "compute2", "OS-EXT-SRV-ATTR:reservation_id": "r-erl3giof", "OS-EXT-SRV-ATTR:launch_index": 0, "OS-EXT-SRV-ATTR:hostname": "cirros2", "OS-EXT-SRV-ATTR:kernel_id": "", "OS-EXT-SRV-ATTR:ramdisk_id": "", "OS-EXT-SRV-ATTR:root_device_name": "/dev/vda", "OS-EXT-SRV-ATTR:user_data": null, "OS-EXT-STS:task_state": null, "OS-EXT-STS:vm_state": "resized", "OS-EXT-STS:power_state": 4, "os-extended-volumes:volumes_attached": [{"id": "b701e079-591e-4116-9e69-882eb07037fe", "delete_on_termination": true}], "host_status": "UP", "locked": false, "description": null, "tags": []}}
GET call to compute for http://192.168.56.250:8774/v2.1/servers/e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 used request id req-b6bbdc26-f6b1-43c2-8114-8c96e463698a
Complete
clean_up MigrateServer:
END return value: 0

 

 

 

[root@controller ~]# nova migration-list | head -20
nova CLI is deprecated and will be removed in a future release
+----+-------------+-----------+----------------+--------------+----------------+----------------+--------------------------------------+------------+------------+----------------------------+----------------------------+----------------+
| Id | Source Node | Dest Node | Source Compute | Dest Compute | Dest Host      | Status         | Instance UUID                        | Old Flavor | New Flavor | Created At                 | Updated At                 | Type           |
+----+-------------+-----------+----------------+--------------+----------------+----------------+--------------------------------------+------------+------------+----------------------------+----------------------------+----------------+
| 7  | compute2    | compute1  | compute2       | compute1     | -              | completed      | 90bacbcb-a442-40c7-be11-9b5700b1543c | 5          | 5          | 2023-11-12T07:33:28.000000 | 2023-11-12T07:34:01.000000 | live-migration |
| 8  | compute2    | compute1  | compute2       | compute1     | -              | completed      | e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 | 5          | 5          | 2023-11-12T08:03:53.000000 | 2023-11-12T08:04:24.000000 | live-migration |
| 9  | compute1    | compute2  | compute1       | compute2     | 192.168.56.116 | post-migrating | e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 | 5          | 5          | 2023-11-12T08:55:39.000000 | 2023-11-12T08:55:43.000000 | migration      |
+----+-------------+-----------+----------------+--------------+----------------+----------------+--------------------------------------+------------+------------+----------------------------+----------------------------+----------------+

 

Migration이 진행되는 중에는 Status가 post-migration으로 진행되고 있다. 

 

 

 

[root@controller ~]# nova migration-list | head -20
nova CLI is deprecated and will be removed in a future release
+----+-------------+-----------+----------------+--------------+----------------+-----------+--------------------------------------+------------+------------+----------------------------+----------------------------+----------------+
| Id | Source Node | Dest Node | Source Compute | Dest Compute | Dest Host      | Status    | Instance UUID                        | Old Flavor | New Flavor | Created At                 | Updated At                 | Type           |
+----+-------------+-----------+----------------+--------------+----------------+-----------+--------------------------------------+------------+------------+----------------------------+----------------------------+----------------+
| 7  | compute2    | compute1  | compute2       | compute1     | -              | completed | 90bacbcb-a442-40c7-be11-9b5700b1543c | 5          | 5          | 2023-11-12T07:33:28.000000 | 2023-11-12T07:34:01.000000 | live-migration |
| 8  | compute2    | compute1  | compute2       | compute1     | -              | completed | e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 | 5          | 5          | 2023-11-12T08:03:53.000000 | 2023-11-12T08:04:24.000000 | live-migration |
| 9  | compute1    | compute2  | compute1       | compute2     | 192.168.56.116 | finished  | e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 | 5          | 5          | 2023-11-12T08:55:39.000000 | 2023-11-12T08:55:49.000000 | migration      |
+----+-------------+-----------+----------------+--------------+----------------+-----------+--------------------------------------+------------+------------+----------------------------+----------------------------+----------------+

 

 

[root@controller ~]# openstack server list --all --long --host compute2
+--------------------------------------+---------+---------------+------------+-------------+-----------------------+--------------------------+--------------------------+-----------------+--------------------------------------+-------------------+----------+------------+-------------+
| ID                                   | Name    | Status        | Task State | Power State | Networks              | Image Name               | Image ID                 | Flavor Name     | Flavor ID                            | Availability Zone | Host     | Properties | Host Status |
+--------------------------------------+---------+---------------+------------+-------------+-----------------------+--------------------------+--------------------------+-----------------+--------------------------------------+-------------------+----------+------------+-------------+
| e4bf8442-dcbb-47e0-87e9-4f31a99e93a1 | cirros2 | VERIFY_RESIZE | None       | Shutdown    | extnet=192.168.50.106 | N/A (booted from volume) | N/A (booted from volume) | 2Core5GB        | 86d7387f-ffb6-43ac-93bb-011b7d2e42d3 | nova              | compute2 |            | UP          |
+--------------------------------------+---------+---------------+------------+-------------+-----------------------+--------------------------+--------------------------+-----------------+--------------------------------------+-------------------+----------+------------+-------------+