vPlus 7.0
  • Welcome to vPlus!
  • Overview
    • Main Features
    • Support Matrix
    • Components and Architecture
    • Typical Scenarios
    • Licensing
    • Product Life Cycle
  • Deployment
    • Component Requirements
    • Supported Platforms Requirements
    • Sizing Guide
      • Small
      • Medium
      • Large
    • Installation
      • Quick Installation Using All-in-one Script
      • Installing vPlus Offline
      • Adding vPlus Nodes
    • Initial Configuration
    • Backup Destinations
      • File System
        • Synthetic File System
          • XFS
          • DD Boost
        • isoLayer (Synthetic)
        • File System
          • Virtual Data Optimizer (VDO)
        • Catalogic Software vStor
      • Deduplication Appliances
        • Huawei OceanProtect
        • HPE StoreOnce
        • Exagrid
        • Neverfail HybriStor
      • Object Storage
        • Alibaba Cloud OSS
        • AWS S3 or S3-compatible
        • Ceph Rados Gateway
        • Cloudian S3
        • Wasabi
        • Google Cloud Storage
        • IBM Cloud Object Storage
        • Microsoft Azure Blob Storage
        • Nutanix Objects
        • OpenStack SWIFT
        • Oracle Cloud Infrastructure Object Storage
        • Scality RING
      • Tape Pools
    • High Availability
      • 2 Node Cluster
      • 3 Node Cluster
    • Common Tasks
      • Staging Space Configuration
      • Enabling HTTPS Connectivity for Nodes
      • LVM Setup on vPlus Node for Disk Attachment Backup Mode
      • Full Versions of libvirt/qemu Packages Installation
      • SSH Public Key Authentication
      • Enabling HTTP(S) Proxy for vPlus
  • Protecting Virtual Environments
    • Virtual Machines
      • Nutanix Acropolis Hypervisor (AHV)
      • Red Hat Openshift Virtualization
      • Red Hat Virtualization
      • oVirt
      • Oracle Linux Virtualization Manager
      • Oracle VM
      • Proxmox VE
      • KVM/Xen
      • OpenStack
      • OpenNebula
      • Virtuozzo
      • Citrix Hypervisor (XenServer)
      • XCP-ng
      • Huawei FusionCompute
      • SC//Platform
    • Cloud
      • Amazon EC2
      • GCP GCE
      • Azure Cloud
    • Containers
      • Red Hat OpenShift
      • Proxmox VE
    • Backup & Restore
  • Protecting Microsoft 365
    • Microsoft 365 Organization Management
      • Configure Microsoft 365 Access
      • Add Microsoft 365 Organization Manually
      • Add Microsoft 365 Organization Using the Setup Assistant
      • Account Auto-synchronization
    • Backup & Restore
    • Suppoted Sharepoint Templates and Limitations
  • Protecting Applications
    • Applications
      • PostgreSQL
      • DB2
      • Relax and Recover - ReaR
      • Git
      • oVirt/RHV/OLVM
      • Kubernetes/OpenShift etcd
    • Backup & Restore
  • Protecting Storage Providers
    • Storage Providers
      • File System
      • Ceph RBD
      • Nutanix Files
      • Nutanix Volume Groups
    • Backup & Restore
  • Administration
    • Dashboard
    • Virtual Environments
      • Instances
        • Backup On-Demand
        • Restore On-Demand
        • Snapshot Management
      • Virtualization Providers
      • Backup SLAs
        • Policies
        • Schedules
      • Snapshot SLAs
        • Policies
        • Schedules
      • Recovery Plans
        • Policies
        • Schedules
      • Mounted Backups (File-level Restore)
    • Storage
      • Instances
        • Backup On-Demand
        • Restore On-Demand
      • Infrastructure
      • Backup SLAs
        • Policies
        • Schedules
      • Snapshot SLAs
        • Policies
        • Schedules
      • Mounted Backups (File-level Restore)
    • Microsoft 365
      • Instances
      • Organizations
      • Backup SLAs
        • Policies
        • Schedules
      • Download
    • Applications
      • Instances
      • Execution Configurations
      • Backup SLAs
    • Reporting
      • Virtual Environments
      • Storage
      • Microsoft 365
      • Applications
      • Notifications
      • Audit Log
    • Nodes
      • Instances
      • Node Configurations
    • Access Management
      • Users
      • Groups
      • Roles
      • OS Credentials
    • Settings
      • Global Settings
      • Internal DB Backup
      • Notification Rules
      • Mailing Lists
      • Endpoints Global Settings
    • Upgrade
    • CLI Reference
    • CLI v2 Reference (technical preview)
  • Integration
  • Troubleshooting
    • How to Enable vPlus DEBUG Mode
    • Collecting Logs
    • External Log Targets
    • Disaster Recovery
  • Known Software Issues and Limitations
  • Glossary
