千家信息网

OpenStack Train版双节点安装(十三)启动实例

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,第十三部分 启动实例预备知识:Linux Bridge网络模式由于上节最后验证网络和这节启动实例需要使用到Linux Bridge,所以这里介绍下Linux Bridge的基本概念假设宿主机上有一块与
千家信息网最后更新 2026年11月02日OpenStack Train版双节点安装(十三)启动实例

第十三部分 启动实例


预备知识:Linux Bridge网络模式

由于上节最后验证网络和这节启动实例需要使用到Linux Bridge,所以这里介绍下Linux Bridge的基本概念

假设宿主机上有一块与外网连接的物理网卡eth0 ,上面跑了一个虚拟机VM1,那么使用Linux Bridge,宿主机会创建一个Linux Bridge的bridge br0将物理网卡eth0和实例的虚拟网卡桥接起来。如下图所示,br0可以看成是一个虚拟交换机,vnet0可以看成是虚拟交换机上的一个端口。

具体的连接方式是:虚拟机的虚拟网卡(如果虚拟机的操作系统是linux,它的虚拟网卡名称也是eth0)--vnet0--br0--物理网卡eth0

在下面的安装中,我们会使用计算节点(可以看成是是实例的宿主机)的网卡eth2来桥接实例的虚拟网卡(实例如果安装的是linux系统,则其虚拟网卡名称是eth0)。

类似上面的架构,br0由neutron创建,使用的名称是类似brq8c8dcd81-d3这样的,端口vnet0也由neutron创建,其名称类似tapfdf3a9b5-f8这样的,其中包含有由neutron service plugin、agent创建的ip地址等信息。实例启动后,neutron会将该端口分配给实例。

这样,brq8c8dcd81-d3把宿主机的eth2,端口tapfdf3a9b5-f8和实例的虚拟网卡桥接起来,从而为实例提供网络访问。

具体来说就是这样连接的:实例(实例的操作系统是linux系统的话)的虚拟网卡eth0--tapfdf3a9b5-f8--brq8c8dcd81-d3--宿主机(计算节点)的eth2

同理,如果再启动一个新实例,则neutron会在brq8c8dcd81-d3创建一个新的端口,tapxxxxxxx-xx,将其分配给该实例。

可见,类比vSphere,brq8c8dcd81-d3其实就是一个标准虚拟交换机,tapfdf3a9b5-f8就是上面的端口(端口组),eth2就是上行链路。


控制节点的网络底层配置

如上节最后所述,控制节点在创建虚拟网络时,会创建类似以上所说的brqxxxxx(xxxxx为虚拟网络ID的前11位)网桥,并且会创建一个dhcp-agent使用的端口tapxxxxx(xxxx为dhcp-agent的前几位),将物理网卡eth2和tap设备桥接起来。

在控制节点,使用brctl show 查看

brctl show

类似图上的显示才是正确的,如果后面没有eth2,后面创建实例将得不到ip地址。
请按如下步骤排查

(1)确认已经停止或者删除了NetworkManager软件包

systemctl stop NetworkManager
systemctl disable NetworkManager
yum remove NetworkManager -y

(2)重启网络

systemctl restart network


创建实例前的准备工作

创建实例类型

. admin-openrc
openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano

openstack flavor list


建立普通项目、用户,并赋予普通用户user角色。

openstack project create --domain default --description "ygj Project" ygj-project

openstack user create --domain default --password 123456 ygj

openstack role add --project ygj-projec --user ygj user


建立普通用户的环境变量脚本

vim ygj-openrc

加入:

export OS_PROJECT_DOMAIN_NAME=Default

export OS_USER_DOMAIN_NAME=Default

export OS_PROJECT_NAME=ygj-project

export OS_USERNAME=ygj

export OS_PASSWORD=123456

export OS_AUTH_URL=http://ct:5000/v3

export OS_IDENTITY_API_VERSION=3

export OS_IMAGE_API_VERSION=2


创建密钥对

. ygj-openrc

ssh-keygen -q -N ""

openstack keypair create --public-key ~/.ssh/id_rsa.pub ygjkey

openstack keypair list


创建安全组规则

openstack security group rule create --proto icmp default

openstack security group rule create --proto tcp --dst-port 22 default


检查openstack的相关服务和配置

. ygj-openrc

openstack flavor list

openstack image list

openstack network list(复制下网络ID,后面使用)


记下的网络ID为:3903994e-3f22-4677-8c3a-5ea4edd90afb


openstack security group list


修改计算节点上的nova配置文件,避免创建实例时报无法分配网络的错误

vim /etc/nova/nova.conf

[DEFAULT]

vif_plugging_is_fatal = false

vif_plugging_timeout = 0


确认开启2个节点的eth2的混杂模式,使虚拟机能连接除本宿主机外的网络

