Linux运维工程师资源汇总---OpenStack专题

OpenStack专题(已更新12.19)    http://dwz.cn/yZdBi

openstack网络架构(nova-network/neutron)

openstack网络体系中,网络技术没有创新,但用到的技术点非常庞杂,包括bridge、vlan、gre、vxlan、ovs、openflow、sdn、iptables等,当然这里不会做具体技术介绍,概述技术,主要将其与openstack的结合点做详细分析。

nova-network网络架构

在nova-network中,其网络模型包括flat、dhcp flat、vlan,用到的技术主要有bridge、vlan,

dhcp flat多网络节点架构图如下所示:

优点:结构简单,稳定

缺点:所有租户都在一个水平面上,租户之间没有隔离,由于所有租户都在一个子网内,当大规模部署后,其广播风暴将会是不小的负面因素,至于这种模型其vm的上限,笔者还没有条件测试。

vlan架构如下所示:

  • 为租户创建独占的bridge
  • 创建vlan接口vlan100,依据802.1q协议打vlanid
  • Dnsmasq监听网桥网关,负责fixedip的分配
  • switch port设定为chunk mode
  • eth0负责vm之间的数据通信,eth1负责外网访问

vlan模型:

优点:租户有隔离

缺点:需要物理交换机chunk口的支持,实际部署时比较复杂,vlan id个数为4094个,也就是最多4094个子网租户,不适用于公有云。

结论:相比于neutron网络,虽说没有neutron那么多的功能插件,仅有bridge,但是其稳定性已得到大多数用户的验证,对于小规模的私有云(1千台虚机的规模),nova-network是可以考虑的,目前线上部署的环境也是nova-network。

neutron网络架构

neutron网络体系相比于nova-network要复杂的多,用到的技术点也非常庞杂,在介绍网络架构之前,有必要概述下gre、vxlan、ovs、openflow、sdn技术点。

上面阐述过,vlan技术存在vlan id个数限制4094,公有云租户肯定不止4094,二层技术,只能部署在一个局域网内,无法实现跨机房部署。为了突破这俩个限制,增加了gre和vxlan隧道技术。

GRE:

跨机房部署:3层隧道技术,在原来小网ip头前面加入大网ip头和gre头,大网ip头里面的ip是公网ip;

segment id:而gre头里面最重要的字段应该是4字节key值(segment id),充当了vlan技术里面的vlan id,隔离租户的作用,由于是4个字节,已经不受4094 vlan id限制。下图是gre典型应用vpn。

当然gre也有其缺点,

  1. gre是点对点技术,每两个点之间都需要有一个隧道,对于4层的端口资源是一种浪费;
  2. 增加ip头,势必减少vm的mtu值,同样大小的数据,需要更多的ip包来传,传输效率有影响。

VXLAN:

针对vlan和gre的第一个缺点,业界提出了vxlan技术,下图分别是vxlan头结构和通信流程。

  1. 24bit的VNID:vxlan技术在原有mac帧基础上增加了新的mac头、ip头、vxlan header,在vxlan header中,VNID相当于vlan id,24bit,16M的大小,远大于4094.
  2. 大 二层网络,实现跨机房部署:在通信两端增加了VTEP设备,可以硬件设备,也可以软件实现,当然在neutron网络中,其是由软件实现的。该设备记录 vlan id、vm mac、vtep ip的对应关系,这个关系是由vm发起arp请求获取到的。在vxlan网络中有个组播地址,所有vtep设备都需要加入该组播地址,vtep将arp的 广播请求增加组播ip头转变为组播请求,一旦一个vm发起arp请求,所有vtep都能收到,vtep在将组播ip头去掉,将原始广播包发给vm,这样不 同vm之间将建立起arp表。vxlan网络为所有vm建立一个大2层网络。
  3. 能让遗留子网不改变 IP 地址的情况下无缝的迁移到云上来;也可以让虚机跨数据中心进行迁移(以前顶多只能在同一个 VLAN 里迁移)
  4. 关 于跨机房vxlan互通:前述通过组播消息实现arp的传输,但是在广域网上,组播包传输是受限制的,目前业界通常的解决方案是通过SDN controller,SDN controller兼做arp代理,并获取vm内层mac和外层VTEP ip对应关系,不同controller之间交换这些信息。

结论:

gre解决了vlan id个数限制和跨机房互通问题;

vxlan解决了vlan id个数限制和跨机房互通问题,同时解决了gre点对点隧道个数过多问题,同时实现了大2层网络,可用于vm在机房之间的的无缝迁移。

openflow

openflow主要分为controller和flow table,并且其通信遵循openflow协议。增加了controller点,openflow switch仅仅根据flow table设定好的规则对数据做路由或丢弃等操作,而整个系统的大脑部分在controller,所有flow table的路由规则、处理方法都是从controller得到。

Openflow的优点:

  1. 控制逻辑和物理交换网络相分离;
  2. 物理网络分割成相互独立的逻辑网络

Openflow问题:

和现有物理网络相冲突,很难实际应用

实验室截取的流表实例:

OVS:

相比于Linux bridge,ovs有以下好处

  1. Qos配置,可以为每台vm配置不同的速度和带宽
  2. 流量监控
  3. 数据包分析
  4. 将openflow引入到ovs中,实现控制逻辑和物理交换网络分离。

到此为止,关于gre、vxlan、openflow、ovs基本情况基本介绍完了,下面将是应用这些技术介绍neutron网络架构体系。

