cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
4025
Views
55
Helpful
13
Replies

Ask the Expert: Introduction to Cisco IOS XR Software

ciscomoderator
Community Manager
Community Manager

Welcome to this Cisco Support Community Ask the Expert conversation. This is an opportunity to learn and ask questions about basic fundamental difference between Cisco IOS Software and Cisco IOS-XR Software with Cisco subject matter expert Anilkumar Dantu.

Anil will explain how Cisco IOS-XR Software as an operating system is packaged, the boot-up procedure in Cisco IOS-XR Software, basic configuration, and configuration file system difference between Cisco IOS Software and Cisco IOS-XR Software. Additionally, Anil will cover troubleshooting approaches on Cisco IOS-XR Software nodes.

For more information to go IOS XR Introduction.

Anilkumar Dantu is a customer support engineer in High-Touch Technical Services at Cisco specializing in service provider technologies and platforms. He serves as a support engineer for technical issues supporting Cisco IOS XR Software customers on Cisco CRS and Cisco XR 12000 Series Routers. Anil has more than 10 years of experience in the IT industry and holds CCIE certification (22536) in routing and switching.

Remember to use the rating system to let Anil know if you have received an adequate response. 

Because of the volume expected during this event, Anil might not be able to answer every question. Remember that you can continue the conversation in the Service Providers community, under subcommunity XR OS and Platforms, shortly after the event. This event lasts through July 3, 2014. Visit this forum often to view responses to your questions and the questions of other Cisco Support community members.

1 Accepted Solution

Accepted Solutions

Hi Ashvin,

                 Thanks for your kind comments. Please see my answers inline.

 

==> When you were changing the OS from IOS to IOS XR.. at that time you have shown the boot image with  sh dir command and the IOS XR was place in the disk 0:

My question is .. from where did you get this IOS XR placed in disk o:?   Was it already there in router? or did you save in router from TFTP server?

 

Anil:  Prior to IOS to XR conversion. My GSR lab router was booted from bootflash: and I had copied the .vm files to disk0: using TFTP.

 

Normally prior to planning IOS to XR conversion , you need to make sure that your mini.vm file is available on one of the disks (disk0: or disk1; or compact flash) or you can also load them from TFTP server (proper TFTP setting needed in romon for this).

 

TURBOBOOT=on,disk0          - This command in romon, says that during turboboot process extracted packages from mini.vm file will be stored in disk0 location. Even your future PIE files , SMU files you wish to install will also be extracted and copied to disk0: location. So disk0: in above TURBOBOOT command mentions your destination location where extracted packages of mini.vm file, extracted PIE files & extracted SMU files will get installed.

 

++while second command (boot disk0:c12kmini.vm) is used to point towards source location where your unextracted mini.vm files, PIE files & SMU files  are present. In my video I have  loaded un-extracted c12kmini.vm file in disk0: (as I had only single disk0: as it was a test lab router). But in case you have have mutliple disks (which is normally the case with production routers) you will be keeping your source files (c12kmini.vm , PIEs & SMU) in one disk or use TFTP and loading the extracted files to other disk (disk0: or disk1; or compact flash).

 

In summary:

TURBOBOOT=on,disk0         -- disk0: points to destination where extracted files after turboboot will be copied.

&

boot disk0: or boot disk1: or boot compactflash: or boot tftp:    -----This command points to location where your source files (c12kmini.vm , PIEs & SMU) are stored.

 

 

 

 

=== > What is SDR and what is it's importance in IOS XR?

Anil : SDR is secure domain router. In XR we have capability of logically dividing a physical router into logical routers. Each of these logical routers will be acting as individual routers & will be having separate configs. You can carve out SDRs from Admin mode by grouping RPs & LC into individual SDRs. Incase no SDRs are configured then router acts as a single SDR router. Please note RPs & LC only belongs to individual SDRs while your fabric cards, power supply, alarms cards etc will be part of admin resources & remain common to all SDRs.

 

 

 

=== > If we buy a brand new GSR router then what would be the default IOS in flash? Will it be IOS or IOS XR as it supports IOS & IOS XR both.. 

 

Do we need to check in flash file whether which one is set as boot file in flash? 

 

Anil:  Default OS in flash will depend on what OS (IOS or XR) is purchased from Cisco.  Please note that  XR package when unpacked will have hugh size (approx 1 to 1.5 GB),  hence will be normally loaded in disk0 or disk1 or compactflash which are normally in 4GB range in PRP-2 or PRP-3 processor cards in GSR.

 

