Cosonok's IT Blog

Web Name: Cosonok's IT Blog

WebSite: http://www.cosonok.com

ID:198604

Keywords:

Cosonok,IT,Blog,

Description:

ScenarioWe start with 2 x Mellanox SN2010 switches in aMaster/Standby Pair (paired together with an ISL.) We currently have1 port per SN2010 with 10GbE SFPs in, used to uplink to customersedge switches. The uplink switches are configured with an LACP VPC(both uplinks are active.)We want to upgrade the uplinks to 25GbE, andalso have 2 * 25GbE uplinks per switch (i.e. 4 in total.)The current relevant configuration (same onboth switches) is:interfacemlag-port-channel 101interfacemlag-port-channel 101 description "Uplink"interfaceethernet 1/18 description "Network Uplink"interfaceethernet 1/18 speed 10G forceinterfaceethernet 1/18 mlag-channel-group 101 mode activeinterfacemlag-port-channel 101 switchport mode trunkinterfacemlag-port-channel 101 no shutdownCurrently port 18 is used as an uplink. We'lladd port 17 as an additional uplink.WalkthroughNote: It is expected that the relevantupstream switch configuration (4 port LACP VPC across 2 switches) hasbeen completed.Switch1 Upgrade uplink to 25GBSwitch1 enableSwitch1#write memSwitch1#config tSwitch1(config)#interface ethernet 1/18 shutdownSwitch1(config)#interface ethernet 1/18 no mlag-channel-groupSwitch1(config)#interface ethernet 1/18 speed 25G forceSwitch1(config)#interface ethernet 1/18 mtu 9216Switch1(config)#interface ethernet 1/18 switchport mode trunkSwitch1(config)#interface ethernet 1/18 mlag-channel-group 101 mode activeSwitch1(config)#interface ethernet 1/18 no shutdownSwitch1(config)#exitSwitch1#show interface ethernet 1/18Verify port 1/18 is up. If all is good, run a write mem .Switch1#write memSwitch2 Upgrade uplink to 25GBSwitch2 enableSwitch2#write memSwitch2#config tSwitch2(config)#interface ethernet 1/18 shutdownSwitch2(config)#interface ethernet 1/18 no mlag-channel-groupSwitch2(config)#interface ethernet 1/18 speed 25G forceSwitch2(config)#interface ethernet 1/18 mtu 9216Switch2(config)#interface ethernet 1/18 switchport mode trunkSwitch2(config)#interface ethernet 1/18 mlag-channel-group 101 mode activeSwitch2(config)#interface ethernet 1/18 no shutdownSwitch2(config)#exitSwitch2#show interface ethernet 1/18Verify port 1/18 is up. If all is good, run a write mem .Switch2#write memSwitch1 Configure second 25GB uplinkSwitch1#config tSwitch1(config)#interface ethernet 1/17 shutdownSwitch1(config)#interface ethernet 1/17 speed 25G forceSwitch1(config)#interface ethernet 1/17 mtu 9216Switch1(config)#interface ethernet 1/17 switchport mode trunkSwitch1(config)#interface ethernet 1/17 mlag-channel-group 101 mode activeSwitch1(config)#interface ethernet 1/17 no shutdownSwitch1(config)#exitSwitch1#show interface ethernet 1/17Verify port 1/17 is up. If all is good, run a write mem .Switch1#write memSwitch2 Configure second 25GB uplinkSwitch2#config tSwitch2(config)#interface ethernet 1/17 shutdownSwitch2(config)#interface ethernet 1/17 speed 25G forceSwitch2(config)#interface ethernet 1/17 mtu 9216Switch2(config)#interface ethernet 1/17 switchport mode trunkSwitch2(config)#interface ethernet 1/17 mlag-channel-group 101 mode activeSwitch2(config)#interface ethernet 1/17 no shutdownSwitch2(config)#exitSwitch2#show interface ethernet 1/17Verify port 1/17 is up. If all is good, run a write mem .Switch2#write memTHE ENDA very similar post to this September 2020 post:Cosonok's IT Blog: Python 3: OCI REST API - Set Annotation On Storage Array- which just goes to show that if you have a good framework (not mine, these were from the out-the-box OCI Python examples) then it's very easy to adapt that framework for other use cases (in this case switch and not storage.) To use the python script below:python set_annotation_switch.py --url https://YOUR_OCI_SERVER --user YOUR_REST_USER --password YOUR_PASSWORD --switch SWITCH_NAME --annotation SOME_ANNOTATION --value ANNOTATION_VALUEThe ScriptSave as 'set_annotation_switch.py':#!/usr/bin/env python"""Set annotation for a specific switch"""from __future__ import print_functionimport jsonfrom oci_rest import OciRest, configure_command_line_parserdef find_switch(oci, switch_name): for switch in oci.get('assets/switches'): if switch['name'] == switch_name: return switch['self'] return Nonedef annotate_switch(oci, switch_url, annotation_name, annotation_value): return oci.put('{}/annotations'.format(switch_url), data=json.dumps( [ { "rawValue": annotation_value, "definition": {"name": annotation_name} }, ] ))if __name__ == "__main__": # Get the default command-line arguments (url, user, password) parser = configure_command_line_parser(usage='Set switch annotation') # Add additional arguments to configure the search criteria parser.add_argument('--switch', required=True, help="Switch name") parser.add_argument('--annotation', required=True, help="Annotation name (do NOT use label!)") parser.add_argument('--value', required=True, help="Annotation value to set") options = parser.parse_args() url, user, password = options.url, options.user, options.password with OciRest(url, user, password) as oci: switch_url = find_switch(oci, switch_name=options.switch) if switch_url is not None: new_annotation = annotate_switch(oci, switch_url, annotation_name=options.annotation, annotation_value=options.value) print('Created new annotation:\n', json.dumps(new_annotation)) else: print("Could not find switch {}".format(options.switch))Image: OCI REST API documentation API samplesPosting this useful bit of knowledge with permission from the author Timm Shark.There are two parts to this post:NX-OS Install via USBRCF Install via USBIf you're installing a new Cisco 3232C in the datacenter, it can be quicker to use USB instead of using http/https/ftp/sftp server from a laptop, to install the NX-OS and NetApp RCF configuration file.1) NX-OS Install via USB1. In Windows, format a USB memory stick with FAT32.2. From Windows, copy nxos.9.3.7.bin, n9000-epld.9.3.7.img and NX3232_RCF_v1.0_24p10g_26p100g.txt files to the memory stick.3. Connect a serial cable to the console port on the switch.4. Insert the USB memory stick into the switch. The switch will recognise the memory stick has been inserted and a console message will report 'USB1: online':2021 Jun 2 09:37:11 sw2 ... USB insertion or removal detected - usbhsd2021 Jun 2 09:37:11 sw2 ... USB1: online - usbhsd5. From the switch, check the contents of the memory stick:switch# dir usb1:... NX3232_RCF_v1.0_24p10g_26p100g.txt... System Volume Information/... n9000-epld.9.3.7.img... nxos.9.3.7.bin6. Copy the required files from usb1: to bootflash:switch# copy usb1:nxos.9.3.7.bin bootflash:switch# copy usb1:n9000-epld.9.3.7.img bootflash:switch# copy usb1:NX3232_RCF_v1.0_24p10g_26p100g.txt bootflash:7. Check bootflash: includes the required filesswitch# dir bootflash:8.Check current version of NX-OSswitch# show versionSoftware BIOS: version 08.38 NXOS: version 7.0(3)I4(1) BIOS compile time: 05/29/2020 NXOS image file is: bootflash:///nxos.7.0.3.I4.1.bin NXOS compile time: 5/15/2016 20:00:00 [05/16/2016 03:24:30]9. Install NX-OS image. Switch will be rebooted at the end of the process. When prompted, verify the versions being upgraded, then reply 'y' to continue. After continuing, the install will complete and the switch will reboot automatically.switch# install all nxos bootflash:nxos.9.3.7.binImages will be upgraded according to following table:Module Image Running-Version(pri:alt) New-Version------ ----- ------------------------------------- ------------------ 1 nxos 7.0(3)I4(1) 9.3(7)I9(1) 1 bios v08.38(05/29/2020):v08.38(05/29/2020) v08.38(05/29/2020)Switch will be reloaded for disruptive upgrade.Do you want to continue with the installation (y/n)? [n] y10. Once switch has rebooted, verify switch version is 9.3.7sw2# show version11. Check current EPLD version, upgrade the EPLD (and reboot if required)sw2# show version module 1 epldEPLD Device Version-------------------MI FPGA 0x12IO FPGA 0x120x12 is current and the next command will check, then do nothing as no upgrade is required. Your switch may have an older EPLD version.switch# install epld bootflash:n9000-epld.9.3.7.img module 1Digital signature verification is successfulCompatibility check:Module Type Upgradable Impact Reason------ ---- ---------- ---------- ------ 1 SUP Yes disruptive Module UpgradableRetrieving EPLD versions.... Please wait.Images will be upgraded according to following table:Module Type EPLD Running-Version New-Version Upg-Required------ ---- ------- --------------- ----------- ------------ 1 SUP MI FPGA 0x12 0x12 No 1 SUP IO FPGA 0x12 0x12 NoAll Modules are up to date.12. If upgrade had been required, to check EPLD version after switch reboot:switch# show version module 1 epld2) RCF Install via USB1. Connect via the console2. Erase the existing config.IMPORTANT NOTE: These instructions are for a new install.switch# write eraseWarning: This command will erase the startup-configuration.Do you wish to proceed anyway? (y/n) [n] yswitch# reloadThis command will reboot the system. (y/n)? [n] y3. After the switch reboot, reply Y perform a basic setup of the switch.4. Copy RCF to switch from USB (should have been done previously if you followed the instructions above.)switch# copy usb1:NX3232_RCF_v1.0_24p10g_26p100g.txt bootflash:5. Load RCF into running configswitch# copy NX3232_RCF_v1.0_24p10g_26p100g.txt running-config echo-commands6. Check output to ensure you have the correct RCF file loadedswitch# show running-config7. Save and reload:switch# copy running-config startup-configswitch# reloadSecond SwitchApply RCF to the other switchswitch# copy NX3232_RCF_v1.0_24p10g_26p100g.txt running-config echo-commandsswitch# copy running-config startup-configswitch# reload`Check ISL port channel. After configuring first switch ports 1/31 and 1/32 show as suspended. After second switch is complete, both ports appear up in port channelswitch#: show port-channel summaryCheck that you can SSH to the management port on each switch.If you've added a new LDAP group membership to a user, but the user still cannot access the resources permissioned by that LDAP group, it's very likely that the cache on ONTAP is stale and needs to be cleared.You can see the LDAP group memberships for the user - as on the LDAP server - using this clustershell command:set advvserver services name-server getxxbyyy getgrlist -node NODE -vserver SVMNAME -username USERNAMEThen to see what is in ONTAP's cache, run this command:vserver services name-server getxxbyyy getgrlist -node NODE -vserver SVMNAME -username USERNAME -use-cache trueIf the group memberships as recorded in cache are not matching what is on the LDAP server, then to delete the cached group membership for the user:vserver services name-service cache group-membership show -vserver SVMNAME -user USERNAMEvserver services name-service cache group-membership delete -vserver SVMNAME -user USERNAME -group GIDIn this post -http://www.cosonok.com/2021/02/fabricpool-data-in-netapp-oncommand.html- we showed how to get roughfabricpooldata out of the OCI DWHdwh_inventory.extended_databy using theobjectStoreUsedSpaceon INTERNAL_VOLUME.A patch a few months ago brought in a whole load of newobjectStoreattributes at the STORAGE_POOL level, which is actually a better way to get this data.If you run -SELECT distinct `fieldName` FROMdwh_inventory.extended_dataWHEREobjectType= 'STORAGE_POOL' ANDfieldNameLIKE 'object%';- you see all the aggregate-levelFabricPool(object) related statistics:objectStoreMetadataSpaceobjectStoreNameobjectStorePhysicalUsedSpaceobjectStoreProviderTypeobjectStoreReferencedSpaceobjectStoreS3NameobjectStoreServerobjectStoreSisSavedSpaceobjectStoreTieringFullnessThresholdobjectStoreUnreclaimedSpaceobjectStoreUsedSpaceIn order to get theFabricPooldata from theOnCommandInsightDataWarehouse, you can use these MySQL queries:FabricPoolSavings Per Aggregate-- TO GET FABRIC POOL PER AGGREGATE INFORMATION --SELECT s.name AS 'Storage',t.aggregate,MAX(CASE WHENt.fieldname= 'objectStoreServer' THENt.fieldvalueELSE NULL END) AS 'objectStoreServer',MAX(CASE WHENt.fieldname= 'objectStoreName' THENt.fieldvalueELSE NULL END) AS 'objectStoreName',MAX(CASE WHENt.fieldname= 'objectStoreUsedSpace' THENt.fieldvalueELSE NULL END)/1024 AS 'objectStoreUsedSpaceTB',MAX(CASE WHENt.fieldname= 'objectStorePhysicalUsedSpace' THENt.fieldvalueELSE NULL END)/1024 AS 'objectStorePhysicalUsedSpaceTB',MAX(CASE WHENt.fieldname= 'objectStoreReferencedSpace' THENt.fieldvalueELSE NULL END)/1024 AS 'objectStoreReferencedSpaceTB',MAX(CASE WHENt.fieldname= 'objectStoreSisSavedSpace' THENt.fieldvalueELSE NULL END)/1024 AS 'objectStoreSisSavedSpaceTB',MAX(CASE WHENt.fieldname= 'objectStoreUnreclaimedSpace' THENt.fieldvalueELSE NULL END)/1024 AS 'objectStoreUnreclaimedSpaceTB'FROM ( -- TO GET EXTENDED DATA INFORMATION -- SELECT sp.name AS 'aggregate',sp.id,sp.storageId,ed.* FROMdwh_inventory.storage_poolASsp JOINdwh_inventory.extended_dataASedON sp.id =ed.objectId WHEREobjectType= 'STORAGE_POOL' ANDfieldNameLIKE 'object%') AS tJOINdwh_inventory.storageAS s ON s.id =t.storageIdGROUP BY t.idFabricPoolSavings Per ONTAP ClusterSELECT t2.StorageAS 'Cluster',FLOOR(SUM(t2.`objectStoreUsedSpace TB`)) AS 'objectStoreUsedSpaceTB',FLOOR(SUM(t2.`objectStorePhysicalUsedSpace TB`)) AS 'objectStorePhysicalUsedSpaceTB',FLOOR(SUM(t2.`objectStoreReferencedSpace TB`)) AS 'objectStoreReferencedSpaceTB',FLOOR(SUM(t2.`objectStoreSisSavedSpace TB`)) AS 'objectStoreSisSavedSpaceTB',FLOOR(SUM(t2.`objectStoreUnreclaimedSpace TB`)) AS 'objectStoreUnreclaimedSpaceTB'FROM( -- TO GET FABRIC POOL PER AGGREGATE INFORMATION -- SELECT s.name AS 'Storage',t.aggregate, MAX(CASE WHENt.fieldname= 'objectStoreServer' THENt.fieldvalueELSE NULL END) AS 'objectStoreServer', MAX(CASE WHENt.fieldname= 'objectStoreName' THENt.fieldvalueELSE NULL END) AS 'objectStoreName', MAX(CASE WHENt.fieldname= 'objectStoreUsedSpace' THENt.fieldvalueELSE NULL END)/1024 AS 'objectStoreUsedSpaceTB', MAX(CASE WHENt.fieldname= 'objectStorePhysicalUsedSpace' THENt.fieldvalueELSE NULL END)/1024 AS 'objectStorePhysicalUsedSpaceTB', MAX(CASE WHENt.fieldname= 'objectStoreReferencedSpace' THENt.fieldvalueELSE NULL END)/1024 AS 'objectStoreReferencedSpaceTB', MAX(CASE WHENt.fieldname= 'objectStoreSisSavedSpace' THENt.fieldvalueELSE NULL END)/1024 AS 'objectStoreSisSavedSpaceTB', MAX(CASE WHENt.fieldname= 'objectStoreUnreclaimedSpace' THENt.fieldvalueELSE NULL END)/1024 AS 'objectStoreUnreclaimedSpaceTB' FROM ( -- TO GET EXTENDED DATA INFORMATION -- SELECT sp.name AS 'aggregate',sp.id,sp.storageId,ed.* FROMdwh_inventory.storage_poolASsp JOINdwh_inventory.extended_dataASedON sp.id =ed.objectId WHEREobjectType= 'STORAGE_POOL' ANDfieldNameLIKE 'object%' ) AS t JOINdwh_inventory.storageAS s ON s.id =t.storageId GROUP BY t.id) AS t2GROUP BY t2.Storage

