一件很坑爹事情,openstack没有直接删除计算节点的命令,只能通过下面的方式禁用计算节点的服务:
nova-manage service disable --host=<node name> --service=nova-compute
nova-manage service disable --host=<node name> --service=nova-network
nova-manage service disable --host=<node name> --service=nova-scheduler
由于对工作有些洁癖,看不惯那些多余没用的东西,最后修改数据库将其删除,参考命令如下:
mysql -uroot -ppasswd
mysql> use nova ;
mysql> show tables;
mysql> select hypervisor_hostname from compute_nodes;
+---------------------+
| hypervisor_hostname |
+---------------------+
| node01 |
| node02 |
| node03 |
| node04 |
| node65 |
| node07 |
| node08 |
| node09 |
| node05 |
+---------------------+
9 rows in set (0.00 sec)
mysql> delete from compute_nodes where hypervisor_hostname='node65';
Query OK, 1 row affected (0.02 sec)
//上面命令删除了compute_nodes表中关于node65的信息,在dashboard的“虚拟机管理器”已经看不到node65的信息了,但是系统中nova service-list还是能看到。
mysql>delete from services where host='node65';
//删除services表中关于node65的信息,这样nova service-list就看不到node65的信息了。
mysql>flush privileges;
mysql>quit;