Yes.. in case you are converting a node from IOS to XR, then in romon, you need to first unset the boot variable prior to start of TURBOBOOT process.. Then TURBOBOOT process will automatically set the boot variable to load XR from disk as part of the process itself.

 

=== > Can we keep both IOS & IOS XR in the same disk ( for exp disc 0:) if it has sufficient space available?

Anil:  Yes... you can. As part of TURBOBOOT process boot variable will getting changed to load XR. This is not an issue. But normally we will be using a dedicated disk. As all OS & config files will be stored in disk in case of node running XR while in IOS- all OS & config files are in memory while node is running.

 

 

 

 

 

 

View solution in original post

13 Replies 13

Hello Anil,

How do I identify in XR whether a process is a kernel process or non-kernel process?  And whether it is a critical process for node to be up and running; so that  care can be taken while manually restarting a process? Appreciate your help on this.

 

Thank you,

Lisa

Hi Lisa,

            Greetings. In IOS XR- Microkernel & the process manager together form PROCNTO process. Procnto process is a main kernel process in XR.  Apart from these there are few kernel services which assist in kernel operations are part of Kernel processes. As discussed in the training; kernel process is non-restartable/non-Respawn. . As restarting a Kernel process will cause a node to reload. kernel processes will have “Respawn: OFF” .

Remaining all other process are non-kernel processes and implemented as part of User space of IOS XR. All user space processes offer restartability

++ In XR we group processes which are important for system functionality & stability as Mandatory & Critical processes.

You can list out processes which are mandatory for node to be working with below command. You can see “Mandatory flag” set to ON for such processes.

RP/0/8/CPU0:pearljam#show processes Mandatory

Tue Jun 24 10:33:11.132 CEST

JID    LAST STARTED            STATE    RE-     PLACE-  MANDA-  MAINT- NAME(IID) ARGS

                                        START   MENT    TORY    MODE

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

93     01/16/2014 10:28:43.258 Run      1               M      Y      wd-critical-mon(1) 

55     01/16/2014 10:28:43.258 Run      1               M      Y      dllmgr(1) -r 60 -u 30

64     01/16/2014 10:28:43.258 Run      1               M      Y      mbus-prp-a(1) 

65     01/16/2014 10:28:43.258 Run      1               M      Y      mbus-prp-b(1) 

79     01/16/2014 10:28:43.258 Run      1               M      Y      pkgfs(1) 

78     01/16/2014 10:28:43.258 Run      1               M      Y      pipe(1) –

 

RP/0/8/CPU0:pearljam#show processes all location all

Tue Jun 24 10:33:40.854 CEST

node:      node0_0_CPU0

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

JID    LAST STARTED            STATE    RE-     PLACE-  MANDA-  MAINT- NAME(IID) ARGS

                                        START   MENT    TORY    MODE

 

66     01/16/2014 15:16:28.547 Run      1               M      Y      mqueue(1) -d

62     01/16/2014 15:16:28.547 Run      1               M      Y      mbus-lc(1) 

65     01/16/2014 15:16:28.547 Run      1               M      Y      mq(1) -d

63     01/16/2014 15:16:28.547 Run      1                      Y      mbus_text(1) 

64     Not configured          None     0                      Y      cat(1) /pkg/etc/motd

72     Not configured          None     0                      Y      platform_dllmap(1) 

83     01/16/2014 15:16:28.547 Run      1               M      Y      timesync_client(1) 

79     01/16/2014 15:16:28.547 Run      1                      Y      shmwin_svr(1) 

54     01/16/2014 15:16:28.547 Run      1                      Y      fault_mgr(1) 

57     01/16/2014 15:16:28.547 Run      1                      Y      iic_server(1) 

67     Not configured          None     0                      Y      nname(1) 

52     01/16/2014 15:16:28.547 Run      1                      Y      dumper(1) 

 

++ When a Mandatory process fails or crashes in IOS XR, system will try to recover the process by restarting a number of times till it recovers. But failing to recover will lead to node restart/reload.

++ With regard to care to be taken for manually restarting a Mandatory process with regard to impact caused (node reload or RP switchover). We cannot generalize the impact among all Mandatory processes restart saying that for every Mandatory process restart will cause node reload or RP switchover. We need to understand & analyze the impact per process basis depending on its function. And there is a pre-defined behavior that a process will go through in-case of crash or manual restart. And this varies from process to process.

 

