云计算HCIP-OpenStack04
12.Nova计算管理
Nova作为OpenStack的核心服务,最重要的功能就是提供对于计算资源的管理。
计算资源的管理就包含了已封装的资源和未封装的资源。已封装的资源就包含了虚拟机、容器。未封装的资源就是物理机提供的CPU和内存资源。
Nova可以提供全生命周期的管理,从资源进入到Nova开始,到分配、使用、管理、维护、损坏。
Nova只负责资源管理,不做监控,同时不做物理管理。
理论上来说,Nova需要和所有的服务都建立连接,因为所有的业务都需要Nova的资源支持。
12.1Nova架构
- API:提供对外访问的接口,主要是对接Cli和web两个类型的服务。
- Conductor:主控服务,主要负责查询和连接Nova核心数据库。同时负责Nova所有请求的执行,但是需要注意的是Conductor并不承担真正的任务执行工作,更多的是任务管理和下发。
- Scheduler:分配、资源管理器,所有的资源封装,从哪个物理机进行分配,由Scheduler决定。所以一个物理机资源,物理机对资源是所有权,scheduler拥有管理权,用户拥有使用权。
- placement:资源监控服务,主要负责监控底层服务器可以提供的资源的数量。
- DB数据库:记录了Nova核心的配置信息,同时还记录了资源分配的情况。
Nova或者说整体OpenStack对资源池的管理分为了三级。分别为Region、Availablility Zone、Host Aggregate。对应区域、可用区、主机组(机柜)
区域对应了一个物理上的地域概念,比如上海、北京,区域之间是完全隔离的。只做网络联通,具有物理地域隔离的特性。
AZ可用区可以理解为一个Region下的不同的机房,他们的电力、网络等资源都是独立的。
每个机房的内部有很多的服务器,对服务器进行分组就可以形成Host Aggregate,但是一般情况下,我们都是按照机柜进行分组,所以一般我们也称主机组叫机柜编号。
如何定位到一台唯一的服务器,Region ID-AZ ID-机柜ID-设备ID
12.2常见的资源分配手段
- 轮询:按顺序每台设备分发一个请求,优势在于节省了监控资源,可以快速下发任务,降低延迟。但是缺点在于没有考虑到实际压力,默认所有的任务压力相同。
- 队列:所有任务都会进入队列排队,不分配明确的响应设备。当设备进入空闲状态,会自动从队列中找到排队最前面的任务分配给设备执行。优势在于不会出现任务不响应或者慢响应的情况,但是缺点就是如果有任务造成设备高延迟响应,同时并发量极高,就会堵塞队列。造成所有任务响应高延迟现象。
一般情况下,为了解决队列的排队问题。可以选择开启并发队列。同时大型的互联网公司会对不同的队列开放VIP、SVIP等。简单来说就是优先响应高优先级的队列,保证关键业务的正常执行。
- 监控:监控资源的全局使用率,哪个服务器最空闲,就分配给谁去执行。
- 按CPU使用率
- 按内存使用率(Nova默认)
- 按任务数
- 按优先级
12.3如果想把线下的服务器迁移到云上,需要怎么做
- OpenStack上需要创建一个规格,规格需要大于等于线下服务器的配置
- 创建一个普通的用户,给用户使用
- 上传线下服务器的镜像
- 开放用户操作规格和镜像的权限
- 创建一个项目分配给用户,同时让规格能够在该项目中使用
- 创建VPC,创建VPC可分配的网络,开放用户权限
- 添加一个公网IP给用户开放
- 更换用户登录
- 创建VPC,设置IP和子网
- 创建实例,选择规格、网络、公网IP、存储、镜像规格,设置密码创建完成
- 开始迁移
- 迁移完成,测试目标端功能是否正常
- 关闭源端,迁移结束
卷+磁盘+硬盘+块存储+LUN
存储服务+windows+硬件+存储服务的类型+逻辑磁盘
文件共享服务:FTP、TFTP、NAS、NFS、CIFS
FTP文件共享协议
TFTP快速文件共享协议
NAS提供文件共享服务的存储设备
NFS Linux系统使用的文件共享协议
CIFS windows系统使用的文件共享协议
13.Swift
14.Linux网络虚拟基础
Linux下的网络虚拟化本质就是将原本物理网络中的物理网卡、物理虚拟机以软件应用的形式在操作系统中虚拟化。通过系统软件实现虚拟的网卡和虚拟的交换机以实现在一个物理设备内的多重网络交换。
正常情况下,一个物理网卡只能有一个IP,转换也必须要物理设备实现,但是在虚拟化的场景下,每个虚拟机都会有自己独特的网络需求。所以如何让一个物理设备的虚拟环境能够满足不同虚拟机的需求,就成为了需要解决的问题。通过虚拟化,我们将全套的物理网络在服务器中进行了虚拟实现。
本质就是物理结构的软件化,通过软件实现了物理网络的所有功能。
在常规的网络虚拟化中,我们需要对网卡和交换机做虚拟化。然后制定一些隔离规则,保证虚拟网络安全性。
14.1常规的网卡虚拟化方式
- TAP:TAP是目前常用的虚拟化解决方案,TAP技术可以实现桥接、NAT、仅主机网络。其中桥接指的是虚拟机的网卡直接复制物理机网卡的信息。等同于给虚拟机挂上了物理网卡上网。中间不需要做任何转换。NAT模式指的是虚拟机内部的网卡和物理机的网卡配置不同。所以我们需要将虚拟机的配置转换为物理机的配置来实现网络联通,流量发出虚拟机网卡配置转换为物理机网卡配置,流量返回物理机网卡配置转换为虚拟机网卡配置。但是需要注意的是NAT并不是改变了网卡配置,改变的是发出的流量的信息,改变的就是封装中控制信息的内容。物理机底层需要记录物理网卡和虚拟网卡的映射关系,以保证流量控制信息在进出时正常的转换。仅主机指的是只在物理机内部交换信息,不对外发送数据。一般用于物理机内部的多个虚拟机之间的信息交互。
- TUN:Tunnel隧道网络,一般常用于VPN技术以及VXLAN技术,其主要的目标是为了打破物理网络的隔离特性,在物理网络的基础上建立一个虚拟的网络架构。通过在物理网络上架构隧道,可以实现物理网络和虚拟网络的隔离,不论物理网络怎么建设,虚拟网络都可以自定义,实现了每个用户的独立网络建设。
- VETH:虚拟以太网,一般是用于创建子接口使用的,这部分技术使用的不是很多,主要是负责在一个物理网卡上实现多种流量的传输。例如eth0可以创建出eth0.1
14.2交换机虚拟化
Linux Bridge:Linux网桥、Open vSwitch:开放虚拟交换机
Linux Bridge和OVS本质上都是交换机虚拟化,都可以实现虚拟网卡的接入。为虚拟网卡提供相关的网络服务功能,但是Linux Bridge网桥只能提供基本的网络服务,满足上述网卡的通信需求。OVS就可以在基本的网络服务之上提供高级管理功能和更多的网络服务方式。
Linux Bridge只能在物理机内部实现,OVS可以跨物理机实现。
14.3如何隔离一个物理机中不同虚拟机的网络?
由于虚拟网卡和虚拟交换机拥有和物理网络设备一样的功能,所以我们完全可通过在虚拟网络中做网络配置,实现网络隔离,比如vlan或者将不同的网络分配不同网段的IP地址。NameSpace命名空间法通过创建隔离域的形式实现网络隔离的,在不同域中的虚拟机都无法发现对方的存在,网络自然可以隔离开。网络隔离可以理解为软隔离,需要打通网络的时候,可以通过配置实现。命名空间是硬隔离,等于虽然资源源自于同一台设备,但是虚拟机层面都直接隔离开,网络无法打通。
TAP网卡主要是关联Bridge进行流量转发,可以关联OVS
Tun网卡主要是关联OVS进行流量转发,通过关联bridge可以实现基本的网络转发
15.Neutron的基本对象
- 网络:也可以被称为VPC网络,每一个网络等于是一个跨物理设备的大型网络架构,网络和网络之间是完全隔离的,在网络中所包含的所有的虚拟机或其他设备都需要让自己的IP属于该网络才可以通信。
- 子网:子网是网络中的不同网段的网络,等同于在大型网络中划分vlan,子网是分配给虚拟机的单位,里面包含了DHCP服务。虚拟机得到分配的IP一定归属于某一个子网,而所有的子网都应该归属于网络。
- 路由:路由是一种记录从源到目的之间的通信传递方式的信息,比如从虚拟机到公网的转发方式和转发路径信息。网络中所有的路由统一整合起来就成为了路由表。路由表记录了当前网络的所有转发信息。
15.1Neutron基本管理对象
- 网络:代表当前创建的网络的全局
- 子网:网络的拆分网段
- 端口:一般是挂载给虚拟机的虚拟网卡,端口的IP源于子网,其一定要属于子网的范围,可以有手动分配和DHCP两种方式。
- 路由:记录了虚拟机访问的路径和方式。
- Floating IP:浮动IP,一般是指公网IP地址。
15.2数据中心网络设计
在传统网络中,用户的流量往往是对外访问,所以采用三层结构组网还是二层结构组网都不会有很大的性能差距。但是在数据中心网络中,往往流量的转发是基于内部的转发形式。这就导致如果数据中心使用的是三层架构,就很容易出现流量被堆积在核心层。
网络架构设计一般是分为了接入层、汇聚层和核心层。接入层主要负责是终端接入,端口多流量小,汇聚层主要负责将接入层的流量做汇聚,以实现流量汇聚转发。核心层负责了全局的跨网络流量转发,核心层设备接口少,但是流量大。
东西向、南北向流量:东西向流量指的是同层流量转发,一般针对的是内部同级别的设备之间的流量互传。南北向指的是纵向流量转发,一般是内部到外部的流量转发。
传统网络南北向流量占到了转发总流量的80%以上。数据中心的流量大部分是内部互转,所以东西向流量占到了总流量的85%以上。
传统三层网络结构适用于传递南北向流量,数据中心网络适合于东西向流量转发。
数据中心网络使用三层架构会造成流量拥塞,所以必须要采用新架构减少影响,尽量让流量在内部互传,不要到达核心层,所以数据中心为了避免流量大量的转发到核心层,就将核心流量都在二层完成。适配于这种结构的网络就叫做大二层网络。
为了让流量可以在二层完成互转,这就对二层设备的性能提出了要求,所以数据中心有专门的数据中心通信设备。传统网络交换机都是S系列,园区网交换机就是CE系列。
如果所有的东西向流量都需要在二层完成转发,那么如何实现基于物理网络架构的逻辑网络设计?这种情况下就需要使用到VXLAN技术。
在云架构下,每个用户都需要使用网络,但是根据用户网络架构的不同,IP地址是会出现冲突的。如何实现在一个大型网络中为不同的用户维护相同的IP呢?想要实现相同IP不冲突,就需要让这两组IP不要互相发现对方。所以需要通过隔离来进行实现,每个用户都是一个独立的完全可用的隔离网络。通过VXLAN技术可以实现网络的隔离,因为隔离的不是物理网络而是虚拟网络
VXLAN虚拟扩展本地局域网本质上是一种隧道技术,传统的隧道技术只构建1个或者是一类隧道。VXLAN建立了若干条隧道,然后给隧道可以做分组,将相同的一类隧道展现出来的时候,就形成了一个隧道网络,这个隧道网络就是虚拟网络。一个物理链路上可以有若干条隧道。根据隧道网络的ID不同,在一个物理网上,可以有多个虚拟网络。
相关文章:

