虚拟系统VS

定义

虚拟系统VS(Virtual System)是指将一台物理设备PS(Physical System)虚拟成多个相互隔离的逻辑系统。每个VS独立工作,在业务功能上等同于一台独立的传统物理设备,如图2-1所示。

图2-1 VS示意图

目的

随着网络规模的不断扩大,网络基础设施的需求也在不断增长,从而使得一些没有得到充分利用的设备散布于网络之中,资源利用率低。

通过VS技术,可以将一台物理设备虚拟成多台逻辑意义上的设备。一台物理设备可以承担逻辑拓扑中的多个网络节点,最大限度地利用现有资源,降低了网络运营成本。同时,不同的VS可以部署不同的业务,实现业务、故障的隔离,提高了网络的安全性和可靠性。

VS的基本原理

系统软件通过复制物理设备的进程,实现了以下几个方面的虚拟化:
控制平面的虚拟化:每个VS运行自己的控制协议进程,一个VS的进程异常对其它VS不会造成影响。例如,一个VS中的STP进程故障,不会影响其它VS中STP的进程,其它VS中STP进程可以正常运行,如图2-2所示。

图2-2 VS故障隔离示意图
管理平面的虚拟化:每个VS维护自己独立的配置文件,可以由不同的管理员进行管理。

转发平面的虚拟化:每个VS维护自己独立的转发表及协议栈,各VS之间的数据流量不会相互干扰,严格保障业务隔离和安全性。

通过以上几个方面的虚拟化,当创建VS后,每个VS的管理员都像在使用一台独立的设备。

Admin-VS

Admin-VS,即管理VS。每个PS中都有一个总是保持运行状态的Admin-VS,不可以被创建、删除或关闭。当管理员登录PS后,即进入Admin-VS,管理员必须在Admin-VS中创建VS、删除VS、分配VS资源。

管理员

管理员角色分为PS管理员和VS管理员。两类管理员的权限不相同。
PS管理员,即物理设备管理员,只有在Admin-VS中才有PS管理员角色。PS管理员拥有最高权限,可以创建、删除VS,为VS分配资源。同时PS管理员也可以切换进入非Admin-VS。

VS管理员,只拥有管理本VS的权限。VS管理员可以进行本VS内部的业务配置,但是不可以执行与整体物理设备相关的操作,如复位单板、备份电子标签等。

MAC地址

每一个VS都会被自动分配MAC地址(包括Admin-VS)。被分配的MAC地址不能被修改。

文件系统

每个VS拥有独立的文件系统,有独立的配置文件、日志文件。VS的管理员只有权限操作本VS文件系统中的内容,一个VS的操作不会影响其它VS,从而保证了VS的安全性。

VS之间互访

不同VS之间不可以直接内部互访,必须通过配置并连接VS之间的物理端口进行互访,如图2-3所示。
图2-3 VS之间互访

物理资源

VS的物理端口分配模式分为两种:
Group模式:接口板中同一转发芯片上的所有端口必须同时被分配至VS。

所有Group模式的VS独享业务规格,因此Group模式VS的业务规格较高,且对其他功能的支持度较高,例如可以独立配置M-LAG、VXLAN等功能。

Port模式:接口板上任意端口都能被分配给任意VS。所有Port模式的VS之间共享业务规格。

所有Port模式的VS之间共享业务规格,因此Port模式VS的业务规格较低,且对其他功能的支持度比Group模式的低,例如不能配置M-LAG、VXLAN等功能。

图2-4 Port模式
Group模式,即端口组模式,接口板中同一端口组上的所有端口必须同时被分配至VS,如图2-5所示。
图2-5 Group模式
端口资源的分配具有以下特点:

  1. 可以同时创建Port模式和Group模式的VS。
  2. 缺省情况下,接口板上所有端口都属于Admin-VS。
  3. PS管理员可以将Admin-VS中的端口分配至其它VS,但一个端口仅可以被分配到一个VS。
  4. 不同接口板上的端口可以被分配到同一个VS。
  5. 端口被分配至VS后,端口上原有的配置将被删除。 VS管理员仅可以查看和配置本VS中的端口。

配置

