天天看点

《Cisco IOS XR技术精要》一2.6 Cisco IOS XR系统数据库

本节书摘来自异步社区《cisco ios xr技术精要》一书中的第2章,第2.6节,作者 【美】mobeen tahir , mark ghattas , dawit birhanu , syed natif nawaz,更多章节内容可以访问云栖社区“异步社区”公众号查看

cisco ios xr技术精要

由于ios xr是为大型分布式系统而设计的,因此,在配置和可操作数据上,使用一种分布式的数据存储机制是至关重要的。在ios xr中,一套系统包括一台或多台安全域路由器(sdr)。每块lc或rp只能关联到一台sdr上。不过,sdr可以共享某些常用硬件组件,包括机框、电源、风扇、风扇控制器,以及矩阵卡。

cisco ios xr系统数据库(sysdb)为应用提供了如储存、修改、访问系统信息等常见机制。sysdb通过层次性的命名空间构建了完全分布的内存数据存储。这是通过将sysdb命名空间分割成admin(管理)、shared(共享)和local(本地)三个独立平面来实现的。每个sysdb服务器进程只与共享平面、本地平面或管理平面其中的某个精确地相关联,并且只能访问自己平面内的数据。sysdb用于存放配置(cfg)和运行状态(oper)数据。cfg sysdb中通常是用户可配置的数据,如接口ip地址。oper sysdb中存放系统的运行状态数据,如接口协议的up/down状态。

cisco ios xr sysdb可提供以下服务。

由层次化命名空间构成的分布式内存数据存储。sysdb同时可存储配置和运行状态数据。

访问数据。应用组件(如bgp、arp、fib)和管理实体(如xml、cli、snmp)可以创建、删除、设置、获取sysdb数据。cfg sysdb数据只能由管理实体来创建、删除或修改。oper sysdb数据只能由应用组件来创建、删除或修改。sysdb还可提供列表及查找操作。

当一个应用或管理实体试图创建、更新或删除某条数据时,sysdb会向其注册的应用发送一条确认消息。如果应用接受修改,sysdb将向应用发送一条执行消息,随后应用执行修改操作。

提供通告服务。当数据被创建、删除或修改时,相应的应用会收到通告信息。

应用还可注册成外部数据管理器(edm)来管理对sysdb命名空间分支(子树)的访问。对已注册edm子树的访问请求将会被sysdb重定向到edm应用。

共有4种以分布方式运行的不同sysdb进程类型组成了sysdb的命名空间。表2-4列出了sysdb进程。图2-7显示了sysdb进程是如何与其他sysdb进程以及应用或管理进程进行交互的。

《Cisco IOS XR技术精要》一2.6 Cisco IOS XR系统数据库

sysdb的功能及操作可以通过以下这个例子来解释。比如某个用户进入全局配置模式并修改了配置。注意在cisco ios xr中,用户需要commit(提交)来使修改的配置应用到系统上。用户修改了接口tengig0/2/0/0的ip地址并将其加入到ospf区域0中。接下来用户试图使用命令commit提交配置。下文解释了当用户commit配置之后,sysdb是如何工作的。

《Cisco IOS XR技术精要》一2.6 Cisco IOS XR系统数据库

活动rp上的config进程发送一条消息给本地sysdb客户端。sysdb客户端会向共享平面sysdb服务器发送一条ospf部分的配置确认消息,同时向2槽位(0/2/cpu0)的本地平面sysdb服务器发送一条接口部分的配置确认消息。

在共享平面sysdb服务器注册了ospf配置数据确认消息之后,会向ospf进程发送一条消息。ospf进程接受配置修改后,sysdb服务器将会向ospf进程发送配置应用请求。随后sysdb更新配置数据。

与此同时,0/2/cpu0上的本地sysdb服务器注册了接口配置数据确认消息之后,会向ipv4_ma进程发送一条消息。ipv4_ma进程负责管理本地节点上接口的ipv4相关配置。ipv4_ma接受配置修改后,sysdb服务器会向ipv4_ma进程发送配置应用请求,随后sysdb更新配置数据。

总的来说,应用组件或管理实体可以通过与sysdb注册来实现:

访问或提供配置数据;

访问或提供操作数据;

确认数据修改;

通告数据修改;

作为edm管理sysdb子树。

sysdb提供了查看通知、验证注册、连接、追溯,以及与sysdb客户端和服务器相关的cli命令。

比如想要确认sysdb中ipv4_static进程已注册的验证信息,使用命令show sysdb registrations verification < ipv4_staticjid > shared-plane,如例2-16所示。

例2-16 sysdb验证注册

《Cisco IOS XR技术精要》一2.6 Cisco IOS XR系统数据库

如果想要确认sysdb中bgp进程已注册的通知信息,使用命令show sysdb registrations notification < bgp jid> shared-plane,如例2-17所示。

例2-17 sysdb通知注册

《Cisco IOS XR技术精要》一2.6 Cisco IOS XR系统数据库

想要确认与用作edm的statsd进程注册的是哪个sysdb子树,使用命令show sysdb registrations emdjob < statsd jid> location < r/s/m>,如例2-18所示。

例2-18 使用sysdb注册成edm的进程

《Cisco IOS XR技术精要》一2.6 Cisco IOS XR系统数据库

对于管理平面sysdb服务器,需要在admin模式下使用show sysdb命令。