且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

openstack 之 KVM虚拟机加入物理机网络的方法(可用于应急)

更新时间:2022-09-18 14:01:10

 这个文档是在刚刚在生产环境部署完成的时候,由于管理节点和网络节点在同一台物理机上,并且是单节点,另外,没有使用共享存储,存在单点故障,因此,需要考虑管理节点物理机宕机的情况下,如何迅速保障计算节点上虚拟机正常运行的问题。

    主要思路是利用计算节点上kvm自带的虚拟机管理工具virsh,直接在虚拟机上增加一块虚拟网卡,并且将这块虚拟网卡桥接到计算节点的br-ex网桥上,注意,br-ex网桥必须是直接连接到业务网络的,如果名称不一样,请按照实际情况进行修改,必须是接入能够连接到业务网络的虚拟网桥上。接入到业务网络的网桥后,再通过vnc接入到虚拟机,修改新增网卡的IP地址为业务网络的IP地址。好了,接下来就让我们开始动手,以下的命令都是在root账号下执行的:


    首先,需要具备接入虚拟机的条件,即需要能够远程桌面,安装vnc和xauth:

1
    yum install -y tigervnc xauth

    使用virsh工具软件增加一块网卡,直接连接到br-ex 执行下面的命令:

1
    virsh edit instance-00000002

    其中instance-00000002 是需要处理的虚拟机名称。

    virsh的命令使用可以直接使用virsh -h查看帮助。


    增加一块网卡。为了便于查看,在现有<interface>... </interface>的位置下面增加下面的配置:

1
2
3
4
5
    <interface type='bridge'>
      <source bridge='br-ex'/>
      <virtualport type='openvswitch'>
      </virtualport>
    </interface>


    (具体xml格式可以参考:http://libvirt.org/formatdomain.html#elementsNICSVirtual)


    关闭虚拟机电源:

    virsh destroy instance-00000002

    启动虚拟机:

    virsh start instance-00000002

    使用virsh和vnc连接虚拟机:

    virsh vncdisplay instance-00000002

    :0

    vncviewer :0


    进入虚拟机,将第二块网卡的地址改为业务地址


    至此,应急处理操作就这样完成了。如果控制节点恢复了,后面需要还原配置,按照下面的方法进行恢复:

    虚拟机恢复:

    将虚拟机内部网络设置复原,具体参考上面vnc接入虚拟机的方法进行操作。


    执行下面的命令修改配置:

1
    virsh edit instance-00000002

    将上面文档中临时增加的interface部分去掉。


    最后,通过管理界面启动虚拟机,或者通过上面的virsh工具重启。


   















本文转自yuweibing51CTO博客,原文链接: http://blog.51cto.com/yuweibing/1656459,如需转载请自行联系原作者