Release 0.9 Giugno 2010

 

NX-OS

 

  NX-OS e' il nuovo sistema operativo della Cisco utilizzato nelle piattaforme di fascia alta. Si tratta di un'evoluzione di IOS pensata per il datacenter. Al centro di NX-OS c'e' il concetto di virtualizzazione.

   La virtualizzazione esiste da molti anni e nasce con le VLAN, che di fatto separavano logicamente un unico switch fisico. Ma le VLAN operano esclusivamente a layer 2. Successivamente, in anni piu' recenti, e' stato introdotto il concetto di Virtual Routing and Forwarding (VRF) che di fatto permette di creare dei router logici all'interno di un unico router fisico. Sostanzialmente opera a livello tre ed ogni VRF ha una sua tabella di routing e delle sue porte fisiche che operano indipendentemente dalle tabelle di routing e dalle porte degli altri VRF. Tutte le versioni di IOS consentono oramai l'uso di VRF.

    La limitazione del VRF e' che non c'e' una separazione dei processi e delle risorse da loro utilizzate (processore, memoria) ma questo e' una conseguenza della non modularita' di IOS. Pertanto anche se ci sono diverse tabelle di routing e' c'e' una separazione logica di un unico router fisico di fatto un fault di un processo coinvolge tutti i VRF. Se va in crash il BGP o l'OSPF, per fare un esempio, il router non fornira' il servizio OSPF o BGP per tutti i VRF.

    Con NX-OS e' stato fatto un ulteriore passo avanti. Si tratta di un sistema operativo modulare, dove ciascun processo gira nel suo spazio di memoria protetto. I processi si possono raggruppare ed associare a diversi contesti e a delle risorse hardware specifiche. Allora nel singolo device fisico abbiamo device logici completamente separati. Anche il management e' separato per ogni device logico. In NX-OS si hanno quelli che si chiamano "differenti vdc" ovvero "differenti virtual device context". Ogni vdc e' un gruppo di processi autonomi e indipendenti con proprie risorse con un proprio management. E questo e' il grande balzo in avanti rispetto il VRF.

    E' un po' come una macchina virtuale con VMWARE. Il crash di un processo all'interno di un vdc non tocca gli altri vdc. Ad esempio due processi OSPF con lo stesso id in due differenti vdc non interagiscono minimamente tra loro. Anche le amministrazioni tra differenti vdc sono separate. L'amministratore di un vdc vede e puo' modificare solo le risorse hardware ad esso assegnate. Ad esempio non vedra' le porte e le vlan che non fanno parte del proprio vdc.

    I datacenter con la network virtualization saranno molto piu' efficienti e funzionali. E' possibile avere differenti topologie logiche e una unica topologia fisica. Allora si potranno sfruttare al 100% tutte le risorse disponibili sovrapponendo reti logiche alla rete fisica finche' ci saranno risorse sufficienti. Il cablaggio, il costo dell'hardware, il costo per il raffreddamento dei sistemi e il costo energetico sono solo alcuni benefici della network virtualization. Infine, ma non per importanza, il nuovo datacenter permette anche la "fault isolation" ovvero l'isolamento dei guasti all'interno della logical network in cui sono generati, e questo e' fondamentale per i clienti che utilizzano risorse.
   
   Questo documento presenta rapidamente le nuove funzionalita' e le principali differenze tra IOS e NX-OS. La piattaforma di riferimento e' il Cisco Nexus 7000 che potete vedere in figura. Alla data di stesura di questo documento NX-OS e' arrivato alla release 5.0.

 

 

Courtesy of Cisco Systems, Inc.
                                Cisco Nexus 7000                                  Unauthorized use not permitted

 

-------------------------------

1)  "show module"

Come in IOS mostra i moduli hardware installati nello chassis.

-------------------------------

2)  "show module xbar"

Questi sono i moduli sul retro. Sono i moduli "fabric".

-------------------------------

3) Moduli  "N7K-M132XP-12",  "N7K-SUP1"

Il primo e' un modulo Ethernet a 10Gbps