TAGS:Cosonok IT Blog 

<<< Thank you for your visit >>>

Websites to related :
Naked Male Celebs at MaleCelebsB

  Look at Eugenio Siller Naked in Who Killed Sara. The Netflix series has 2 seasons available and they are both good. The stars of the show are: Manolo

English to Nepali / Nepalese Tra

  English to Nepali / Nepalese Translation | English-Nepali-English Translation | FREE Nepali Convertor | Nepalese Translation | | English to Nepali/Nep

Home - Addis Hill

  At Addis Hill, we take pride in offering thoughtful and comprehensive personal wealth management services to help simplify your financial life and ens

Africa.com

  Wellness Destinations in Africa to Get away from it All Will the Unmistakable Sound of Congolese Rumba Make it on the Heritage List? Tanzania will

Gusto

  Gusto Ristorante opened its doors to delighted patrons in December 2012 with clear intentions to create a timeless and impeccably appointed establishm

Titus Software for Data Classif

  Successfully deploy a data classification solution based on your unique data security needs. Add rich context to on-prem and cloud data with the leadi

Christophers Best Blog

  The majority of personal injury cases are fixed, with the two sides accepting a settlement rather than going to court (some say over 97%). Getting to

HelloJaa.com | A Bilingual (Engl

  This month s theme is Summer Nights. My box number is 603 which includes products from Make Up For Ever, Too Faced, IGK, Clinique, Amorepacific, and Y

دستورِ زبانِ پارس

  دیباجهیکی از پیش‌کسوتانِ زبان‌شناسیِ ایرانی، دکتر محمّدِ معین، در سالِ ۱۳۴۰ در دی

OneGoodThread.com is for sale |

  Buy now for: $3,395Questions? Talk to a domain expert: 1-303-893-0552Make 12 monthly payments of $282.92 | Pay 0% interest | Start using the domain to

ads

Hot Websites