openstack的vm虚拟机删除不掉

本文介绍了解决OpenStack中Nova命令无法彻底删除虚拟机的问题。当通过Nova命令尝试删除虚拟机但未成功时,可以通过virsh list命令确认虚拟机是否已实际删除,并通过更新数据库的方式彻底移除Nova中的残留记录。

使用nova命令删除不掉


参考:http://dnscai.com/blog/2013/04/03/openstack-error-sample1/


vm其实已经删掉,通过virsh list命令可以看出。但是nova命令显示还有:nova show xx  ;

很明显是实际VM已经干掉,但是nova去数据库查还有记录

操作数据库:


root@controller3:/var/log/cinder# mysql -uroot -p -D nova
Enter password: 
mysql> use nova;


mysql> update  instances set deleted=1 where display_name='ceph01';
Query OK, 1 row affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0


mysql> quit
Bye


搞定

### OpenStack 中 brctl 的用法与网络配置问题解决 `brctl` 是 Linux 下用于管理网桥设备的一个工具,它允许管理员创建、删除以及修改网桥接口。在 OpenStack 环境中,`brctl` 常被用来管理和调试网络组件中的网桥结构,尤其是在 Neutron 组件负责的网络服务中。 #### 1. `brctl` 的基本功能 以下是 `brctl` 工具的一些常用命令及其作用: - **查看当前系统中存在的所有网桥** ```bash sudo brctl show ``` 此命令会显示所有的网桥名称、连接到这些网桥的端口以及其他相关信息[^1]。 - **创建一个新的网桥** ```bash sudo brctl addbr <bridge_name> ``` 创建名为 `<bridge_name>` 的新网桥。例如: ```bash sudo brctl addbr br-test ``` - **向现有网桥添加物理或拟接口** ```bash sudo brctl addif <bridge_name> <interface_name> ``` 将指定的接口 `<interface_name>` 添加到已存在的网桥 `<bridge_name>` 上。例如: ```bash sudo brctl addif br-test eth0 ``` - **从网桥移除某个接口** ```bash sudo brctl delif <bridge_name> <interface_name> ``` 移除网桥上的特定接口。例如: ```bash sudo brctl delif br-test eth0 ``` - **删除一个现有的网桥** ```bash sudo brctl delbr <bridge_name> ``` 删除指定的网桥。例如: ```bash sudo brctl delbr br-test ``` #### 2. 在 OpenStack 中的应用场景 在 OpenStack 部署过程中,尤其是通过 Kolla 或 DevStack 安装时,Neutron 组件通常会自动创建多个网桥来支持不同的网络平面(如外部网络、内部网络和隧道网络)。常见的网桥包括但不限于以下几种: - **br-ex**: 外部网络使用的网桥,提供实例访问公网的能力。 - **br-int**: 内部集成网桥,主要用于处理租户之间的流量隔离。 - **br-tun**: 隧道网桥,在 VXLAN 和 GRE 模式下使用,实现跨主机通信。 如果遇到网络连通性问题,可以利用 `brctl` 来排查网桥的状态和关联的接口情况。例如,执行以下命令可以帮助确认是否有错误配置: ```bash sudo brctl show br-ex ``` 此操作能够验证 `br-ex` 是否正确绑定了所需的物理网卡或其他逻辑接口[^3]。 #### 3. 故障排除技巧 当面对涉及网桥的相关问题时,可尝试以下几个方向进行诊断: - **检查网桥是否存在并正常工作** 如果发现某些 VM 实例无法获取 IP 地址或者与其他子网不通,则需先核实对应网桥是否已被成功建立,并且其状态良好。 - **确保正确的 VLAN 标签设置** 对于多租户环境下的 VLAN 划分需求,务必保证每条链路上都设置了恰当的 VLAN ID 参数,以免造成数据包丢失现象发生。 - **核对接入的具体端口列表** 使用上述提到过的 `addif/delif` 子指令逐一审查哪些实际硬件资源已经加入到了目标 Bridge 当中去;同时也要留意可能存在的冗余链接关系以防环路形成风险增加。 #### 示例代码片段 下面给出一段简单的 Shell 脚本来自动化完成一些基础性的网桥初始化任务: ```bash #!/bin/bash BRIDGE_NAME="br-example" INTERFACE="eth1" # Create bridge if not exists if ! ip link | grep -q "$BRIDGE_NAME"; then echo "Creating $BRIDGE_NAME..." sudo brctl addbr $BRIDGE_NAME fi # Add interface to the bridge echo "Adding $INTERFACE into $BRIDGE_NAME..." sudo brctl addif $BRIDGE_NAME $INTERFACE # Bring up both interfaces and set MTU size accordingly for IFACE in $BRIDGE_NAME $INTERFACE; do sudo ip link set dev $IFACE mtu 9000 sudo ip link set dev $IFACE up done echo "Bridge setup completed." ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值