-
Georg999
- Influencer
- Posts: 16
- Liked: 3 times
- Joined: May 25, 2022 2:27 pm
- Contact:
Use different number of tape devices at GFS job
Hello,
I have the following problem:
2 tape drives LTO8 and library are available
the Backup to Tape Job GFS is configured as follows:
Option: Drive usage - 2 tape drives
Daily backup: Every Day (incremental ~ 1TB)
Weekly backup: Saturday (full >40TB)
Monthly backup: First Saturday of the month (full >40TB)
Quarterly backup: disabled
Yearly backup: First Saturday of the year (full >40TB)
Of course, the job now also uses 2 tapes in parallel for the daily backup <1TB. With the other (W/M/Y) backups he should do this to increase performance.
Is there a way to configure the job to use only one drive (tape) for either daily backup or when the job stays under a tape capacity.
Another possibility occurred to me with job scripts before and after the job to change the job on Friday and Saturday so that the drive usage is then adjusted.
But here I lack the knowledge of configuring a job via Powershell.
I would be grateful for any hint to solve my problem.
I have the following problem:
2 tape drives LTO8 and library are available
the Backup to Tape Job GFS is configured as follows:
Option: Drive usage - 2 tape drives
Daily backup: Every Day (incremental ~ 1TB)
Weekly backup: Saturday (full >40TB)
Monthly backup: First Saturday of the month (full >40TB)
Quarterly backup: disabled
Yearly backup: First Saturday of the year (full >40TB)
Of course, the job now also uses 2 tapes in parallel for the daily backup <1TB. With the other (W/M/Y) backups he should do this to increase performance.
Is there a way to configure the job to use only one drive (tape) for either daily backup or when the job stays under a tape capacity.
Another possibility occurred to me with job scripts before and after the job to change the job on Friday and Saturday so that the drive usage is then adjusted.
But here I lack the knowledge of configuring a job via Powershell.
I would be grateful for any hint to solve my problem.
-
HannesK
- Product Manager
- Posts: 16268
- Liked: 3720 times
- Joined: Sep 01, 2014 11:46 am
- Full Name: Hannes Kasparick
- Location: Austria
- Contact:
Re: Use different number of tape devices at GFS job
Hello,
and welcome to the forums.
As you already found out, there is no GUI setting. PowerShell, as suggested by you, should do the job. Something like this:
https://helpcenter.veeam.com/docs/backu ... apool.html
https://helpcenter.veeam.com/docs/backu ... apool.html
Best regards,
Hannes
PS: just curious... what's the problem with parallel streaming for incremental backups?
and welcome to the forums.
As you already found out, there is no GUI setting. PowerShell, as suggested by you, should do the job. Something like this:
Code: Select all
$mediapool = Get-VBRTapeMediaPool -Name GFS
Set-VBRTapeGFSMediaPool -MediaPool $mediapool -EnableMultiStreaming:$true
https://helpcenter.veeam.com/docs/backu ... apool.html
Best regards,
Hannes
PS: just curious... what's the problem with parallel streaming for incremental backups?
-
Georg999
- Influencer
- Posts: 16
- Liked: 3 times
- Joined: May 25, 2022 2:27 pm
- Contact:
Re: Use different number of tape devices at GFS job
Thanks for your help. I thought to myself that there is no other way, I'll try it out.
the problem with parallel streaming for incremental backups is the need for twice the tapes, since the incremental backup easily fits on one tape (< 1TB)PS: just curious... what's the problem with parallel streaming for incremental backups?
-
Georg999
- Influencer
- Posts: 16
- Liked: 3 times
- Joined: May 25, 2022 2:27 pm
- Contact:
Re: Use different number of tape devices at GFS job
Maybe someone needs it
I try this after the Tape Backup:
I try this after the Tape Backup:
Code: Select all
$date = Get-Date
if ($date.DayOfWeek -eq "Friday") {
$mediapool = Get-VBRTapeMediaPool -Name GFS
Set-VBRTapeGFSMediaPool -MediaPool $mediapool -EnableMultiStreaming:$true -NumberOfStreams:2 -SplitJobFilesBetweenDrives:$true
}
else{
$mediapool = Get-VBRTapeMediaPool -Name GFS
Set-VBRTapeGFSMediaPool -MediaPool $mediapool -EnableMultiStreaming:$false
}
-
HannesK
- Product Manager
- Posts: 16268
- Liked: 3720 times
- Joined: Sep 01, 2014 11:46 am
- Full Name: Hannes Kasparick
- Location: Austria
- Contact:
Re: Use different number of tape devices at GFS job
thanks for sharing with the community and happy that it worked 
-
xzvf
- Influencer
- Posts: 16
- Liked: 1 time
- Joined: May 10, 2022 3:48 pm
- Contact:
Re: Use different number of tape devices at GFS job
Hello Georg,
Did it work?
I am in exactly the same situation, but also have lack of powershell skills.
Will try to rewrite this one though.
Nevertheless this is a lifesaver, thanks for sharing!
Did it work?
I am in exactly the same situation, but also have lack of powershell skills.
Will try to rewrite this one though.
Nevertheless this is a lifesaver, thanks for sharing!
Georg999 wrote: May 31, 2022 12:34 pm Maybe someone needs it
I try this after the Tape Backup:
Code: Select all
$date = Get-Date if ($date.DayOfWeek -eq "Friday") { $mediapool = Get-VBRTapeMediaPool -Name GFS Set-VBRTapeGFSMediaPool -MediaPool $mediapool -EnableMultiStreaming:$true -NumberOfStreams:2 -SplitJobFilesBetweenDrives:$true } else{ $mediapool = Get-VBRTapeMediaPool -Name GFS Set-VBRTapeGFSMediaPool -MediaPool $mediapool -EnableMultiStreaming:$false }
-
Georg999
- Influencer
- Posts: 16
- Liked: 3 times
- Joined: May 25, 2022 2:27 pm
- Contact:
Re: Use different number of tape devices at GFS job
Update V13
Something has changed in version 13.
The "-EnableMultiStreaming" parameter no longer appears to exist for the "Set-VBRTapeGFSMediaPool" command. The corresponding menu option is also missing from the GUI.
The choice of whether or not to use multistreaming is determined by the "-NumberOfStreams" parameter; a value of 2 or higher enables multistreaming. In this case, you should also set the "-SplitJobFilesBetweenDrives" parameter to "$false" or "$true" as desired.
Note: The documentation for V13 (at https://helpcenter.veeam.com/docs/vbr/p ... tml?ver=13) still erroneously lists the "-EnableMultiStreaming" parameter, but it no longer works.
Here my new script
Something has changed in version 13.
The "-EnableMultiStreaming" parameter no longer appears to exist for the "Set-VBRTapeGFSMediaPool" command. The corresponding menu option is also missing from the GUI.
The choice of whether or not to use multistreaming is determined by the "-NumberOfStreams" parameter; a value of 2 or higher enables multistreaming. In this case, you should also set the "-SplitJobFilesBetweenDrives" parameter to "$false" or "$true" as desired.
Note: The documentation for V13 (at https://helpcenter.veeam.com/docs/vbr/p ... tml?ver=13) still erroneously lists the "-EnableMultiStreaming" parameter, but it no longer works.
Here my new script
Code: Select all
$date = Get-Date
if ($date.DayOfWeek -eq "Saturday") {
$mediapool = Get-VBRTapeMediaPool -Name GFS
Set-VBRTapeGFSMediaPool -MediaPool $mediapool -NumberOfStreams:2 -SplitJobFilesBetweenDrives:$true
} else {
$mediapool = Get-VBRTapeMediaPool -Name GFS
Set-VBRTapeGFSMediaPool -MediaPool $mediapool -NumberOfStreams:1 -SplitJobFilesBetweenDrives:$false
}
-
Georg999
- Influencer
- Posts: 16
- Liked: 3 times
- Joined: May 25, 2022 2:27 pm
- Contact:
Re: Use different number of tape devices at GFS job
Here the clear version (get help from ChatGPT)
Code: Select all
#requires -Version 7.0
<#
.SYNOPSIS
Adjusts the stream and drive-splitting settings of a Veeam Tape GFS Media Pool.
.DESCRIPTION
This script is intended to run before a Veeam tape job.
On Saturdays:
- Number of streams is set to 2
- Job files are split between tape drives
On all other days:
- Number of streams is set to 1
- Job files are not split between tape drives
.NOTES
Example execution with PowerShell 7:
pwsh.exe -NoProfile -ExecutionPolicy RemoteSigned -File "C:\VeeamScript\before_Tape_Daily_GFS.ps1"
#>
# Stop the script on errors so that Veeam or Task Scheduler can detect failures
$ErrorActionPreference = 'Stop'
# Name of the Veeam Tape GFS Media Pool
$MediaPoolName = 'GFS'
try {
# Get the current local date and time
$CurrentDate = Get-Date
# Retrieve the Veeam Tape Media Pool by name
$MediaPool = Get-VBRTapeMediaPool -Name $MediaPoolName
# Validate that the media pool was found
if (-not $MediaPool) {
throw "The tape media pool '$MediaPoolName' was not found."
}
# Default configuration for normal weekdays
$NumberOfStreams = 1
$SplitJobFilesBetweenDrives = $false
# Special configuration for Saturday
if ($CurrentDate.DayOfWeek -eq [System.DayOfWeek]::Saturday) {
$NumberOfStreams = 2
$SplitJobFilesBetweenDrives = $true
}
# Apply the calculated settings to the GFS media pool
Set-VBRTapeGFSMediaPool `
-MediaPool $MediaPool `
-NumberOfStreams $NumberOfStreams `
-SplitJobFilesBetweenDrives:$SplitJobFilesBetweenDrives
# Write status information for logs, Veeam history, or Task Scheduler output
Write-Host "Tape GFS Media Pool '$MediaPoolName' was configured successfully."
Write-Host "Date/Day of week: $($CurrentDate.ToString('yyyy-MM-dd HH:mm:ss')) / $($CurrentDate.DayOfWeek)"
Write-Host "NumberOfStreams: $NumberOfStreams"
Write-Host "SplitJobFilesBetweenDrives: $SplitJobFilesBetweenDrives"
exit 0
}
catch {
# Write the error message and exit with a non-zero return code
Write-Error "Failed to configure tape GFS media pool '$MediaPoolName': $($_.Exception.Message)"
exit 1
}Who is online
Users browsing this forum: Amazon [Bot] and 20 guests