N7K -  Nexus 7000
M1   -  Multipurpose forward engine first generation
32    -  Numero di porte nel modulo
X      -  Velocita' delle porte. In questo caso 10gigabit
P      - Le schede fisiche a 10giga installate. In questo caso SFP+
1       - Fabric module prima generazione (e' nel retro dello chassis)
2       - Due canali di 40Gbps collegati con il fabric module
            (questo ad esempio e' "1" nel caso di moduli 10/100/1000)

Il secondo e' il modulo processore centrale, ovvero la scheda supervisor.

-------------------------------------

4) "show envirorment power"

Mostra la potenza massima che ciascun componente consuma, ovvero nelle condizioni peggiori.

--------------------------------------

5)  "show ver"

Come in IOS mostra la versione di NX-IOS installata nel sistema e altre informazioni.
Il sistema gira su Linux, e il processore normalmente e' Inten Xeon.
Il sistema consiste di due immagini: "kickstart", "system". La prima e' il Linux, la seconda contiene il sistema NX-OS.

---------------------------------------

6) "show running-config"

Come in IOS mostra la configurazione

--------------------------------------

7)  INFO

Il telnet di default e' disabilitato e nel sistema si entra in ssh

--------------------------------------- 

8)  Interfaccia di management

"interface mgmt0"

E' l'interfaccia di management che conterra' l'indirizzo IP per la configurazione del sistema.
Questa corrisponde ad una interfaccia 10/100/1000 nella supervisor.
E' inserita in un VRF riservato di default. Questo si chiama "management VRF".
Il motivo e' che in questo modo il management viene completamento isolato per consentire
il management di sistema in qualsiasi condizione.

"show vrf"

Mostra il "default" e il "management" VRF

"show vrf management interface"

Mostra che di default l'interfaccia mgmt0 e' nel VRF "management"

Non e' possibile aggiungere altre interfacce nel VRF di management.

Se vogliamo fare un 'ping' nella rete di management dobbiamo utilizzare "ping IPADDRESS vrf management"

----------------------------------------

9) Fast-Ethernet e Access-list

Nella configurazione tutte le interfacce hanno il nome di "Ethernet"
Non esistono piu' le notazioni "FastEthernet", "GigaEthernet"

A differenza dei vari tipi di access-list presenti in IOS qui sono stati unificati.
Non esistono piu' "standard ACL", "extendend ACL", "numbered ACL" ma il solo comando e' "ip access-list".

Non c'e' etherchannel, ma solo port-channel

------------------------------------------

10) Novita' nella CLI, "conf session", servizi
 

- Il nome utente di default e' "admin" e l'accesso e' in ssh;
- Sono disponibili anche i comandi presenti in IOS solo in modalita' privilegiata. Ad esempio possiamo fare un 'ping';
- A differenza di IOS ritroviamo anche comandi specifici di linux, come "grep". Ad esempio "show run | grep mgmt";
- Oltre che "conf t" abbiamo ora "conf session". E' possibile scrivere una parte di configurazione che non sara' subito operativa,
  come normalmente accade.
               a)   "conf session prova"
               b)   "ip access-list prova"
                      "             permit tcp 10.15.20.20/24 any"
               c)    "int e2/4"
                      "ip access-group prova in"

   Non appena abbiamo terminato e verificato l'inserimento utilizziamo il comando "verify". Il sistema operativo verifica che ci sono risorse hardware sufficienti per quanto inserito nella session. Se tutto e' ok possiamo mettere in esercizio le modifiche con "commit"  all'interno della modalita' "config session" oppure "abort" nel caso in cui non vorriamo mettere in esercizio la session.

 Importante: NX-OS e' un sistema modulare. Alcuni comandi potrebbero non essere disponibili se non si attiva il modulo associato.
                     Con il comando "feature" veriamo l'elenco delle feature e troviamo i protocolli di routing ad esempio, RIP, OSPF, BGP.
                      Con "feature eigrp" ad esempio attiviamo il modulo di eigrp. Dobbiamo ovviamente accertarsi di avere acquistato la
                      licenza. Se non l'abbiamo il sistema ci avvisa ma ci permette di provarla per un certo periodo senza licenza.


------------------------------------------

11)  "roles"

