openstack 刪除殭屍實例

1.查看要刪除instance的id號。本例中爲“11”

mysql> use nova;

mysql> select id, vm_state, display_name from instances;


2.刪除security_group_instance_association中關聯數據

mysql> delete from security_group_instance_association where id='11';


3. 刪除instance_info_caches中關聯數據

mysql> select id,instance_uuid from instance_info_caches;

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

| id | instance_uuid                        |

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

|  9 | 1f58e354-44c8-4819-95ba-47a55303d7c1 |

|  3 | 3c394ace-7a7d-4537-be26-5904731c0659 |

| 14 | 43f0f739-d29a-49e7-b13b-d46088a8a3f9 |

|  4 | 48bf080e-70be-4534-94e0-1c949a5c5987 |

| 11 | 4997f3d0-3b8d-47ef-b3c0-6f979afac985 |

|  1 | 53f916ae-840b-49b9-b59d-9028976ca9ce |

| 13 | 5a795c94-cba7-48a7-aeed-5fc88ca8ad9d |

|  8 | 5d561b4a-1f68-452b-8668-ce65b1c360a3 |

|  6 | 8cfb0ecf-64c6-441a-b955-77117b518612 |

| 12 | 8d1694ec-6b69-4d63-9371-834b38b3467e |

| 10 | 8f92e86a-6e57-40bb-b425-c4fe8b35dc49 |

|  5 | b9915110-895b-46ed-8b55-386f51431d99 |

|  7 | d1dc8617-b206-4c41-86e3-4e8840c51fbb |

|  2 | e4c7a74f-98a7-47da-aa08-9c0ca9f331c6 |

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

14 rows in set (0.00 sec)


mysql> delete from instance_info_caches where id='11';


4.刪除instance中數據


mysql> delete from instances where id='11';


進行刪除instance數據時可能報以下錯誤:

ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`nova`.`block_device_mapping`, CONSTRAINT `block_device_mapping_instance_uuid_fkey` FOREIGN KEY (`instance_uuid`) REFERENCES `instances` (`uuid`))


這可能是MySQL在InnoDB中設置了foreign key關聯,造成無法更新或刪除數據。可以通過設置FOREIGN_KEY_CHECKS變量來避免這種情況。


mysql> set foreign_key_checks=0;


mysql> delete from instances where id='11';


mysql> set foreign_key_checks=1;


mysql> select id,vm_state,hostname,uuid from instances;

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

| id | vm_state | hostname          | uuid                                 |

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

|  1 | deleted  | centos-6.5-test-1 | 53f916ae-840b-49b9-b59d-9028976ca9ce |

|  2 | deleted  | centos-6.5-test-2 | e4c7a74f-98a7-47da-aa08-9c0ca9f331c6 |

|  3 | deleted  | centos-6.5-test-3 | 3c394ace-7a7d-4537-be26-5904731c0659 |

|  4 | deleted  | centos-6.5-test-4 | 48bf080e-70be-4534-94e0-1c949a5c5987 |

|  5 | deleted  | centos-6.5-test-5 | b9915110-895b-46ed-8b55-386f51431d99 |

|  6 | deleted  | cirros-test-1     | 8cfb0ecf-64c6-441a-b955-77117b518612 |

|  7 | deleted  | cirros-test-2     | d1dc8617-b206-4c41-86e3-4e8840c51fbb |

|  8 | deleted  | cirros-test-3     | 5d561b4a-1f68-452b-8668-ce65b1c360a3 |

|  9 | deleted  | cirros-test-4     | 1f58e354-44c8-4819-95ba-47a55303d7c1 |

| 10 | deleted  | cirros-test-5     | 8f92e86a-6e57-40bb-b425-c4fe8b35dc49 |

| 14 | deleted  | cirros-test-6     | 43f0f739-d29a-49e7-b13b-d46088a8a3f9 |

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

11 rows in set (0.00 sec)


5.刪除instance鏡像文件

cd /var/lib/nova/instances/

rm -f 實例ID



錯誤操作:mysql> delete from instances where id = 11;

錯誤提示: ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`nova`.`security_group_instance_association`, CONSTRAINT `security_group_instance_association_ibfk_2` FOREIGN KEY (`instance_id`) REFERENCES `instances` (`id`))


解決方法:

mysql> delete from security_group_instance_association where id=11;

 Query OK, 1 row affected (0.06 sec)

 

mysql> delete from instance_info_caches where id=11;

 Query OK, 1 row affected (0.06 sec)

 

mysql> delete from instances where id = 11;

 Query OK, 1 row affected (0.05 sec)


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