Video Screencast Help

Info required on Volume Pool

Created: 23 Jan 2013 • Updated: 10 Mar 2013 | 9 comments
This issue has been solved. See solution.

Hi All,

I've a query which I wanted to raise here because I am sure lot of talent will help me in solving this small query of mine.


How to move all tapes from Volume Pool to another Volume pool, via command line.

For eg. I've 20 Tapes in volume Pool named "Netbackup".

And with the help of command line I want to move all tapes which are under "Netbackup" volume pool to some manually created volume pool.

Actually intention here is to move all the tapes without defining the Media ID.

Thanks in advance.

If you need more info please let us know.

Hemant Gambhir

Comments 9 CommentsJump to latest comment

William Jansen van Nieuwenhuizen's picture


There is a technote to help you, that you can find here:

The just of it is:

1. Determine which volume pools are available by running the following command:

/usr/openv/volmgr/bin/vmpool -listall

2. To change the volume pool of the media, run the following command:

/usr/openv/volmgr/bin/vmchange -M <master server> -p <pool number> -m <media ID>

If you tell me the platform you are on, i might even be able to help you with a little shell script to speed things up.

William Jansen van Nieuwenhuizen's picture

Can you not perhaps just change to Pool Name and then recreate another pool under the old name(keeping the same pool id)?

RamNagalla's picture

I dont think we can change the Volume Pool Name, other than Deleting it.

RamNagalla's picture


1) you can not chage the Volume pool of the media with out defining the Media ID.

2) you can not chage the Volume pool of the media if it is already assined.

if the tapes are not assinged, and you want to chage all tapes volume pool at once

 - you can use GUI 

- you need to use Script, ( which would provide the Media ID to the Vmchage command behalf of you)

Do you have the Scratch Pool configured?

Could you let us know why you what to do this, so that we may try to provide the better solution for your query

Hemant Gambhir09's picture

Hi William,

Thanks for your reply.

I am aware of this command "vmchange -M <master server> -p <pool number> -m <media ID>".

But my requirement is something else. I want to move all tapes from Pool to Pool.

Let's say vmchange (move all tapes under VP1 to VP2) which are currently loaded in the tape library.

I need this for some special purpose. As I've created a small batch file to schedule the inventory in NBU via task scheduler, which is running fine. But I also want something which can move tapes from Netbackup pool to Scratch Pool. So that they can be used for backups without any manual intervention.

P.S: I am using windows Server 2008 R2.



Hemant Gambhir

RamNagalla's picture


why dont you set up a Inventory to move all tapes to Scratch Pool. using Barcode rules?

if you do that, you does not need to perform any additional task 

Hemant Gambhir09's picture


Yes, I do have scratch pool configured.

By default whenevr the tapes are loaded in the tape library they are assiged to "Netbackup" Volume pool.

As I mentioned in my previous post, that I've created & scheduled a small batch file which will run inventory on tape library & updates volume configuration.

Only thing I need is the tapes which are detected should also move to scratch pool automatically. So that my backups should run without any manual intervention.



Hemant Gambhir

RamNagalla's picture

if this is only your requirement,

you can set-up your Invetory to move tapes to Scratch pool Direclty. so that you does not need to run any additional batch files..

Volume pool

The volume pool for the new media. The actions depend on whether you use bar code rules to assign media attributes.

Select from the following:


    If DEFAULT is selected, NetBackup performs the following actions:

    • If you use bar code rules, the bar code rules determine the volume pool to which new volumes are assigned.

    • If you do not use bar code rules, NetBackup assigns data tapes to the NetBackup pool but does not assign cleaning tapes to a volume pool.

  • A specific volume pool

    This volume pool setting always overrides any bar code rules.

hope this helps

Marianne's picture

In support of above excellent posts, let us recap:

The command in William's post is 100% correct and is the only way. '-m <media-id>' is a mandatory option.
As per Williams post, it can be scripted - use 'vmquery' to generate list of media-id's in specified pool, then use a 'for' loop to change pool for each media id.

Nagalla is right too - only unassigned tapes can be moved to another pool.

Barcode Rules will be easiest to automatically add new tapes to required pool.

To add all new tapes to Scratch pool by default, create the following Barcode Rule (choose correct Media type):

Barcode tag: <DEFAULT>

Media type: hcart

pool name:  Scratch 

Supporting Storage Foundation and VCS on Unix and Windows as well as NetBackup on Unix and Windows
Handy NBU Links