Con "show role"  vedrete "vdc-admin" e "vdc-operator"
I ruoli servono per definire gruppi di utenti che hanno alcuni privilegi sul sistema.
I due ruoli di default, ad esempio, rappresentano un gruppo di "admin" ovvero amministratori,
in grado di fare qualsiasi cosa nel sistema, e un gruppo di "operatori", in grado di fare solo
consultazioni, ovvero vedere ma non modificare la configurazione

Con "show role feature" vediamo un lungo elenco di attivita' che e' possibile associare ad un gruppo.
Ogni attivita' e' un permesso ad eseguire una certa operazione.

Con "show role feature-group" vediamo un elenco di gruppi di attivita', ovvero raccolte di attivita'.

Per esempio il  feature group "L3" contiene le feature relative al bgp,ospf e cosi' via.

Creiamo un nuovo ruolo:

       a)   "role name gianrico"
       b)       "rule 1 permit read"
       c)       "rule 2 permit command ping *"
       d)       "rule 3 permit command conf t : interface *"
       e)   "interface policy deny"
       f)          "permit interface ethernet 3/2"

Questo ruolo permette l'uso del comando "ping" e la configurazione della sola interfaccia ethernet3/1.
Non e' possibile con IOS una tale granularita' nei permessi.

Con "show role name gianrico" verifichiamo la configurazione.

A questo punto creiamo un nuovo utente che ha questo ruolo:

"username maurizio password prova role gianrico"

Questo utente avra' solo i permessi che abbiamo messo nel ruolo.

-------------------------------------------------------

12)  "virtual-device"

Quando entriamo nel sistema come "admin" abbiamo il supporto per i VDC (Virtual Device Context).
E' un concetto molto importante e innovativo. Di fatto sono delle macchine virtuali logicamente indipendenti.
Ogni macchina virtuale si puo' "ritagliare" una parte di chassis, ad esempio avere alcune interfacce.

"show vdc"    <-- mostra le macchine virtuali attive
"show vdc membership"  <--- fa vedere quali interfacce sono associate a quale vdc
"show vdc NOME detail"
"show vdc NOME resources"
"vdc prova"  <-- da modalita' "conf t" crea un nuovo "vdc" di nome prova  (anche per questi ci vogliono le licenze)
"allocate interface e2/31-35"    <-- associamo queste interfacce al vdc corrente

"ha-policy dual-sup bringdown/restart/switchover"  <-- queste sono tre opzioni. Se il VDC va in crash puo' supportare
                                                                                                       o meno la ridondanza e utilizzarla se configurata.

E' possibile anche limitare le risorse in un VDC come il numero di VRF che si possono creare, il numero massimo di VLAN, il numero di port-channel

"limit-resource ?"  <-- per limitare le risorse.

Una volta preparato per attivare il nuovo VDC si dovra' utilizzare il comando:

"switchto vdc NOME"

Ci sara' un wizard che chiedera' password, i dati della management interface, se di default il sistema e L2 o L3, e altro.
Massimo si possono usare 4 VLC (nella release della data del presente documento)

 

-------------------------------------------------------

13) "rolling-back"

Una importante novita' in NX-OS e' la possibilita' di memorizzare lo stato del sistema e di ritornare a stati precedenti.
E' un qualcosa di simile a quello che abbiamo con i sistemi operativi. Ad esempio in Windows con il "ripristino" e i "punti di ripristino". Nel caso di NX-OS si ripristina il file di configurazione.

"checkpoint prova"                           <---  Crea un nuovo checkpoint di nome "prova"
"show checkpoint summary"         <---  Mostra i checkpoint presenti nel sistema
"show checkpoint prova"                <---  Mostra la configurazione di sistema nel checkpoint "prova"
"rollback running-config checkpoint prova"   <--- Riporta la configurazione del sistema a quella del checkpoint "prova"

Si possono creare fino a 10 checkpoint per ogni virtual-device (alla data del presente documento).

-------------------------------------------------------------

14) OSPF

A differenza di IOS, dove si utilizza il comando "network" all'interno di "router OSPF" per stabilire quali interfacce partecipano al routing OSPF,
in NX-OS all'interno di ogni singola interfaccia si deve inserire il comando "ip router ospf  PROCESSID area AREANUMBER".

