-
- Novice
- Posts: 8
- Liked: never
- Joined: Mar 30, 2016 4:21 pm
- Full Name: IT Staff
- Contact:
PowerShell or Script to reset Tape Backup Jobs to think they are new
I am learning that my wonderful results on Day 1 of my Tape Jobs do not occur on day 2 and beyond. I need the Full backup chain on each tape backup regardless of what is going on with the source backup job. Apparently because my source backup jobs are set to Incremental with Active Fulls each weekend, I will only get the VIBs through the week. However I know Veeam can give me what I want because a brand new tape job does the full backup chain. I am wondering if there is a powershell command or database script I can run each day to reset the tape jobs to behave like they do when new. Thanks in advance.
-
- Product Manager
- Posts: 9848
- Liked: 2607 times
- Joined: May 13, 2017 4:51 pm
- Full Name: Fabian K.
- Location: Switzerland
- Contact:
Re: PowerShell or Script to reset Tape Backup Jobs to think they are new
Hi
You could probably try to remove tape medium information from the database. I believe the next backup should be a full, because Veeam isn't aware of the old backups. But you will loose backup information in the Veeam console.
https://helpcenter.veeam.com/docs/backu ... ml?ver=110
Thanks
Fabian
Yes, the first one will always has to be a full backup.However I know Veeam can give me what I want because a brand new tape job does the full backup chain.
We cannot provide database scripts over the forum. Manipulating the configuration database is unsupported. The only way to interact with the database is through the vbr console, vbr powershell, enterprise manager or official RestAPI endpoints.I am wondering if there is a powershell command or database script I can run each day to reset the tape jobs to behave like they do when new.
You could probably try to remove tape medium information from the database. I believe the next backup should be a full, because Veeam isn't aware of the old backups. But you will loose backup information in the Veeam console.
https://helpcenter.veeam.com/docs/backu ... ml?ver=110
Code: Select all
Remove-VBRTapeMedium
Fabian
Product Management Analyst @ Veeam Software
-
- Novice
- Posts: 8
- Liked: never
- Joined: Mar 30, 2016 4:21 pm
- Full Name: IT Staff
- Contact:
Re: PowerShell or Script to reset Tape Backup Jobs to think they are new
If I remove the tape medium information, that creates a mess for restore purposes. How do I get Veeam to behave this way without removing the medium information? I tried switching to synthetic fulls, and while that does get a full backup on the tape, it also GREATLY increases my backup window and is also filling up my NAS storage with a bunch of VBKs for each day instead of 1 vbk and vibs.
-
- Product Manager
- Posts: 9848
- Liked: 2607 times
- Joined: May 13, 2017 4:51 pm
- Full Name: Fabian K.
- Location: Switzerland
- Contact:
Re: PowerShell or Script to reset Tape Backup Jobs to think they are new
Daily synthetic full will work perfectly, if you have reFS or XFS backup repositories with Fast Clone support.
Fast Clone allows fast and space less synthetic full backups.
How do you connect Veeam to the NAS? SMB or NFS? Or iSCSI?
Thanks
Fabian
Fast Clone allows fast and space less synthetic full backups.
How do you connect Veeam to the NAS? SMB or NFS? Or iSCSI?
Thanks
Fabian
Product Management Analyst @ Veeam Software
-
- Novice
- Posts: 8
- Liked: never
- Joined: Mar 30, 2016 4:21 pm
- Full Name: IT Staff
- Contact:
Re: PowerShell or Script to reset Tape Backup Jobs to think they are new
While I would prefer "original" vbk and vibs to be directly put the tape to have full backup chains, I will experiment with moving my NFTS repositories to reFS and try Fast Clone this weekend.
-
- Veeam Software
- Posts: 2123
- Liked: 513 times
- Joined: Jun 28, 2016 12:12 pm
- Contact:
Re: PowerShell or Script to reset Tape Backup Jobs to think they are new
Hi @ITStaff,
Maybe you can explain your goal a bit more as I'm a bit confused.
Is your goal:
1. Run the tape job every day
2. Every day, the entire backup chain is copied "as is" from the repository to tape (starting from the latest Full)
I can understand this to some degree, but doesn't this create a lot of redundancy? That is, You would have it like:
Tape 1: FullA, inc1, inc2
Tape 2: FullA, inc1, inc2, inc3
Tape 3: FullA, inc1, inc2, inc3, inc4
If it's a single tape, it's still a lot of redundant points on the same tape (which I have concerns about as it's an all-in-one-basket situation then and if the tape corrupts/breaks for any reason, that's it)
Tape: FullA, inc1, inc2, FullA, inc1, inc2, inc3, FullA, inc1, inc2, inc3, inc4
If redundancy is the goal though, then understood, but I just want to make sure I understand the strategy in full. The reason I have some confusion is because it seems like every day you'd be backing up a lot of extra data just to capture the last incremental point, and I think there are some less tape-intensive approaches here.
If you set the Media Set creation to "Do not create, always continue", each incremental backup will just be added to the previous tape presuming the tape is online and has space. So your tape backups will mirror your repository 1:1. As soon as a new full is produced, it will be copied to tape also, and you can even set the media set creation to start a new media set on that day and start fresh on a new tape.
If the goal though is really to have the entire chain backed up to tape fresh each time, this is doable with Powershell in a roundabout way by constantly making new tape jobs and cleaning up the old ones. The removal of old jobs won't affect the data on tape in any way and they will be viewable and restorable within the console still even without being tied to a specific job.
https://helpcenter.veeam.com/docs/backu ... ml?ver=110
The -CopyFromLatestFull flag will reproduce the "Latest chain only" and the job will backup the entire latest chain "as is", so it would be simple enough to just compose a script that creates the new job, and then cleans up the old one.
I want to address something quick though:
> While I would prefer "original" vbk and vibs to be directly put the tape to have full backup chains
I get what you're saying here, but fundamentally, the Synthetic Full is an intelligent copy of the relevant data blocks necessary to create a full independent backup representing the state of the machine on the day of creation. So yes, it's a different file, but it's the exact same data for that state, just a new backup file made live either on the repository or if you use Virtual Fulls, on the tape itself. (And the virtual full process is de-facto the best way to move full backups to tape at the moment since in v10 there was a substantial speed improvement to the Virtual Full Engine; the limiting factor is read speed on the source repository)
All in all, I can understand the goal of the entire latest chain every single day, but I would wonder if other solutions are a bit closer to your tape-out goal, for example daily fulls to tape with Virtual Synthetic Fulls, or a modified tape-out strategy.
I would also suggest if tape redundancy is your goal consider a Tape Copy schedule: https://helpcenter.veeam.com/docs/backu ... ml?ver=110
This would mean you could lower the workload on the repository, keep the tape backup times short, and then just copy tape-to-tape if you have the drives to support it. So you can keep a much more simple tape-out schedule and just make a copy of the tape, but of course if you don't have additional drives, this isn't a feasible solution. But if you have the drives, it would greatly reduce the workload on your repository and I think provide much more simple scheduling.
Maybe you can explain your goal a bit more as I'm a bit confused.
Is your goal:
1. Run the tape job every day
2. Every day, the entire backup chain is copied "as is" from the repository to tape (starting from the latest Full)
I can understand this to some degree, but doesn't this create a lot of redundancy? That is, You would have it like:
Tape 1: FullA, inc1, inc2
Tape 2: FullA, inc1, inc2, inc3
Tape 3: FullA, inc1, inc2, inc3, inc4
If it's a single tape, it's still a lot of redundant points on the same tape (which I have concerns about as it's an all-in-one-basket situation then and if the tape corrupts/breaks for any reason, that's it)
Tape: FullA, inc1, inc2, FullA, inc1, inc2, inc3, FullA, inc1, inc2, inc3, inc4
If redundancy is the goal though, then understood, but I just want to make sure I understand the strategy in full. The reason I have some confusion is because it seems like every day you'd be backing up a lot of extra data just to capture the last incremental point, and I think there are some less tape-intensive approaches here.
If you set the Media Set creation to "Do not create, always continue", each incremental backup will just be added to the previous tape presuming the tape is online and has space. So your tape backups will mirror your repository 1:1. As soon as a new full is produced, it will be copied to tape also, and you can even set the media set creation to start a new media set on that day and start fresh on a new tape.
If the goal though is really to have the entire chain backed up to tape fresh each time, this is doable with Powershell in a roundabout way by constantly making new tape jobs and cleaning up the old ones. The removal of old jobs won't affect the data on tape in any way and they will be viewable and restorable within the console still even without being tied to a specific job.
https://helpcenter.veeam.com/docs/backu ... ml?ver=110
The -CopyFromLatestFull flag will reproduce the "Latest chain only" and the job will backup the entire latest chain "as is", so it would be simple enough to just compose a script that creates the new job, and then cleans up the old one.
I want to address something quick though:
> While I would prefer "original" vbk and vibs to be directly put the tape to have full backup chains
I get what you're saying here, but fundamentally, the Synthetic Full is an intelligent copy of the relevant data blocks necessary to create a full independent backup representing the state of the machine on the day of creation. So yes, it's a different file, but it's the exact same data for that state, just a new backup file made live either on the repository or if you use Virtual Fulls, on the tape itself. (And the virtual full process is de-facto the best way to move full backups to tape at the moment since in v10 there was a substantial speed improvement to the Virtual Full Engine; the limiting factor is read speed on the source repository)
All in all, I can understand the goal of the entire latest chain every single day, but I would wonder if other solutions are a bit closer to your tape-out goal, for example daily fulls to tape with Virtual Synthetic Fulls, or a modified tape-out strategy.
I would also suggest if tape redundancy is your goal consider a Tape Copy schedule: https://helpcenter.veeam.com/docs/backu ... ml?ver=110
This would mean you could lower the workload on the repository, keep the tape backup times short, and then just copy tape-to-tape if you have the drives to support it. So you can keep a much more simple tape-out schedule and just make a copy of the tape, but of course if you don't have additional drives, this isn't a feasible solution. But if you have the drives, it would greatly reduce the workload on your repository and I think provide much more simple scheduling.
David Domask | Product Management: Principal Analyst
-
- Novice
- Posts: 8
- Liked: never
- Joined: Mar 30, 2016 4:21 pm
- Full Name: IT Staff
- Contact:
Re: PowerShell or Script to reset Tape Backup Jobs to think they are new
Over all my goal is that every tape would have at least a full on it with tape jobs running daily, and tapes creating a new media set Monday through Friday. Weekends would just pool up incrementals on the existing media set after the full completed. About 40 jobs require this. However, there are about 4 jobs I have where a full + daily differential would be acceptable, as those are archive style backups where nothing really changes on them except patching.
While it may be excessive to some, it would be cool to have those extra recover points, such as on Tape 3 in your example. Not required but appreciated in case a tape goes bad or is dropped in transit.
What is absolutely not acceptable for our DR strategy is reliance on multiple tapes over days to achieve restore points. For example, if we run fulls on the weekend and incrementals during the week, we would be looking at needing the 5 tapes to restore to a Thursday point in time. The tape from the weekend, and then M, Tue, Wed, Thursdays tape. Too many chances for failure.
***Synthetic Fulls + ReFS fast cloning is getting me what I want in terms of having a full on every daily tape we do and the backup time is acceptable.
However I am not able to keep the same number of recovery points on my local storage now. It’s not terrible but it’s not the same as what I was getting with VBK + VIBs. I am still learning how to manage ReFS and am hoping to play with blockstat next.
In general I am just surprised I can't check a box to make the product do the same thing it does on a day 1 tape.
While it may be excessive to some, it would be cool to have those extra recover points, such as on Tape 3 in your example. Not required but appreciated in case a tape goes bad or is dropped in transit.
What is absolutely not acceptable for our DR strategy is reliance on multiple tapes over days to achieve restore points. For example, if we run fulls on the weekend and incrementals during the week, we would be looking at needing the 5 tapes to restore to a Thursday point in time. The tape from the weekend, and then M, Tue, Wed, Thursdays tape. Too many chances for failure.
***Synthetic Fulls + ReFS fast cloning is getting me what I want in terms of having a full on every daily tape we do and the backup time is acceptable.
However I am not able to keep the same number of recovery points on my local storage now. It’s not terrible but it’s not the same as what I was getting with VBK + VIBs. I am still learning how to manage ReFS and am hoping to play with blockstat next.
In general I am just surprised I can't check a box to make the product do the same thing it does on a day 1 tape.
-
- Veeam Software
- Posts: 2123
- Liked: 513 times
- Joined: Jun 28, 2016 12:12 pm
- Contact:
Re: PowerShell or Script to reset Tape Backup Jobs to think they are new
Hi @ITStaff,
Got it thank you for the clarification, I get your goal now.
I think that Tape Copy would still be a potential workaround here; just have one Primary tape job that runs on the normal Veeam schedule and copy it out to the tapes you need to off-site. This should work pretty okay IMO and avoid any custom scripting/job rebuilds, just a scheduled (powershell) tape copy except for the day the primary tape goes off-site.
Checkbox already "sort" of exists for this, but not in the way you're expecting, so I get your request and use case, just right now not quite a function that does how you're planning.
As for ReFS, I'm glad it's pretty close and I think this is the least painful option for you. If you do Forever Forward Incremental, you can do the same with Tape Virtual full and just schedule it to make a Virtual full every day. This is still the best way to put fulls on tape, and it's a pretty common strategy, but it comes at the cost of tape space, so might not quite be what you want.
Got it thank you for the clarification, I get your goal now.
I think that Tape Copy would still be a potential workaround here; just have one Primary tape job that runs on the normal Veeam schedule and copy it out to the tapes you need to off-site. This should work pretty okay IMO and avoid any custom scripting/job rebuilds, just a scheduled (powershell) tape copy except for the day the primary tape goes off-site.
Checkbox already "sort" of exists for this, but not in the way you're expecting, so I get your request and use case, just right now not quite a function that does how you're planning.
As for ReFS, I'm glad it's pretty close and I think this is the least painful option for you. If you do Forever Forward Incremental, you can do the same with Tape Virtual full and just schedule it to make a Virtual full every day. This is still the best way to put fulls on tape, and it's a pretty common strategy, but it comes at the cost of tape space, so might not quite be what you want.
David Domask | Product Management: Principal Analyst
Who is online
Users browsing this forum: No registered users and 7 guests