Veritas InfoScale™ 7.4.2 Solutions in Cloud Environments

Last Published:
Product(s): InfoScale & Storage Foundation (7.4.2)
Platform: Linux,Windows
  1. Overview and preparation
    1.  
      Overview of InfoScale solutions in cloud environments
    2.  
      InfoScale agents for monitoring resources in cloud environments
    3.  
      InfoScale feature for storage sharing in cloud environments
    4.  
      About SmartIO in AWS environments
    5.  
      Preparing for InfoScale installations in cloud environments
    6.  
      Installing the AWS CLI package
    7.  
      VPC security groups example
  2. Configurations for Amazon Web Services - Linux
    1. Replication configurations in AWS - Linux
      1.  
        Replication from on-premises to AWS - Linux
      2.  
        Replication across AZs within an AWS region - Linux
      3.  
        Replication across AWS regions - Linux
      4.  
        Replication across multiple AWS AZs and regions (campus cluster) - Linux
    2. HA and DR configurations in AWS - Linux
      1.  
        Failover within a subnet of an AWS AZ using virtual private IP - Linux
      2.  
        Failover across AWS subnets using overlay IP - Linux
      3.  
        Public access to InfoScale cluster nodes in AWS using elastic IP - Linux
      4.  
        DR from on-premises to AWS and across AWS regions or VPCs - Linux
  3. 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
  4. Configurations for Microsoft Azure - Linux
    1. Replication configurations in Azure - Linux
      1.  
        Replication from on-premises to Azure - Linux
      2.  
        Replication within an Azure region - Linux
      3.  
        Replication across Azure regions - Linux
      4.  
        Replication across multiple Azure sites and regions (campus cluster) - Linux
      5.  
        About identifying a temporary resource disk - Linux
    2. HA and DR configurations in Azure - Linux
      1.  
        Failover within an Azure subnet using private IP - Linux
      2.  
        Failover across Azure subnets using overlay IP - Linux
      3.  
        Public access to cluster nodes in Azure using public IP - Linux
      4.  
        DR from on-premises to Azure and across Azure regions or VNets - Linux
  5. 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
  6. Configurations for Google Cloud Platform- Linux
    1. Replication configurations in GCP - Linux
      1.  
        Replication across GCP regions - Linux
      2.  
        Replication across multiple GCP zones and regions (campus cluster) - Linux
    2. HA and DR configurations in GCP - Linux
      1.  
        Failover within a subnet of a GCP zone using virtual private IP - Linux
      2.  
        Failover across GCP subnets using overlay IP - Linux
      3.  
        DR across GCP regions or VPC networks - Linux
      4.  
        Shared storage within a GCP zone or across GCP zones - Linux
  7. Configurations for Google Cloud Platform - Windows
    1. Replication configurations in GCP - Windows
      1.  
        Replication from on-premises to GCP - Windows
      2.  
        Replication across zones in a GCP region - Windows
      3.  
        Replication across GCP regions - Windows
    2. HA and DR configurations in GCP - Windows
      1.  
        Failover within a subnet of a GCP zone using virtual private IP - Windows
      2.  
        Failover across GCP subnets using overlay IP - Windows
      3.  
        DR across GCP regions or VPC networks - Windows
  8. 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
  9. Migrating files to the cloud using Cloud Connectors
    1.  
      About cloud connectors
    2.  
      About InfoScale support for cloud connectors
    3.  
      How InfoScale migrates data using cloud connectors
    4.  
      Limitations for file-level tiering
    5.  
      About operations with Amazon Glacier
    6.  
      Migrating data from on-premise to cloud storage
    7.  
      Reclaiming object storage space
    8.  
      Removing a cloud volume
    9.  
      Examining in-cloud storage usage
    10.  
      Sample policy file
    11.  
      Replication support with cloud tiering
  10. Troubleshooting issues in cloud deployments
    1.  
      In an Azure environment, exporting a disk for Flexible Storage Sharing (FSS) may fail with "Disk not supported for FSS operation" error

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

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

    • Fencing is configured using CP servers or disk-based I/O fencing

    • 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

    • Fencing is configured using CP servers

    • 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 shil-sles11-clus1-eastus (
        ClusterAddress = "10.3.3.100"
        SecureClus = 1
        )

remotecluster shil-sles11-clus2-eastus2 (
        ClusterAddress = "10.5.0.5"
        )

heartbeat Icmp (
        ClusterList = { shil-sles11-clus2-eastus2 }
        Arguments @shil-sles11-clus2-eastus2 = { "10.5.0.5" }
        )

