清除dashboard无法删除的虚拟机

故障现象:

因为一些原因,无法通过Dashboard删除某些虚拟机,这些虚拟机一直处于deleteing状态。

解决办法:

通过操作数据库直接删除实例记录:

[root@openstack ~]# mysql -uroot -ppasswd

mysql> show databases;

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

| Database           |

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

| information_schema |

| cinder             |

| glance             |

| keystone           |

| mysql              |

| nova               |

| test               |

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

7 rows in set (0.00 sec)

mysql> use nova;

……………………

Database changed

mysql> show tables;

mysql> select ID,display_name from instances;

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

| ID  | display_name                               |

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

|  29 | vm-00                                      |

|  30 | vm-01                                      |

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

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

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 删除 id 为 29 的 instance 时触发外键限制错误,简单的办法是暂时关闭外键检查,等删除后再打开。

mysql> SET FOREIGN_KEY_CHECKS=0;

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

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

mysql> SET FOREIGN_KEY_CHECKS=1;

mysql> flush privileges;

mysql> quit;

原文地址:https://www.cnblogs.com/myiaas/p/4161326.html