云计算HCIP-OpenStack04
书接上回: 云计算HCIP-OpenStack03-CSDN博客 12.Nova计算管理 Nova作为OpenStack的核心服务,最重要的功能就是提供对于计算资源的管理。 计算资源的管理就包含了已封装的资源和未封装的资源。已封装的资源就包含了虚拟机、容器。未封装的资源就是物理机提…...

HCIA-Access V2.5_3_2_VLAN数据转发
802.1Q的转发原则--Access-Link 首先看一下Access,对于Access端口来说, 它只属于一个VLAN,它的VLANID等于PVID。 首先看一下接收方向,前面说过交换机内部一定要带标签转发,所以当交换机接收到一个不带tag的数据帧时,会给它打上端…...
transformer学习笔记-导航
本系列专栏,主要是对transformer的基本原理做简要笔记,目前也是主要针对个人比较感兴趣的部分,包括:神经网络基本原理、词嵌入embedding、自注意力机制、多头注意力、位置编码、RoPE旋转位置编码等部分。transformer涉及的知识体系…...
功能篇:JAVA后端实现跨域配置
在Java后端实现跨域配置(CORS,Cross-Origin Resource Sharing)有多种方法,具体取决于你使用的框架。如果你使用的是Spring Boot或Spring MVC,可以通过以下几种方式来配置CORS。 ### 方法一:全局配置 对于所…...
防火墙内局域网特殊的Nginx基于stream模块进行四层协议转发模块的监听443 端口并将所有接收转发到目标服务器
在一些特殊场合下, 公司内部网络防火墙限制, 不能做端口映射, 此时可以使用nginx的做从四层协议转发, 只走tcp/ip协议, 而不走http方式, 可以做waf设置, 就可以做443, 或其它端口, 从而达到被直接转发到远程服务器效果 机房只映射了一个IP:22280, 而需求是这个SDK只能通过…...
【Hive】-- hive 3.1.3 伪分布式部署(单节点)
1、环境准备 1.1、版本选择 apache hive 3.1.3 apache hadoop 3.1.0 oracle jdk 1.8 mysql 8.0.15 操作系统:Mac os 10.151.2、软件下载 https://archive.apache.org/dist/hive/ https://archive.apache.org/dist/hadoop/ 1.3、解压 tar -zxvf apache-hive-4.0.0-bin.tar…...
C++ STL 队列queue详细使用教程
序言 我们平常写广搜什么,上来就是一句 queue<XXX> qu; 说明队列时很重要的。 STL库中的queue把队列的各种操作封装成一个类,非常方便,信奥中使用它也是很有优势的。 目录 一、队列的定义 二、创建队列对象 三、队列的初始化 四、常…...

