Veritas InfoScale™ 8.0.1 Solutions in Cloud Environments

Last Published:
Product(s): InfoScale & Storage Foundation (8.0.1)
Platform: Windows
  1. Overview and preparation
    1.  
      Overview of InfoScale solutions in cloud environments
    2.  
      InfoScale agents for monitoring resources in cloud environments
    3.  
      Preparing for InfoScale installations in cloud environments
    4.  
      Installing the AWS CLI package
    5.  
      VPC security groups example
  2. Configurations for Amazon Web Services - Windows
    1. Replication configurations in AWS - Windows
      1.  
        Replication from on-premises to AWS - Windows
      2.  
        Replication across AZs in an AWS region - Windows
      3.  
        Replication across AWS regions - Windows
    2. HA and DR configurations in AWS - Windows
      1.  
        Failover within a subnet of an AWS AZ using virtual private IP - Windows
      2.  
        Failover across AWS subnets using overlay IP - Windows
      3.  
        Public access to InfoScale cluster nodes in AWS using Elastic IP - Windows
      4.  
        DR from on-premises to AWS and across AWS regions or VPCs - Windows
      5.  
        DR from on-premises to AWS - Windows
  3. Configurations for Microsoft Azure - Windows
    1. Replication configurations in Azure - Windows
      1.  
        Replication from on-premises to Azure - Windows
      2.  
        Replication within an Azure region - Windows
      3.  
        Replication across Azure regions - Windows
    2. HA and DR configurations in Azure - Windows
      1.  
        Failover within an Azure subnet using private IP - Windows
      2.  
        Failover across Azure subnets using overlay IP - Windows
      3.  
        Public access to cluster nodes in Azure using public IP - Windows
      4.  
        DR from on-premises to Azure and across Azure regions or VNets - Windows
  4. Replication to and across cloud environments
    1.  
      Data replication in supported cloud environments
    2.  
      Supported replication scenarios
    3.  
      Setting up replication across AWS and Azure environments

DR from on-premises to Azure and across Azure regions or VNets - Windows

VCS lets you use the global cluster option (GCO) for DR configurations. You can use a DR configuration to fail over applications across different regions or VNets in Azure or between an on-premises site and Azure.

The following is required for on-premise to cloud DR using VPN tunneling:

  • Prepare the setup at on-premise data center

  • Prepare the setup at on-cloud data center

  • Establish a VPN tunnel from on-premise data center to cloud data center

  • Virtual private IP for cluster nodes that exist in the same subnet. The IP address is used for cross-cluster communication

The following is required for region to region DR using VNet peering:

  • Prepare the setup at both the data centers in the regions

  • Establish a VNet peering from one region to the other region

  • Virtual private IP for cluster nodes that exist in the same subnet. The IP address is used for cross-cluster communication

Note:

If you use an VPN tunnel between an on-premises site and Azure or you use VNet peering between Azure regions, the cluster nodes in the cloud must be in the same subnet.

Sample configuration with private IP

The sample configuration includes the following elements:

  • VPN tunnel between on-premise data center and Region A

  • The primary site has the following elements:

    • Cluster nodes in the same subnet

    • Virtual private IP for cross-cluster communication

  • The secondary site has the following elements:

    • A VNet is configured in Region A of the Azure cloud

    • The same application is configured for HA on Node 3 and Node 4, which exist in Subnet

    • Virtual private IP for cross-cluster communication

Sample service group configuration with private IP

The following snippet is a service group configuration from a sample configuration file (main.cf):

cluster vcs_cluster1 (
	ClusterAddress = "10.3.3.100"
	SecureClus = 1
)

remotecluster vcs_cluster2 (
	ClusterAddress = "10.5.0.5"
)

heartbeat Icmp (
	ClusterList = { vcs_cluster2 }
	Arguments @vcs_cluster2 = { "10.5.0.5" }
)

system AzureVM1(
)
system AzureVM2(
)

group AzureAuthGrp (
	SystemList = { AzureVM1= 0, AzureVM2= 1 }
	Parallel = 1
)

	AzureAuth azurauth (
		SubscriptionId = 6940a326-abc6-40dd-b717-c1e9bcdf1d63
		ClientId = 8c891a8c-ghi2-473b-bbec-035ac50fb896
		SecretKey = gsiOssRooSpShuNoiQioNsjQlqHovUosQsrMt
		TenantId = 96dcased-0448-4308-b505-6789d61dd0e3
	)

	Phantom phres (
	)

