Forum Discussion

RLeon's avatar
RLeon
Level 6
13 years ago

Removing a single volume from a multi-volume AdvancedDisk disk pool, without expiring any backups

Hi all,

https://www-secure.symantec.com/connect/forums/moving-images-between-disks-advanceddisk
https://www-secure.symantec.com/connect/forums/has-anyone-successfully-removed-volume-advanced-disk-pool

I found the above two related posts, but couldn't really find the exact answer to my question.

My version is 7.5 but I suppose I am also asking this question for all previous versions that support AdvancedDisk.

I've read through the AdvancedDisk guide (Used to be part of the Shared Storage guide) and studied the part titled "Removing a volume from an AdvancedDisk disk pool".
The concept, procedures and commands are straightforward enough, but none of the guides explain how to achieve one of the prerequisites for the procedure:
 - NetBackup image fragments cannot exist on the disk volume (that is to be removed from the AdvancedDisk disk pool)

How exactly do I achive this prerequisite without affecting the other volumes in the AdvancedDisk disk pool, and also without having to expire everything from the entire AdvancedDisk disk pool?

I have this AdvancedDisk disk pool with 3 volumes.
All 3 volumes contain backup images.
Now I would like to remove the 3rd volume.
I do not want to expire everything from the entire disk pool (from all 3 volumes) just so I could remove a single volume.
In other words, I don't want the 1st and 2nd volumes to be affected, at all.
I just want to remove the 3rd volume.
Now since the 3rd volume contains images that have not expired (And I have no intention of expiring them), I would like to SOMEHOW MOVE them out from the 3rd volume and into the 1st or 2nd volumes. Or into both.
If this can be done (3rd volume emptied), then the rest of the steps from the guide can be followed. (Which is basically DOWN volume, DOWN disk pool, then "nbdevconfig -deletedv -stype AdvancedDisk -dp disk_pool_name -dv vol_name")

I understand I should not do this from the OS file system because it would mess up the Netbackup catalog image disk references, and stuff.
But how do I do this the "right" way?

In one of the above posts, Nicolai mentioned that "Duplicating the images would have been a good soloution".
If duplication is a solution, I'm thinking of something like the following steps.
But how is it done? I couldn't find an obvious way to do even step 1.


1. Duplicate all images from volume_A in an Advanced disk pool to volume_B in the same Advanced disk pool.
2. Expire the images from volume_A (NOT in the disk pool scope and not from volume_B.)
3. Now that volume_A is rid of all images, remove the volume with the nbdevconfig -deletedv command.
4. Result: Zero backup data lost and zero side effects on the AdvancedDisk disk pool level/scope.



Thanks all,

