《Cisco IOS XR技术精要》一2.2 Cisco IOS XR系统管理器

简介:

本节书摘来自异步社区《Cisco IOS XR技术精要》一书中的第2章,第2.2节,作者 【美】Mobeen Tahir , Mark Ghattas , Dawit Birhanu , Syed Natif Nawaz,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.2 Cisco IOS XR系统管理器

Cisco IOS XR技术精要
Cisco IOS XR具有数百个同时运行在多个节点上的进程。一些进程与某些应用和协议相关。例如进程telnetd和isis分别指代Telnet守护进程(服务器)和IS-IS路由选择协议。另一些进程则专用于系统功能,如设备驱动器、进程间通信、系统状态监测、文件系统、配置管理、软件升级管理等。这类进程始终是运行着的。

IOS XR系统管理器是一个在系统引导、RP故障、软件激活期间负责对大多数进程执行启动、监控、重启、终结、信息转储操作,以及对路由器配置做出反应的中心实体。系统管理器还可以基于进程健康状态执行灾难恢复操作。系统管理器运行于系统的每个引擎及线卡中。每个节点上运行着sysmgr进程的两个实例。其中一个实例作为主sysmgr,负责系统管理器的所有职责;另一个实例扮演备用进程的角色,如果处于某些原因主sysmgr退出的话,备sysmgr进程将接管主进程的职能。

系统管理器的主要功能如下。

在系统引导或节点重启期间启动进程。
在路由处理器(RP)故障切换期间启动进程。
根据用户的配置做出响应启动进程;例如,当用户使用命令router ospf< process-na_me>配置OSPF进程时,系统管理器会启动一个新的OSPF进程实例。
充当所有进程相关信息的中心存储器。
基于进程健康状态执行灾难恢复。
当进程异常中断时,使用转储器来收集转储信息。

2.2.1 进程属性

系统管理器会将储存于引导文件中的进程属性应用到其管理的每个进程上。引导文件类似于一种可执行文件,位于/pkg/startup/目录下,其中包含了系统管理器管理相应进程所使用的属性信息。例2-4中列出了OSPF、FIB管理器,以及GSP进程的引导文件。

例2-4 OSPF、FIB_mgr和GSP进程的引导文件


6a40f30796d8140a10fd1338ba71a980f1188016

name属性相当于进程名称和对应的可执行文件。path属性表示可执行文件存放的路径位置。如果设置了level属性,将意味着进程将会在引导期间按照一定的等级来启动。在系统引导期间,系统管理器使用level属性来确定进程的启动顺序。引导期间的启动顺序可参考表2-2。用户可以使用命令show process boot location< r/s/m>来查看引导顺序、启动等级,以及进程在何时变成了ready状态。


d53883a121c1808f7601240f59061dd0228abc0b

如果设置了item属性,则表示在用户输入配置或引导期间向系统数据库(sysdb)中加载配置时,对应的进程将会被启动或终止。当引导文件中定义的配置项添加进sysdb时,将启动相关进程。例如,当用户输入并commit(提交)配置router ospf < process-name >,系统管理器将启动一个OSPF进程实例。系统数据库将在2.6节中做更深入的介绍。

如果进程的mandatory属性设置为ON,将被认为对节点的功能至关重要,这类进程可以是运行IOS XR的任何子系统,比如线卡、路由处理器(RP)、服务处理器(SP),或交换矩阵卡模块。如果一个设置了mandatory属性的进程退出或终止(die),并且在数次尝试后未能成功地重启,系统管理器将重启该节点。

如果placement属性设置为ON,表示相关的进程是可迁移的,并可以运行在路由器上的任何活动RP或DRP节点上。有关进程迁移的内容将在本章后续部分继续介绍。

系统管理器会为每个可执行文件分配一个独一无二的作业ID(JID)。JID在进程重启的过程中保持不变。除了JID,每个进程还会在启动或重启时被分配一个唯一的进程ID(PID)。如果进程重启,将被分配一个新的PID号,不过仍沿用最初的JID号。

某些进程,例如telnetd,是一种在响应用户请求(如telnet路由器)时启动的临时进程。这类临时进程不受系统管理器管理,其JID根据进程ID(PID)得出。由于临时进程的启动不受系统管理器控制,所以不需要引导文件。

2.2.2 系统管理器与进程生命周期

系统管理器用于监控每个进程的健康状况。图2-4给出了系统管理器与进程的生命周期。当系统管理器启用某个进程时,将伴随启动一个初始化结束(EOI)计时器。在进程启动并完成初始化之后,将会发送EOI信号告知系统管理器。如果进程的EOI计时器在sysmgr收到EOI信号之前到期,sysmgr将会宣告进程初始化失败。


7c4a65185e146d3ff2fe1e551aaccf507cfd742a

2.2.3 Sysmgr与进程的CLI

系统管理器提供了一组丰富的命令用来查看进程状态(启动、终止、紧急中断[crash]、重启)和配置进程属性。命令show process [< process-name> | < JID >] location < r/s/m>可查看进程的数据及状态。例2-5是一例在活动RP上查看IS-IS进程的命令输出。

例2-5 IS-IS进程与线程


e6623a2e82633ef9c0b3df00bb81956f5079eaf2

