简介
本文档介绍Cisco Prime访问注册器(CPAR)身份验证、授权和记帐(AAA)VM部署。此过程适用于使用NEWTON版本的OpenStack环境,其中ESC不管理CPAR,并且CPAR直接安装在OpenStack上部署的虚拟机(VM)上。
作者:Karthikeyan Dachanamoorthy,思科高级服务部。
背景信息
Ultra-M是经过预先打包和验证的虚拟化移动数据包核心解决方案,旨在简化VNF的部署。OpenStack是适用于Ultra-M的虚拟化基础设施管理器(VIM),由以下节点类型组成:
- 计算
- 对象存储磁盘 — 计算(OSD — 计算)
- 控制器
- OpenStack平台 — 导向器(OSPD)
Ultra-M的高级体系结构和涉及的组件如下图所示:

本文档面向熟悉Cisco Ultra-M平台的思科人员,详细介绍在OpenStack和Redhat操作系统上需要执行的步骤。
注意:Ultra M 5.1.x版本用于定义本文档中的过程。
CPAR VM实例部署过程
登录到Horizon Interface。
在开始执行VM实例部署过程之前,请确保已实现这些目标。
- 安全外壳(SSH)与VM或服务器的连接
- 更新主机名,并且/etc/hosts中应具有相同的主机名
- 该列表包括安装CPAR GUI所需的RPM

步骤1.从Horizon接口打开任何Internet浏览器和相应的IP地址。
步骤2.输入正确的用户凭证,然后单击Connect按钮。

将RHEL映像上传到水平线
步骤1.导航到内容存储库并下载名为rhel-image的文件。这是用于CPAR AAA项目的自定义QCOW2 Red Hat映像。
步骤2.返回Horizon选项卡,然后按照如图所示的路由Admin > Images。

步骤3.单击“创建映像”按钮。填写标记为“映像名称”和“映像说明”的文件,选择之前在第1步下载的QCOW2文件。通过单击“文件”部分的“浏览”,然后在“格式”部分选择QCOW2-QUEMU Emulator选项。
然后单击Create Image,如图所示。

创建新风格
Flavors表示每个实例架构中使用的资源模板。
步骤1.在“水平面”顶部菜单中,导航到Admin > Flavors,如图所示。

图4 “Horizon Flavors”部分。
步骤2.单击Create Flavor按钮。
步骤3.在Create Flavor窗口中,填写相应的资源信息。这是用于CPAR Flavor的配置:
vCPUs 36
RAM (MB) 32768
Root Disk (GB) 150
Ephemeral Disk (GB) 0
Swap Disk (MB) 29696
RX/TX Factor 1

第4步:在同一窗口中,单击Flavor Access,然后选择将使用此样式配置的项目(即Core)。
步骤5.单击Create Flavor。
创建主机聚合/可用性区域
步骤1.在“水平面”顶部菜单中,导航至Admin > Host Aggregates,如图所示。

步骤2.单击Create Host Aggregate按钮。
步骤3.在标签Host Aggregate Information* 中,使用对应信息填写Name 和Availability Zone 字段。对于生产环境,目前使用此信息,如图所示:
第4步:点击Manage Hosts within Aggregate选项卡,然后点击需要添加到新可用区域的主机的按钮+ 。

步骤5.最后,单击Create Host Aggregate按钮。
启动新实例
步骤1.在“水平面”顶部菜单中,导航至项目>实例,如图所示。

步骤2.单击Launch Instance按钮。
第3步:在Details选项卡中,为新虚拟机输入适当的Instance Name,选择对应的Availability Zone(即AZ-aaa),并将Count设置为1,如图所示。
步骤4.单击Source选项卡,然后选择并执行下列步骤之一:
1.基于RHEL映像启动实例。
按如下所示设置配置参数:
- 选择引导源:图像
- 创建卷:无
- 从Available菜单中选择对应的图像(即redhat-image)


2.基于快照启动实例。
按如下所示设置配置参数:
- 选择引导源:实例快照
- 创建卷:无
- 从可用菜单中选择相应的快照(即aaa09-snapshot-June292017)


步骤5.单击Flavor选项卡,然后选择Create a New Flavor部分中创建的Flavor。

步骤6.单击Networks选项卡,并选择将为新实例/虚拟机的每个以太网接口使用的相应网络。此设置当前正用于生产环境:
- eth0 = tb1-mgmt
- eth1 = diameter-routable1
- eth2 = radius-routable1
步骤7.最后,单击Launch Instance按钮以开始部署新实例。
创建并分配浮动IP地址
浮动IP地址是可路由地址,这意味着它可从Ultra M/OpenStack体系结构外部访问,并且能够与网络中的其他节点通信。
步骤1.在Horizon顶部菜单中,导航到Admin > Floating IPs。
步骤2.单击Allocate IP to Project按钮。
步骤3.在分配浮动IP窗口中,选择新浮动IP所属的池、将分配它的项目以及新的浮动IP地址本身。
例如:

步骤4.单击Allocate Floating IP按钮。
步骤5.在“展望期”顶部菜单中,定位至“项目”>“实例”。
步骤6.在操作列中,单击创建快照按钮中指向下方的箭头,此时将显示菜单。选择关联浮动IP选项。
步骤7.在IP地址字段中选择要使用的相应浮动IP地址,然后从要在要关联的端口中分配此浮动IP的新实例中选择相应的管理接口(eth0),如图所示。

步骤8.最后,点击Associate按钮。
启用 SSH
步骤1.在“展望期”顶部菜单中,导航至“项目”>“实例”。
步骤2.点击在启动新实例部分中创建的实例/VM的名称。
步骤3.单击Console选项卡。这将显示VM的命令行界面。
步骤4.显示CLI后,输入正确的登录凭证:
username:xxxxx
密码:xxxxx
步骤5.在CLI中,输入命令vi /etc/ssh/sshd_config以编辑SSH配置。
步骤6.打开SSH配置文件后,请按I编辑该文件。然后查找此处显示的部分,并将第一行从PasswordAuthentication no更改为PasswordAuthentication yes。

步骤7.按ESC并输入:wq!以便保存sshd_config文件更改。
步骤8.执行命令service sshd restart。

步骤9.为了测试已正确应用SSH配置更改,请打开任何SSH客户端,并尝试与分配给实例的浮动IP(即10.145.0.249)和用户root建立远程安全连接。

建立SSH会话
使用要安装应用的相应VM/服务器的IP地址打开SSH会话。

上传CPAR软件和许可证
步骤1.从思科软件平台下载相应的CPAR版本安装脚本(CSCOar-x.x.x-lnx26_64-install.sh):https://software.cisco.com/download/release.html?mdfid=286309432&flowid=&softwareid=284671441&release=7.2.2.3&relind=AVAILABLE&rellifecycle=&reltype=latest

步骤2.将CSCOar-x.x.x.x-lnx26_64-install.sh文件上传到新VM/Server的/tmp目录。
步骤3.将相应的许可证文件上传到/tmp目录下的新VM/服务器。

上传RHEL/CentOS映像
将相应的RHEL或CentOS .iso文件上传到VM/server/tmp目录。

创建Yum存储库
Yum是Linux的工具,帮助用户安装新的RPM及其所有依赖关系。此工具用于安装CPAR必备RPM以及执行内核升级程序时。
步骤1.使用命令cd/mnt导航到目录/mnt,并创建一个名为disk1的新目录,然后执行命令mkdir disk1。
步骤2.使用之前上载了RHEL或CentOS .iso文件的命令cd /tmp导航到/tmp目录,并按照第3.3节中提到的步骤操作。
步骤3.将RHEL/CentOS映像装载到在步骤1上创建的目录中。使用命令mount -o loop <name of the iso file> /mnt/disk1。
步骤4.在/tmp中,使用命令mkdir repo创建一个名为repo的新目录。然后,更改此目录的权限并执行命令chmod -R o-w+r repo。
步骤5.使用命令cd /mnt/disk1导航到RHEL/CentOS映像的Packages目录(装载在第3步中)。使用命令cp -v * /tmp/repo将所有软件包目录文件复制到/tmp/repo。
步骤6.返回回送目录并执行cd /tmp/repo,然后使用以下命令:
rpm -Uhvdeltarpm-3.6-3.el7.x86_64.rpm
rpm-Uvh python-deltarpm-3.6-3.el7.x86_64.rpm
rpm -Uvh createrepo-0.9.9-26.el7.noarch.rpm
这些命令将安装三个所需的RPM以安装和使用Yum。前面提到的RPM版本可能不同,取决于RHEL/CentOS版本。如果这些RPM中的任何一个/Packages目录中未包含,请参阅https://rpmfind.net网站,可从该网站下载。
步骤7.使用命令createrepo /tmp/repo创建新的RPM资料档案库。
步骤8.使用命令cd /etc/yum.repos.d/导航到目录/etc/yum.repos.d/。使用命令vi myrepo.repo创建一个名为myrepo.repo的新文件,其中包含此文件:
[local]
name=MyRepo
baseurl=file:///tmp/repo
enabled=1
gpgcheck=0
按I以启用插入模式。要保存并关闭,请按Esc键,然后输入“:wq!” 并按Enter键。
安装CPAR所需的RPM
步骤1.使用命令cd /tmp/repo导航到/tmp/repo目录。
步骤2.安装CPAR所需的RPM并执行下列命令:
yum install bc-1.06.95-13.el7.x86_64.rpm
yum install jre-7u80-linux-x64.rpm
yum install sharutils-4.13.3-8.el7.x86_64.rpm
yum install unzip-6.0-16.el7.x86_64.rpm
注意:RPM的版本可能不同,取决于RHEL/CentOS版本。如果这些RPM中的任何一个/Packages目录中未包含,请参阅https://rpmfind.net网站,可以在该网站上下载这些RPM。要下载Java SE 1.7 RPM,请参阅http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html并下载jre-7u80-linux-x64.rpm。
内核升级到3.10.0-693.1.1.el7版本
步骤1.使用cd /tmp/repo命令导航到/tmp/repo目录。
步骤2.安装kernel-3.10.0-514.el7.x86_64 RPM并执行命令yum install kernel-3.10.0-693.1.1.el7.x86_64.rpm。
步骤3.使用命令reboot重新启动VM/服务器。
步骤4.计算机重新启动后,验证内核版本是否已更新并执行uname -r命令。输出应为3.10.0-693.1.1.el7.x86_64。
设置网络参数
修改主机名
步骤1.以写入模式打开文件/etc/hosts,然后执行命令vi /etc/hosts。
步骤2.按I以启用插入模式并写入对应的主机网络信息,并遵循以下格式:
<Diameter interface IP> <Host’s FQDN> <VM/Server’s hostname>
例如:10.178.7.37 aaa07.aaa.epc.mnc30.mcc10.3gppnetwork.org aaa07
步骤3.保存更改并关闭文件,按ESC键,然后写入“:wq!” 并按Enter。
步骤4.执行命令hostnamectl set-hostname <Host's FQDN>。例如:hostnamectl set-hostname aaa.epc.mnc.mcc.3gppnetwork.org。
步骤5.使用命令service network restart重新启动网络服务。
步骤6.检验主机名更改是否已应用并执行命令:hostname -a和hostname -f,应显示VM/服务器的主机名及其FQDN。
步骤7.使用命令vi /etc/cloud/cloud_config打开/etc/cloud/cloud_config,并在“- update hostname”行前插入“#”。这是为了防止在重新启动后更改主机名。文件应如下所示:

设置网络接口
步骤1.使用cd /etc/sysconfig/network-scripts导航到directory /etc/sysconfig/network-scripts。
步骤2.使用命令vi ifcfg-eth0打开ifcfg-eth0。这是管理接口;其配置应如下所示。
DEVICE="eth0"
BOOTPROTO="dhcp"
ONBOOT="yes"
TYPE="Ethernet"
USERCTL="yes"
PEERDNS="yes"
IPV6INIT="no"
PERSISTENT_DHCLIENT="1"
执行任何所需的修改,然后按ESC键保存并关闭文件,然后输入:wq!。
步骤3.使用命令vi ifcfg-eth1创建eth1网络配置文件。这是diameter接口。按I进入插入模式并进入此配置。
DEVICE="eth1"
BOOTPROTO="none"
ONBOOT="yes"
TYPE="Ethernet"
USERCTL="yes"
PEERDNS="yes"
IPV6INIT="no"
IPADDR= <eth1 IP>
PREFIX=28
PERSISTENT_DHCLIENT="1"
修改<eth1 IP>以获取此实例的对应直径IP。一切就绪后,保存并关闭文件。
步骤4.使用命令dvi ifcfg-eth2创建eth2网络配置文件。这是radius接口。按I进入插入模式并输入以下配置:
DEVICE="eth2"
BOOTPROTO="none"
ONBOOT="yes"
TYPE="Ethernet"
USERCTL="yes"
PEERDNS="yes"
IPV6INIT="no"
IPADDR= <eth2 IP>
PREFIX=28
PERSISTENT_DHCLIENT="1"
修改<eth2 IP>以查找此实例的对应radius' IP。一切就绪后,保存并关闭文件。
步骤5.使用命令service network restart重新启动网络服务。使用命令ifconfig验证网络配置更改已应用。根据网络配置文件(ifcfg-ethx),每个网络接口都应具有一个IP。 如果eth1或eth2未自动启动,请执行命令ifup ethx。
安装CPAR
步骤1.执行cd /tmp命令导航到/tmp目录。
步骤2.使用命令chmod 775 ./CSCOar-x.x.x.x.-lnx26_64-install.sh更改./CSCOar-x.x.x.x.-lnx26_64-install.sh文件的权限。
步骤3.使用命令./CSCOar-x.x.x.x.-lnx26_64-install.sh启动安装脚本。

步骤4.对于Where do you want to install <CSCOar>?[/opt/CSCOar] [?,q],按Enter选择默认位置(/opt/CSCOar/)。
步骤5.在询问Where are the FLEXlm license files?(FLEXlm许可证文件位于何处?)之后[] [?,q]提供许可证的位置,该许可证应为/tmp。
步骤6.对于问题J2RE的安装位置?[] [?,q]输入安装Java的目录。例如:/usr/java/jre1.8.0_144/。
验证这是当前CPAR版本的相应Java版本。
步骤7.按Enter跳过Oracle输入,因为此部署中未使用Oracle。
步骤8.按Enter跳过SIGTRAN-M3UA功能。此部署不需要此功能。
步骤9.对于问题,是否希望CPAR作为非根用户运行?[n]:[y,n,?,q]按Enter以使用默认答案n。
步骤10.对于问题,是否要立即安装示例配置?[n]:[y,n,?,q]按Enter键以使用默认答案n。
步骤11.等待CPAR安装过程完成,然后验证所有CPAR进程都在运行。导航到目录/opt/CSCOar/bin并执行命令./arstatus。输出应如下所示:
配置SNMP
设置CPAR SNMP
步骤1.使用命令/cisco-ar/ucd-snmp/share/snmp/snmpd.conf 打开文件snmpd.conf,以包含所需的SNMP社区、陷阱社区和陷阱接收器IP地址:插入行trap2sink xxx.xxx.xxx.xxx cparaasnmp 162。
步骤2.执行命令cd /opt/CSCOar/bin,并使用命令./aregcmd登录到CPAR CLI,然后输入管理员凭据。
步骤3.移至/Radius/Advanced/SNMP,并发出命令set MasterAgentEnabled TRUE。使用save和quit CLI发出exit命令,保存更改。
步骤4.使用命令snmpwalk -v2c -c public 127.0.0.1 .1验证CPAR OID可用。
如果操作系统无法识别snmpwalk命令,请导航至/tmp/repo并执行yum install net-snmp-libs-5.5-49.el6.x86_64.rpm。
设置OS SNMP
步骤1.编辑文件/etc/sysconfig/snmpd以指定OS SNMP侦听程序的端口50161,否则,将使用默认端口161,该端口当前由CPAR SNMP代理使用。

步骤2.使用命令service snmpd restart重新启动SNMP服务。

步骤3.通过发出命令snmpwalk -v2c -c public 127.0.0.1:50161.1验证OS OID是否可以查询。

配置NTP
步骤1.验证NTP RPM是否已安装,请执行命令rpm -qa | grep ntp。输出应如下所示。

如果未安装RPM,请使用cd /tmp/repo导航到/tmp/repo目录,然后执行以下命令:
yum install ntp-4.2.6p5-25.el7.centos.x86_64
yum install ntpdate-4.2.6p5-25.el7.centos.x86:64
步骤2.使用命令vi /etc/ntp.conf打开/etc/ntp.conf文件,并为此VM/服务器添加相应的NTP服务器IP。
步骤3.关闭ntp.conf文件,然后使用命令service ntpd restart重新启动ntpd服务。
步骤4.使用命令ntpq -p验证VM/服务器现已连接到NTP服务器。
CPAR配置备份/恢复过程(可选)
注意:仅当现有CPAR配置要复制到此新VM/服务器中时,才应执行此部分。此过程仅适用于源和目标实例中使用相同CPAR版本的情况。
从现有CPAR实例获取CPAR配置备份文件
步骤1.打开与对应VM的新SSH会话,在该会话中将使用根凭证获取备份文件。
步骤2.使用命令cd /opt/CSCOar/bin导航到directory/opt/CSCOar/bin。
步骤3.停止CPAR服务并执行命令。/arserver stop执行此操作。
步骤4.使用命令./arstatus验证CPAR服务已停止,并查找消息Cisco Prime Access Registrar Server Agent not running。
步骤5.要创建新备份,请执行命令。/mcdadmin -e /tmp/config.txt。系统提示时,输入CPAR管理员凭据。
步骤6.使用命令cd /tmp导航到directory/tmp。名为config.txt的文件是此CPAR实例配置的备份。
步骤7.将config.txt文件上传到要还原备份的新VM/服务器。使用命令scp config.txt root@<new VM/Server IP>:/tmp。
步骤8.使用命令cd /opt/CSCOar/bin返回目录/opt/CSCOar/bin,然后使用命令./arserver start再次启动CPAR。
在新VM/服务器中恢复CPAR配置备份文件
步骤1.在新的VM/Server中,使用命令cd/tmp导航到目录/tmp,并验证是否存在config.txt文件,该文件已在从现有CPAR实例获取CPAR配置备份文件的第7步中上传。如果文件不存在,请参阅该部分并验证scp命令是否执行良好。
步骤2.使用命令cd /opt/CSCOar/bin导航到目录/opt/CSCOar/bin,然后通过执行./arserver stop命令关闭CPAR服务。
步骤3.要恢复备份,请执行命令。/mcdadmin -coi /tmp/config.txt。
步骤4.通过发出命令./arserver start再次启用CPAR服务。
步骤5.最后,使用命令./arstatus检查CPAR状态。输出应如下所示。