ashvinpaija
Level 1
Level 1

Hello Anil,

Really very nice presentation with the informative content

This presentation video on IOS XR is really informative. 

 

I have little queries..

==> When you were changing the OS from IOS to IOS XR.. at that time you have shown the boot image with  sh dir command and the IOS XR was place in the disk 0:

My question is .. from where did you get this IOS XR placed in disk o:?   Was it already there in router? or did you save in router from TFTP server?

=== > What is SDR and what is it's importance in IOS XR?

=== > If we buy a brand new GSR router then what would be the default IOS in flash? Will it be IOS or IOS XR as it supports IOS & IOS XR both.. 

Do we need to check in flash file whether which one is set as boot file in flash? 

=== > Can we keep both IOS & IOS XR in the same disk ( for exp disc 0:) if it has sufficient space available?

 

 

Thanks

 

Ashvin

 

 

 

 

Hi Ashvin,

                 Thanks for your kind comments. Please see my answers inline.

 

==> When you were changing the OS from IOS to IOS XR.. at that time you have shown the boot image with  sh dir command and the IOS XR was place in the disk 0:

My question is .. from where did you get this IOS XR placed in disk o:?   Was it already there in router? or did you save in router from TFTP server?

 

Anil:  Prior to IOS to XR conversion. My GSR lab router was booted from bootflash: and I had copied the .vm files to disk0: using TFTP.

 

Normally prior to planning IOS to XR conversion , you need to make sure that your mini.vm file is available on one of the disks (disk0: or disk1; or compact flash) or you can also load them from TFTP server (proper TFTP setting needed in romon for this).

 

TURBOBOOT=on,disk0          - This command in romon, says that during turboboot process extracted packages from mini.vm file will be stored in disk0 location. Even your future PIE files , SMU files you wish to install will also be extracted and copied to disk0: location. So disk0: in above TURBOBOOT command mentions your destination location where extracted packages of mini.vm file, extracted PIE files & extracted SMU files will get installed.

 

++while second command (boot disk0:c12kmini.vm) is used to point towards source location where your unextracted mini.vm files, PIE files & SMU files  are present. In my video I have  loaded un-extracted c12kmini.vm file in disk0: (as I had only single disk0: as it was a test lab router). But in case you have have mutliple disks (which is normally the case with production routers) you will be keeping your source files (c12kmini.vm , PIEs & SMU) in one disk or use TFTP and loading the extracted files to other disk (disk0: or disk1; or compact flash).

 

In summary:

TURBOBOOT=on,disk0         -- disk0: points to destination where extracted files after turboboot will be copied.

&

boot disk0: or boot disk1: or boot compactflash: or boot tftp:    -----This command points to location where your source files (c12kmini.vm , PIEs & SMU) are stored.

 

 

 

 

=== > What is SDR and what is it's importance in IOS XR?

Anil : SDR is secure domain router. In XR we have capability of logically dividing a physical router into logical routers. Each of these logical routers will be acting as individual routers & will be having separate configs. You can carve out SDRs from Admin mode by grouping RPs & LC into individual SDRs. Incase no SDRs are configured then router acts as a single SDR router. Please note RPs & LC only belongs to individual SDRs while your fabric cards, power supply, alarms cards etc will be part of admin resources & remain common to all SDRs.

 

 

 

=== > If we buy a brand new GSR router then what would be the default IOS in flash? Will it be IOS or IOS XR as it supports IOS & IOS XR both.. 

 

Do we need to check in flash file whether which one is set as boot file in flash? 

 

Anil:  Default OS in flash will depend on what OS (IOS or XR) is purchased from Cisco.  Please note that  XR package when unpacked will have hugh size (approx 1 to 1.5 GB),  hence will be normally loaded in disk0 or disk1 or compactflash which are normally in 4GB range in PRP-2 or PRP-3 processor cards in GSR.

 

Yes.. in case you are converting a node from IOS to XR, then in romon, you need to first unset the boot variable prior to start of TURBOBOOT process.. Then TURBOBOOT process will automatically set the boot variable to load XR from disk as part of the process itself.

 

=== > Can we keep both IOS & IOS XR in the same disk ( for exp disc 0:) if it has sufficient space available?

Anil:  Yes... you can. As part of TURBOBOOT process boot variable will getting changed to load XR. This is not an issue. But normally we will be using a dedicated disk. As all OS & config files will be stored in disk in case of node running XR while in IOS- all OS & config files are in memory while node is running.

 

 

 

 

 

 