·创建VS
执行命令system-view,进入系统视图。
执行命令admin,进入admin视图。
执行命令virtual-system vs-name,创建VS。
执行命令port-mode { group | port } [ resource-template template-name ],为VS指定端口分配模式和逻辑资源模板。·配置VS的资源
执行命令assign interface interface-type interface-number1 [ to interface-number2 ],为VS分配物理端口资源。·检查VS配置结果
执行命令display virtual-system [ name vs-name ] [ verbose ],查看VS的信息。name vs-name参数仅在进入admin视图后才有效。
执行命令display virtual-system [ name vs-name ] resource,查看VS的资源信息。name vs-name参数仅在进入admin视图后才有效。
执行命令display virtual-system resource-template,查看逻辑资源模板信息。·切换进入VS并配置VS管理用户
(可选)配置VS的命令行提示符不包含Admin-VS的主机名。
执行命令system-view,进入系统视图。
执行命令admin,进入admin视图。
执行命令combined-sysname disable,配置VS的命令行提示符不包含Admin-VS的主机名。
缺省情况下,用户通过switch virtual-system vs-name命令从Admin-VS切换进入VS时,VS的命令行提示符是由Admin-VS的系统名和VS的系统名组成。执行命令commit,提交配置。
执行命令return,返回用户视图。
执行命令switch virtual-system vs-name,切换进入VS。
切换进入VS后,用户可以通过命令quit切换回PS的用户视图。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1523116.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

macos OneNote 2016 for Mac 官方pkg下载地址 - macos 10.15 Catalion 可用Onenote版本官方下载地址

macos 10.15 Catalion 版本的系统已经无法正常从应用商店下载到可用的Onenote 应用,原因是版本不受支持, 而且onenote官方链接的应用商店地址https://apps.apple.com/us/app/microsoft-onenote/id784801555?mt12在中国地区也无法访问, 所以中国地区用户如果想使用onenote应用…

C语言 | Leetcode C语言题解之第394题字符串解码

题目: 题解: #define N 2000typedef struct {int data[30];;int top; } Stack;void push(Stack *s, int e) { s->data[(s->top)] e; }int pop(Stack *s) { return s->data[--(s->top)]; }//多位数字串转换成int int strToInt(char *s) {cha…

Charles抓包全流程(Mac端+iOS端)

文章目录 与其他抓包软件的对比FiddlerWireShark Charles下载安装及配置Charles抓包实践小结 Charles Proxy是一个广泛使用的网络调试代理工具,它允许开发者监控和分析所有经过计算机的HTTP和SSL/HTTPS网络流量信息。 与其他抓包软件的对比 Fiddler Charles 支持多…

Leetcode3250. 单调数组对的数目 I

Every day a Leetcode 题目来源:3250. 单调数组对的数目 I 解法1:记忆化搜索 题目输入一个数组nums。 假设有两个数组A和B,A递增,B递减,且 Ai Bi numsi ​ 问有多少对(A,B)数组对。 解法: 代码&…

自动回复的客服系统-支持关键词回复或AI智能回复

用户咨询量很大的时候,迫切需要一个自动回复的工具 对于公域流量,非常推荐大家使用网页版在线客服系统,与访客沟通。 既能实现自动回复,又能人工后台即时回复 \/x : llike620

Redis集群搭建以及用idea连接集群

一、redis的集群搭建: 判断一个是集群中的节点是否可用,是集群中的所用主节点选举过程,如果半数以上的节点认为当前节点挂掉,那么当前节点就是挂掉了,所以搭建redis集群时建议节点数最好为奇数,搭建集群至少需要三个主节点,三个从节点,至少需要6个节点。…

Qt/C++百度地图/高德地图/天地图/腾讯地图/谷歌地图/加载绘图工具栏

一、前言说明 在地图中提供一个绘图工具栏,可以便捷的在地图上添加各种覆盖物,比如折线、多边形、矩形、圆形等,然后可以获取这些覆盖物的路径以及中心点等属性。这里有几个小插曲,比如百度地图gl版本默认不提供这个功能&#xf…

TPH-YOLOv5:基于Transformer预测头的改进YOLOv5,用于无人机捕获场景的目标检测

摘要 提出了TPH-YOLOv5。在YOLOv5的基础上,增加了一个预测头来检测不同尺度的目标。然后用Transformer Prediction Heads(TPH)代替原有的预测头,探索自注意机制的预测潜力。还集成了卷积块注意力模型(CBAM)…

传统CV算法——图像特征算法之斑点检测算法

