Documentation forSolarWinds Platform

Set up High Availability pools with multiple active and standby servers (HA multi-clustering)

This SolarWinds Platform topic applies only to SolarWinds Hybrid Cloud Observability.

Starting with 2024.2, you can use SolarWinds SDK to set up HA pools with multiple active and standby servers for your Additional polling engines.

Requirements

  • All polling engines must have the same version
  • An activated Hybrid Cloud Observability Advanced Enterprise Scale license

Known limitations

  • You cannot create multi-clustered HA pools using the user interface. When you create the pool using SDK, all other HA functionality remains the same.
  • HA reports pool status as partially operational even though all active members are healthy.
  • SolarWinds recommends that you do not create pools with more than 15 members at the same time.

Create a HA pool

Use SolarWinds SDK to create a HA pool with multiple active members.

  • Resources in this pool (Additional polling engine, DNS, VIPs) can be set up for any active machines. Each active machine has usually assigned at least one resource (VIP, DNS)
  • APEngineResource is created automatically.

To create a new HA pool, invoke the CreatePool SWIS verb of Orion.HA.Pools.

As a result, a new HA pool is created.

XML example for VIP

<dictionary xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag">
 <item>
    <key>resourceInstancesMemberOverrides</key>
    <type overrideType="SolarWinds.InformationService.PropertyBag">System.String</type>
    <value>

&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;virtualIPResource2&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;4&lt;/value&gt;&lt;/item&gt;

&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;virtualIPResource1&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;3&lt;/value&gt;&lt;/item&gt;

</value>
</item>
  <item>
    <key>virtualIPResource1</key>
    <type overrideType="SolarWinds.InformationService.PropertyBag">System.String</type>
    <value>&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;ipAddress&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;10.218.200.3&lt;/value&gt;&lt;/item&gt;</value>
  </item>
<item>
    <key>virtualIPResource2</key>
    <type overrideType="SolarWinds.InformationService.PropertyBag">System.String</type>
        <value>&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;ipAddress&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;10.218.200.5&lt;/value&gt;&lt;/item&gt;</value>
</item>
</dictionary>

Parameters for VIP

Parameter name type
ipAddress string

XML example for DNS

<dictionary xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag">
 <item>
    <key>resourceInstancesMemberOverrides</key>
    <type overrideType="SolarWinds.InformationService.PropertyBag">System.String</type>
    <value>

&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;virtualHostNameResource2&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;4&lt;/value&gt;&lt;/item&gt;

&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;virtualHostNameResource1&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;2&lt;/value&gt;&lt;/item&gt;

</value>
</item>
  <item>
    <key>virtualHostNameResource1</key>
    <type overrideType="SolarWinds.InformationService.PropertyBag">System.String</type>
    <value>&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;hostName&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;engine-kas-54198&lt;/value&gt;&lt;/item&gt;&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;dnsType&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;Microsoft&lt;/value&gt;&lt;/item&gt;

&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;dnsUserName&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;Administrator&lt;/value&gt;&lt;/item&gt;

&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;dnsPassword&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;Password2&lt;/value&gt;&lt;/item&gt;


&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;dnsIP&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;10.140.215.147&lt;/value&gt;&lt;/item&gt;&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;dnsZone&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;is.local&lt;/value&gt;&lt;/item&gt;</value>
  </item>
<item>
    <key>virtualHostNameResource2</key>
    <type overrideType="SolarWinds.InformationService.PropertyBag">System.String</type>
    <value>&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;hostName&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;engine-54199&lt;/value&gt;&lt;/item&gt;&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;dnsType&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;Other&lt;/value&gt;&lt;/item&gt;&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;dnsIP&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;10.140.215.147&lt;/value&gt;&lt;/item&gt;&lt;item xmlns="http://schemas.solarwinds.com/2007/08/informationservice/propertybag"&gt;&lt;key&gt;dnsZone&lt;/key&gt;&lt;type&gt;System.String&lt;/type&gt;&lt;value&gt;is.local&lt;/value&gt;&lt;/item&gt;</value>
  </item>
</dictionary>

Parameters for DNS

Parameter name Type Notes
hostName string test-host
dnsType string Microsoft | BIND | Other
dnsIP string IPv4 of DNS server
dnsZone string DNS zone where DNS record to be updated, such as rg.local
dnsUserName string DNS user name (WMI credentials for Microsoft DNS)
dnsPassword string DNS password