在neutron体系中,应用最多的两个插件就是Linux bridge和ovs,笔者在实验室分别搭建过Linux bridge+vxlan和ovs+vxlan。下面分别是从官网上截取的网络结构图,官网给出的是vlan的情况,其实和vxlan区别不大。

时间: 2024-10-29 02:56:55

Linux运维工程师资源汇总---OpenStack专题的相关文章

详解Linux运维工程师打怪升级篇

详解 Linux 运维工程师打怪升级篇 积累经验篇 做运维也快4年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点. 运维工程师 是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化.如:今年大数据,人工智能比较火...(相对表示就是 python 比较火) 前面也讲了运维基础篇,发现对很多人收益挺大,接下来也写下关于这4年多的运维实践经验,从事了2年多游戏运维,1年多安全运维,1年大数据运维,相关行业信息不能

linux运维工程师成长过程

原文地址:https://blog.csdn.net/kwame211/article/details/78059331 初级篇 linux运维人员常用工具拓扑详见: 1rsync工具 很多地方经常会用到rsync工具,实施几台服务器的同步效果.我们公司就是使用这个工具完成服务器的游戏的服务端和客户端同步,有几个文章例子: rsync 强化技术(手动修改端口开启防火墙的情况下)并且通过脚本只同步需要的服务器 http://chenhao6.blog.51cto.com/6228054/13225

Linux运维工程师面试-部分题库(答案版)

最近两个月有意跳槽,看到了一篇Linux运维工程师面试-部分题,就试着做了一下,感觉对Linux基础部分挺有帮助,在这里整理一份参考答案给大家,错误之处还望多多指出. 博文原地址 http://wgkgood.blog.51cto.com/1192594/1627684 一.Linux操作系统知识 1.常见的Linux发行版本都有什么?你最擅长哪一个?它的官网网站是什么?说明你擅长哪一块? 答: 常见的Linux发现版本有Redhat.Centos.Debian.Ubuntu.Suse 最擅长R

Linux运维工程师面试

一.Linux操作系统知识 1.常见的Linux发行版本都有什么?你最擅长哪一个?它的官网网站是什么?说明你擅长哪一块?   2.Linux开机启动流程详细步骤是什么?系统安装完,忘记密码如何破解?   3.企业中Linux服务器系统分区标准是什么?(硬盘为300G,内存16G)   4.某一天突然发现Linux系统文件只读,该怎么办呢?完整操作步骤.   5.安装一台系统使用DVD光盘安装,如何安装50台Linux系统如何安装呢?思考一下.   6.用虚拟机安装了一台Linux系统,突然想克隆

Linux运维工程师面试-部分题库

Linux运维工程师面试-部分题库(免费分享) 一.Linux操作系统知识 1.常见的Linux发行版本都有什么?你最擅长哪一个?它的官网网站是什么?说明你擅长哪一块? 2.Linux开机启动流程详细步骤是什么?系统安装完,忘记密码如何破解? 3.企业中Linux服务器系统分区标准是什么?(硬盘为300G,内存16G) 4.某一天突然发现Linux系统文件只读,该怎么办呢?完整操作步骤. 5.安装一台系统使用DVD光盘安装,如何安装50台Linux系统如何安装呢?思考一下. 6.用虚拟机安装了一

详解linux运维工程师高级篇(大数据安全方向)

详解linux运维工程师高级篇(大数据安全方向) hadoop安全目录: kerberos(已发布) elasticsearch knox oozie ranger apache sentry 简介: 从运维青铜到运维白银再到运维黄金,这里就要牵扯到方向问题也就是装备,根据自己的爱好,每个人都应该选择一个适合自己和喜欢自己的一个职业技术方向,如:大数据安全,开发运维,云计算运维等等.而掌握的越多前言技术也就是更多的装备,才能更好的在it行业混下去,毕竟it技术更新太快,初级篇和中级篇前面已介绍.

要做linux运维工程师的朋友,必须要掌握以下几个工具才行 ...

   本人是linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具.我就大概列出这几方面,这样入门就基本没问题了.linux系统如果是学习可以选用redhat或centos,特别是centos在企业中用得最多,当然还会有其它版本的,但学习者还是以这2个版本学习就行,因为这两个版本都是兄弟,没区别的,有空可以再研究一下SUSE,有些公司也喜欢用,例如我公司 .....工具如下: 1.linux系统基础,这

如何快速成为一名Linux运维工程师

作为刚入门的同学,无非视频.书籍.网站帖子之类的学习方式,视频虽然讲得详细,但是所需要花费的时间也是巨大的,据我了解很少有人能持之以恒把一系列视频看完:网站帖子之类的,一般都比较散乱,不成学习系统,学起来如同没有头的苍蝇:书籍从目录来看就非常有条理,看书可以系统化的学习.循序渐进,不会初学者不知道从哪儿开始的感觉.建议选择一本Linux入门书籍,前期可以安装一个Linux虚拟机,重复练习为主要手段,把一本书好好吃透,重点是吃透,那么你也就入门了,尤其推荐想自学Linux系统的同学买一本<Linu

Linux运维工程师初级到高级学习线路图

51CTO推出的一系列Linux培训教程(绝大部分免费),适合Linux系统管理.开发.尤其适合Linux下系统运维! 通过这个线路图的学习,可以快捷.有目标性的指导Linux运维人员快速的成长. ...... --Linux基础入门的简介 --Linux系统目录及文件权限认识 --Linux系统常用命令操作 --Linux系统下简单服务的构建 --Linux Shell编程学习 --Linux主流服务及集群构建 --Linux系统内核优化 --Linux架构优化及深入编程 --自动化运维开发