Powered by GitBook
On this page
  • Main concepts
  • Command Execution Configuration
  • Application Definition
  • Enabling WinRM on Windows machines
  1. Protecting Applications

Applications

PreviousProtecting ApplicationsNextPostgreSQL

vPlus can protect Applications and others likes:

Main concepts

There are 2 main concepts that vPlus uses to execute backups:

  • Command Execution Configuration

  • Application Definition

Command Execution Configuration

This describes how to perform a backup operation. That is how to execute a command that produces a backup artefact which vPlus later stores in a backup provider. Multiple Application definitions share Command Execution Configuration but with different parameter values.

Command Execution Configuration properties come in several sections:

  1. General:

    • Name - Name of your configuration

    • Execution type:

      • Node - execute this command directly on the node

      • Remote SSH - execute this command over SSH using credentials provided in the Application definition

    • Timeout - fail execution if a command doesn't complete within the time given

      • if you think that your backup should take longer, increase this value

      • this timeout is for whole command execution - if you have several steps in your script and you need additional timeouts for these steps - add them to your script

  2. Command arguments:

    • add arguments that contain spaces as separate arguments

    • the first argument is the path to your executable

    • make sure this command is accessible on the remote host, and vPlus credentials will suffice to execute it

    • remote commands (over SSH) will invoke shell so you can use bash-style expressions (built-in commands such as echo, environmental variables or redirections) within the command argument

    • commands executed on the node are executed natively by OS, so if you want to use bash-style expressions (built-in commands such as echo, environmental variables or redirections) you need to split your command at least into 3 arguments: /bin/bash, -c and your command > with some redirections

  3. Data export:

    • Export data - when enabled, vPlus will expect artefacts to be collected as a result of a command

    • Source type:

      • FILE - result will be a file, directory or path with * wildcard

      • STREAM - output of your command

    • Source path:

      • path to your artefacts that need to be collected

      • file, directory or path with * wildcard - more than 1 file on the source will result in files being stored as a single tar archive

    • Remove files after export:

      • if artefacts (files or source directory) need to be removed once exported

      • be careful when providing a path in the source directory, the whole directory will be removed when this setting is enabled

  4. Applications:

    • select which applications will use this command execution config

  5. Parameters:

    • this section allows you to define the parameters that will be expected to be entered in each application definition

    • each parameter will eventually become an environment variable in the application definition

    • each parameter has several properties

      • Name - Name of the resulting environmental variable

      • User-friendly hint - a hint what this parameter is to be shown later in the application definition

      • Default value - the default value, entered during initialization in the application definition form

      • Show in UI - if the value should be shown as dotted or not - useful for passwords

      • Obligatory - if we expect that its value should always be provided in the application definition form

  6. Error handling

    • Standard error output stream handling (when non-empty):

      • Don't ignore it - will fail if anything is in the standard error output

      • Ignore without warning - will ignore it silently

      • Ignore with a warning - will ignore it but a warning indicator in the backup history will contain this output

    • Ignored Exit Codes:

      • error codes that should be ignored and not treated by vPlus as errors

      • by default, only 0 is assumed as a success

Application Definition

