Code Monkey home page Code Monkey logo

veeamprnxcachecontrol's Introduction

Veeam/PernixData Cache Control

This script enables integration between Veeam Backup & Replication and PernixData FVP to allow FVP write back enabled VMs associated with the Veeam backup or replication job to be transitioned to write through before the job runs. Conversely, it also will transition the VMs back to the previous write back state with the correct number of peers.

Prerequisites

The following must be installed on your Veeam Backup & Replication server before continuing:

  • VMware PowerCLI
  • Veeam PowerShell cmdlets
  • PernixData PowerShell cmdlets

Usage

This version of the script is to be used with FVP Enterprise.

  • Download zip file or clone this repository to your machine.
  • Open a Powershell command prompt on the Veeam server and execute: Read-Host -AsSecureString -prompt "Enter password" | ConvertFrom-SecureString | Out-File fvp_enc_pass.txt
  • Enter the username and password for the service account or username that is being used for FVP management server.
  • Edit VeeamPrnxCacheControl.ps1 to include the username for connecting to vCenter and the PernixData management server as well as the IP address/FQDN of each server.
  • Temporary files will be stored in c:\temp. Change this if necessary.
  • Edit each Veeam Backup & Replication job, select Storage, Advanced, then Advanced again.
  • In the pre-job script field, enter C:\windows\system32\WindowsPowerShell\v1.0\powershell.exe -Command C:<FOLDER_WHERE_YOU_STORED_SCRIPT>\VeeamPrnxCacheControl.ps1 -JobName 'Your Veeam Job Name Here' -Mode WriteThrough
  • In the post-job script field, enter C:\windows\system32\WindowsPowerShell\v1.0\powershell.exe -Command C:<FOLDER_WHERE_YOU_STORED_SCRIPT>\VeeamPrnxCacheControl.ps1 -JobName 'Your Veeam Job Name Here' -Mode WriteBack

veeamprnxcachecontrol's People

Contributors

bdwill avatar poulpreben avatar

Watchers

 avatar

veeamprnxcachecontrol's Issues

Add ability to modify acceleration policy when VMs are accelerated by datastore.

Currently, get the following error message when trying to transition a VM via PowerShell when it's accelerated by datastore instead of an individual VM policy:

Failed to transition VNAME : Cannot set the acceleration policy for a VM/Datastore without explictly adding it to a FVP Cluster.

Need to modify code to catch this error, add the VM to the cluster, and transition it appropriately.

Add log rotation

Currently all the log files will accumulate in the log directory. Add the ability to archive them in zip file on some interval such as monthly.

Remove dependency on PowerCLI

There are calls during the build of include/exclude objects that are in the job but this is unnecessary because templates, etc will never be selected because the criteria for transitioning a VM is looking for objects in write back later in the script.

Add ability to detect FVP version to perform transition without NumWBExternalPeers

NumWBExternalPeers is utilized with an FVP featured called Fault Domains that allows the administrator to tell FVP to replicates writes to a host in a different user-defined fault domain than the VM is running on. This is only a feature of FVP Enterprise. When NumWBExternalPeers 0 is specified when using FVP Standard, an error is thrown. Would like to catch error and retry command without NumWBExternalPeers.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.