group ClusterService (
	SystemList = { AzureVM1= 0, AzureVM2= 1 }
	AutoStartList = { AzureVM1, AzureVM2}
	OnlineRetryLimit = 3
	OnlineRetryInterval = 120
)

	
	Process wac (
		StartProgram @ AzureVM1 = "\"C:\\Program Files\\Veritas\\
                            Cluster Server\\bin\\wac.exe\""
		StartProgram @ AzureVM2 = "\"C:\\Program Files\\Veritas\\
                            Cluster Server\\bin\\wac.exe\""
		StopProgram @ AzureVM1 = "\"C:\\Program Files\\Veritas\\
                            Cluster Server\\bin\\wacstop.exe\""
		StopProgram @ AzureVM2 = "\"C:\\Program Files\\Veritas\\
                            Cluster Server\\bin\\wacstop.exe\""
		MonitorProgram @ AzureVM1 = "\"C:\\Program Files\\Veritas\\
                            Cluster Server\\bin\\wacmonitor.exe\""
		MonitorProgram @ AzureVM2 = "\"C:\\Program Files\\Veritas\\
                            Cluster Server\\bin\\wacmonitor.exe\""

	AzureIP azureipres (
		PrivateIP = "10.3.3.100"
MACAddress @AzureVM1 = 00-0D-3A-91-73-A0
MACAddress @AzureVM2 = 00-0D-3A-92-03-DC
AzureAuthResName = azurauth
	)

	IP gcoip (
		Address = "10.3.3.100"
		SubNetMask = "255.255.255.0"
MACAddress @AzureVM1 = 00-0D-3A-91-73-A0
MACAddress @AzureVM2 = 00-0D-3A-92-03-DC

	)
	
	NIC gconic (
MACAddress @AzureVM1 = 00-0D-3A-91-73-A0
MACAddress @AzureVM2 = 00-0D-3A-92-03-DC
	)
	
	gcoip requires azureipres
	gcoip requires gconic
	wac requires gcoip



group VVR (
	SystemList = { AzureVM1= 0, AzureVM2= 1 }
	AutoStartList = { AzureVM1, AzureVM2}
)

	AzureDisk disk_res (
		DiskIds = {
			"/subscriptions/6940a326-abc6-40dd-b717-c1e9bcdf1d63/
         resourceGroups/TestRG/providers/Microsoft.Compute/
         disks/AzureDisk1" 
		}
		VMResourceGroup = TestRG
		AzureAuthResName = azurauth
	)

	AzureDisk disk_res1 (
		DiskIds = {
			"/subscriptions/6940a326-abc6-40dd-b717-c1e9bcdf1d63/
           resourceGroups/TestRG/providers/Microsoft.Compute/
           disks/AzureDisk2" 
			}
		VMResourceGroup = TestRG
		AzureAuthResName = azurauth
	)
	
	AzureDisk disk_res3 (
		DiskIds = {
			"/subscriptions/6940a326-abc6-40dd-b717-c1e9bcdf1d63/
         resourceGroups/TestRG/providers/Microsoft.Compute/
         disks/AzureDisk3" 
			}
		VMResourceGroup = TestRG
		AzureAuthResName = azurauth
	)

	AzureIP azureipres_vvr (
		PrivateIP = "10.3.3.200"
MACAddress @AzureVM1 = 00-0D-3A-91-73-A0
MACAddress @AzureVM2 = 00-0D-3A-92-03-DC
		AzureAuthResName = azurauth
	)
	
	AzureIP azureipres_vvr1 (
		PrivateIP = "10.3.3.201"
MACAddress @AzureVM1 = 00-0D-3A-91-73-A0
MACAddress @AzureVM2 = 00-0D-3A-92-03-DC
		AzureAuthResName = azurauth
	)

		
	IP ip_vvr (
		Address = "10.3.3.200"
		SubNetMask = "255.255.255.0"
MACAddress @AzureVM1 = 00-0D-3A-91-73-A0
MACAddress @AzureVM2 = 00-0D-3A-92-03-DC
	)

	NIC nic_vvr (
MACAddress @AzureVM1 = 00-0D-3A-91-73-A0
MACAddress @AzureVM2 = 00-0D-3A-92-03-DC
	)
	
	VMNSDg dgres (
		DiskGroupName = vvrdg
		DGGuid = 6bee34d7-056d-4b01-ae63-397099792471
		)

	VvrRvg rvgres (
		RVG = rvg
		VMDgResName = dgres
		IPResName = ip_vvr
		)

	ip_vvr requires azureipres_vvr
	dgres requires disk_res
	dgres requires disk_res1
	ip_vvr requires nic_vvr
	rvgres requires ip_vvr
	rvgres requires dgres


group SG_FS (
	SystemList = { AzureVM1= 0, AzureVM2= 1 }
	ClusterList = { vcs_cluster1 = 0,	vcs_cluster2 = 1 }
	Authority = 1
	)

	FileShare SG_FS-FileShare (
		PathName = "\\PerfLogs"
		ShareName = PerfLogs
		LanmanResName = SG_FS-Lanman
		MountResName = SG_FS-MountV
		UserPermissions = { "VCSDOMAIN\\Administrator" = FULL_CONTROL }
		ShareSubdirectories = 1
		)

	AzureIP SG_FS-AzureIP (
		PrivateIP = "10.3.3.300"
MACAddress @AzureVM1 = 00-0D-3A-91-73-A0
MACAddress @AzureVM2 = 00-0D-3A-92-03-DC
		AzureAuthResName = azurauth
	)


IP SG_FS-IP (
		Address = "10.3.3.300"
		SubNetMask = "255.255.255.0"
MACAddress @AzureVM1 = 00-0D-3A-91-73-A0
MACAddress @AzureVM2 = 00-0D-3A-92-03-DC
		)

	Lanman SG_FS-Lanman (
		VirtualName = AzureVirtualFS
		IPResName = SG_FS-IP
		DNSUpdateRequired = 1
		ADUpdateRequired = 1
		DNSCriticalForOnline = 1
		ADCriticalForOnline = 1
		)

	MountV SG_FS-MountV (
		MountPath = "G:"
		VolumeName = volume1
		VMDGResName = dgres
		)

	NIC SG_FS-NIC (
MACAddress @AzureVM1 = 00-0D-3A-91-73-A0
MACAddress @AzureVM2 = 00-0D-3A-92-03-DC
		)

	RVGPrimary SG_FS-RVGPrimary (
		RvgResourceName = rvgres
		)

	requires group VVR online local hard
	SG_FS-FileShare requires SG_FS-MountV
	SG_FS-FileShare requires SG_FS-Lanman
	SG_FS-IP requires SG_FS-NIC
	SG_FS-IP requires SG_FS-AzureIP
	SG_FS-Lanman requires SG_FS-IP
	SG_FS-MountV requires SG_FS-RVGPrimary