Once you have your command execution configuration defined (or you choose to use the predefined ones provided with vPlus), you should define the instances of your application.

There are a few parameters for application definition that come in several sections:

  1. General:

    • Name - Name of your application instance

    • Choose node - which node is going to execute this command

    • Backup policy - optionally set policy for scheduled backups

    • Command execution configuration

      • configuration of your command used for this application

      • Note: when you create a definition for the first time, you select a configuration and click Save - you will be redirected to the Settings tab for additional details

  2. Environment variables

    • shown only when the definition has been saved on the Settings tab

    • defines a list of environment variables that will be passed to your command/script during its invocation

    • parameters from the command execution config will be populated automatically

    • each parameter has several properties:

      • Key - name of the environmental variable

      • Value - Value of the environment variable

      • Show - if the value should be shown as dotted or not - useful for passwords

  3. SSH access:

    • shown when Remote SSH is chosen as the execution type in command execution configuration

    • parameters:

      • SSH host - host where the command will be executed

      • SSH port - port on which the SSH service is running (by default 22)

      • SSH user - user used to connect via SSH

      • SSH key path:

        • path to your key - needs to be a file only accessible by vPlus with 400 permissions

        • alternatively, you can use the password access method

  4. Password:

    • shown when Remote SSH is chosen as the execution type in command execution configuration

    • set your SSH password here if you're not using the public-key authentication method

Enabling WinRM on Windows machines

The Windows Remote Management (a.k.a. WinRM) interface is a network service that allows remote management access to computers via the network. It's used to allow remote management of computers via PowerShell. As a result, WinRM is not enabled by default on Windows Server.

There is an enable_winrm.ps1 script in the /opt/vprotect/scripts/winrm directory

A Power Shell script performs the following steps:

  • Automatically starts the WinRM service

  • Adds all addresses to trusted hosts. This can be changed in line 7, replacing the aseterix symbol with the appropriate address, e.g.

Add all computers to the TrustedHosts list

Set-Item WSMan:\localhost\Client\TrustedHosts -Value *

Add all domain computers to the TrustedHosts list

Set-Item WSMan:\localhost\Client\TrustedHosts *.yourdomain.com

Add specific computers to the TrustedHosts list

Set-Item WSMan:\localhost\Client\TrustedHosts -Value DESKTOP-R88J8V5, MacBookPro19

Add computers to the TrustedHosts list using the IP address

Set-Item WSMan:\localhost\Client\TrustedHosts -Value 192.168.100.69
  • Adds an exception in Windows Firewall, which is used by WinRm over HTTPS (port 5986).

  • Creates a self-signed certificate and creates Create HTTPS listener.

The enable_winrm.ps1 script must be run on the Hyper-V server in the PowerShell console.

After the correct installation, we can test the connection. On Linux, run PowerShell with the pwsh command.

Then we connect to the Hyper-V server:

Enter-PSSession -ComputerName IP_ADDRESS -UseSSL -SessionOption (New-PSSessionOption -SkipCNCheck -SkipCACheck) -Authentication Basic -Credential (Get-Credential)

After providing the correct credentials, the PowerShell console will start on the remote machine. We end the session with the "exit" command. We can also try a test PowerShell script on a remote machine:

Invoke-Command -Session (New-PSSession -ComputerName SERVER_ADDRESS -UseSSL -SessionOption (New-PSSessionOption -SkipCNCheck -SkipCACheck) -Authentication Basic -Credential (Get-Credential)) -ScriptBlock {Get-ChildItem Env:}

or

Enter-PSSession -ComputerName SERVER_ADDRESS -UseSSL -SessionOption (New-PSSessionOption -SkipCNCheck -SkipCACheck) -Authentication Basic -Credential (Get-Credential)

PowerShell for Linux must be installed on the machine where Node is installed. You can download it from

More about installation and versions for different Linux distributions

PostgreSQL
DB2
Relax and Recover - ReaR
Git
oVirt/RHV/OLVM
Kubernetes/OpenShift etcd
GitHub
here