前言:
https://zskjohn.blog.csdn.net/article/details/128846360??云計(jì)算|OpenStack|社區(qū)版OpenStack安裝部署文檔(六 --- 網(wǎng)絡(luò)服務(wù)neutron的安裝部署---Rocky版)
(######注:以上文章使用的是openstack的provider網(wǎng)絡(luò),也稱之為提供者網(wǎng)絡(luò),對(duì)此網(wǎng)絡(luò)的擴(kuò)展selfservice,稱之為自服務(wù)網(wǎng)絡(luò),這個(gè)文章沒(méi)有涉及)
前面寫的neutron部署安裝,感覺(jué)很多地方還是沒(méi)有寫到,雖然網(wǎng)絡(luò)很復(fù)雜,尤其是openstack的網(wǎng)絡(luò)更為復(fù)雜,但一些目前我所了解的東西我想應(yīng)該還是記錄一下,備忘吧。
首先,前文部署的是Provider networks + Linux Bridge 方案,?此方案也就是官方文檔的網(wǎng)絡(luò)一,官方的方案還有第二個(gè),是selfservice?networks+Linuxbridge方案。
正文:
一,
一些網(wǎng)絡(luò)概念:
1,
provider和self-service
provider是一個(gè)半虛擬化的二層網(wǎng)絡(luò)架構(gòu),只能經(jīng)過(guò)橋接的方式實(shí)現(xiàn),處于provider網(wǎng)絡(luò)模式下vm獲取到的ip地址與物理網(wǎng)絡(luò)在同一網(wǎng)段,能夠當(dāng)作是物理網(wǎng)絡(luò)的擴(kuò)展,在該模式下,控制節(jié)點(diǎn)不須要安裝L3 agent,也不須要網(wǎng)絡(luò)節(jié)點(diǎn),vm直接經(jīng)過(guò)宿主機(jī)的NIC與物理網(wǎng)絡(luò)通訊,provider網(wǎng)絡(luò)只支持flat和vlan兩種模式。
self-service模式容許租戶本身建立網(wǎng)絡(luò),最終租戶建立的網(wǎng)絡(luò)借助provider網(wǎng)絡(luò)以NAT方式訪問(wèn)外網(wǎng),因此self-service模式能夠當(dāng)作是網(wǎng)絡(luò)層級(jí)的延伸,要實(shí)現(xiàn)self-service模式必須先建立provider網(wǎng)絡(luò),self-service網(wǎng)絡(luò)支持flat、vlan、vxlan、gre模式。
其中網(wǎng)絡(luò)選項(xiàng)2:自助網(wǎng)絡(luò)(Self-service networks)能夠?qū)崿F(xiàn)更加高級(jí)的網(wǎng)絡(luò)功能,能夠?qū)崿F(xiàn)網(wǎng)絡(luò)選項(xiàng)1的所有功能,
2,
物理網(wǎng)絡(luò)與虛擬化網(wǎng)絡(luò)
Neutron最為核心的工作是對(duì)二層物理網(wǎng)絡(luò)的抽象與管理,物理服務(wù)器虛擬化后,虛擬機(jī)的網(wǎng)絡(luò)功能由虛擬機(jī)網(wǎng)卡(vnic)提供,物理交換機(jī)也被虛擬化為虛擬交換機(jī)(vswitch),各個(gè)vnic連接再vswitch的端口上,最后這些vswitch通過(guò)物理服務(wù)器的物理網(wǎng)卡訪問(wèn)外部的物理網(wǎng)絡(luò)。
OK,這里可能比較難以理解,但結(jié)合實(shí)際就很清楚了,以下是我使用VM虛擬機(jī)安裝的openstack集群的controller節(jié)點(diǎn)的網(wǎng)絡(luò)情況,
VM虛擬機(jī)的網(wǎng)卡ens33被虛擬化了,原來(lái)的IP 192.168.123.130落到了brq這個(gè)虛擬交換機(jī)上了:
[root@openstack1 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master brq688a0356-4f state UNKNOWN qlen 1000
link/ether 00:0c:29:de:be:e1 brd ff:ff:ff:ff:ff:ff
inet6 fe80::20c:29ff:fede:bee1/64 scope link
valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
link/ether 52:54:00:e8:93:4e brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
link/ether 52:54:00:e8:93:4e brd ff:ff:ff:ff:ff:ff
6: tap35bde514-d6@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master brq6ef09648-5c state UP qlen 1000
link/ether 16:23:e2:df:f1:59 brd ff:ff:ff:ff:ff:ff link-netnsid 0
7: tapdc2df59d-2b@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master brq688a0356-4f state UP qlen 1000
link/ether 9a:c6:e7:43:dd:d9 brd ff:ff:ff:ff:ff:ff link-netnsid 1
8: tap29f235e4-7b@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master brq6ef09648-5c state UP qlen 1000
link/ether 76:81:a0:0a:0d:c0 brd ff:ff:ff:ff:ff:ff link-netnsid 2
9: tapf4264f35-18@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master brq688a0356-4f state UP qlen 1000
link/ether 8e:f5:27:74:a3:53 brd ff:ff:ff:ff:ff:ff link-netnsid 2
10: brq688a0356-4f: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
link/ether 00:0c:29:de:be:e1 brd ff:ff:ff:ff:ff:ff
inet 192.168.123.130/24 brd 192.168.123.255 scope global brq688a0356-4f
valid_lft forever preferred_lft forever
inet6 fe80::1843:29ff:fefe:1d7e/64 scope link
valid_lft forever preferred_lft forever
11: vxlan-17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master brq6ef09648-5c state UNKNOWN qlen 1000
link/ether be:e1:5a:3d:ce:93 brd ff:ff:ff:ff:ff:ff
12: brq6ef09648-5c: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP qlen 1000
link/ether 16:23:e2:df:f1:59 brd ff:ff:ff:ff:ff:ff
inet6 fe80::dc29:e8ff:fe9c:d984/64 scope link
valid_lft forever preferred_lft forever
3,
linux網(wǎng)卡虛擬化
TAP設(shè)備:模擬一個(gè)二層的網(wǎng)絡(luò)設(shè)備,可以接收和發(fā)送二層網(wǎng)絡(luò)數(shù)據(jù)包
如上的ip?命令可以看到:
6: tap35bde514-d6@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master brq6ef09648-5c state UP qlen 1000
link/ether 16:23:e2:df:f1:59 brd ff:ff:ff:ff:ff:ff link-netnsid 0
7: tapdc2df59d-2b@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master brq688a0356-4f state UP qlen 1000
link/ether 9a:c6:e7:43:dd:d9 brd ff:ff:ff:ff:ff:ff link-netnsid 1
8: tap29f235e4-7b@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master brq6ef09648-5c state UP qlen 1000
link/ether 76:81:a0:0a:0d:c0 brd ff:ff:ff:ff:ff:ff link-netnsid 2
TUN設(shè)備:模擬一個(gè)三層的網(wǎng)絡(luò)設(shè)備,可以接收和發(fā)送三層網(wǎng)絡(luò)數(shù)據(jù)包
在kubernetes的VXLAN網(wǎng)絡(luò)模式下比較常見(jiàn),openstack里目前還沒(méi)發(fā)現(xiàn)
4,
linux brigde
工作于二層的網(wǎng)絡(luò)設(shè)備,功能類似物理交換機(jī)
brigde可以綁定linux上其他網(wǎng)絡(luò)設(shè)備,并將這些設(shè)備虛擬化為端口,
port
端口
邏輯網(wǎng)絡(luò)交換機(jī)上的虛擬交換端口
虛擬機(jī)通過(guò)port附著到network上
port可以分配ip地址和mac地址
例如:
####注:這里的端口和通常意義的端口不是一個(gè)概念
[root@openstack1 ~]# openstack port list
+--------------------------------------+------+-------------------+--------------------------------------------------------------------------------+--------+
| ID | Name | MAC Address | Fixed IP Addresses | Status |
+--------------------------------------+------+-------------------+--------------------------------------------------------------------------------+--------+
| 29f235e4-7b56-4003-8cce-da3a55e6f49c | | fa:16:3e:c2:d0:0e | ip_address='172.16.1.1', subnet_id='1bdfae33-5bcb-47ff-b3f0-aee2fc5e7f68' | ACTIVE |
| 35bde514-d626-4b89-ab0b-e026da168ef2 | | fa:16:3e:8b:cc:69 | ip_address='172.16.1.2', subnet_id='1bdfae33-5bcb-47ff-b3f0-aee2fc5e7f68' | ACTIVE |
| 66ff50ec-4b9a-4c64-a60b-128c196bdf9d | | fa:16:3e:b2:6b:16 | ip_address='192.168.123.151', subnet_id='687b56a4-0672-451e-810c-ea3b895e3030' | N/A |
| b840246c-96e6-4385-97b8-b32fcc017fc1 | | fa:16:3e:98:68:14 | ip_address='172.16.1.26', subnet_id='1bdfae33-5bcb-47ff-b3f0-aee2fc5e7f68' | ACTIVE |
| bd360ee2-54bd-4590-979d-12996231d083 | | fa:16:3e:12:63:bb | ip_address='192.168.123.164', subnet_id='687b56a4-0672-451e-810c-ea3b895e3030' | N/A |
| c3456277-fb14-42d1-a86e-e4c1953fb15e | | fa:16:3e:15:a8:a3 | ip_address='192.168.123.179', subnet_id='687b56a4-0672-451e-810c-ea3b895e3030' | N/A |
| dc2df59d-2ba4-4d61-92ea-4832200fe129 | | fa:16:3e:e7:a0:74 | ip_address='192.168.123.150', subnet_id='687b56a4-0672-451e-810c-ea3b895e3030' | ACTIVE |
| e43e2f28-5bff-475b-8635-964ba90f4ee3 | | fa:16:3e:40:00:11 | ip_address='192.168.123.156', subnet_id='687b56a4-0672-451e-810c-ea3b895e3030' | N/A |
| f4264f35-1841-41c6-9b4f-5ca97eee162a | | fa:16:3e:30:aa:9c | ip_address='192.168.123.155', subnet_id='687b56a4-0672-451e-810c-ea3b895e3030' | ACTIVE |
+--------------------------------------+------+-------------------+--------------------------------------------------------------------------------+--------+
5 ,
open vswitch
相比linux bridge的小規(guī)模的主機(jī)內(nèi)部通信場(chǎng)景,open vswitch更適合大規(guī)模的多主機(jī)通信場(chǎng)景
6,
physical network
pytsical network,物理網(wǎng)絡(luò)。
在物理網(wǎng)絡(luò)環(huán)境中連接到openstack不同節(jié)點(diǎn)的網(wǎng)絡(luò),每個(gè)物理網(wǎng)絡(luò)可以支持neutron中的一個(gè)或者多個(gè)虛擬網(wǎng)絡(luò)。
7.
router
連接租戶內(nèi)同一個(gè)network或者不同network之間的子網(wǎng),以及連接內(nèi)外網(wǎng)
8.
fixed ip
固定ip,分配到每個(gè)端口上的ip,類似于物理環(huán)境中配置到網(wǎng)卡上的ip
9、
floating ip
floating ip(浮動(dòng)ip)是external network創(chuàng)建的一種特殊的port,可以將floating ip綁定到任意network中的port上,底層會(huì)進(jìn)行nat轉(zhuǎn)發(fā),將發(fā)送的浮動(dòng)ip流量轉(zhuǎn)發(fā)到該port上的對(duì)應(yīng)固定ip上,外界可以通過(guò)浮動(dòng)ip訪問(wèn)虛擬機(jī),虛擬機(jī)也可以通過(guò)浮動(dòng)ip訪問(wèn)外界
10.
External network
外部網(wǎng)絡(luò),也叫公共網(wǎng)絡(luò)
它是一種特殊的provider network,連接的物理網(wǎng)絡(luò)與數(shù)據(jù)中心或者internet相通,網(wǎng)絡(luò)中的port可以訪問(wèn)外網(wǎng)
一般將租戶的virtual router連接到該網(wǎng)絡(luò),并創(chuàng)建floating ip綁定虛擬機(jī),實(shí)現(xiàn)虛擬機(jī)與外網(wǎng)通信
Exernal netwok類似于物理環(huán)境中直接使用公網(wǎng)ip網(wǎng)段,不同的是,openstack中external network對(duì)應(yīng)的物理網(wǎng)絡(luò)不一定能直連internet,有可能只是數(shù)據(jù)中心的一個(gè)內(nèi)部私有網(wǎng)絡(luò)。
11.
provider network
由openstack管理員創(chuàng)建,直接對(duì)應(yīng)數(shù)據(jù)中心現(xiàn)有物理網(wǎng)絡(luò)的一個(gè)網(wǎng)段
providr network通常使用vlan或者flat模式,可以在多個(gè)租戶之間共享
12.
router
連接租戶內(nèi)同一個(gè)network或者不同network之間的子網(wǎng),以及連接內(nèi)外網(wǎng)(虛擬路由)
13.
securiy group
安全組,他的作用是在neutron port上的一組策略,規(guī)定了虛擬機(jī)入口和出口流量的規(guī)則
安全組基于linux iptables實(shí)現(xiàn),默認(rèn)拒絕所有流量,只有添加了放行規(guī)則的流量才允許通過(guò)
每個(gè)openstack項(xiàng)目中都有一個(gè)default默認(rèn)安全組,默認(rèn)包含如下規(guī)則-拒絕所有入口流量,允許所有出口流量
14.
南北向流量
虛擬機(jī)和外部網(wǎng)絡(luò)通信的流量
15.
東西向流量
虛擬機(jī)之間的流量
二,
虛擬機(jī)實(shí)例(底層是libvirtd的kvm)的兩個(gè)驅(qū)動(dòng)---網(wǎng)卡驅(qū)動(dòng)和磁盤驅(qū)動(dòng)的屬性
Manage images — glance 26.0.0.0b3.dev12 documentation??(openstack官網(wǎng)文檔里的)
Disk and CD-ROM bus model values
libvirt_type setting |
Supported model values |
---|---|
qemu or kvm |
|
xen |
|
VIF model values
libvirt_type setting |
Supported model values |
---|---|
qemu or kvm |
|
xen |
|
vmware |
|
由鏡像制作的時(shí)候確定,該鏡像使用哪種驅(qū)動(dòng),一般情況下,官方的kvm鏡像使用的磁盤驅(qū)動(dòng)是virtio,網(wǎng)卡驅(qū)動(dòng)也是virtio,(例如,CentOS-7-x86_64-GenericCloud-1508.qcow2)但如果是在VM虛擬機(jī)里部署的openstack,那么,可能需要更換鏡像磁盤驅(qū)動(dòng)為IDE(物理機(jī)部署的openstack一般不存在此問(wèn)題)
例如這么修改鏡像屬性:
openstack image set --property hw_disk_bus=ide --property hw_vif_model=e1000 867784df-9090-4ae0-ad25-564b941cc350
如果網(wǎng)卡屬性設(shè)置錯(cuò)誤,可能這個(gè)鏡像轉(zhuǎn)換成虛擬機(jī)實(shí)例的時(shí)候是成功的,但網(wǎng)絡(luò)會(huì)出現(xiàn)問(wèn)題,各種連接不通的情況,例如,我進(jìn)入的一個(gè)設(shè)置了正確的網(wǎng)卡驅(qū)動(dòng)的虛擬機(jī)實(shí)例,可以看到eth0網(wǎng)卡綁定有正確的IP(如果設(shè)置的是e1000網(wǎng)卡屬性,那么,kvm虛擬機(jī)的網(wǎng)卡可能是ens3,這里就表示網(wǎng)卡沒(méi)有虛擬成功,沒(méi)有IP落在上面的):
?
?三,
kvm虛擬機(jī)的網(wǎng)絡(luò)配置
仍然是使用上面在openstack內(nèi)成功運(yùn)行的虛擬機(jī)實(shí)例來(lái)講解,每一個(gè)虛擬機(jī)啟動(dòng)后都會(huì)有一個(gè)配置文件,此文件存放路徑為:/etc/libvirt/qemu
例如,這個(gè)實(shí)例可以看到是運(yùn)行在openstack3這個(gè)計(jì)算節(jié)點(diǎn)的,名稱是instance-0000001a
[root@openstack1 ~]# openstack server show centos7-init
+-------------------------------------+----------------------------------------------------------+
| Field | Value |
+-------------------------------------+----------------------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | nova |
| OS-EXT-SRV-ATTR:host | openstack3 |
| OS-EXT-SRV-ATTR:hypervisor_hostname | openstack3 |
| OS-EXT-SRV-ATTR:instance_name | instance-0000001a |
| OS-EXT-STS:power_state | Running |
| OS-EXT-STS:task_state | None |
| OS-EXT-STS:vm_state | active |
| OS-SRV-USG:launched_at | 2023-02-10T08:35:06.000000 |
| OS-SRV-USG:terminated_at | None |
| accessIPv4 | |
| accessIPv6 | |
| addresses | selfservice=172.16.1.26, 192.168.123.156 |
| config_drive | True |
| created | 2023-02-10T08:34:26Z |
| flavor | m1.tiny (1) |
| hostId | cd6f0c1b6d4c4b38cdbdb156ba72eade7b3d1152222433c9565ed082 |
| id | 256bc90a-3e39-471c-b7a3-fa271aeb76da |
| image | Centos7 (2b672c8f-75bf-4fe0-8468-37309563025a) |
| key_name | mykey |
| name | centos7-init |
| progress | 0 |
| project_id | 205ce8addd9444c893bd62244bcdae78 |
| properties | |
| security_groups | name='default' |
| status | ACTIVE |
| updated | 2023-02-11T01:05:29Z |
| user_id | 74bc206609e04092b698698d944e922a |
| volumes_attached | |
+-------------------------------------+----------------------------------------------------------+
OK,進(jìn)入計(jì)算節(jié)點(diǎn),查看虛擬機(jī)實(shí)例的配置文件:
[root@openstack3 ~]# cat /etc/libvirt/qemu/instance-0000001a.xml
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
virsh edit instance-0000001a
or other application using the libvirt API.
-->
<domain type='kvm'>
<name>instance-0000001a</name>
<uuid>256bc90a-3e39-471c-b7a3-fa271aeb76da</uuid>
<metadata>
<nova:instance xmlns:nova="http://openstack.org/xmlns/libvirt/nova/1.0">
<nova:package version="18.3.0-1.el7"/>
<nova:name>centos7-init</nova:name>
<nova:creationTime>2023-02-11 01:05:27</nova:creationTime>
<nova:flavor name="m1.tiny">
<nova:memory>1024</nova:memory>
<nova:disk>50</nova:disk>
<nova:swap>0</nova:swap>
<nova:ephemeral>0</nova:ephemeral>
<nova:vcpus>1</nova:vcpus>
</nova:flavor>
<nova:owner>
<nova:user uuid="74bc206609e04092b698698d944e922a">admin</nova:user>
<nova:project uuid="205ce8addd9444c893bd62244bcdae78">admin</nova:project>
</nova:owner>
<nova:root type="image" uuid="2b672c8f-75bf-4fe0-8468-37309563025a"/>
</nova:instance>
</metadata>
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>
<vcpu placement='static'>1</vcpu>
<cputune>
<shares>1024</shares>
</cputune>
<sysinfo type='smbios'>
<system>
<entry name='manufacturer'>RDO</entry>
<entry name='product'>OpenStack Compute</entry>
<entry name='version'>18.3.0-1.el7</entry>
<entry name='serial'>4d5cab7f-b3d7-45e6-9de6-5f0eb3e00498</entry>
<entry name='uuid'>256bc90a-3e39-471c-b7a3-fa271aeb76da</entry>
<entry name='family'>Virtual Machine</entry>
</system>
</sysinfo>
<os>
<type arch='x86_64' machine='pc-i440fx-rhel7.6.0'>hvm</type>
<boot dev='hd'/>
<smbios mode='sysinfo'/>
</os>
<features>
<acpi/>
<apic/>
</features>
<cpu mode='host-model' check='partial'>
<model fallback='allow'/>
<topology sockets='1' cores='1' threads='1'/>
</cpu>
<clock offset='utc'>
<timer name='pit' tickpolicy='delay'/>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='hpet' present='no'/>
</clock>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/var/lib/nova/instances/256bc90a-3e39-471c-b7a3-fa271aeb76da/disk'/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/var/lib/nova/instances/256bc90a-3e39-471c-b7a3-fa271aeb76da/disk.config'/>
<target dev='hdb' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='0' target='0' unit='1'/>
</disk>
<controller type='usb' index='0' model='piix3-uhci'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pci-root'/>
<controller type='ide' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<interface type='bridge'>
<mac address='fa:16:3e:98:68:14'/>
<source bridge='brq6ef09648-5c'/>
<target dev='tapb840246c-96'/>
<model type='virtio'/>
<mtu size='1450'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
<log file='/var/lib/nova/instances/256bc90a-3e39-471c-b7a3-fa271aeb76da/console.log' append='off'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<log file='/var/lib/nova/instances/256bc90a-3e39-471c-b7a3-fa271aeb76da/console.log' append='off'/>
<target type='serial' port='0'/>
</console>
<input type='tablet' bus='usb'>
<address type='usb' bus='0' port='1'/>
</input>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'>
<listen type='address' address='0.0.0.0'/>
</graphics>
<video>
<model type='cirrus' vram='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>
<stats period='10'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</memballoon>
</devices>
</domain>
其中的網(wǎng)絡(luò)方面關(guān)鍵配置予以重點(diǎn)關(guān)注:
<mac address='fa:16:3e:98:68:14'/>
<source bridge='brq6ef09648-5c'/>
<target dev='tapb840246c-96'/>
openstack3這個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)概況:
可以看到第五個(gè)網(wǎng)卡是這個(gè)虛擬機(jī)使用的虛擬網(wǎng)卡,源網(wǎng)卡是第四個(gè)網(wǎng)卡,橋接模式
[root@openstack3 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:0c:29:c2:1f:10 brd ff:ff:ff:ff:ff:ff
inet 192.168.123.132/24 brd 192.168.123.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fec2:1f10/64 scope link
valid_lft forever preferred_lft forever
4: brq6ef09648-5c: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP qlen 1000
link/ether 5a:b2:95:2c:4d:ec brd ff:ff:ff:ff:ff:ff
5: tapb840246c-96: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc pfifo_fast master brq6ef09648-5c state UNKNOWN qlen 1000
link/ether fe:16:3e:98:68:14 brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc16:3eff:fe98:6814/64 scope link
valid_lft forever preferred_lft forever
6: vxlan-17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master brq6ef09648-5c state UNKNOWN qlen 1000
link/ether 5a:b2:95:2c:4d:ec brd ff:ff:ff:ff:ff:ff
回到控制節(jié)點(diǎn),查詢port,可以看到mac是'fa:16:3e:98:68:14'的網(wǎng)卡綁定的IP是172.16.1.26:
[root@openstack1 ~]# openstack port list
+--------------------------------------+------+-------------------+--------------------------------------------------------------------------------+--------+
| ID | Name | MAC Address | Fixed IP Addresses | Status |
+--------------------------------------+------+-------------------+--------------------------------------------------------------------------------+--------+
| 29f235e4-7b56-4003-8cce-da3a55e6f49c | | fa:16:3e:c2:d0:0e | ip_address='172.16.1.1', subnet_id='1bdfae33-5bcb-47ff-b3f0-aee2fc5e7f68' | ACTIVE |
| 35bde514-d626-4b89-ab0b-e026da168ef2 | | fa:16:3e:8b:cc:69 | ip_address='172.16.1.2', subnet_id='1bdfae33-5bcb-47ff-b3f0-aee2fc5e7f68' | ACTIVE |
| b840246c-96e6-4385-97b8-b32fcc017fc1 | | fa:16:3e:98:68:14 | ip_address='172.16.1.26', subnet_id='1bdfae33-5bcb-47ff-b3f0-aee2fc5e7f68' | ACTIVE |
在控制節(jié)點(diǎn),進(jìn)一步查詢:
[root@openstack1 ~]# ip a |grep brq6ef09648-5c
7: tap35bde514-d6@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master brq6ef09648-5c state UP qlen 1000
9: vxlan-17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master brq6ef09648-5c state UNKNOWN qlen 1000
10: brq6ef09648-5c: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP qlen 1000
11: tap29f235e4-7b@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master brq6ef09648-5c state UP qlen 1000
以上,可得brq6ef09648-5c是虛擬交換機(jī),tapb840246c-96是虛擬機(jī)使用的虛擬網(wǎng)卡
OK,關(guān)閉虛擬機(jī)后,查看計(jì)算節(jié)點(diǎn)openstack3和控制節(jié)點(diǎn)openstack1的網(wǎng)絡(luò):
控制節(jié)點(diǎn):
[root@openstack1 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master brq688a0356-4f state UNKNOWN qlen 1000
link/ether 00:0c:29:de:be:e1 brd ff:ff:ff:ff:ff:ff
inet6 fe80::20c:29ff:fede:bee1/64 scope link
valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
link/ether 52:54:00:e8:93:4e brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
link/ether 52:54:00:e8:93:4e brd ff:ff:ff:ff:ff:ff
6: tapdc2df59d-2b@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master brq688a0356-4f state UP qlen 1000
link/ether 32:c7:4f:44:8a:75 brd ff:ff:ff:ff:ff:ff link-netnsid 0
7: tap35bde514-d6@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master brq6ef09648-5c state UP qlen 1000
link/ether 3e:8e:f1:b5:b6:37 brd ff:ff:ff:ff:ff:ff link-netnsid 1
8: brq688a0356-4f: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
link/ether 00:0c:29:de:be:e1 brd ff:ff:ff:ff:ff:ff
inet 192.168.123.130/24 brd 192.168.123.255 scope global brq688a0356-4f
valid_lft forever preferred_lft forever
inet6 fe80::e04b:63ff:fe8d:df13/64 scope link
valid_lft forever preferred_lft forever
9: vxlan-17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master brq6ef09648-5c state UNKNOWN qlen 1000
link/ether 4e:20:be:fb:67:82 brd ff:ff:ff:ff:ff:ff
10: brq6ef09648-5c: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP qlen 1000
link/ether 3e:8e:f1:b5:b6:37 brd ff:ff:ff:ff:ff:ff
inet6 fe80::bc17:e5ff:fee8:c835/64 scope link
valid_lft forever preferred_lft forever
計(jì)算節(jié)點(diǎn):
[root@openstack3 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:0c:29:c2:1f:10 brd ff:ff:ff:ff:ff:ff
inet 192.168.123.132/24 brd 192.168.123.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fec2:1f10/64 scope link
valid_lft forever preferred_lft forever
4: brq6ef09648-5c: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP qlen 1000
link/ether 5a:b2:95:2c:4d:ec brd ff:ff:ff:ff:ff:ff
6: vxlan-17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master brq6ef09648-5c state UNKNOWN qlen 1000
link/ether 5a:b2:95:2c:4d:ec brd ff:ff:ff:ff:ff:ff
可以看到,5號(hào)網(wǎng)卡沒(méi)有了,印證了以上的結(jié)果,vxlan-17?到底是什么還是不太清楚。
四,
provider和self-service
self-service是對(duì)provider網(wǎng)絡(luò)的擴(kuò)展,也可以說(shuō)是基于provider網(wǎng)絡(luò)的擴(kuò)展,意思就是必須要有provider
部署完成的self-service是這樣的:
[root@openstack1 ~]# openstack network list
+--------------------------------------+-------------+--------------------------------------+
| ID | Name | Subnets |
+--------------------------------------+-------------+--------------------------------------+
| 688a0356-4f2b-4029-b49e-a11bbdbedf0b | provider | 687b56a4-0672-451e-810c-ea3b895e3030 |
| 6ef09648-5ce7-4eb6-9aa2-735cb81567d3 | selfservice | 1bdfae33-5bcb-47ff-b3f0-aee2fc5e7f68 |
+--------------------------------------+-------------+--------------------------------------+
[root@openstack1 ~]# openstack subnet list
+--------------------------------------+-------------+--------------------------------------+------------------+
| ID | Name | Network | Subnet |
+--------------------------------------+-------------+--------------------------------------+------------------+
| 1bdfae33-5bcb-47ff-b3f0-aee2fc5e7f68 | selfservice | 6ef09648-5ce7-4eb6-9aa2-735cb81567d3 | 172.16.1.0/24 |
| 687b56a4-0672-451e-810c-ea3b895e3030 | provider1 | 688a0356-4f2b-4029-b49e-a11bbdbedf0b | 192.168.123.0/24 |
+--------------------------------------+-------------+--------------------------------------+------------------+
[root@openstack1 ~]# openstack router list
+--------------------------------------+--------+--------+-------+----------------------------------+-------------+-------+
| ID | Name | Status | State | Project | Distributed | HA |
+--------------------------------------+--------+--------+-------+----------------------------------+-------------+-------+
| b208a515-e256-49c1-b939-15e47b9db07c | router | ACTIVE | UP | 205ce8addd9444c893bd62244bcdae78 | False | False |
+--------------------------------------+--------+--------+-------+----------------------------------+-------------+-------+
網(wǎng)絡(luò)拓?fù)鋱D:
?圖表顯示,provider是外部網(wǎng)絡(luò),虛擬路由器是兩網(wǎng)的連接點(diǎn):
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-463726.html
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-463726.html
到了這里,關(guān)于云計(jì)算|OpenStack|社區(qū)版OpenStack安裝部署文檔(十二--- openstack的網(wǎng)絡(luò)模型解析---Rocky版)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!