/images/avatar.jpg

Kiosk Studio (2022)

OpenStack网络组件-Neutron

Neutron 的设计目标是实现“网络即服务(Networking as a Service)”。为了达到这一目标,在设计上遵循了基于 SDN 实现网络虚拟化的原则,在实现上充分利用了 Linux 系统上的各种网络相关的技术。

SDN 模式服务— NeutronSDN( 软件定义网络 ), 通过使用它,网络管理员和云计算操作员可以通过程序来动态定义虚拟网络设备。Openstack 网络中的 SDN 组件就是 Quantum.但因为版权问题而改名为Neutron 。

Redis基础

Redis 是一种基于 key-value 的NoSQL数据库。Redis的全称是 Remote Dictionary Server。是一个基于内存的存储系统,可以用作缓存和消息中间件。支持多种类型的数据结构,如字符串(string)、哈希(hash)、列表(list)、集合(set)、有序集合(sorted set),在其基础之上还有一些扩展的数据结构,如位图(bitmap)、HyperLogLog、GEO 等数据结构。其内置了复制(replication)、事务(transaction)和磁盘持久化策略(persistence),并通过 Redis 哨兵(Sentinel)和自动分区(Cluster)提供高可用性。

构建一个 OpenStack 云操作系统

在前面的 文章 中认识了 OpenStack ,这篇文章会实际搭建一个 OpenStack 服务来更好的认识 OpenStack。OpenStack 本身能被定义为云操作系统,本身是比较复杂的,其是云计算的基石,虽然近些年已经有被 Kubernets 拍在沙滩上的意思,但是虚拟机相比于容器,其在腾讯云、华为云、阿里云等云厂商,还是主要对外的计算服务。

使用Open-vSwitch创建虚拟网络

前面的文章 虚拟化-创建一个虚拟机 介绍了如何创建一个虚拟机,但是整个Iaas生态,网络的虚拟化也是非常大的一块。我们需要将同一台物理机上的虚拟机连通,虚拟机可以上网,甚至还需要将不同物理机上的虚拟机连通。 而 OpenvSwitch 就是为了上述需求而诞生的SDN软件。 OpenvSwtich OpenvSwitch (简称 OVS) 是一个用 C 语言开发的多层虚拟交换机。现如今基本上已经成为了开源 SDN(软件定义网络)基础设施层的事实标准。 OVS 支持功能 支持标准 802.1Q VLAN协议,允许端口配置trunk模式。 支持组播 支持多种隧道协议(GRE、VXLAN、STT、Geneve 和 IPsec) 支持内核和用户空间的转发引擎选项 OVS的术语解释 Bridge 中文名称网桥,一个 Bridge 代表一个以太网交换机(Switch),一台主机可以创建一个或多个 Bridge,Bridge 可以根据一定的规则,把某一个端口接收到的数据报文转发到另一个或多个端口上,也可以修改或丢弃数据报文。 Port 交换机上的插口,可以接水晶头,Port隶属于 Bridge,必须先添加了 Bridge 才能在 Bridge 上添加 Port。 ​ Normal:用户可以把操作系统中已有的网卡添加到 OVS 上,OVS会自动生成一个同名的Port。此类型的 Port 常用于 VLAN 模式的多台物理主机相连的口,交换机的一端属于 Trunk 模式 ​ Internal:当Port的类型是 Internal 时,OVS会自动创建一个虚拟网卡(Interface),此端口收到的数据报文都会转发到这个网卡。 ​ Patch:Patch Port 和 veth pair 功能相同,总是成双成对的出现,在其中一端收到的数据报文会被转发到另一个 Patch Port 上,就像是一根网线一样,Patch Port 常用于链接两个 Bridge,使两个网桥合并成为一个网桥