OpenStack Train版双节点安装(十三)启动实例
admin
2023-03-27 05:21:20
0

第十三部分 启动实例


预备知识:Linux Bridge网络模式

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

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

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

具体的连接方式是:虚拟机的虚拟网卡(如果虚拟机的操作系统是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和实例的虚拟网卡桥接起来,从而为实例提供网络访问。

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

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

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

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

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


控制节点的网络底层配置

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

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

brctl show

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

类似图上的显示才是正确的,如果后面没有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,后面使用)

OpenStack Train版双节点安装(十三)启动实例
记下的网络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

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


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

yum install net-tools -y

ifconfig eth2 promisc

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


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

systemctl stop NetworkManager

systemctl disable NetworkManager


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

yum install bridge-utils -y

brctl show

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

一定要确认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 查看实例的创建状况

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

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

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


计算节点的检查

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

ip a

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

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

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

再使用brctl查看

brctl show

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

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

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

(1)重启计算节点网络

systemctl restart network

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

openstack server reboot cirros-instance1

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

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

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

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

ping 10.8.20.53

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

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


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

virsh list

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

记下其id是2


进入实例的控制台

virsh console 2

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

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

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

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

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

使用ip a查看实例的ip

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

获取到了正确的ip。

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

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

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

ping 10.8.20.42

ping 10.8.20.41

ping www.baidu.com

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


按键盘上的“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 Train版双节点安装(十三)启动实例

openstack server list

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

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


使用dashboard查看实例的状态

使用前面建立普通用户ygj 密码123456登录dashboard(不要使用admin登录,将看不到任何实例),在实例处可以查看到创建的2个实例。
OpenStack Train版双节点安装(十三)启动实例

2个实例

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


也可以访问实例的控制台

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


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

相关内容

热门资讯

特朗普下令不打了,美国的“余粮... 可以说戛然而止,快得让很多人都无法适应。前两周,每一天美国都要打击伊朗一通。就在7月24日白宫会议前...
穆杰塔巴最新表态:支持黎真主党 △伊朗最高领袖穆杰塔巴·哈梅内伊(资料图)当地时间7月26日晚,伊朗最高领袖穆杰塔巴·哈梅内伊对黎巴...
美军瘫痪一艘驶向伊朗的油轮,特... 美国总统特朗普虽下令暂停打击伊朗,但美军仍在执行对霍尔木兹海峡的封锁任务。针对美军瘫痪一艘驶向伊朗油...
“小牌大耍”的底气到底是哪里来... 澎湃首席评论员 李平这两天,“艺人李权哲乘高铁占座事件”在网上引发热议,该艺人参加的活动主办方曾发布...
越南籍船舶南海遇险沉没,中方已... 据凤凰卫视报道,一艘越南船舶7月24日夜间在越南庆和以东220海里附近遇险沉没,船上共62名越南籍人...
李权哲占座、蒙面、装死:娱乐圈... 你买了一张高铁一等座的票,找到自己的位置,18A。有人坐着。你拿出手机看了眼购票记录——没错,18A...
杭州景区咖啡店闯入1条幼蛇,仅... 夏天气温高、湿度大,蛇类活动进入高峰期,千万别被“小蛇无害”的刻板印象骗了!有些幼蛇看着迷你可爱,实...
AI开源公开信签署企业增至50... IT之家 7 月 26 日消息,英伟达、微软、IBM、Meta 等 25 家美国科技企业本周(7 月...
南阳快手短视频代运营企业的服务... 在短视频平台快速发展的背景下,企业通过快手等渠道进行内容运营已成为常见的市场动作。对于希望借助短视频...
普通人该如何跟上科技发展的步伐 这个被称作科技的词汇, 听起来既有宏大之感, 又颇为遥远, 好似仅仅归属于在实验室里专心致志钻研的科...