yum install net-tools -y

ifconfig eth2 promisc


确认已经停止2个节点上的networkmanager服务,否则会影响桥接网络的建立。

systemctl stop NetworkManager

systemctl disable NetworkManager


再次检查控制节点上neutron的桥接网络配置是否正确

yum install bridge-utils -y

brctl show

一定要确认eth2已经桥接到brq上面。


创建并启动实例
创建实例的命令
openstack server create --flavor 实例类型 --image 来源的镜像 --nic net-id=PROVIDER_NET_ID --security-group 安全组名 --key-name 密钥对 实例名称

其中PROVIDER_NET_ID:上面openstack network list命令查到的网络ID

具体来说可以如下面的命令:

. ygj-openrc

openstack server create --flavor m1.nano --image cirros --nic net-id=3903994e-3f22-4677-8c3a-5ea4edd90afb --security-group default --key-name ygjkey cirros-instance1


命令成功执行后,稍等片刻,使用openstack server list 查看实例的创建状况

确认其Status为"ACTIVE",Networks下面不为空

如果实例的Status一直为BULID或者ERROR,则需要检查计算节点nova的日志文件中的报错信息,然后加以解决,日志文件的路径为:/var/log/nova/nova-compute.log


计算节点的检查

上述命令创建实例后,计算节点的网络会发生如下变化

ip a

可以看到会多出一个brq的网桥和一个tap设备
其中brq的网桥和控制节点的同名,意味着它们的端口接在了同一个虚拟交换机上

tap设备即刚才创建的实例使用的端口(可以看成是)。

再使用brctl查看

brctl show


发现tap设备桥接到了网桥上。

但是,计算节点的eth2此时并没有桥接到这个brq上,但是再重启下网络和实例即可桥接,至于其具体原因不明(可能是openstack的bug或者是实验环境是vmware-workstation的原因)。

(1)重启计算节点网络

systemctl restart network

(2)在控制节点重启实例

openstack server reboot cirros-instance1

重启好之后再在计算节点使用brctl show查看

可以看到计算节点的eth2已经桥接到brq上。

检查下和实例的网络连接:

ping 10.8.20.53

说明实例已经能够获取ip地址。


在计算节点访问实例的控制台
查看正在运行的实例

virsh list

记下其id是2


进入实例的控制台

virsh console 2

这里的2就是上面记下的id

按回车,会出现实例的登录提示符,使用cirros用户和提示的密码登录

出现$提示符表明登录成功

使用ip a查看实例的ip

获取到了正确的ip。

还可以使用sudo passwd修改root密码,使用mount查看器磁盘挂载情况,其他操作不再赘述。

最后再检查下网络访问情况

ping 10.8.20.42

ping 10.8.20.41

ping www.baidu.com


按键盘上的"ctrl+]"键返回到计算节点的命令提示符。


再创建一个实例

在控制节点执行以下操作

. ygj-openrc

openstack server create --flavor m1.nano --image cirros --nic net-id=3903994e-3f22-4677-8c3a-5ea4edd90afb --security-group default --key-name ygjkey cirros-instance2

openstack server list

可以看到,新的实例已经是ACTIVE。获得的ip地址为10.8.20.51,并且可以ping通,说明实例创建成功。


使用dashboard查看实例的状态

使用前面建立普通用户ygj 密码123456登录dashboard(不要使用admin登录,将看不到任何实例),在实例处可以查看到创建的2个实例。

2个实例


也可以访问实例的控制台


至此,启动实例完成,下节将介绍怎么安装和配置centos7的实例。

实例 节点 网络 网卡 控制 端口 命令 宿主 检查 名称 宿主机 就是 用户 登录 配置 普通 地址 物理 系统 设备 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 河南云网互联网络科技有限公司 科技创新与互联网经济 中国 科技 互联网 互联网 卓越科技 苏州互联网科技贷款公司 多迪互联网科技有限公司 互联网科技有限公司 翻译 海南购全球互联网科技 汉立互联网科技有限公司联系电话 中盈科技互联网信息有限公司 新华互联网科技2019 广州慧亚互联网科技怎么样 金融科技与互联网金融相同和不同 重庆互联网医院沙龙医盟信息科技 湖北码尼互联网科技有限公司电话 银川新华互联网科技学校联系电话 互联网金融科技名词解释 互联网相关科技技术 普陀区互联网教育科技管理办法 玉溪新华互联网科技怎么选 深圳互联网科技公司 互联网金融 金融科技 高科技与互联网 华宇互联网科技 上海万想互联网科技 互联网科技热点资讯 链环科技传统企业怎么转型互联网 上海创道互联网络科技有限公司 第三届互联网大会安防黑科技 前海云享互联网科技
0