配置要求:
SW1与SW2通过G0/0/1、G0/0/2、G0/0/3的链路聚合进行连接,链路聚合要有两条活动链路,一条冗余链路。在SW1上配置vlan10:1.1.1.254/24的网关,并将vlan透传到SW2上,PC1的IP为1.1.1.1,PC2的地址为1.1.1.2,实现PC1与PC2的互通。
拓扑如下:

SW1配置
1.Vlan配置
<Huawei>system-view //进入系统视图
[Huawei]undo info-center enable //关闭信息中心功能
[Huawei]sysname SW1 //将设备命名为SW1
[SW1]vlan batch 10 20 //创建vlan
[SW1]interface vlanif 10 //进入vlanif接口
[SW1-Vlanif10]ip address 1.1.1.254 24 //配置vlan的IP地址(网关)
[SW1-Vlanif10]quit //退出vlanif接口视图
2.链路聚合配置
[SW1]interface eth-trunk 1 //创建并进入链路聚合接口
[SW1-Eth-Trunk1]port link-type trunk //配置接口类型
[SW1-Eth-Trunk1]port trunk allow-pass vlan 10 //配置接口允许通过的vlan
[SW1-Eth-Trunk1]mode lacp-static //配置链路聚合模式为LACP
[SW1-Eth-Trunk1]max active-linkunmber 2 //配置聚合组最大活动接口数量
******关于活动接口******
LACP链路聚合模式可以选择配置聚合组活动接口数目的上限阈值或下限阈值(1~8),
max active-linknumber link-number<1~8>命令可以配置活动接口数目的最大上限值,缺省状态下最大上限阈值为8;
lease active-linknumber link-number<1~8>命令可以配置活动接口数目的最小下限值,缺省状态下最小下限阈值为1。
[SW1-Eth-Trunk1]lacp selected priority //配置聚合组根据接口优先级选择活动接口
******关于活动接口的选择依据******
LACP链路聚合模式下,活动接口的选举方式有两种
用lacp selected priority命令可以配置根据接口优先级选举活动接口,接口优先级高的将会被选举为活动接口;
用lacp selected speed命令可以配置根据接口速率选举活动接口,接口速率高的将会被选举为活动接口。
缺省状态下是根据优先级选举活动接口,此处可不配置。
[SW1-Eth-Trunk1]trunkport gigabitethernet 0/0/1 to 0/0/3 //将接口加入聚合组
[SW1-Eth-Trunk1]quit //退出链路聚合接口
3.接口配置
[SW1]interface gigabitethernet 0/0/1 //进入G0/0/1接口
[SW1-GigabitEthernet0/0/1]lacp priority 100 //配置接口的LACP优先级
******关于接口的LACP优先级******
接口LACP的优先级取值范围是0~65535,数值越小优先级越大,用命令lacp priority priority<0~65535>可配置接口的LACP优先级。
缺省情况下,接口的LACP优先级为32768
[SW1-GigabitEthernet0/0/1]interface gigabitethernet 0/0/2 //进入G0/0/2接口
[SW1-Gigabitethernet0/0/2]lacp priority 100 //配置接口的LACP优先级
[SW1-Gigabitethernet0/0/2]interface gigabitethernet 0/0/4 //进入G0/0/4接口
[SW1-GigabitEthernet0/0/4]port link-type access //配置接口类型
[SW1-GigabitEthernet0/0/4]port default vlan 10 //配置接口允许通过的vlan
[SW1-GigabitEthernet0/0/4]quit //退出接口视图
[SW1]quit //退出系统视图
<SW1>save //保存
SW2配置
<Huawei>system-view //进入系统视图
[Huawei]undo info-center enable //关闭信息中心功能
[Huawei]syaname SW2 //将设备命名为SW2
[SW2]vlan batch 10 //创建vlan
1.SW2的链路聚合配置与SW1一致,如下:
[SW2]interface eth-trunk 1 //创建并进入链路聚合接口
[SW2-Eth-Trunk1]port link-type trunk //配置接口类型
[SW2-Eth-Trunk1]port trunk allow-pass vlan 10 //配置接口允许通过的vlan
[SW2-Eth-Trunk1]mode lacp-static //配置链路聚合模式为LACP
[SW2-Eth-Trunk1]trunkport gigabitethernet 0/0/1 to 0/0/3 //将接口加入聚合组
[SW2-Eth-Trunk1]max active-linknumber 2 //配置接口组最大活动接口数量
[SW2-Eth-Trunk1]lacp selected priority //配置聚合组根据接口优先局选择活动接口
[SW2-Eth-Trunk1]quit //退出链路聚合接口
2.接口配置
[SW2]interface gigabitethernet 0/0/1 //进入G0/0/1接口
[SW2-GigabitEthernet0/0/1]lacp priority 100 //配置接口的LACP优先级
[SW2-GigabitEthernet0/0/1]interface gigabitethernet 0/0/2 //进入G0/0/2接口
[SW2-Gigabitethernet0/0/2]lacp priority 100 //配置接口的LACP优先级
[SW2-Gigabitethernet0/0/2]interface gigabitethernet 0/0/4 //进入G0/0/4接口
[SW2-GigabitEthernet0/0/4]port link-type access //配置接口类型
[SW2-GigabitEthernet0/0/4]port default vlan 10 //配置接口允许通过的vlan
[SW2-GigabitEthernet0/0/4]quit //退出接口视图
[SW2]quit //退出系统视图
<SW2>save //保存
验证:
[SW1]display eth-trunk //查看eth-trunk口的配置信息

