vchanger is designed to implement a disk-based virtual autochanger device for use with Bacula(TM), an open-source network backup solution.
C++ Makefile C Shell NSIS M4
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
doc
rpm
scripts
src
win32
AUTHORS
COPYING
ChangeLog
INSTALL
Makefile.am
Makefile.in
NEWS
README
ReleaseNotes
aclocal.m4
config.guess
config.h.in
configure
configure.ac
depcomp
install-sh
missing
win32build

README

vchanger is designed to implement a disk-based virtual autochanger device for
use with Bacula(TM), an open-source network backup solution.

Please see the vchangerHowto.html in the doc directory of the vchanger source
for further documentation and installation instructions.

I've made a bit change in function CreateVolumes to modify the way to generate volume names,
because by default when vchanger creates volumes doesn't keep the correct order in "list media"

Before changes:

vchanger /etc/vchanger/vchanger.conf createvols 3 15 1

Pool: Scratch
+---------+----------------------------+-----------+
| MediaId | VolumeName                 | VolStatus |
+---------+----------------------------+-----------+
|     111 | StorageVirtualChanger_3_1  | Append    |
|     112 | StorageVirtualChanger_3_10 | Append    |
|     113 | StorageVirtualChanger_3_11 | Append    |
|     114 | StorageVirtualChanger_3_12 | Append    |
|     115 | StorageVirtualChanger_3_13 | Append    |
|     116 | StorageVirtualChanger_3_14 | Append    |
|     117 | StorageVirtualChanger_3_15 | Append    |
|     118 | StorageVirtualChanger_3_2  | Append    |
|     119 | StorageVirtualChanger_3_3  | Append    |
|     120 | StorageVirtualChanger_3_4  | Append    |
|     121 | StorageVirtualChanger_3_5  | Append    |
|     122 | StorageVirtualChanger_3_6  | Append    |
|     123 | StorageVirtualChanger_3_7  | Append    |
|     124 | StorageVirtualChanger_3_8  | Append    |
|     125 | StorageVirtualChanger_3_9  | Append    |
+---------+----------------------------+-----------+

vchanger /etc/vchanger/vchanger.conf createvols 3 15 1 --label=Volume-Daily

Pool: Scratch
+---------+-----------------+-----------+
| MediaId | VolumeName      | VolStatus |
+---------+-----------------+-----------+
|     126 | Volume-Daily_1  | Append    |
|     127 | Volume-Daily_10 | Append    |
|     128 | Volume-Daily_11 | Append    |
|     129 | Volume-Daily_12 | Append    |
|     130 | Volume-Daily_13 | Append    |
|     131 | Volume-Daily_14 | Append    |
|     132 | Volume-Daily_15 | Append    |
|     133 | Volume-Daily_2  | Append    |
|     134 | Volume-Daily_3  | Append    |
|     135 | Volume-Daily_4  | Append    |
|     136 | Volume-Daily_5  | Append    |
|     137 | Volume-Daily_6  | Append    |
|     138 | Volume-Daily_7  | Append    |
|     139 | Volume-Daily_8  | Append    |
|     140 | Volume-Daily_9  | Append    |
+---------+-----------------+-----------+


After changes:

vchanger /etc/vchanger/vchanger.conf createvols 3 15 1

Pool: Scratch
+---------+------------------------------+-----------+
| MediaId | VolumeName                   | VolStatus |
+---------+------------------------------+-----------+
|     156 | StorageVirtualChanger_3_0001 | Append    |
|     157 | StorageVirtualChanger_3_0002 | Append    |
|     158 | StorageVirtualChanger_3_0003 | Append    |
|     159 | StorageVirtualChanger_3_0004 | Append    |
|     160 | StorageVirtualChanger_3_0005 | Append    |
|     161 | StorageVirtualChanger_3_0006 | Append    |
|     162 | StorageVirtualChanger_3_0007 | Append    |
|     163 | StorageVirtualChanger_3_0008 | Append    |
|     164 | StorageVirtualChanger_3_0009 | Append    |
|     165 | StorageVirtualChanger_3_0010 | Append    |
|     166 | StorageVirtualChanger_3_0011 | Append    |
|     167 | StorageVirtualChanger_3_0012 | Append    |
|     168 | StorageVirtualChanger_3_0013 | Append    |
|     169 | StorageVirtualChanger_3_0014 | Append    |
|     170 | StorageVirtualChanger_3_0015 | Append    |
+---------+------------------------------+-----------+
*

This way I can define if I use "-" (hyphen) or "_" (underscore) to label volumes and the volume numbers stay in correct order.

vchanger /etc/vchanger/vchanger.conf createvols 3 15 1 --label=Volume-Daily-

Pool: Scratch
+---------+-------------------+-----------+
| MediaId | VolumeName        | VolStatus |
+---------+-------------------+-----------+
|     171 | Volume-Daily-0004 | Append    |
|     172 | Volume-Daily-0005 | Append    |
|     173 | Volume-Daily-0006 | Append    |
|     174 | Volume-Daily-0007 | Append    |
|     175 | Volume-Daily-0008 | Append    |
|     176 | Volume-Daily-0009 | Append    |
|     177 | Volume-Daily-0010 | Append    |
|     178 | Volume-Daily-0011 | Append    |
|     179 | Volume-Daily-0012 | Append    |
|     180 | Volume-Daily-0013 | Append    |
|     181 | Volume-Daily-0014 | Append    |
|     182 | Volume-Daily-0015 | Append    |
+---------+-------------------+-----------+
*

This way I can define if I use "-" (hyphen) or "_" (underscore) to label volumes and the volume numbers are in correct order.

vchanger /etc/vchanger/vchanger.conf createvols 3 15 1 --label=Volume_Daily_

Pool: Scratch
+---------+-------------------+-----------+
| MediaId | VolumeName        | VolStatus |
+---------+-------------------+-----------+
|     183 | Volume_Daily_0001 | Append    |
|     184 | Volume_Daily_0002 | Append    |
|     185 | Volume_Daily_0003 | Append    |
|     186 | Volume_Daily_0004 | Append    |
|     187 | Volume_Daily_0005 | Append    |
|     188 | Volume_Daily_0006 | Append    |
|     189 | Volume_Daily_0007 | Append    |
|     190 | Volume_Daily_0008 | Append    |
|     191 | Volume_Daily_0009 | Append    |
|     192 | Volume_Daily_0010 | Append    |
|     193 | Volume_Daily_0011 | Append    |
|     194 | Volume_Daily_0012 | Append    |
|     195 | Volume_Daily_0013 | Append    |
|     196 | Volume_Daily_0014 | Append    |
|     197 | Volume_Daily_0015 | Append    |
+---------+-------------------+-----------+