内容

概要

前提条件

コンピューティングノードでホストされるVMの特定

グレースフルパワーオフ

コンピュートノードの停止 – 開始

VMのリストア

概要

このドキュメントでは、Cisco Policy Suite(CPS)仮想ネットワーク機能(VNF)をホストするUltra-Mセットアップで障害のあるコンピューティングサーバを停止して起動するために必要な手順について説明します。

注：このドキュメントの手順を定義するために、Ultra M 5.1.xリリースが検討されています。このドキュメントは、Cisco Ultra-Mプラットフォームに精通しているシスコ担当者を対象としており、Compute Serverの停止開始時にOpenStackおよびCPS VNFレベルで実行する必要がある手順の詳細を説明しています。

前提条件

バックアップ

コンピューティングノードを停止して起動する前に、Red Hat OpenStack Platform環境の現在の状態を確認することが重要です。複雑さを避けるために、現在の状態を確認することをお勧めします。

リカバリの場合は、次の手順を使用してOSPDデータベースのバックアップを取ることを推奨します。

<[root@director ~]# mysqldump --opt --all-databases > /root/undercloud-all-databases.sql

[root@director ~]# tar --xattrs -czf undercloud-backup-`date +%F`.tar.gz /root/undercloud-all-databases.sql

/etc/my.cnf.d/server.cnf /var/lib/glance/images /srv/node /home/stack

tar: Removing leading `/' from member names

このプロセスにより、インスタンスの可用性に影響を与えることなく、ノードを確実に交換できます。また、CPS構成のバックアップも推奨されます。

Cluster Manager Virtual Machine(VM)からCPS VMをバックアップするには、この設定を使用します。

[root@CM ~]# config_br.py -a export --all /mnt/backup/CPS_backup_28092016.tar.gz

コンピューティングノードでホストされるVMの特定

コンピューティングサーバでホストされているVMを特定します。

[stack@director ~]$ nova list --field name,host,networks | grep compute-10

| 49ac5f22-469e-4b84-badc-031083db0533 |  VNF2-DEPLOYM_s9_0_8bc6cc60-15d6-4ead-8b6a-10e75d0e134d     |  pod1-compute-10.localdomain    | Replication=10.160.137.161; Internal=192.168.1.131; Management=10.225.247.229; tb1-orch=172.16.180.129

注：ここに示す出力では、最初の列が汎用一意識別子(UUID)に対応し、2番目の列がVM名、3番目の列がVMが存在するホスト名です。この出力のパラメータは、以降のセクションで使用します。

シャットダウンするVM上のPCRFサービスを無効にする

1. VMの管理IPにログインします。

[stack@XX-ospd ~]$ ssh root@<Management IP>

[root@XXXSM03 ~]# monit stop all

2. VMがSM、OAMorArbiterの場合は、sessionmgrサービスを停止します。

[root@XXXSM03 ~]# cd /etc/init.d

[root@XXXSM03 init.d]# ls -l sessionmgr*

-rwxr-xr-x 1 root root 4544 Nov 29 23:47 sessionmgr-27717

-rwxr-xr-x 1 root root 4399 Nov 28 22:45 sessionmgr-27721

-rwxr-xr-x 1 root root 4544 Nov 29 23:47 sessionmgr-27727

3. sessionmgr-xxxxxという名前のForestyファイルで、サービスsessionmgr-xxxxxの停止を実行します。

[root@XXXSM03 init.d]# service sessionmgr-27717 stop

グレースフルパワーオフ

ESCからのVMのシャットダウン

1. VNFに対応するESCノードにログインし、VMのステータスを確認します。

[admin@VNF2-esc-esc-0 ~]$ cd /opt/cisco/esc/esc-confd/esc-cli

[admin@VNF2-esc-esc-0 esc-cli]$ ./esc_nc_cli get esc_datamodel | egrep --color "<state>|<vm_name>|<vm_id>|<deployment_name>"

<snip>

<state>SERVICE_ACTIVE_STATE</state>

<vm_name>VNF2-DEPLOYM_c1_0_df4be88d-b4bf-4456-945a-3812653ee229</vm_name>

<state>VM_ALIVE_STATE</state>

<vm_name> VNF2-DEPLOYM_s9_0_8bc6cc60-15d6-4ead-8b6a-10e75d0e134d</vm_name>

<state>VM_ALIVE_STATE</state>

<snip>

2. VM名を使用してVMを停止します。（「コンピューティングノードでホストされているVMを特定する」セクションに記載されているVM名）。

[admin@VNF2-esc-esc-0 esc-cli]$ ./esc_nc_cli vm-action STOP VNF2-DEPLOYM_s9_0_8bc6cc60-15d6-4ead-8b6a-10e75d0e134d

3.いったん停止すると、VMはシャットオフ状態に入る必要があります。

[admin@VNF2-esc-esc-0 ~]$ cd /opt/cisco/esc/esc-confd/esc-cli

[admin@VNF2-esc-esc-0 esc-cli]$ ./esc_nc_cli get esc_datamodel | egrep --color "<state>|<vm_name>|<vm_id>|<deployment_name>"

<snip>

<state>SERVICE_ACTIVE_STATE</state>

<vm_name>VNF2-DEPLOYM_c1_0_df4be88d-b4bf-4456-945a-3812653ee229</vm_name>

<state>VM_ALIVE_STATE</state>

<vm_name>VNF2-DEPLOYM_c3_0_3e0db133-c13b-4e3d-ac14-

<state>VM_ALIVE_STATE</state>

<vm_name>VNF2-DEPLOYM_s9_0_8bc6cc60-15d6-4ead-8b6a-10e75d0e134d</vm_name>

<state>VM_SHUTOFF_STATE</state>

<snip>

コンピュートノードの停止 – 開始

このセクションで説明する手順は、コンピューティングノードでホストされるVMに関係なく共通です。

OSPDからコンピューティングノードの停止 – 開始

1.ステータスを確認し、ノードを停止して起動します。

[stack@director ~]$ nova list | grep compute-10

| 03f15071-21aa-4bcf-8fdd-acdbde305168 | pod1-stack-compute-10 | ACTIVE | - | Running | ctlplane=192.200.0.106 |

[stack@director ~]$ nova stop pod1-stack-compute-10

2.コンピュートがシャットオフ状態になるまで待ってから、もう一度開始します。

[stack@director ~]$ nova start pod1-stack-compute-10

3.新しいコンピューティングノードがアクティブ状態であることを確認します。

[stack@director ~]$ source stackrc

[stack@director ~]$ nova list |grep compute-10

| 03f15071-21aa-4bcf-8fdd-acdbde305168 | pod1-stack-compute-10 | ACTIVE | - | Running | ctlplane=192.200.0.106 |

[stack@director ~]$ source pod1-stackrc-Core

[stack@director ~]$ openstack hypervisor list |grep compute-10

| 6 | pod1-compute-10.localdomain    |

VMのリストア

ESCからのVMリカバリ

1.理想的には、OSPDからnovaリストをチェックすると、VMはShut状態になります。この場合、ESCからVMを起動する必要があります。

[admin@VNF2-esc-esc-0 ~]$ sudo /opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli vm-action START VNF2-DEPLOYM_s9_0_8bc6cc60-15d6-4ead-8b6a-10e75d0e134d

[sudo] password for admin:

2.または、VMがnovaリストでエラー状態になっている場合は、この設定を実行します。

[stack@director  ~]$ nova list |grep VNF2-DEPLOYM_s9_0_8bc6cc60-15d6-4ead-8b6a-10e75d0e134d

| 49ac5f22-469e-4b84-badc-031083db0533 | VNF2-DEPLOYM_s9_0_8bc6cc60-15d6-4ead-8b6a-10e75d0e134d     | ERROR  | -          | NOSTATE     |

3.ここで、ESCからVMをリカバリします。

[admin@VNF2-esc-esc-0 ~]$ sudo /opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli recovery-vm-action DO VNF2-DEPLOYM_s9_0_8bc6cc60-15d6-4ead-8b6a-10e75d0e134d

[sudo] password for admin:

Recovery VM Action

/opt/cisco/esc/confd/bin/netconf-console --port=830 --host=127.0.0.1 --user=admin --privKeyFile=/root/.ssh/confd_id_dsa --privKeyType=dsa --rpc=/tmp/esc_nc_cli.ZpRCGiieuW

<?xml version="1.0" encoding="UTF-8"?>

<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1">

<ok/>

</rpc-reply>

4. yanesc.logを監視します。

admin@VNF2-esc-esc-0 ~]$ tail -f /var/log/esc/yangesc.log

…

14:59:50,112 07-Nov-2017 WARN  Type: VM_RECOVERY_COMPLETE

14:59:50,112 07-Nov-2017 WARN  Status: SUCCESS

14:59:50,112 07-Nov-2017 WARN  Status Code: 200

14:59:50,112 07-Nov-2017 WARN  Status Msg: Recovery: Successfully recovered VM [VNF2-DEPLOYM_s9_0_8bc6cc60-15d6-4ead-8b6a-10e75d0e134d].

VMに存在するPCRFサービスの確認

注：VMがシャットオフ状態の場合は、ESCからesc_nc_cliを使用して電源をオンにします。クラスタマネージャVMからdiagnostics.shを確認し、回復されたVMに関するエラーが見つかった場合は、その時点で確認します。

1.各VMにログインします。

[stack@XX-ospd ~]$ ssh root@<Management IP>

[root@XXXSM03 ~]# monit start all

2. VMがSM、OAMorArbiterの場合は、以前に停止したsessionmgrサービスを開始します。sessionmgr-xxxxxという名前のForreveryファイルで、サービスsessionmgr-xxxxx startを実行します。

[root@XXXSM03 init.d]# service sessionmgr-27717 start

3.まだ診断がクリアされていない場合は、Cluster Manager VMからbuild_all.shを実行し、それぞれのVMでVM-initを実行します。

/var/qps/install/current/scripts/build_all.sh

ssh VM   e.g. ssh pcrfclient01

/etc/init.d/vm-init