NetBackup, How to Backup SUSE Linux VM's with GitHub and Nexus?
Posted by FirefighterLong3791@reddit | sysadmin | View on Reddit | 11 comments
NetBackup, How to Backup SUSE Linux VM's with GitHub and Nexus. I want to backup these 2 VM's, we already have a backup of the entire VM, but there is also a requirement to back up the GitHub and Nexus Machines separately for consistent backups. So, can you guys help me how we should proceed with this and what will be the best practice, Thanks!
malikto44@reddit
I had this same scenario. Here is what I did for both:
For Nexus, I built the VM to use Linux LVM, and ext4. Netbackup will pop snapshots at the LVM block level, so I made sure to build around that.
From there, I had a backup agent on the Nexus VM, and I also backed it up on the hypervisor level. This got me, both a stable filesystem backup, and a snapshot backup. Every so often, I'd stop Nexus and the database, then do both a filesystem and a snapshot in this state, ensuring consistency between the DB and the files, which is critical for Nexus and Artifactory.
I also did this on the VM that was a file server. This way, I had both an image backup and a file by file backup, and I didn't need to jump through hoops to restore the entire image, then mount the image as a filesystem on a temporary VM to restore files, as I would have had to do with a snapshot backup.
FirefighterLong3791@reddit (OP)
Thanks a lot for the answer, I'm already taking the VM backup i.e. I have got the VM Snapshot backup/image in case the VM itself blows up & the backup is going on Tape, so we are good there and don't need anything more there.
malikto44@reddit
I have found
ghe-backupa lifesaver. In fact, there are times where I've dumped the entire appliance, reloaded it with aghe-backupto ensure everything is running at factory specs, mainly because GitHub Enterprise is updated so often, and in general, I have a weekly soft-outage window for it, and a bi-weekly hard outage window for it, so I can hotpatch it, or just take the entire thing down completely, get a cold backup, snapshot it while it is not up (saving drive space because RAM isn't saved), firing it up, doing the update, then the usual tests, and then letting the users loose back on it.cjcox4@reddit
I've moved machines to VMs, one hypervisor to another, etc... over the years. In Linux, this actually can be simple. Just copying the file data, ensuring permissions and minor changes to the bootloader and "ta da", you're there. It's actually quite easy.
I've done it "live" (this does come with normal integral data risks) and offline. Never had an issue.
So, the backup software I wrote just focuses on the files and permissions. The rest, those minor adjustments for boot, we just do manually. I guess it depends on if the goal is to backup/move thousands of VMs or merely a couple of hundred or less. Btw, compared to something like Veeam, my backup system was orders of magnitude more efficient. Just saying. I used a forever rolling "snapshotting" methodology (without tying to some sort of "product" snapshotting). I simply used hard linked files with real dirs.... all things now built into GNU's cp program (but easy to do decades before those features were added).
Anyway, just saying. Obviously people create "requirements" sometimes that ruin simplicity. If you have to follow "the requirements" and it includes (possibly bad) tech choices, sometimes you "do" what you have to do.
There was a day when I'd say "anyone with moderate Linux/Unix knowledge" could do this.
FirefighterLong3791@reddit (OP)
I know where you are going with this 😅 and obviously there are some rules that we have to follow. Haha
Helpjuice@reddit
Got to read the docs my friend on how to conduct a manual backup
FirefighterLong3791@reddit (OP)
Well bro, I do know how to perform a manual backup and according to my understanding in this case, I will install the agent on the client/SUSE Linux VM and backup the specific & Important directories for GitHub and Nexus (like their repositories path, etc) and I will be good to go. The purpose of me posting here is for part-verifying and part-knowing Best Practices (if any) that could be different from this scenario.
Helpjuice@reddit
Again you have to start reading the docs that the vendors provide. - GitHub - Nexus
Swing back if you do a test restore and it doesn't work and we will help you out, but you have to at least give it a go and then let us know how your regular DR testing went with it first and if there were any problems you ran into.
FirefighterLong3791@reddit (OP)
Well, I know about NetBackup and if GitHub and Nexus have features by which they can create their own backup, I didn't know much about those, thanks for providing the docs (they are cool) and yes Once I perform the backup and things didn't go smoothly (which I obviously don't hope for) then I will tell you Chief Engineer! 🫡
Helpjuice@reddit
Excellent, love the enthusiasm! I hope nothing goes wrong, but that is where we come in as we all know when something can go wrong it will.
This will be more fun than providing generic guidance as you'll come with log snippits, what you did, what you saw and we can have some fun with it by trying it out in our own environments, diving deep and sharing what we have seen.
FirefighterLong3791@reddit (OP)
Okay!