Skip to main content

We have a partitioned DDB that uses a Disk library with 12 mount points. Spill and fill has been configured.

An oracle DB is backed up with 4 streams/channels. The backup allocates 4 streams but these streams are allocated to one mount point and via one MA. 

How can the streams be spread across multiple mountpoints such that 2 go via MA1 and 2 via MA2.

===

Second Oracle DB is being backed up. This takes the same partition as the above job and uses another mount point with all 4 streams going to the same mountpoint.

 

Any ideas how the streams to make Commvault distribute the streams evenly?

I would expect Commvault to do the following as per the spill and fill setting + we also have the check box “prefer mp with most free space” (i have unchecked this to see how the utilization looks like tomorrow):

Spill and Fill Mount Paths (load balance use of mount paths)

If this option is selected the system writes to all the mount paths in parallel if you have established sufficient number of writers. Use this option to obtain maximum throughput, especially when you have several mount paths. However the data will be fragmented between the available mount paths.

Note that when this option is selected, the system will use the Least Recently Used (LRU) mount path. (As opposed to the mount path with least used capacity.)

For example, a disk library with 3 mount paths (A, B, C) and if two 3-stream storage policies (SP_1_1, 2 and 3 and SP_2_1, 2 and 3) are used for running simultaneous backups, the jobs are run as follows: (Assuming that the backups are run for the first time.)

SP_1_1 > Mount Path A

SP_2_1 > Mount Path B

SP_1_2 > Mount Path C

SP_2_2 > Mount Path A

SP_1_3 > Mount Path B

SP_2_3 > Mount Path C

Note that this order may change subsequently, depending on the LRU condition of the mount path.

https://documentation.commvault.com/11.24/expert/9319_disk_libraries_advanced.html#b9365_use_unbuffered_io

 


The thing to keep in mind as you observe is that various streams have different sizes/performances, etc.  So you might at a brand new kick off have all 6 streams split evenly (in your latter example), though who knows if streams 4, 5, and 6 are enormous (and maybe slow to boot), whereas 1, 2, and 3 are smaller and quicker.

Now another set of jobs come up and see that the jobs go to 1, 2, and 3….and then another set, etc.  At the end of a few hours, you have a ton of stream usage for 1-3 and very little for 4-6, but all of your rules were followed….it just doesn’t appear like they were.

Generally, the stream usage *IS* evenly distributed by means of assignment, but maybe not in effect of space used (over time).

It’s like busses at a depot.  You can set each bus to be used in order (based on LRU, but maybe bus 1 gets 3 passengers all going to one nearby location.  Now bus 2 gets a full capacity order and each person is separately going to distant locales.  Bus 1 will be back much faster than bus 2, but likely get used more often in the meantime.

Eventually, things should balance out, but it’s also hard to see total lifetime usage as jobs get written and others age off.

Keep us posted on the usage tomorrow, though you’ll want to closely monitor each job, stream, etc. to see the ‘whats and whys’.


I have opened a case and they have confirmed that the above mentioned check box should be unchecked. 

 

Thanks mike for your explanation! @Mike Struening much appreciated!


Great!


Reply