RLeon
 

  • Just a stab and to help prevent your insanity - or at least to give you something to go on ... not going to be as simple as you hoped i dont think as you need the volume DOWN to make sure it is not writtent to if you try and duplicate it but if it is down you can't duplicate from it!

    1. bpverify or bpimmedia using the -l switch along with -dp and -dv options to identify the images held on that volume.

    2. bpduplicate the images to a new location (tape or another disk pool)

    3. bpexpdate using the -dv or -copy 1 as appropriate to clear that disk volume down

    4. down the disk volume and pool

    5. delete the volume

    6. duplicate it back to the original pool if you wish

    7. if you do 6. above then bpexpdate -copy 2 (or 3 etc.) or -dv again to remove from the temporary location you duplicated them to.

    Or the unautorised way ... using the file copy method you did not want to use (and unsupported i would imagine so purely supplied as a theory!!):

    1. Copy all fragments from the volume to one of the other volumes

    2. bpexpdate against -dv or -copy 1 to clear that volume down

    3. run an import against the volume you copied them to (may have to be from a command line with the -copy 1 switch)

    Your only issue here would be if images were spanned across volumes as you could be left with fragments missing - a full bpimmedia / bpverify may gives you clues if that is the case.

    Hope this helps in some way

  • I am hoping that this is a common thing that people do with their backup storage...

  • This feeling of an overwhelming volume... of suspension is killing me.
    I cannot remove... this feeling.

  • I do not have the brain capacity... to think straight anymore.
    Must withdraw... self from computer.

  • Just a stab and to help prevent your insanity - or at least to give you something to go on ... not going to be as simple as you hoped i dont think as you need the volume DOWN to make sure it is not writtent to if you try and duplicate it but if it is down you can't duplicate from it!

    1. bpverify or bpimmedia using the -l switch along with -dp and -dv options to identify the images held on that volume.

    2. bpduplicate the images to a new location (tape or another disk pool)

    3. bpexpdate using the -dv or -copy 1 as appropriate to clear that disk volume down

    4. down the disk volume and pool

    5. delete the volume

    6. duplicate it back to the original pool if you wish

    7. if you do 6. above then bpexpdate -copy 2 (or 3 etc.) or -dv again to remove from the temporary location you duplicated them to.

    Or the unautorised way ... using the file copy method you did not want to use (and unsupported i would imagine so purely supplied as a theory!!):

    1. Copy all fragments from the volume to one of the other volumes

    2. bpexpdate against -dv or -copy 1 to clear that volume down

    3. run an import against the volume you copied them to (may have to be from a command line with the -copy 1 switch)

    Your only issue here would be if images were spanned across volumes as you could be left with fragments missing - a full bpimmedia / bpverify may gives you clues if that is the case.

    Hope this helps in some way

  • If you want to move it from Volume_A to Volume_B in the same disk pool then the unauthorised way can do just that:

    1. copy everything in volume A and paste it in volume B

    2. Expire everything in volume A

    3. Run an import against the disk pool

    It finds it all in B - job done!

    Just a theory of course!

  • I'm sure when you say "Run an import", that it has something to do with nbcatsync, seeing that it is not a BasicDisk.

    Note to self: Setup test enviornment for theory tests

     

  • You can import from Advanced disk - if you go to the catalog section Actions - Initiate Import you can then select Disk - Advanced Disk and then select the Disk Pool and even the specific volume to run an import against

    Test environment - spot on!

  • 1. copy everything in volume A and paste it in volume B
    2. Expire everything in volume A
    3. Run an import against the disk pool

    Now that I had a better look at the nbcatsync command, I can see that it wouldn't work after I have expired everything from Volume_A, because it would have no image metadata (headers?) to update. (Because those images have expired)
    The only logical option would be to import, as you have pointed out.

    But then, if we are to do this the "unauthorized way" anyway, wouldn't it be easier to simply cut and paste everything from Volume_A to Volume_B, then just do a nbcatsync to update the image database of the change of location? (I.e., the "disk media id")
    That way, you get to skip the expire and import steps.

    Marianne already suggested this in one of the referenced threads. Time for some tests I guess.

    RLeon

  • Thanks for successfully restoring my sanity.
    I knew it wouldn't be simple. If it is, you wouldn't have succeeded.

    For the "unauthorized" way (is there even a proper, documented, "authorized" way to do this?), I'm thinking that it might not be so different to your first method after all.
    It skips the first duplication process, but then you still need time to import them back.
    In the end, you still have to duplicate them from the "imported location" back to the AdvancedDisk disk pool's remaining volumes. Because that is what I said I wanted to do, which is to ultimately move the stuff from Volume_A to Volume_B inside the same disk pool.

    I find it funny that even in the obscure Netbackup Best Practice AdvancedDisk Whitepaper, in the part about removing a volume from a disk pool, it simply says the following without offering a solution to the problem that is being discussed in this thread:

    Note:  Any backup data on the disk when it is removed from the pool will be lost so enure the disk is empty before issuing this command.

    It was almost as good as:

    PROTIP: To defeat the Cyberdemon, shoot at it until it dies.

    Jolly good fun.

    Thanks again,

    RLeon

  • Try it out and see which works best for you - imports on disk is very very fast - test it out and see which works best for you