IOS XR中进程的各关键属性释义如下。

  • 作业ID(JID):JID号始终保持一致,甚至进程重启。
  • 进程ID(PID):进程重启,PID字段改变。
  • 线程ID(TID):一个进程可以具有多个线程来执行特定的进程任务。
  • 可执行文件路径(Executable path):引用进程可执行文件的路径。如果执行了在线软件更新操作,可能还会显示“executable path on reboot”字段。
  • 实例(Instance):在特定时间内,可能会同时运行着多个进程实例。每个实例通过一个数字来引用。
  • 重生计数(Respawn count):进程已经(重新)启动的次数。进程首次启动时,重生计数为1。重生模式可以是on或off。该字段表示此进程是否可以从故障中自动重启。
  • 每分钟最大重生数(Max spawns per minute):一分钟内的最大重生次数。如果超出了此计数,进程将通过自身防御机制停止重启。
  • 最后启动日期时间(Last started):进程最后一次启动的时间戳。
  • 进程状态(Process state):进程当前的状态。
  • 启动配置信息(Started on config):指出含有进程重生相关配置数据的系统数据库(SysDB)的位置。
  • 核心(core):核心文件中的内存段。
  • 最大转储数(Max.core):核心文件的转储次数。0意味着无限次数。
  • 强制性(Mandatory):指出此进程是否为强制性进程。如果为强制性进程,而且sysmgr在连续数次尝试后仍未能正常启动或重启,那么将会引起系统重新启动。

之前介绍过,每个进程又带有多个线程,线程通过线程ID(TID)来标识。此外,在某些情况下,每个线程都被分配了一个线程名称。使用命令show process threadname < JID >可以查看某个进程带有的线程的线程名称。注意,用户可以使用命令show process来列出所有进程的JID,也可以通过命令show process < process-name >来查看某个进程的详细信息。例2-6给出了IS-IS进程的线程名称。其中,进程下的某些线程可能是属于某些DLL库的。例如,在例2-6中的IS-IS进程里,chkpt_evm就不是一个IS-IS线程,而是属于运行在IS-IS进程空间内的一个检查点DLL库。

例2-6 查看IS-IS线程名称


ee51842375320ba1d55bee32c223b826ec16caef

用户可以使用命令process [start | restart | crash | shutdown] [< process-name > | < JID >] location < r/s/m >来启动、重启、紧急中断,或结束节点上的某个进程。

相关文章
|
21天前
|
搜索推荐 Android开发 iOS开发
安卓与iOS系统的用户界面设计对比分析
本文通过对安卓和iOS两大操作系统的用户界面设计进行对比分析,探讨它们在设计理念、交互方式、视觉风格等方面的差异及各自特点,旨在帮助读者更好地理解和评估不同系统的用户体验。
18 1
|
24天前
|
数据采集 网络协议 开发工具
如何进行iOS技术博客的备案?
如何进行iOS技术博客的备案?
22 2
|
24天前
|
移动开发 安全 数据安全/隐私保护
iOS代码混淆和加固技术详解
iOS代码混淆和加固技术详解
27 0
|
2月前
|
搜索推荐 Android开发 iOS开发
探析安卓与iOS系统的优劣
【2月更文挑战第7天】安卓与iOS是当今手机市场上最主流的两款操作系统,各有优劣。本文将从用户体验、开放程度、生态系统等方面对两者进行深入探析,以期帮助读者更好地了解它们的特点。
|
2月前
|
Android开发 数据安全/隐私保护 iOS开发
安卓与iOS系统的发展趋势与比较分析
【2月更文挑战第6天】 在移动互联网时代,安卓和iOS系统作为两大主流移动操作系统,各自呈现出不同的发展趋势。本文将从技术角度出发,对安卓和iOS系统的发展方向、特点及未来趋势进行比较分析,以期为读者提供更深入的了解和思考。
33 4
|
4月前
|
网络安全 开发者 iOS开发
iOS技术博客:App备案指南
本文介绍了移动应用程序(App)备案的重要性和流程。备案是规范App开发和运营的必要手段,有助于保护用户权益、维护网络安全和社会秩序。为了帮助开发者更好地了解备案流程,本文提供了一份最新、最全、最详的备案指南,包括备案目的、好处、对象、时间、流程、条件和注意事项等内容。
iOS技术博客:App备案指南
|
1月前
|
机器学习/深度学习 测试技术 API
iOS系统下轻松构建自动化数据收集流程
iOS系统下轻松构建自动化数据收集流程
21 0
|
1月前
|
搜索推荐 安全 Android开发
安卓与iOS系统的用户体验比较
【2月更文挑战第11天】 在当今移动设备市场上,安卓和iOS系统一直是两大主流操作系统。本文将从用户界面设计、应用生态、系统定制性等方面对安卓和iOS系统进行比较分析,旨在探讨两者的优势和劣势,为用户选择合适的操作系统提供参考。
|
2月前
|
人工智能 vr&ar Android开发
探索安卓与iOS系统的发展趋势
【2月更文挑战第9天】 过去,人们对于安卓和iOS系统的争论主要集中在性能、用户体验和生态系统的比较上。然而,随着移动互联网的快速发展,两大操作系统在人工智能、物联网、安全性等方面的发展趋势也备受关注。本文将探讨安卓与iOS系统在技术发展方面的差异以及未来的发展趋势。
|
2月前
|
搜索推荐 Android开发 iOS开发
探讨安卓与iOS系统的用户体验差异
【2月更文挑战第7天】 在当今移动互联网时代,安卓和iOS系统是最受欢迎的手机操作系统。本文将从用户界面设计、应用生态系统、定制性能等方面探讨安卓与iOS系统的用户体验差异,为读者提供更深入的了解。