In contrast with Symantas’s recommendation, this is entirely possible without paying their managed services (which are a bit short of staff at the moment, so you may end up with someone from my current employer if you ask for that anyway), but it is kind of a pain in the ass.
I’m in the process (this is the first step) of writing up a white paper on this, so this is very much the DIY version. I make no guarantees: don’t be stupid. Take a catalog backup before you start on any of this, don’t permit any backups to run until you’re sure the system is functional again (bppllist -allpolicies | awk [details elided, as I'm not on an active NBU system at the moment] to note the active policies, then deactivate them all before you start), so forth.
This is tested, through some serious trial and error, in the migration of a 6.0MP7 environment, running on Windows 2003sp2 ia32, to a replacement master server, on Windows 2003sp2 x64, subsequently upgraded to 6.5.6. This is a process, not a magical bullet script that you can go run. Do not even dream of doing this if you don’t understand what all the commands listed here do without my explanation.
I’m also going to go ahead and just post a transcription of my notes, which I do intend to come back and wrap words around later (since I plan to write this up, at least for internal consumption at my employer), but at least this’ll be something if it takes me a while to come back to it.
- dump to files bppllist for all policies, bpstulist for all STUs, nbstl for all SLPs, so forth on the old master before you start; it’ll make rebuilding shorter (and you will need to rebuild; policies go across, but STUs will need to be rebuilt, and if you do the wrong thing at the wrong time, you’ll cause a policy to forget what STU / SLP it used to use)
- fresh 6.0MP7 on new master (nbmaster) and migration media server (nbmedia4)
- add nbmedia4 to old env
- configure DSU
- catalog backup to DSU
- nbemmcmd -deletehost -machinetype media -machinename nbmedia4
- remove nbmedia4 from SERVERs
- shut down svcs on nbmedia4
- add new master and swap in as master in BAR
- regedit to remove old master and replace new master in EMMSERVER
- HKLM\SOFTWARE\VERITAS\NetBackup\CurrentVersion\Config
- start svcs on nbmedia4
- add nbmedia4 as a media server on nbmaster
- add DSU STU for nbmedia4 on nbmaster referencing same directory
- copy catalog BU file across to nbmaster (either straight from netbackup/db/images/<old master>/<date spec>/… or because you had the common sense to configure the DR tab in the catalog backup policy config)
- run the catalog backup recovery wizard (GUI or bprecover -wizard), referencing that file
- push nbmaster as a server to all media servers and clients through the old master while that’s running
- after catalog restore completes, on each media server:
- stop svcs (netbackup stop / bpdown -f -v)
- swap nbmaster in as the master and EMMSERVER (either bp.conf or regedit; remember to double-check vm.conf, regardless of OS, for stray references to the old master)
- start svcs (netbackup start / bpup -f -v)
- at this point, master will start, but be inconsistent
- nbemmcmd -listhosts will show all media servers
- nbemmcmd -getemmserver will only show nbmaster and nbmedia4 as being “in domain”
- preferably, upgrade nbmaster to 6.5.3 or later here (or the second substep in the next step is way more time-intensive/scripted)
- for each media server, running commands on nbmaster:
- bpmedialist -mlist -l -h <media server>
- bpmedia -movedb -allvolumes -newserver nbmaster -oldserver <media server>
- (-allvolumes is a 6.5.x addition; you can just loop around the output from the bpmedialist, and you’ll have to do that to put the media DB entries back on the media server where they came from, but…)
- nbemmcmd -deletehost -machinetype media -machinename <media server>
- nbemmcmd -addhost -machinetype media -masterserver nbmaster -netbackupversion 6 [or 6.5, or whatever; untested below 6.0MP5] -operatingsystem <whatever> -machinename <media server>
- at this point, the media servers should be back, but their devices won’t show up and their STUs, while still present, won’t work (and if you start poking at them, you’ll break them entirely)
- redo device config (through the GUI wizard or through tpconfig, whatever grabs ya)
- bpstulist at this point should claim that there are no STUs configured, but the GUI should still show them (because it’s picking them up from the policy config, but it doesn’t know what goes in them)
- for each STU configured on the old master:
- bpstudel
- bpstuadd (with the appropriate config)
- go back and loop bpmedia -movedb around your output from bpmedialist to put the various media DB entries back to referencing the media servers that created them, rather than nbmaster
- TEST!!! with new policies
- activate your old polices, strategically testing as you go
- if you run into 23/24/25 errors, then you’ve got your new master in a different DNS zone than your old one, or DNS was broken on some of your old media servers and clients, and you either weren’t noticing or had forgotten /etc/hosts entries you’d made… this is an excellent time to atone for that sin, for which proper use of bpclntcmd -pn is your friend