【前端】JavaScript 中的 filter() 方法的理论与实践深度解析
博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: 前端 文章目录 💯前言💯filter() 方法的概念与原理1. 什么是 filter()?2. 基本工作原理3. 方法特点4. 用法格式参数解析 💯代码案例详解示例:筛选有效数字并…...

【机器学习算法】——决策树之集成学习:Bagging、Adaboost、Xgboost、RandomForest、XGBoost
集成学习 **集成学习(Ensemble learning)**是机器学习中近年来的一大热门领域。其中的集成方法是用多种学习方法的组合来获取比原方法更优的结果。 使用于组合的算法是弱学习算法,即分类正确率仅比随机猜测略高的学习算法,但是组合之后的效果仍可能高于…...

JVM运行时数据区内部结构
VM内部结构 对于jvm来说他的内部结构主要分成三个部分,分别是类加载阶段,运行时数据区,以及垃圾回收区域,类加载我们放到之后来总结,今天先复习一下类运行区域 首先这个区域主要是分成如下几个部分 下面举个例子来解释…...

Navicat for MySQL 查主键、表字段类型、索引
针对Navicat 版本11 ,不同版本查询方式可能不同 1、主键查询 (重点找DDL!!!) 方法(1) :右键 - 对象信息 - 选择要查的表 - DDL - PRIMARY KEY 方法(2&…...

如何在谷歌浏览器中实现自定义主题
在数字化时代,个性化设置已成为提升用户体验的重要一环。对于广泛使用的谷歌浏览器而言,改变默认的浏览器主题不仅能够美化界面,还能在一定程度上提升使用效率和愉悦感。本文将详细介绍如何在谷歌浏览器中实现自定义主题,包括从官…...

visual studio 2022 c++使用教程
介绍 c开发windows一般都是visual studio,linux一般是vscode,但vscode调试c不方便,所以很多情况都是2套代码,在windows上用vs开发方便,在转到linux。 安装 1、官网下载vs2022企业版–选择桌面开发–安装位置–安装–…...

曝光三要素
一光圈 光圈越大,数值越小,画面越亮,背景越模糊 光圈越小,数值越大,画面越暗,背景越清晰 二 快门 快门最主要的作用是控制曝光时间的长短 快门速度的单位是秒,一般用 1秒,1/8秒&am…...

01-2 :PyCharm安装配置教程(图文结合-超详细)
一、PyCharm安装 PyCharm集成开发工具(IDE),是当下全球Python开发者,使用最频繁的工具软件。 绝大多数的Python程序,都是在PyCharm工具内完成的开发。 本篇文章基于PyCharm软件工具进行描述,教你如何安装…...

类OCSP靶场-Kioptrix系列-Kioptrix Level 1
一、前情提要 二、实战打靶 1. 信息收集 1.1. 主机发现 1.2. 端口扫描 1.3 目录爆破 1.4. 敏感信息 2.根据服务搜索漏洞 2.1. 搜索exp 2.2. 编译exp 2.3. 查看exp使用方法,并利用 3. 提权 二、第二种方法 一、前情提要 Kioptrix Level是免费靶场&#x…...

Maven插件打包发布远程Docker镜像
dockerfile-maven-plugin插件的介绍 dockerfile-maven-plugin目前这款插件非常成熟,它集成了Maven和Docker,该插件的官方文档地址如下: 地址:https://github.com/spotify/dockerfile-maven 其他说明: dockerfile是用…...
VisualStudio vsix插件自动加载
本文介绍如何在Visual Studio扩展中实现PackageRegistration,包括设置UseManagedResourcesOnly为true,允许背景加载,并针对C#、VB、F#项目提供自动装载,附官方文档链接。增加以下特性即可…… [PackageRegistration(UseManagedRe…...
Codesoft许可管理
在数字化时代,软件许可管理对于确保企业资产安全、优化成本和提高工作效率至关重要。Codesoft作为一款功能强大的标签设计软件,其许可管理功能同样出色。本文将为您介绍如何进行Codesoft的许可管理,确保您的软件投资得到最大回报。 一、了解…...
Unity3D 3D模型/动画数据压缩详解
前言 在Unity3D项目中,3D模型和动画数据通常占用大量内存和存储空间,有效的数据压缩技术对于提升游戏性能和加载速度至关重要。本文将详细介绍Unity3D中3D模型和动画数据的压缩技术,并提供相关的代码实现。 对惹,这里有一个游戏…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...

ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...

R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...

STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...