簡介
本檔案介紹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介面。
確保在開始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檔案。通過按一下「檔案」部分中的「瀏覽」,然後在Format部分中選擇QCOW2-QUEMU Emulator選項。
然後按一下「Create Image」,如下圖所示。

建立新風格
Flavors表示每個例項的體系結構中使用的資源模板。
步驟1。在「水平線」頂部選單中,導覽至Admin > Flavors,如下圖所示。

圖4 「Horizon Flavors」部分。
步驟2.按一下Create Flavor按鈕。
步驟3.在Create Flavor視窗中,填寫相應的資源資訊。以下是CPAR口味的配置:
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頁籤,然後選擇將用於新例項/VM的每個乙太網介面的相應網路。此安裝程式當前正用於生產環境:
- 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.在Allocate Floating IP視窗中,選擇新浮動IP所屬的Pool、將分配它的Project以及新的Floating IP Address本身。
舉例來說:

步驟4.按一下Allocate Floating IP 按鈕。
步驟5.在「展望期」頂部選單中,定位至「專案」>「常式」。
步驟6.在Action列中,按一下Create Snapshot按鈕中指向下方的箭頭,此時將顯示一個選單。選擇關聯浮動IP選項。
步驟7.在「IP Address 」欄位中選擇要使用的相應浮動IP位址,並從將在要關聯的連線埠中分配此浮動IP的新例項中選擇相應的管理介面(eth0),如下圖所示。

步驟8.最後,按一下Associate按鈕。
啟用SSH
步驟1。在「展望期」頂部選單中,定位至「專案」>「常式」。
步驟2.按一下在啟動新例項一節中建立的例項/VM的名稱。
步驟3.按一下Console 索引標籤。這將顯示VM的命令列介面。
步驟4.顯示CLI後,輸入正確的登入憑證:
使用者名稱: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.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檔案上傳到/tmp目錄下的新VM/Server。
步驟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將所有Packages目錄檔案複製到/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中的任一個RPM未包含在/Packages目錄中,請參閱https://rpmfind.net網站,您可以在該網站下載這些檔案。要下載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.使用commandvi 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.對於問題,您要將<CSCOar>安裝到何處?[/opt/CSCOar] [?,q],按Enter選擇預設位置(/opt/CSCOar/)。
步驟5.在詢問FLEXlm許可證檔案位於何處?[] [?,q]提供許可證的位置,該位置應為/tmp。
步驟6.對於J2RE安裝位置問題?[] [?,q]輸入安裝Java的目錄。舉例來說:/usr/java/jre1.8.0_144/。
驗證這是當前CPAR版本的相應Java版本。
步驟7.由於此部署中未使用Oracle,因此按Enter可跳過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 CPAR 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,以便為作業系統SNMP監聽程式指定埠50161,否則,將使用當前由CPAR SNMP代理使用的預設埠161。

步驟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 導航到目錄/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導航到目錄/tmp。名為config.txt的檔案是此CPAR例項配置的備份。
步驟7.將config.txt檔案上傳到將要還原備份的新VM/Server。使用命令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狀態。輸出應如下所示。