ping测试:PC1pingPC2

接下来关闭SW1的G0/0/1接口
[SW1]interface gigabitethernet 0/0/1 //进入G0/0/1接口
[SW1-GigabitEthernet0/0/1]shutdown //关闭接口
[SW1-GigabitEthernet0/0/1]quit //退出接口
[SW1]quit //退出系统视图
<SW1>display eth-trunk //查看eth-trunk接口的配置信息

ping测试:PC1pingPC2

配置成功。
初学小白分享学习历程,如有错误欢迎各位大神及时指出!
我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende
给定一个复杂的对象层次结构,幸运的是它不包含循环引用,我如何实现支持各种格式的序列化?我不是来讨论实际实现的。相反,我正在寻找可能会派上用场的设计模式提示。更准确地说:我正在使用Ruby,我想解析XML和JSON数据以构建复杂的对象层次结构。此外,应该可以将该层次结构序列化为JSON、XML和可能的HTML。我可以为此使用Builder模式吗?在任何提到的情况下,我都有某种结构化数据-无论是在内存中还是文本中-我想用它来构建其他东西。我认为将序列化逻辑与实际业务逻辑分开会很好,这样我以后就可以轻松支持多种XML格式。 最佳答案 我最
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
system-view进入系统视图quit退到系统视图sysname交换机命名vlan20创建vlan(进入vlan20)displayvlan显示vlanundovlan20删除vlan20displayvlan20显示vlan里的端口20Interfacee1/0/24进入端口24portlink-typeaccessvlan20把当前端口放入vlan20undoporte1/0/10删除当前VLAN端口10displaycurrent-configuration显示当前配置02配置交换机支持TELNETinterfacevlan1进入VLAN1ipaddress192.168.3.100
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt
了解Rails缓存如何工作的人可以真正帮助我。这是嵌套在Rails::Initializer.runblock中的代码:config.after_initializedoSomeClass.const_set'SOME_CONST','SOME_VAL'end现在,如果我运行script/server并发出请求,一切都很好。然而,在我的Rails应用程序的第二个请求中,一切都因单元化常量错误而变得糟糕。在生产模式下,我可以成功发出第二个请求,这意味着常量仍然存在。我已通过将以上内容更改为以下内容来解决问题:config.after_initializedorequire'some_cl
Devise是一个Ruby库,它为我提供了这个User类:classUser当写入:confirmable时,注册时会发送一封确认邮件。上周我不得不批量创建300个用户,所以我在恢复之前注释掉了:confirmable几分钟。现在我正在为用户批量创建创建一个UI,因此我需要即时添加/删除:confirmable。(我也可以直接修改Devise的源码,但我宁愿不去调和它)问题:如何即时添加/删除:confirmable? 最佳答案 WayneConrad的解决方案:user=User.newuser.skip_confirmation
我经常迷上ruby的一件事是递归模式。例如,假设我有一个数组,它可能包含无限深度的数组作为元素。所以,例如:my_array=[1,[2,3,[4,5,[6,7]]]]我想创建一个方法,可以将数组展平为[1,2,3,4,5,6,7]。我知道.flatten可以完成这项工作,但这个问题是作为我经常遇到的递归问题的一个例子-因此我试图找到一个更可重用的解决方案。简而言之-我猜这种事情有一个标准模式,但我想不出任何特别优雅的东西。任何想法表示赞赏 最佳答案 递归是一种方法,它不依赖于语言。您在编写算法时要考虑两种情况:再次调用函数的情