The rest of the config – Nexus 5K / 2K

So now that we have our base config running we can take a look at configuring the native FC interfaces, building the connection to the CNAs, and connecting the 5Ks to the IP network (I’ll refer to this as data network going forward). Before we dive into config, let’s talk about design considerations.

Design Considerations
Most deployments will (should) have redundant 5k’s as part of the setup.  So let’s take a look at a pretty common setup that you might see out in the wild from a logical perspective.  Drawing1

So this is how I like to conceptualize the basic setup (Yes I know I’m missing pieces, this is the ‘big picture’).  Both the native FC storage and the data network terminate into the 5Ks.  At that point, the FC VSAN gets mapped to a VLAN.  The VLAN is what’s passed to the 2K and on to the server.  So in my illustration, the green links are storage and the orange are data.  Pretty straightforward right?  I’m hoping you caught the fact that the link between the 5Ks only shows the data network.  Have you figured out why?  Even though we map the VSAN to a VLAN its still for the most part ‘its own thing’.  That being said, standard FC design concepts come into play.  One of those being having dual fabrics to each server.  If we allowed that VLAN across the trunk between the two 5Ks we’d be breaking that rule.  You’ll also need to take things like MPIO into account as well since you’ll have redundant active paths to the same storage.  The data network is still trunked between the 5Ks to facilitate a VPC configuration.  Now, on to the config…

Native Fiber Channel
At this point I’m assuming you have a native fiber channel card in your 5k and you’ve got some trunks going back to your MDS.  That being said, I’ll also assume you have more than one pair of fiber and you’d like to make the two pair that you do have into some type of port-channel.  Let’s get to it…

(Note: I’m only showing ‘one side’ of the config.  You’d obviously have to duplicate this on the other 5K as well.  Keep in mind that things like the Storage VLAN will be different between the two 5Ks)

Configure the ports to the MDS
Nexus5k(config)# interface san-port-channel <SAN Port Channel Number>
Nexus5k(config-if)# channel mode active
Nexus5k(config-if)# switchport trunk mode on
Nexus5k(config-if)# switchport mode NP [E]
(Note: Pick either NP or E depending on your deployment.  NP would be for NPV mode and E would be for Fabric Switch mode (or whatever they are calling it now))
Nexus5k(config-if)# switchport trunk allowed vsan 1
Nexus5k(config-if)# switchport trunk allowed vsan add <Assigned VSAN>
Nexus5k(config-if)# exit
Nexus5k(config)# int <Member 1>, <Member 2>, etc…
Nexus5k(config-if)# channel-group <San Port Channel Number> force
(Note: We are using force, make sure that your config for port-channel is the same on both ends.  A lot of it depends on the exact setup and what features (LACP, etc..) the gear supports)
Nexus5k(config-if)#
no shutdown

As an obvious side note here, make sure you configure the MDS side to match the settings on this end.

Map a VSAN to a VLAN
Nexus5k(config)# vlan <VSAN VLAN Number>
Nexus5k(config-vlan)# fcoe vsan <Assigned VSAN>

Building the CNA Connections
There are two components to building the connectivity to the CNAs.  One being the data component and two being the FCOE component.  The data component is easy (for now, we’ll add VPC later) so let’s tackle that first followed by the VFC interfaces for the FCOE piece.

Configure the Port and Port-channel going to the CNA Card 
Nexus5k(config)# interface Ethernet <Number>
Nexus5k(config-if)# switchport mode trunk
Nexus5k(config-if)# switchport trunk allowed vlan <Native VLAN>, <Data VLAN>, <VSAN VLAN>
Nexus5k(config-if)# spanning-tree port type edge trunk
Nexus5k(config-if)# speed 10000
Nexus5k(config-if)# channel-group <CNA Port Channel Number> mode active
Nexus5k(config-if)# exit
Nexus5k(config)# interface port-channel <CNA Port Channel Number>
Nexus5k(config-if)# spanning-tree port type edge trunk

Configure the VFC Interface
Nexus5k(config)# interface vfc <VFC Number>
Nexus5k(config-if)# bind interface port-channel<CNA Port Channel Number>
Nexus5k(config-if)# no shutdown

Create the VSAN and map it to the appropriate interfaces
(Note: In this step we are just telling the VSAN database what ports should be part of what VSAN.  This would include the VFC interface facing the server and the port-channel facing the SAN.)
Nexus5k(config)#
vsan database
Nexus5k(config-vsan-db)# vsan <Assigned VSAN>
Nexus5k(config-vsan-db)# vsan <Assigned VSAN> interface vfc<VFC Number>
Nexus5k(config-vsan-db)# vsan <Assigned VSAN> interface san-port-channel <San Port Channel Number>

Configure the Data Network pieces
In this section we’ll cover the trunk back to the data network (65K or 7K in most cases), the trunk between the 5Ks, and the VPC config.

Configure the connection back to the data network
I’m just going to list this as a config item.  There isn’t anything special about configuring a standard data trunk.  You can use a single port on each, make a port-channel, however you want to handle it.  You just need to get your data network VLANs onto the 5K.

Configure the trunk between the 5k’s
Nexus5k(config)# int <Member 1>, <Member 2>, etc…
Nexus5k(config-if)# switchport mode trunk
Nexus5k(config-if)# switchport trunk allowed vlan <Native VLAN>, <Data VLAN>
(Note: We are only allowing the Data VLANs across the trunk, not the storage VLAN)
Nexus5k(config-if)# spanning-tree port type network
Nexus5k(config-if)# channel-group <5K Port Channel Number> mode active

Configure VPC
(Note: This is a very basic VPC config.  I don’t have a dedicated keep-alive link in this example so the management VRF is being used.  Probably not a good idea for production)
Nexus5k(config)# vpc domain <VPC Domain Number>
Nexus5k(config-vpc-domain)# role priority 5000
Nexus5k(config-vpc-domain)# system-priority 4000
Nexus5k(config-vpc-domain)# peer-keepalive destination <Management IP of other Nexus>
Nexus5k(config-vpc-domain)# exit
Nexus5k(config)# interface port-channel <CNA Port Channel Number>
Nexus5k(config-if)# vpc <VPC Domain Number>
Nexus5k(config-if)# exit
Nexus5k(config)# interface port-channel<5K Port Channel Number>
Nexus5k(config-if)# vpc peer-link

Conclusion
I hate to say it, but there really isn’t much to it when you look at it as a whole.  The tricky part is troubleshooting.  There are many different pieces of new technology (VPC, FEX, FCoE, etc..) that it can be hard at times to see the issues.  At any rate, I’m anxious to hear if others have had any luck with their setups or what they have running currently.

1 thought on “The rest of the config – Nexus 5K / 2K

  1. steve ade

    Hi there, nice explanation.
    However I’m confused on one thing. What is the use of the MDS if the FC storage/disk array is going to be connected to the 5Ks?

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *