This topic provides examples of configuring high availability, specifically, of configuring affinity between vSmart controllers
and Cisco vEdge device
.
Configure Affinity to vSmart Controllers in a Single Data Center
In an overlay network with a single data center that has multiple vSmart controllers, if you want the Cisco vEdge device
to establish a single control connection to one of vSmart controllers, there is no need to configure affinity because this
situation is the default behavior.
However, if you want the Cisco vEdge device
to establish control connections to more than one vSmart controllers, to provide redundancy in case one of the controllers
becomes unavailable, you configure affinity. You generally place the vSmart controllers in the same controller group.
Let's say that all the vSmart controllers use the same controller group identifier, 1. You configure the identifier on all
three controllers as follows:
vSmart(config)# system controller-group-id 1
To verify the configuration, use the
show running-config
command:
vSmart# show running-config system
system
description "vSmart in data center 1"
host-name vSmart
gps-location latitude 37.368140
gps-location longitude -121.913658
system-ip 172.16.255.19
site-id 100
controller-group-id 1
organization-name "Cisco"
clock timezone America/Los_Angeles
We want the three Cisco vEdge device
s to establish two control connections to two of the three vSmart controllers. We do this for purposes of redundancy, in case
one of the controllers becomes available. Because all the vSmart controllers are in the same controller group, we cannot specify
or influence which of the two controllers the Cisco vEdge device
s connect to. The configurations on all three routers are effectively identical. We show here the configuration for router
vEdge
-1.
First, configure the available vSmart controller groups. This scenario has just one group:
vEdge-1(config)# system controller-group-list 1
By default, a Cisco vEdge device
can establish two control connections. Because we want each Cisco vEdge device
and each tunnel interface to connect to two vSmart controllers, no configuration is required here. However, if you want to
explicitly configure these parameters, you configure the maximum number of OMP sessions at the system level and the maximum
number of control connections per tunnel:
vEdge-1(config)# system max-omp-sessions 2
vEdge-1(config)# vpn 0 interface ge0/2 tunnel-interface
vEdge-1(config-tunnel-interface)# max-control-connections 2
Here are the relevant configuration snippets from Cisco vEdge device-1:
vEdge-1# show running-config system
system
host-name vEdge-1
gps-location latitude 43.0
gps-location longitude -75.0
system-ip 172.16.255.11
site-id 100
max-omp-sessions 2
controller-group-list 1
organization-name "Cisco"
...
vEdge-1# show running-config vpn 0
...
interface ge0/2
ip address 10.0.5.11/24
tunnel-interface
encapsulation ipsec
color lte
max-control-connections 1
no allow-service bgp
allow-service dhcp
allow-service dns
allow-service icmp
no allow-service sshd
no allow-service netconf
no allow-service ntp
no allow-service ospf
no allow-service stun
!
no shutdown
...
To display the control connections with the vSmart controllers, use the
show control connections
command. The last column, Controller Group ID, lists the vSmart controller group that a router is in.
vEdge-1# show control connections
PEER PEER CONTROLLER
PEER PEER PEER SITE DOMAIN PEER PRIVATE PEER PUBLIC GROUP
TYPE PROTOCOL SYSTEM IP ID ID PRIVATE IP PORT PUBLIC IP PORT LOCAL COLOR STATE UPTIME ID
----------------------------------------------------------------------------------------------------------------------------------------------
vsmart dtls 172.16.255.19 100 1 10.0.5.19 12446 10.0.5.19 12446 lte up 0:00:00:53 1
vsmart dtls 172.16.255.20 200 1 10.0.12.20 12446 10.0.12.20 12446 lte up 0:00:00:22 1
To display the maximum number of control connections allowed on the router, use the
show control local-properties
command. The last line of the output lists the maximum controllers. The following is the abbreviated output for this command:
vEdge-1# show control local-properties
personality vedge
organization-name Cisco
certificate-status Installed
root-ca-chain-status Installed
certificate-validity Valid
certificate-not-valid-before Mar 10 19:50:04 2016 GMT
certificate-not-valid-after Mar 10 19:50:04 2017 GMT
...
PUBLIC PUBLIC PRIVATE PRIVATE PRIVATE MAX RESTRICT/ LAST SPI
TIME NAT VM
INTERFACE IPv4 PORT IPv4 IPv6 PORT VS/VM COLOR STATE CNTRL CONTROL/ LR/LB CONNECTION
REMAINING TYPE CON
STUN
PRF
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------
ge0/0 2.1.1.11 12346 2.1.1.11 :: 12346 2/1 default up 2 no/yes/no No/No 2:19:35:21
0:07:58:46 N 5
Two commands display information about the control connections established by the affinity configuration. To see, for each
interface, which controller groups are configured and which the interface is connected to, use the
show control affinity config
command:
vEdge-1# show control affinity config
EFFECTIVE CONTROLLER LIST FORMAT - G(C),... - Where G is the Controller Group ID
C is the Required vSmart Count
CURRENT CONTROLLER LIST FORMAT - G(c)s,... - Where G is the Controller Group ID
c is the current vSmart count
s Status ✓ when matches, χ when does not match
EFFECTIVE
REQUIRED
INDEX INTERFACE VS COUNT EFFECTIVE CONTROLLER LIST CURRENT CONTROLLER LIST EQUILIBRIUM
---------------------------------------------------------------------------------------------
0 ge0/2 2 1(2) 1(2)✓ Yes
The command output above shows that affinity is configured on interface ge0/2.
-
The Effective Required and Count column shows that the interface is configured to create two control connections, and, in fact, two control connections have
been established. You configure the number of control connections for the tunnel interface with the
max-control-connections
command.
-
The Effective Controller List column shows that affinity on the interface is configured to use Cisco vSmart Controller identifier 1 and that the router supports two OMP sessions. You configure the affinity controller identifiers with the
controller-group-list
command (at the
system
level) and, for the tunnel interface, the
exclude-controller-group-list
command.
-
The Current Controller List column lists the actual affinity configuration for the interface. The output here shows that the
interface has two control connections with Cisco vSmart Controllers in group 1. The check mark indicates that the current and effective controller lists match each other. If, for example,
the tunnel had established only one TLOC connection to a vSmart controller, this column would show "1(1)X".
-
The Equilibrium column indicates that the current controller lists matches what is expected from the affinity configuration
for that tunnel interface.
To determine the exact Cisco vSmart Controllers that the tunnel interface has established control connections with, use the
show control affinity status
command:
vEdge-1# show control affinity status
ASSIGNED CONNECTED CONTROLLERS - System IP( G),.. - System IP of the assigned vSmart
G is the group ID to which the vSmart belongs to
UNASSIGNED CONNECTED CONTROLLERS - System IP( G),.. - System IP of the unassigned vSmart
G is the group ID to which the vSmart belongs to
INDEX INTERFACE ASSIGNED CONNECTED CONTROLLERS UNASSIGNED CONNECTED CONTROLLERS
---------------------------------------------------------------------------------------------------------------
0 ge0/2 172.16.255.19( 1), 172.16.255.20( 1)
The command output above shows that interface ge0/2 has control connections to two vSmart controllers, 172.16.255.19 and 172.16.255.20, that both controllers are in group 1,
and that both controllers are in one of the groups configured in the controller group list. If the interface were connected
to a vSmart controller not in the controller group list, it would be listed in the Unassigned Connected Controllers column.
When a data center has multiple vSmart controllers, you can configure them to be in different controller groups. For example,
if you configure them to be in two different controller groups, each Cisco vEdge device
can establish two control connections, one to each of the groups. While this configuration design is similar to what we discussed
in the previous section, providing redundant control connections to the vSmart controllers, on subtle difference is that it
provides fault isolation between the twoCisco vSmart Controller groups in the data center. The configuration for this scenario is almost identical to the configuration when Cisco vSmart Controllers are two data centers. The only difference is that here, two Cisco vSmart Controller groups are collocated in the same data center. See the configuration example in the next section.
Configure Affinity to vSmart Controllers in Two Data Centers
You can use affinity to enable redundancy among data centers, for a network design in which multiple Cisco vSmart Controllers are spread across two or more data centers. Then, if the link between a Cisco vEdge device
and one of the data centers goes down, the Cisco vSmart Controllers in the second data center are available to continue servicing the overlay network. The figure below illustrates this scenario,
showing three Cisco vSmart Controllers in each of two data centers. Each of the three Cisco vEdge device
s establishes a TLOC connection to one controller in the West data center and one in the East data center.
You configure the three vSmart controllers in DC1-West with controller group identifier 1:
vSmart-DC1(config)# system controller-group-id 1
The three vSmart controllers in DC2-East are in controller group 2:
vSmart-DC2(config)# system controller-group-id 2
We want all the Cisco vEdge device
s to have a maximum of two OMP sessions, and we want each tunnel interface to have a maximum of two control connections and
to not exclude any controller groups. So the only configuration that needs to be done on the routers is to set the controller
group list. We want Cisco vEdge device
s in the west to prefer Cisco vSmart Controllers in DC1-West over DC2-East:
vEdge-West(config)# system controller-group-list 1 2
Similarly, we want Cisco vEdge device
s in the east to prefer DC2-East:
vEdge-East(config)# system controller-group-list 2 1
The software evaluates the controller group list in order, so with this configuration, the vEdge-West routers prefer vSmart
controller group 1 (which is the West data center), and the vEdge-East routers prefer Cisco vSmart Controller group 2.
You can fine-tune the controller group preference in other ways:
-
Set the maximum number of OMP sessions allowed on the router to 1 (system max-omp-sessions 1). To illustrate how this works, let's look at a vEdge-West router. The router has only one tunnel interface, and that interface
creates one control connection to Cisco vSmart Controller list 1. If all the Cisco vSmart Controllers in this group become unavailable, or if the connection between the router that the DC1-West data center goes down, the tunnel
interface establishes one control connection to Cisco vSmart Controller list 2, because this group is listed in the system controller-group-list command. If all Cisco vSmart Controllers in both controller groups, or the connections to them, become unavailable, and if the vBond orchestrator also indicates
that all these vSmart controllers are unreachable, the tunnel interface establishes a control connection to any other Cisco vSmart Controller in the overlay network if other controllers are present.
-
Set the maximum number of control connections that the tunnel interface can establish to 1 (
vpn 0 sdwan interface tunnel-interface max-control-connections 1
). Because the software evaluates the controller group list in order, for a vEdge-West router, this configuration forces the
tunnel interface to establish a control connection to Cisco vSmart Controller group 1. Again, if this controller group or data center becomes unreachable, the tunnel establishes a control connection
with controller group 2, because this group is configured in the
system controller-group-list
command. And if neither controller group 1 or 2 is available, and if another vSmart controller is present in the network,
the tunnel interface establishes a control connection with that controller.
-
Exclude the non-preferred Cisco vSmart Controller group for a particular tunnel. For example, for a vEdge-West router to prefer controller group 1, you configure
vpn 0 interface tunnel-interface exclude-controller-group-list 2
. As with the above configurations, if this controller group or data center becomes unreachable, the tunnel establishes a
control connection with controller group 2, because this group is configured in the
system controller-group-list
command. And if neither controller group 1 or 2 is available, and if another Cisco vSmart Controller is present in the network, the tunnel interface establishes a control connection with that controller.
Configure Redundant Control Connections on One Cisco vEdge Device
When a router has two tunnel connections and the network has two (or more) data centers, you can configure redundant control
connections from the Cisco vEdge device
to Cisco vSmart Controllers in two of the data centers. It is recommended that do this using the minimum number of OMP sessions—in this case, two. To
do this, you configure one of the tunnel interfaces to go only to one of the data centers and the other to go only to the
second. This configuration provides vSmart redundancy with the minimum number of OMP sessions.
On the Cisco vEdge device
router, define the controller group list and configure the maximum number of OMP sessions to be 2:
vEdge(config-system)# controller-group-list 1 2
vEdge(config-system)# max-omp-sessions 2
For one of the tunnels, you can use the default affinity configuration (that is, there is nothing to configure) to have this
tunnel prefer a Cisco vSmart Controller in group 1. You can also explicitly force this tunnel to prefer Cisco vSmart Controller group 1:
vEdge(config-tunnel-interface-1)# max-control-connections 1
You do not need to configure
exclude-controller-group-list 2
, because the software evaluates the controller group list in order, starting with group 1. However, you could choose to explicitly
exclude vSmart controller group 2.
Then, on the second tunnel, configure it to prefer a vSmart controller in group 2. As with the other tunnel, you limit the
maximum number of control connections to 1. In addition, you have to exclude controller group 1 for this tunnel.
vEdge(config-tunnel-interface-2)# max-control-connections 1
vEdge(config-tunnel-interface-2)# exclude-controller-group-list 1