Hello Anil,

 

Can you please help me with the following query on IOS to IOSXRV

I am looking for a virtual solution (based on IOS instances) running in a private cloud required to migrate physical Cisco 29xx IOS routers acting as CE's.

As currently there is no vIOS product offering from Cisco for the 29xx G2 physical platform, wondering if we can  propose the small version of IOSXRv to meet these requirements. Apparently, Cisco provides IOSv  as part of their All-in-one VM offerings for One Pk, but may not be suitable for this use case.Also, is it possible to check if there is any vIOS production release in the future road map?

Any ideas welcome.

Thanks and Regards.

Hi Mohan,

                 Greetings. Thanks for your interest in the event. It would be unfair for me to comment on your queries on IOSXRv as I myself donot work on this part. Let me point you a link in support forum which has many information & discussion on this topic and have contacts whom u can approach or post your queries to be answered correctly & with proper information about the topic IOSXRv.

 

https://supportforums.cisco.com/discussion/11920201/ios-xr-xrv

 

Hope this helps.

 

Thanks and regards

Anil Dantu

umi sea
Level 1
Level 1

Hi,

I need to performed the software upgrade for the crs-1

The chassis have to dual RP. 

My question : since there is 2 RP so i need repeat upgrade step twice for each RP. It is correct ?
 

Hi Umi,

            Greetings. You need to follow the upgrade steps on Active RP only. Standby RP will sync itself with Active RP. If You have console connections to both the RP, then during upgrade event.you can see sync logs on standby console . Once upgrade is complete & standby RP is in sync with Active RP u will not see any further events on standby console.

 

This will also apply for new PIE installation, new SMU installation. Standby RP will sync it self with active RP.

 

Thanks & regards

Anil

 

sunhans
Level 1
Level 1

Hi Anil,

This is really an helpful session and  most of the things are explained pretty well.Hope to have much more interactive session in near future.

ashish shirkar
Level 1
Level 1

Hello Anil ,

 

In XR,i have seen process is sometimes struck in MUTEX condition...what exactly is Mutex condition?

 

Regards,

Ashish

Hi Ashish,
          Greetings. If you refer to the training, we mentioned that in XR each process is allocated a dedicated, protected memory address space. In XR most of the processes will be multithreaded. Which mean there will be threads or sub-processes within the main process. For example process BGP will have keep-alive function, update functions etc running in the form of threads or sub-processes of main BGP process.


Threads or sub-processes within the main process will be sharing the dedicated, protected  memory address space allocated to main process among themselves. At any give point of time only one sub-process/thread should be accessing the shared memory address space allocated to main process. For example if one process is trying to access the shared memory while other process is updating the memory then results can be catastrophic. To address this issue kernel provides one mechanism called as Mutex.

Mutual exclusion lock or Mutex is used to ensure exclusive access to shared memory address space among threads while thread is using the memory address pace. This mean a thread or sub-process must first lock the Mutex before access the share memory address space of main process so that no other thread/sub process can access or change it. And after completing its task or operation on share memory, it should release the Mutex lock. After this next sub-process with higher priority in the queue will perform Mutex lock and perform its task and so on.


Thanks & regards
Anil

 

 

Hello Anil,

Why do XR nodes crash while we remove flash disk from running Route processor card when this it is not the case in IOS?

Thanks,

Alexander

Hi Alexander,

                   In IOS nodes.. operating system while bootup is copied from flash disk (bootflash: or disk0: ) into memory. And while node is running; its operating system is running from memory. In the same way while node boots in IOS, the startup config in NVRAM is copied to memory (we call it as running config). Hence  in IOS; both operating system & configuration file both are loaded in memory while the system is up & running. AS both OS & configs are in memory, removing the flash disk does not impact the functioning of the node.

 

While in IOS XR, when we install the OS using TURBOBOOT process. Operating system initially gets copied from flash disk ( eg disk0: )  to memory. And then finally gets copied back to flash disk in an unpacked form. As explained in the training. With respect to config files...in IOS XR there is no separation as running & startup config. There is only one config file known as primary persistent config file. This file is in binary format and is stored in flash disk under "config" folder. (the backup file to primary persistent config file known as secondary  persistent config file is also stored in ASCI format in the flash disk under the same  "config" folder ). Hence in XR both operating system and config files are stored in flash disk even when node is up & running. Hence when u remove your flash disk in XR on a running node, it will go down or crash.

 

Thanks and regards

Anil