system azureVM1 (
        )

system azureVM2 (
        )

group AzureAuthGrp (
        SystemList = { azureVM1 = 0, azureVM2 = 1 }
        Parallel = 1
        )

        AzureAuth azurauth (
                SubscriptionId = 6940a326-abg6-40dd-b628-c1e9bbdf1d63
                ClientId = 8c891a8c-xyz2-473b-bigc-035bd50fb896
                SecretKey = gsiOssRooSpsPotQkmOmmShuNoiQioNsjQlqHovUosQsrMt
                TenantId = 96dcasae-0448-4308-b503-6667d61dd0e3
                )

        Phantom phres (
                )

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

        Application wac (
                StartProgram = "/opt/VRTSvcs/bin/wacstart -secure"
                StopProgram = "/opt/VRTSvcs/bin/wacstop"
                MonitorProcesses = { "/opt/VRTSvcs/bin/wac -secure" }
                RestartLimit = 3
                )

        AzureIP azureipres (
                PrivateIP = "10.3.3.100"
                NICDevice = eth0
                VMResourceGroup = ShilRG
                AzureAuthResName = azurauth
                )

        IP gcoip (
                Device = eth0
                Address = "10.3.3.100"
                NetMask = "255.255.255.0"
                )

        NIC gconic (
                Device = eth0
                )

        gcoip requires azureipres
        gcoip requires gconic
        wac requires gcoip


 group VVR (
        SystemList = { azureVM1 = 0, azureVM2 = 1 }
        AutoStartList = { azureVM1, azureVM2 }
        )

        AzureDisk diskres (
                DiskIds = {
                         "/subscriptions/6940a326-abg6-40dd-b628-c1e9bbdf1d63/
																										resourceGroups/SHILRG/providers/Microsoft.Compute/
																										disks/azureDisk1_shilvm2-sles11" }
                VMResourceGroup = ShilRG
                AzureAuthResName = azurauth
                )

        AzureDisk diskres1 (
                DiskIds = {
                         "/subscriptions/6940a326-abg6-40dd-b628-c1e9bbdf1d63/
																										resourceGroups/SHILRG/providers/Microsoft.Compute/
																										disks/azureDisk1_shilvm2-sles11_1" }
                VMResourceGroup = ShilRG
                AzureAuthResName = azurauth
                )

        AzureDisk diskres3 (
                DiskIds = {
                         "/subscriptions/6940a326-abg6-40dd-b628-c1e9bbdf1d63/
																										resourceGroups/SHILRG/providers/Microsoft.Compute/
																										disks/azureDisk1_shilvm2-sles11_2" }
                VMResourceGroup = ShilRG
                AzureAuthResName = azurauth
                )

        AzureIP azureipres_vvr (
                PrivateIP = "10.3.3.200"
                NICDevice = eth0
                VMResourceGroup = ShilRG
                AzureAuthResName = azurauth
                )

        AzureIP azureipres_vvr1 (
                PrivateIP = "10.3.3.201"
                NICDevice = eth0
                VMResourceGroup = ShilRG
                AzureAuthResName = azurauth
                )

        DiskGroup dgres (
                DiskGroup = vvrdg
                )

        IP ip_vvr (
                Device = eth0
                Address = "10.3.3.200"
                NetMask = "255.255.255.0"
                )

        NIC nic_vvr (
                Device = eth0
                )

        RVG rvgres (
                RVG = rvg
                DiskGroup = vvrdg
                )

        azureipres_vvr requires ip_vvr
        dgres requires diskres
        dgres requires diskres1
        ip_vvr requires nic_vvr
        rvgres requires azureipres_vvr
        rvgres requires dgres


        
group datagrp (
        SystemList = { azureVM1 = 0, azureVM2 = 1 }
        ClusterList = { shil-sles11-clus1-eastus = 0,
                 shil-sles11-clus2-eastus2 = 1 }
        Authority = 1
        )
Application sample_app (
User = "root"
StartProgram = "/data/sample_app start"
StopProgram = "/data/sample_app stop"
PidFiles = { "/var/lock/sample_app/app.pid" }
MonitorProcesses = { "sample_app" }
)
        Mount mountres (
                MountPoint = "/data"
                BlockDevice = "/dev/vx/dsk/vvrdg/vol1"
                FSType = vxfs
                FsckOpt = "-y"
                )

        RVGPrimary rvgprimary (
                RvgResourceName = rvgres
                AutoResync = 1
                )

        requires group VVR online local hard
        mountres requires rvgprimary
       sample_app requires  mountres