Home > Dell > System > Dell Appassure 5 User Guide

Dell Appassure 5 User Guide

    Download as PDF Print this page Share this page

    Have a look at the manual Dell Appassure 5 User Guide online for free. It’s possible to download the document as PDF or print. UserManuals.tech offer 327 Dell manuals and user’s guides for free. Share the user manual or guide on Facebook, Twitter or Google+.

    Page
    of 518
    							Dell AppAssure User Guide
    Version 5.4.3 Revision B369 public AgentTransferConfiguration 
    TransferConfiguration { get; set; } Gets or sets the transfer configuration.
    AgentTransferConfiguration is an object which will 
    have the following data:
    • MaxConcurrentStreams. The maximum 
    number of concurrent TCP connections the 
    core will establish to the agent for 
    transferring data
    • MaxTransferQueueDepth. The maximum 
    number of block extents which can be queued 
    up for writing
    • MaxConcurrentWrites. The maximum 
    number of block write operations to have 
    outstanding on an epoch at any given time. If 
    additional blocks are received when this many 
    block writes are outstanding, those additional 
    blocks will be ignored until one of the 
    outstanding blocks gets written.
    •MaxSegmentSize. The maximum number of 
    contiguous blocks to transfer in a single 
    request
    •Priority. An object which has the following 
    data:
    •Undefined
    •One
    •Two
    •Three
    •Four
    •Five
    •Six
    •Seven
    •Eight
    •Nine
    •Ten
    •Highest (which is equal to One)
    •Lowest (which is equal to Ten)
    •Default (which is equal to Five)
    •MaxRetries. The maximum number of times a 
    failed transfer should be retried before it is 
    presumed failed
    • UseDefaultMaxRetries. A value indicating 
    that the maximum number of retries is the 
    default value
    • ProviderId. The GUID of the VSS provider to 
    use for snapshots on this host. Administrators 
    typically accept the default. Table 214. Objects for the TransferPostscript parameter
     Method Description 
    						
    							Dell AppAssure User Guide
    Version 5.4.3 Revision B370 public AgentTransferConfiguration 
    TransferConfiguration { get; set; } (cont.)• ExcludedWriterIds. Collection of VSS writer 
    IDs which should be excluded from this 
    snapshot. The writer ID is keyed by the name 
    of the writer. This name is for documentation 
    purposes only and does not have to exactly 
    match the actual name of the writer.
    • TransferDataServerPort. A value containing 
    the TCP port upon which to accept 
    connections from the core for the actual 
    transfer of data from the agent to the core.
    •SnapshotTimeout. The amount of time to 
    wait for a VSS snapshot operation to complete 
    before giving up and timing out.
    •TransferTimeout.  T h e a m o u nt  o f  t i m e  t o  w a it  
    for further contact from the core before 
    abandoning the snapshot.
    •NetworkReadTimeout. The timeout for 
    network read operations related to this 
    transfer.
    • NetworkWriteTimeout. The timeout for 
    network write operations related to this 
    transfer.
    • InitialQueueSize. A size of initial queue of 
    requests.
    • MinVolumeFreeSpacePercents. A minimal 
    amount of free space on a volume in percent.
    • MaxChangeLogsSizePercents. A maximum 
    size of driver change logs as part of volume 
    capacity measured in percent.
    • EnableVerification. A value indicating 
    whether diagnostic verification of each block 
    sent to Core should be performed.
    public AgentProtectionStorageConfiguration 
    StorageConfiguration { get; set; } Gets or sets the storage configuration
    The AgentProtectionStorageConfiguration object 
    contains the following data:
    •RepositoryId. The name of the repository 
    where this agents recovery points will be 
    stored
    •EncryptionKeyId. The ID of the encryption 
    key for this agents recovery points. An empty 
    string means no encryption
    public string Key { get; set; } The Key method generates a pseudorandom (but not 
    cryptographically secure) key, which can be used as a 
    one-time password to authenticate transfer 
    requests.
    public bool ForceBaseImage { get; set; } Gets or sets the value indicating whether the 
    transfer was a forced base image capture.
    public bool IsLogTruncation { get; set; } Gets or sets the value indicating whether logging is 
    being truncated. Table 214. Objects for the TransferPostscript parameter
     Method Description 
    						
    							Dell AppAssure User Guide
    Version 5.4.3 Revision B371
    VirtualMachineLocation (namespace 
    Replay.Common.Contracts.Virtualization)
    The following table presents the available objects for the VirtualMachineLocation parameter.
    VolumeImageIdsCollection (namespace 
    Replay.Core.Contracts.RecoveryPoints)
    Inherits its values from the parameter, System.Collections.ObjectModel.Collection.
    VolumeName (namespace 
    Replay.Common.Contracts.Metadata.Storage)
    The following table presents the available objects for the VolumeName parameter.public uint LatestEpochSeenByCore { get; set; } Gets or sets latest epoch value.
    The LatestEpochSeenByCore method is the ordinal 
    number of the most recent snapshot taken by the 
    Core. This is the epoch number assigned by the filter 
    driver to this particular snapshot at the moment it 
    was taken with VSS.
    public Guid SnapshotSetId { get; set; } Gets or sets the GUID assigned by VSS to this 
    snapshot.
    public VolumeSnapshotInfoDictionary VolumeSnapshots 
    { get; set; }Gets or sets the collection of snapshot info for each 
    volume included in the snap.
    Table 215. Objects for the VirtualMachineLocation parameter
     Method Description
    public string Description { get; set;} Gets or sets a human-readable description of this 
    location.
    public string Method { get; set;} Gets or sets the name of the VM.
    Table 216. Objects for the VolumeName parameter
     Method Description
    public string GuidName { get; set;}  Gets or sets the ID of the volume.
    public string DisplayName { get; set;}  Gets or sets the name of the volume.
    public string UrlEncode() Gets a URL-encoded version of the name which can 
    be passed cleanly on a URL.
    NOTE: A known issue exists in .NET 4.0 WCF 
    (https://connect.microsoft.com/VisualStudio/feedb
    ack/ViewFeedback.aspx?FeedbackID=413312), which 
    prevents path escape characters from working 
    correctly in a URI template. Because a volume name 
    contains both \ and ?, you must replace the special 
    characters \ and ? with other special characters.
    public string GetMountName() Returns a name for this volume that is valid for 
    mounting volume image to some folder. Table 214. Objects for the TransferPostscript parameter
     Method Description 
    						
    							Dell AppAssure User Guide
    Version 5.4.3 Revision B372
    VolumeNameCollection (namespace 
    Replay.Common.Contracts.Metadata.Storage)
    Inherits its values from the parameter, System.Collections.ObjectModel.Collection.
    The following table presents the available objects for the VolumeNameCollection parameter.
    VolumeSnapshotInfo (namesapce 
    Replay.Common.Contracts.Transfer)
    The following table presents the available objects for the VolumeSnapshotInfo parameter.
    VolumeSnapshotInfoDictionary (namespace 
    Replay.Common.Contracts.Transfer)
    Inherits its values from the parameter, System.Collections.Generic.Dictionary .
    Sample PowerShell scripts
    The following sample scripts are provided to assist administrative users in executing PowerShell scripts. The 
    sample scripts include:
    •Pr eTra n sf er Scri pt. p s 1
    •PostTransferScript.ps1
    •Pr eE xpor tScr ip t. ps 1
    •PostExportScript.ps1
    •PreNightlyJobScript.ps1
    •PostNightlyJobScript.ps1 Table 217. Objects for the VolumeNameCollection parameter
     Method Description
    public override bool Equals(object obj) Determines whether this instance and a specified 
    object, which must also be a VolumeNameCollection 
    object, have the same value. (Overrides 
    Object.Equals(Object).)
    public override int GetHashCode() Returns the hash code for this 
    VolumeNameCollection. (Overrides 
    Object.GetHashCode().)
    Table 218. Objects for the VolumeSnapshotInfo parameter
     Method Description
    public Uri BlockHashesUri { get; set;} Gets or sets the URI at which the MD5 hashes of 
    volume blocks can be read.
    public Uri BlockDataUri { get; set;} Gets or sets the URI at which the volume data blocks 
    can be read. 
    						
    							Dell AppAssure User Guide
    Version 5.4.3 Revision B373
    PreTransferScript.ps1
    The PreTransferScript is run on the protected machine before transferring a snapshot.
    Sample PreTransferScript
    # receiving parameter from transfer job
    param([object]$TransferPrescriptParameter)
    # building path to Agents Common.Contracts.dll and loading this assembly
    $regLM = [Microsoft.Win32.Registry]::LocalMachine
    $regLM = 
    $regLM.OpenSubKey(SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\AppRecovery 
    Agent 5)
    $regVal = $regLM.GetValue(InstallLocation)
    $regVal = $regVal + Common.Contracts.dll
    [System.Reflection.Assembly]::LoadFrom($regVal)  |  out-null
    # Converting input parameter into specific object
    $TransferPrescriptParameterObject = $TransferPrescriptParameter -as 
    [Replay.Common.Contracts.PowerShellExecution.TransferPrescriptParameter];
    # Working with input object. All echos are logged
    if($TransferPrescriptParameterObject -eq $null) {
    echo TransferPrescriptParameterObject parameter is null
    }
    else {
    echo 
    TransferConfiguration:$TransferPrescriptParameterObject.TransferConfiguratio
    n
    echo StorageConfiguration: 
    $TransferPrescriptParameterObject.StorageConfiguration
    } 
    						
    							Dell AppAssure User Guide
    Version 5.4.3 Revision B374
    PostTransferScript.ps1
    The PostTransferScript is run on the protected machine after transferring a snapshot.
    Sample PostTransferScript
    # receiving parameter from transfer job
    param([object] $TransferPostscriptParameter)
    # building path to Agents Common.Contracts.dll and loading this assembly
    $regLM = [Microsoft.Win32.Registry]::LocalMachine
    $regLM = 
    $regLM.OpenSubKey(SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\AppRecovery 
    Agent 5)
    $regVal = $regLM.GetValue(InstallLocation)
    $regVal = $regVal + Common.Contracts.dll
    [System.Reflection.Assembly]::LoadFrom($regVal)  |  out-null
    # Converting input parameter into specific object
    $TransferPostscriptParameterObject = $TransferPostscriptParameter -as 
    [Replay.Common.Contracts.PowerShellExecution.TransferPostscriptParameter];
    # Working with input object. All echos are logged
    if($TransferPostscriptParameterObject -eq $null) {
    echo TransferPostscriptParameterObject parameter is null
    }
    else {
    echo VolumeNames: $TransferPostscriptParameterObject.VolumeNames
    echo ShadowCopyType: $TransferPostscriptParameterObject.ShadowCopyType
    echo ForceBaseImage: $TransferPostscriptParameterObject.ForceBaseImage
    echo IsLogTruncation: $TransferPostscriptParameterObject.IsLogTruncation
    } 
    						
    							Dell AppAssure User Guide
    Version 5.4.3 Revision B375
    PreExportScript.ps1
    The PreExportScript is run on the Core before any export job.
    Sample PreExportScript
    # receiving parameter from export job
    param([object]$ExportJobRequest)
    # building path to Cores Common.Contracts.dll and loading this assembly
    $regLM = [Microsoft.Win32.Registry]::LocalMachine
    $regLM = 
    $regLM.OpenSubKey(SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\AppRecovery 
    Core 5)
    $regVal = $regLM.GetValue(InstallLocation)
    $regVal = $regVal + CoreService\Common.Contracts.dll
    [System.Reflection.Assembly]::LoadFrom($regVal)  |  out-null
    # Converting input parameter into specific object
    $ExportJobRequestObject = $ExportJobRequest -as 
    [Replay.Core.Contracts.Export.ExportJobRequest]
    # Working with input object. All echos are logged
    if($ExportJobRequestObject -eq $null) {
    echo ExportJobRequestObject parameter is null
    }
    else {
    echo Location: $ExportJobRequestObject.Location
    echo Priority: $ExportJobRequestObject.StorageConfiguration
    }
    PostExportScript.ps1
    The PostExportScript is run on the Core after any export job.
    Sample PostExportScript
    # receiving parameter from export job
    param([object]$ExportJobRequest)
    # building path to Cores Common.Contracts.dll and loading this assembly
    $regLM = [Microsoft.Win32.Registry]::LocalMachine
    $regLM = 
    $regLM.OpenSubKey(SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\AppRecovery 
    Core 5)
    $regVal = $regLM.GetValue(InstallLocation)
    $regVal = $regVal + CoreService\Common.Contracts.dll
    [System.Reflection.Assembly]::LoadFrom($regVal)  |  out-null
    $regVal2 = $regLM.GetValue(InstallLocation)
    $regVal2 = $regVal2 + CoreService\Common.Contracts.dll
    # Converting input parameter into specific object
    $ExportJobRequestObject = $ExportJobRequest -as 
    [Replay.Core.Contracts.Export.ExportJobRequest]
    NOTE: There are no input parameters for the PostExportScript when used to run once on the exported 
    protected machine after initial startup. The regular protected machine should contain this script in the 
    PowerShell script folder as PostExportScript.ps1. 
    						
    							Dell AppAssure User Guide
    Version 5.4.3 Revision B376 # Working with input object. All echos are logged
    if($ExportJobRequestObject -eq $null) {
    echo ExportJobRequestObject parameter is null
    }
    else {
    echo VolumeImageIds: $ExportJobRequestObject.VolumeImageIds
    echo RamInMegabytes: $ExportJobRequestObject.RamInMegabytes
    }
    PreNightlyJobScript.ps1
    The PreNightlyJobScript is run before every nighty job on Core side. It contains the parameter $JobClassName, 
    which helps to handle those child jobs separately.
    Sample PreNightlyJobScript
    # receiving parameters from Nightlyjob
    param([System.String]$JobClassMethod , [object]$NightlyAttachabilityJobRequest, 
    [object]$RollupJobRequest, [object]$Agents, [object]$ChecksumCheckJobRequest, 
    [object]$TransferJobRequest, [int]$LatestEpochSeenByCore)
    # building path to Cores Common.Contracts.dll and loading this assembly
    $regLM = [Microsoft.Win32.Registry]::LocalMachine
    $regLM = 
    $regLM.OpenSubKey(SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\AppRecovery 
    Core 5)
    $regVal = $regLM.GetValue(InstallLocation)
    $regVal = $regVal + CoreService\Common.Contracts.dll
    [System.Reflection.Assembly]::LoadFrom($regVal)  |  out-null
    # Nightlyjob has four child jobs: NightlyAttachability Job, Rollup Job, Checksum 
    Check Job and Log Truncation Job. All of them are triggering the script, and 
    $JobClassMethod (contain job name that calls the script) helps to handle those child 
    jobs separately
    switch ($JobClassMethod) {
    # working with NightlyAttachability Job
    NightlyAttachabilityJob {
    $NightlyAttachabilityJobRequestObject = $NightlyAttachabilityJobRequest -as 
    [Replay.Core.Contracts.Sql.NightlyAttachabilityJobRequest];
    echo Nightly Attachability job results:;
    if($NightlyAttachabilityJobRequestObject -eq $null) {
    echo NightlyAttachabilityJobRequestObject parameter is null;
    }
    else {
    echo AgentId: $NightlyAttachabilityJobRequestObject.AgentId;
    echo IsNightlyJob: 
    $NightlyAttachabilityJobRequestObject.IsNightlyJob;
    }
    break;
    }
    # working with Rollup Job 
    						
    							Dell AppAssure User Guide
    Version 5.4.3 Revision B377 RollupJob {
    $RollupJobRequestObject = $RollupJobRequest -as 
    [Replay.Core.Contracts.Rollup.RollupJobRequest];
    echo Rollup job results:;
    if($RollupJobRequestObject -eq $null) {
    echo RollupJobRequestObject parameter is null;
    }
    else {
    echo SimultaneousJobsCount: 
    $RollupJobRequestObject.SimultaneousJobsCount;
    echo AgentId: $RollupJobRequestObject.AgentId;
    echo IsNightlyJob: $RollupJobRequestObject.IsNightlyJob;
    }
    $AgentsCollection = $Agents -as 
    System.Collections.Generic.List``1[System.Guid]
    if($AgentsCollection -eq $null) {
    echo AgentsCollection parameter is null;
    }
    else {
    echo Agents GUIDs:
    foreach ($a in $AgentsCollection) {
    echo $a
    }
    }
    break;
    }
    # working with Checksum Check Job
    ChecksumCheckJob {
    $ChecksumCheckJobRequestObject = $ChecksumCheckJobRequest -as 
    [Replay.Core.Contracts.Exchange.ChecksumChecks.ChecksumCheckJobRequest];
    echo Exchange checksumcheck job results:;
    if($ChecksumCheckJobRequestObject -eq $null) {
    echo ChecksumCheckJobRequestObject parameter is null;
    }
    else {
    echo RecoveryPointId: 
    $ChecksumCheckJobRequestObject.RecoveryPointId;
    echo AgentId: $ChecksumCheckJobRequestObject.AgentId;
    echo IsNightlyJob: $ChecksumCheckJobRequestObject.IsNightlyJob;
    }
    break;
    } 
    						
    							Dell AppAssure User Guide
    Version 5.4.3 Revision B378 # working with Log Truncation Job
    TransferJob {
    $TransferJobRequestObject = $TransferJobRequest -as 
    [Replay.Core.Contracts.Transfer.TransferJobRequest];
    echo Transfer job results:;
    if($TransferJobRequestObject -eq $null) {
    echo TransferJobRequestObject parameter is null;
    }
    else {
    echo TransferConfiguration: 
    $TransferJobRequestObject.TransferConfiguration;
    echo StorageConfiguration: 
    $TransferJobRequestObject.StorageConfiguration;
    }
    echo LatestEpochSeenByCore: $LatestEpochSeenByCore;
    break;
    }
    }
    PostNightlyJobScript.ps1
    The PostNightlyJobScript is run after every nighty job on the Core. It contains the parameter $JobClassName, 
    which helps to handle those child jobs separately.
    Sample PostNightlyJobScript
    # receiving parameters from Nightlyjob
    param([System.String]$JobClassMethod , [object]$NightlyAttachabilityJobRequest, 
    [object]$RollupJobRequest, [object]$Agents, [object]$ChecksumCheckJobRequest, 
    [object]$TransferJobRequest, [int]$LatestEpochSeenByCore, 
    [object]$TakeSnapshotResponse)
    # building path to Cores Common.Contracts.dll and loading this assembly
    $regLM = [Microsoft.Win32.Registry]::LocalMachine
    $regLM = 
    $regLM.OpenSubKey(SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\AppRecovery 
    Core 5)
    $regVal = $regLM.GetValue(InstallLocation)
    $regVal = $regVal + CoreService\Common.Contracts.dll
    [System.Reflection.Assembly]::LoadFrom($regVal)  |  out-null
    $regVal2 = $regLM.GetValue(InstallLocation)
    $regVal2= $regVal2 + CoreService\Core.Contracts.dll
    [System.Reflection.Assembly]::LoadFrom($regVal2) | out-null
    # Nightlyjob has four child jobs: NightlyAttachability Job, Rollup Job, Checksum 
    Check Job and Log Truncation Job. All of them are triggering the script, and 
    $JobClassMethod (contain job name that calls the script) helps to handle those child 
    jobs separately
    switch ($JobClassMethod) {
    # working with NightlyAttachability Job
    NightlyAttachabilityJob { 
    						
    All Dell manuals Comments (0)

    Related Manuals for Dell Appassure 5 User Guide