NorthStar 控制器系统需求
NorthStar 控制器在运行 Red Hat Enterprise Linux (RHEL) 的 Linux 系统上运行。
确保:
您使用的是瞻博网络验证的 CentOS Linux 或 Red Hat Enterprise Linux (RHEL) 版本。以下是我们对 Linux 的建议:
-
CentOS Linux 7.x 或 RHEL 7.x(7.6、7.7、7.9)或 8.x(8.4、8.10)映像。不支持早期版本。
注意:如果您使用 RHEL 8.x(8.4、8.10),请确保:
-
运行以下命令,安装旧版网络脚本和工具:
yum -y install net-tools bridge-utils ntp wget ksh telnet java-1.8.0-openjdk-headless network-scripts
-
移除以下 RPM 捆绑包:
rpm -e buildah cockpit-podman podman-catatonit podman
yum -y remove runc-1:1.1.12-5.module+el8.10.0+22346+28c02849.x86_64
-
如果您使用 RHEL 8.10,请确保在接收 JTI 数据包的接口上禁用反向路径过滤 (RPF)。请参阅 分析要求。
-
使用最小 ISO 安装您选择的受支持的 Linux 版本。
-
使用 服务器大小调整指南 中指定的 RAM、虚拟 CPU 数量和硬盘进行安装。
打开 防火墙端口指南中列出的端口。
升级 NorthStar 控制器时,文件将备份到 /opt 目录。
服务器大小调整指南
本节中的指南应帮助您为服务器配置足够的资源,以高效且有效地支持 NorthStar 控制器功能。本节中的建议是内部测试与现场数据相结合的结果。
典型的 NorthStar 部署包含以下系统:
应用系统
应用系统包含路径计算元素 (PCE)、路径计算服务器 (PCS)、用于 Web 访问、拓扑获取、CLI 或 SNMP 消息收集的组件以及配置数据库。
分析系统
分析系统用于遥测和收集 NetFlow 数据,并包含分析数据库。分析系统用于跟踪网络流量级别的部署。
(选答)专用收集器或辅助收集器
辅助收集器用于从大型节点收集 CLI 和 SNMP 消息,当需要大量收集数据时需要辅助收集器;请参阅 表 2。
(选答)专用计划器节点
在应用系统以外的系统上运行离线网络仿真需要计划器节点;请参阅 表 2。
对于 配置 NorthStar 群集以实现高可用性中所述的高可用性部署,一个群集将具有 3 个或更多应用程序和分析系统,但它们的大小与具有单个应用程序系统和单个分析系统的部署相似。
表 1 按网络规模概述了应用和分析系统的估计服务器需求。
实例类型 |
概念验证/实验室 (RAM / vCPU / 硬盘) |
中型(<75 节点) (RAM / vCPU / 硬盘) |
大型(<300 节点) (RAM / vCPU / 硬盘) |
XL(300+ 节点)* (RAM / vCPU / 硬盘) |
---|---|---|---|---|
应用 |
16G / 4vCPU / 500G |
64G / 8vCPU / 1T |
96G / 8vCPU / 1.5T |
128G / 8vCPU / 2T |
要在单个非高可用性 (HA) 系统上收集大量 SNMP 和 CLI 消息,可能需要额外的 16GB RAM 和 8 个 vCPU 或辅助收集器;请参阅 表 2。 |
||||
分析学 |
16G/ 4vCPU/ 500G |
48G / 6vCPU/ 1T |
64G / 8vCPU/ 2T |
64G / 12vCPU / 3T |
NetFlow 部署可能需要额外的 16G 到 32G RAM,并将分析系统上的虚拟 CPU 增加一倍。 |
||||
注意:
根据您网络中的设备数量,请咨询您的瞻博网络代表,以确认您对 XL 类别网络的具体要求。 |
表 2 概述了辅助收集器和专用计划器的估计服务器需求。
实例类型 |
概念验证/实验室 (RAM / vCPU / 硬盘) |
中型(<75 节点) (RAM / vCPU / 硬盘) |
大型(<300 节点) (RAM / vCPU / 硬盘) |
XL(300+ 节点) (RAM / vCPU / 硬盘) |
---|---|---|---|---|
多合一 |
24G / 8vCPU/ 1T |
不適用 |
不適用 |
不適用 |
次级收集器 |
8G / 4vCPU / 200G |
16G / 8vCPU / 500G |
16G / 8vCPU / 500G |
16G / 8vCPU / 500G |
专用计划器 |
8G / 4vCPU / 200G |
16G / 8vCPU / 1T |
16G / 8vCPU / 1T |
16G / 8vCPU / 1T |
根据活动计划器会话的数量和模型的复杂性,可能需要额外的 RAM。 |
||||
注意:
All-In-One 是一种配置,其中所有组件都安装在单个虚拟机中,仅用于演示目的。不建议将其用于旨在对生产部署进行建模的生产部署或实验室配置。 |
安装最小安装 CentOS 或 RHEL Linux 时,文件系统可以折叠为单个根 (/) 文件系统或单独的文件系统。如果您使用单独的文件系统,您可以根据 表 3 中提到的不同目录的大小为每个客户分配空间。
文件系统 |
空间要求 |
目的 |
---|---|---|
/靴子 |
1G |
Linux 内核和启动所需的文件 |
交换 |
0 到 4G |
不需要,但可以有最少的配置 |
/ |
10G |
操作系统(包括 /usr) |
/var/lib/docker |
20G |
容器化进程(仅限应用系统) |
/tmp |
24G |
发生进程错误时的 NorthStar 调试文件(仅限应用系统) |
/选择 |
文件系统中的剩余空间 |
NorthStar 组件 |
用于 ElasticSearch 中 JTI 分析的额外磁盘空间
需要相当大的存储空间来支持 ElasticSearch 中的 JTI 分析。每个 JTI 记录事件大约需要 330 字节的磁盘空间。生成的事件数的合理估计值为(接口数<数> + <LSP 数>)÷报告间隔(以秒为单位)= 事件/秒。
因此,对于具有 500 个路由器、50K 个接口和 60K 个 LSP 的网络,如果配置了 5 分钟报告间隔(300 秒),则每秒生成 366 个事件。按每个事件 330 个字节计算,一天可以达到 366 个事件 x 330 字节 x 86,400 秒 = 每天超过 10G 的磁盘空间或每年 3.65T。对于相同规模但只有一分钟报告间隔(60 秒)的网络,您将需要更大的磁盘空间 — 每天超过 50G 或每年超过 18T。
每个元素每小时会创建一个额外的汇总事件,用于数据聚合。在具有 50K 接口和 60K LSP(总共 110K 个元素)的网络中,您每小时将有 110K 个汇总事件。就磁盘空间而言,这将是每小时 110K 个事件 x 每个事件 330 字节 x 每天 24 小时 = 每天几乎需要 1G 的磁盘空间。
对于包含大约 100K 个元素(接口 + LSP)的典型网络,如果您有 5 分钟的报告间隔,我们建议您每天额外留出 11G 的磁盘空间;如果报告间隔为 1 分钟,则建议您每天额外留出 51G 的磁盘空间。
有关自定义数据聚合和保留参数以减少 ElasticSearch 所需的磁盘空间量的信息,请参阅《NorthStar 控制器用户指南》中的 NorthStar 分析原始数据保留和聚合数据保留。
Cassandra 中用于网络事件的额外磁盘空间
Cassandra 数据库是另一个需要额外磁盘空间来存储网络事件的组件。
使用 50K 接口和 60K LSP(110 个元素)的相同示例,并估计每个元素每 15 分钟(900 秒)一个事件,则每秒将有 122 个事件。所需的存储将是每秒 122 个事件 x 每个事件 300 字节 x 每天 86,400 秒 = 每天约 3.2 G,或每年 1.2T。
使用每个元素每 5 分钟发生一个事件而不是每 15 分钟一次作为估计值,额外的存储需求更像是每天 9.6G 或每年 3.6T。
对于包含大约 100K 个元素(接口 + LSP)的典型网络,我们建议您每天额外留出 3-10G 的磁盘空间,具体取决于网络中的事件生成速率。
默认情况下,NorthStar 会将事件历史记录保留 35 天。要自定义事件数据的保留天数,请执行以下操作:
修改中的 dbCapacity 参数
/opt/northstar/data/web_config.json
使用
supervisorctl restart infra:prunedb
命令重新启动 pruneDB 进程。
收集器(芹菜)内存要求
使用 collector.sh 脚本在与 NorthStar 应用程序分开的服务器(用于分布式收集)上安装辅助收集器时,该脚本将安装 表 4 中描述的默认数量的收集器工作线程。每个工作线程启动的芹菜进程数是 CPU 中的内核数加 1。因此,在 32 核服务器(例如)中,安装的默认工作线程将启动 33 个芹菜进程。每个芹菜过程使用大约 50M 的 RAM。
CPU 核心 |
已安装工作线程 |
总工作进程 |
所需的最小 RAM |
---|---|---|---|
1-4 |
4 |
20 (CPU +1) x 4 = 20 |
1 GB |
5-8 |
3 |
18 (CPU +1) x 2 = 18 |
1 GB |
16 |
1 |
17 (CPU +1) x 1 = 17 |
1 GB |
32 |
1 |
33 (CPU +1) x 1 = 33 |
2 千兆字节 |
有关分布式数据收集和辅助工作线程的详细信息,请参阅 分布式数据收集的辅助收集器安装 。
默认安装的工作线程数旨在优化服务器资源,但您可以使用提供的config_celery_workers.sh脚本更改该数。有关详细信息,请参阅 收集器工作器安装自定义 。您可以使用此脚本来平衡已安装的工作线程数与服务器上的可用内存量。
此脚本还可用于更改 NorthStar 应用程序服务器上安装的工作线程数从缺省值,这也遵循 表 4 中所示的公式。
防火墙端口指南
表 5 中列出的端口必须由正在使用的任何外部防火墙所允许。在其用途描述中带有该词cluster的端口与高可用性 (HA) 功能相关联。如果您不打算配置 HA 环境,则可以忽略这些端口。在其用途描述中包含该词Analytics的端口与“分析”功能相关联。如果您不打算使用 Analytics,则可以忽略这些端口。列出的其余端口必须在所有配置中保持打开状态。
Port |
Purpose |
---|---|
179 |
BGP:用于路由器 BGP-LS 的 JunosVM 或 cRPD — 如果使用 IGP 进行拓扑获取,则不需要。在 cRPD 安装中,路由器将端口 179/TCP (BGP) 直接连接到 NorthStar 应用服务器。cRPD 作为 NorthStar 应用程序服务器内的一个进程运行。Junos VM 和 cRPD 是互斥的。 |
161 |
SNMP |
450 |
NTAD公司 |
830 |
NorthStar 控制器和路由器之间的 NETCONF 通信。这是 NETCONFD 的默认端口,但在某些安装中,端口 22 是首选。要更改为端口 22,请访问 NorthStar CLI( 如使用 NorthStar CLI 配置 NorthStar 设置中所述),并修改端口设置的值。 set northstar netconfd device-connection-pool netconf port 使用命令。 |
1514 |
Syslog:用于 RPM 探针统计信息的默认 Junos 遥测接口报告(支持分析) |
1812 |
RADIUS 身份验证 |
2222 |
容器化管理守护程序 (cMGD)。用于访问 NorthStar CLI。 |
2888 |
Zookeeper 群集 |
3000 |
JTI:IFD、IFL 和 LSP 的默认 Junos 遥测接口报告(支持 NorthStar 分析)。在以前的 NorthStar 版本中,需要三个 JTI 端口(2000、2001、2002)。从版本 4.3.0 开始,将改用此单端口。 |
3001 |
模型驱动遥测 (MDT) |
3100 |
Ericsson 的流遥测技术。 |
3888 |
Zookeeper 群集 |
4000 |
MDT(管道)- Logstash 通信 |
4189 |
PCEP:PCC(路由器)到 NorthStar PCE 服务器 |
5000 |
cMGD-REST |
5672 |
兔子魔力象限 |
6379 |
Redis |
7000 |
通信端口到 NorthStar 计划器 |
7001 |
Cassandra 数据库群集 |
8123 |
当 NorthStar 控制器和分析安装在不同的服务器上时,运行状况监视器通知; |
8124 |
运行状况监视器 |
8443 |
Web:Web 客户端/REST 到安全 Web 服务器 (https) |
9000 |
Netflow |
9042 |
Remote Planner 服务器 |
9200 |
通过 HTTP 进行 Elasticsearch API 调用(监控、搜索和聚合)。 |
9201 |
当 NorthStar 控制器和分析服务器安装在不同的服务器上时,Elasticsearch。 |
9300 |
Elasticsearch 集群 |
10001 |
BMP 被动模式:默认情况下,监视器在此端口上侦听来自网络的传入连接。 |
17000 |
Cassandra 数据库群集 |
50051 |
PRPD:NorthStar 应用到路由器网络 |
图 1 详细说明了未使用节点群集时通过端口的数据流方向。 图 2 和 图 3 分别详细介绍了 NorthStar 应用 HA 群集和分析 HA 群集的其他流。
分析要求
除了确保端口 3000 和 1514 保持打开状态外,使用 NorthStar 分析功能还需要在必要时应对反向路径过滤 (RPF) 的影响。如果您的内核默认执行 RPF,则必须执行 one 以下操作以抵消其影响:
-
禁用 RPF。
-
确保探针的源 IP 地址有路由,该路由指向接收这些探针的接口。
-
指定松散模式反向过滤(如果源地址可通过任何接口上的任何路由进行路由)。
如果您使用 RHEL 8.10,请确保在接收 JTI 数据包的接口上禁用反向路径过滤 (RPF)。
以下命令是如何禁用 RPF 的示例:
sysctl -w net.ipv4.conf.all.rp_filter=0 sysctl -w net.ipv4.conf.ens3f0.rp_filter=0 sysctl -w net.ipv4.conf.ens3f2.rp_filter=0
双虚拟机安装要求
双 VM 安装是指 JunosVM 未与 NorthStar 控制器软件捆绑在一起的安装。
VM 映像要求
NorthStar 控制器应用程序 VM 安装在 Linux VM 之上,因此需要 Linux VM。可以通过以下任一方式获取 Linux VM 映像:
使用大多数 Linux 发行版提供的通用版本。通常,这些是基于云的映像,用于启用云初始化的环境中,不需要密码。这些映像与 OpenStack 完全兼容。
创建自己的 VM 映像。某些虚拟机管理程序(如通用 DVM)允许你创建自己的 VM 映像。如果您没有使用 OpenStack,并且您的虚拟机管理程序本身不支持 cloud-init,我们建议您使用此方法。
JunosVM 在 NorthStar 控制器包中以 Qcow2 格式提供。如果从 NorthStar 下载站点单独下载 JunosVM(未与 NorthStar 捆绑在一起),则会以 VMDK 格式提供。
JunosVM 映像仅与 IDE 磁盘控制器兼容。您必须将虚拟机管理程序配置为对 JunosVM 磁盘映像使用 IDE 而不是 SATA 控制器类型。
glance image-update --property hw_disk_bus=ide --property hw_cdrom_bus=ide
JunosVM 版本要求
如果具有并且希望继续使用低于 17.2R1 版的 JunosVM 版本,则可以更改 NorthStar 配置以支持该版本,但不支持分段路由。有关配置步骤,请参阅 安装 NorthStar 控制器 。
VM 网络要求
要使双 VM 安装方法成功,必须满足以下网络要求:
每个 VM 都需要以下虚拟 NIC:
一个连接到外部网络
一个用于 NorthStar 应用与 JunosVM 之间的内部连接
如果面向路由器的接口和面向客户端的接口之间需要不同的接口,则一个连接到管理网络
为了实现完全兼容,我们建议使用没有任何 NAT 的平面或路由网络。
只要使用 BGP-LS 作为拓扑获取机制,就可以使用具有一对一 NAT(通常称为浮动 IP)的虚拟网络。如果需要 IS-IS 或 OSPF 邻接关系,则应通过 GRE 隧道建立邻接关系。
注意:不支持具有 n 对 1 NAT 的虚拟网络。