"show running-config ospf"  mostra la configurazione ospf senza necessita' di usare il pipe
---------------------------------------------------------------

15)  NX-OS, sistema operativo modulare

Essendo modulare, se un processo va in crash, il sistema NON va in crash.
Tutti i protocolli layer 2 e OSPF sono "stateful process restart".
Se OSPF va in crash il router adiacente non se ne accorge neppure.
Il sistema lo riavvia e ne conserva lo stato precedente. Questa e' la "conservazione dello stato".

--------------------------------------------------------------------

16) Netflow

E' supportata la versione 5 e 9.

"feature netflow"   <-- attiviamo il modulo, altrimenti non troveremo neanche i comandi CLI di configurazione netflow

"flow record nxos"
"    match ipv4 destination address"
"    match ipv4 source address"
"    match ip protocol"
"    collect transport tcp flags"
"    collect routing forwarding-status"            <-- invia info nel caso in cui un flusso e' stato bloccato, ad esempio per un ACL

"flow exporter nxos-exp"
"    destination 172.16.10.10"

"flow monitor miomonitor"
"    record nxos"
"    exporter nxos-exp"

"interface e3/2"
"    ip flow monitor miomonitor"


---------------------------------------------------------------------

17) wireshark

E' un pacchetto di sniffer molto diffuso. E' incluso in Nexus7000.
E' estremamente utile quando si fa' debugging avanzato. E' una funzionalita' inesistente in IOS dove si devono utilizzare necessariamente le SPAN ports oppure NETFLOW per poter fare lo stesso.
Con wireshark il debugging avanzato diventa molto piu' semplice e rapido.

"ethanalyzer local interface mgmt brief limit-capture-frames 5"    <-- Fa vedere 5 pacchetti di sniffer relativi all'interfaccia di mgmt 

------------------------------------------------------------------------

18) OTV

  OTV e' una nuova tecnologia messa a disposizione da Cisco sulla piattaforma Nexus7000 che consente l'integrazione di data-center geograficamente distanti per la creazione di un unico data-center logico. L'obiettivo della tecnologia e' quello di consentire in modo efficiente la fornitura di servizi da parte di piu' datacenter e la continuita' di servizio in caso di fault. Pertanto questa tecnologia e' ottimizzata per consentire la transizione e sincronizzazione di server virtuali tra datacenter e per fornire ai fornitori di servizi continuita' e efficienza in quanto permette di distribuire il carico efficacemente tra i datacenter. La feature e' introdotta con NX-OS 5.0.

   I dati vengono trasportati come Layer2 e ogni Nexus in ogni datacenter mantiene una tabella di corrispondenza dei MAC per tutti i datacenter. I dati vengono trasportati tra i data-center utilizzando protocolli e tecnologie esistenti, come MPLS, IP e SONET/SDH.

 

 

 


 

 


 

 

 


 Il materiale di questa pagina non e sponsorizzato o sottoscritto da Cisco Systems, Inc. Ciscoâ e’ un trademark di Cisco Systems, Inc. negli Stati Uniti e in altri stati. L’autore di questa pagina non si assume nessuna responsabilita’ e non da nessuna garanzia riguardante l’accuratezza e la completezza delle informazioni presenti nonche’ da conseguenze sull’uso delle informazioni presenti in questa pagina. giuseppe@itesysfax.biz I LOGHI DELLA CISCO E DIGIUM sono copyright dei rispettivi proprietari.

Il sito web ufficiale della Cisco e’ http://www.cisco.com. Nel caso si volesse utilizzare il contenuto di questa pagina nella forma in cui e’ presentato rivolgersi all’autore scrivendo a gianrico.fichera   itesys.it. E' possibile utilizzare il contenuto di questa pagina per fini didattici (non lucro) purche' si dia credito all'autore. Copyright 2010 - Gianrico Fichera

This material is not sponsored by, endorsed by, or affiliated with Cisco Systems, Inc., Cisco, Cisco Systems, and the Cisco Systems logo are trademarks or registered trade marks of Cisco Systems, Inc. or its affiliates. All other trademarks are trademarks of their respective owners.