openstack 實例浮動

openstack 實例只支持狀態爲active,stopped,error的實例進行救援,所以如果是其他狀態的實例需要evacuate,則需要重置狀態。
校驗實例所在物理主機狀態爲down,並且實例狀態爲active,stopped,error才能執行evacuate並創建該實例的遷移任務
 
1,重置實例狀態
實例i:c5dcb2c2-9ce4-463a-94b9-1c1615d37084
nova reset-state c5dcb2c2-9ce4-463a-94b9-1c1615d37084 --active
2,擴散實例到nova-28.os上
nova evacuate c5dcb2c2-9ce4-463a-94b9-1c1615d37084 nova-28.os
3,重啓實例
nova stop c5dcb2c2-9ce4-463a-94b9-1c1615d37084 
nova start c5dcb2c2-9ce4-463a-94b9-1c1615d37084
通過openstack遷移
1. 查看實例信息
openstack server list  --long
| ID                                   | Name             | Status |  Networks                  | Host               |
+--------------------------------------+------------------+--------+----------------------------+--------------------+
| 5b9e1a99-d73f-46e3-acf4-c31a58c4e09a | test1            | ACTIVE |  lan-ceshi=10.200.40.237   |  nova05             |

2. 查看主機信息

openstack hypervisor list
+-----+---------------------+-----------------+--------------+-------+
|  ID | Hypervisor Hostname | Hypervisor Type | Host IP      | State |
+-----+---------------------+-----------------+--------------+-------+
|   3 | nova05              | QEMU            | 10.10.100.12 | down  |
|   6 | nova06              | QEMU            | 10.10.100.11 | up    |

3. 遷移

openstack server migrate --live-migration nova06.avlyun.org 5b9e1a99-d73f-46e3-acf4-c31a58c4e09a
...
openstack server list --long
| ID                                   | Name             | Status |  Networks                  | Host               |
+--------------------------------------+------------------+--------+----------------------------+--------------------+
| 5b9e1a99-d73f-46e3-acf4-c31a58c4e09a | test1            | ACTIVE |  lan-ceshi=10.200.40.237   |  nova06             |

注意: 通過openstack server migrate 遷移,兩個主機的cpu參數需要一致。如果cpu不一樣,會出現“ Unacceptable CPU info: CPU doesn't have compatibility ”。

解決:

# vim /usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py

註釋掉cpu檢測

# Compare CPU
"""
if not instance.vcpu_model or not instance.vcpu_model.model:
source_cpu_info = src_compute_info['cpu_info']
self._compare_cpu(None, source_cpu_info, instance)
else:
self._compare_cpu(instance.vcpu_model, None, instance)
"""

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章