文章目录 3. 斑点检测3.1 斑点的理解3.1.1 斑点定义3.1.2 斑点检测 3.2斑点检测基本原理3.3LoG计算流程及原理1. 高斯函数2. 拉普拉斯算子3. 组合高斯和平滑4. 计算 LoG4.1. 一阶导数4.2. 二阶导数4.3. 组合二阶导数 5. LoG 的特性6.多尺度检测 3.4 DOG3.4.1 DoG 的基本原理3.4…

Java中调用第三方接口

文章目录 0、测试接口1、JDK的HttpURLConnection2、Apache的HttpClient3、SpringBoot的RestTemplate3.1 GET3.2 POST 4、SpringCloud的Feign5、Hutool的HttpUtil6、失败后重试 0、测试接口 写两个测试接口,一个GET,一个POST RestController RequestMap…

关于IDEA的快捷键不能使用的原因

有时候IDEA的快捷键用不了,这时应该是快捷键发生冲突了,重新设置一下即可。以批量修改变量名称的shift f6为例(我的这个快捷键用不了): 初始的rename的快捷键为shift f6 这个快捷键是冲突的,所以我们需要…

Centos7安装FFmpeg详细步骤(已验证成功)

最近我们需要使用FFmpeg来合成视频功能,这就需要用到服务器必须安装FFmpeg了。 FFmpeg 是一款功能强大的跨平台命令行工具,可以处理各种音频和视频文件,包括转换视频和音频格式、剪辑、合并视频和音频、提取音频、添加字幕、添加水印、调整视…

【Linux跬步积累】—— 环境变量、程序地址空间、进程地址空间、Linux2.6内核进程调度队列

🌏博客主页:PH_modest的博客主页 🚩当前专栏:Linux跬步积累 💌其他专栏: 🔴 每日一题 🟡 C跬步积累 🟢 C语言跬步积累 🌈座右铭:广积粮&#xff0…

什么?!新版 Node.js V22.5 自带 SQLite 模块啦

前言 2024年7月,Node.js V22.5.0 版本发布,自带了 SQLite 模块,意味着开发者可以直接在程序中使用 SQLite 数据库,而无需引入第三方库👍。 话不多说,感觉来体验一波✈。 安装/升级 我现在用的是21.4.0版…

Trm理论 3(ELMo)

LSTM模型 如图,LSTM模型是rnn模型的改良版,通过ft来选择性的保留上一次得到的信息 ELMo模型(双向LSTM) ELMo模型是对word2vec的改良,改良了word2vec的二义性 对比上下两图,可以发现,WE对预测…

【qt】qss使用

1.按钮设置颜色 ui->pushButton->setStyleSheet("QPushButton { color : red;}");也可以通过rgb来设置 ff表示红色拉满,gb为0当然是红色 这只是针对pushbutton对象的控件设置的,如果我想设置所有的按钮空间都是一个颜色 这是通过设置界…

【无标题】【Datawhale X 李宏毅苹果书 AI夏令营】批量归一化

1、批量归一化的作用 批量归一化(Batch Normalization,BN)的把误差曲面变得平滑,使训练能够得到快速收敛; 训练过程的优化:使用自适应学习率等比较进阶的优化训练方法; 训练对象的优化&#xf…

Linux 服务器下非root用户安装CUDA完整流程(多次踩雷经验总结)

参考博客: linux下安装cuda和cudnn(非root权限)_cuda下载安装 远程服务器 linux-CSDN博客 Linux下非root用户安装CUDA_linux下cuda-toolkit-archive-CSDN博客 非root用户安装cuda10.1,以及CUDA不同版本间切换_非root用户.run文…

android kotlin基础复习—if when

1、新建kt并运行 新建文件kt 运行文件kt 2、kotlin语句 if when的使用 var x 5val y 9if (x in 1..8) {println("x 在区间内")} 说明&#xff1a; var&#xff1a;定义变量 val定义常量。 代码中会看到那个<&#xff0c;也就是说包括1&#xff0c;8。 3、输…

glsl着色器学习(二)

书接上文&#xff0c;第一篇文章已经将顶点着色器和片段着色器的内容编写好了&#xff0c;这篇文章就创建着色器并编译 创建顶点着色器对象 const vertexShader gl.createShader(gl.VERTEEX_SHADER); gl.shaderSource(vertexShader,vsGLSL); gl.compileShader(vertexShader …