question: autoloader, multiple drives, pools and volumes

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

question: autoloader, multiple drives, pools and volumes

Andrei Mikhailovsky

Hello to all bacula users.

I am quite new to bacula, but i've read documentation and done the basic
bacula setup and testing. However, I can't seems to get my head around
some elements of the implementation of our backup requirements with
bacula. I know that bacula is a very powerful backup management system
and I am quite sure that my requirements are achievable with bacula.
However I can't seems to find the right way to do that.

Let me first give an idea of my hardware and requirements.

Hardware:
Overland PowerLoader library
2 DLT8000 drives
15 tape library
barcode reader

I've tested the loader, which seems to work fine for recording,
restoring, loading and unloading tapes from the library, as well as
reading barcode labels.

My backup requirements are as follows:

1. I would like to have 3 tapes dedicated to FULL backups of the servers
that we have (about 5 of them in total). The FULL backups to be recorded
once a week on sunday and to be rotated every 2 months.

2. Dedicate 3 tapes to incremental backups from the servers taken each
day and keep them for 2 months. Together with the full backup this
should have a full set of data for 2 months. Am I wright here?

3. Dedicate 2 tapes for a couple of workstation backups including full
and incremental backups. The backup schedule is to be similar to the
servers bakups above (point 1 and 2).

4. I want to have 2 tapes dedicated to the full backups for one of the
remote servers that I want to keep on a separate tape. Due to the
bandwidth restrictions, I want to take a full backup once a month
without any incremental backups.

5. If possible, for efficiency and speed, i wanted to utilise both
drives, so that one drive only records FULL and Workstation backups and
the other drive records incremental backups and backups from remote
server.

6. and finally, i wanted to keep a few tapes for general/selective data
backup that will be done manually, without the use of bacula. So i'll
leave this out of the way.


So, after taking the above points into consideration i've done the Pools
and Volumes (volumes are taken from the barcode labels) in the following
manner:

Pools - Volumes:
1. Full - FULL-001, FULL-002, FULL-003
2. Incremental - INCR-001, INCR-002, INCR-003,
3. Workstations - WORK-001, WORK-002
4. Remote - REM-001, REM-002

Is this the good way of implementing the backup strategy for my needs?
Or can this be done in a more efficient/easier way?

I have a few questions that I have doubts about.

1. How can I split the Pools between two drives? Should this be done by
defining two different JobDefs { }, one for each drive and then assign a
JobDefs to each of the clients? If doing this way, can can i separate
the FULL backup to record on Drive01 and incremental backups to go to
Drive02?

2. How can I configure bacula so that it will automatically loads the
right tape with required volume into the drive? For example. the Drive01
has the tape with Volume FULL-001 (after finishing a full backup). The
next pending job requires Volume WORK-001 to be in Drive01 (for
workstation backups). As far as i've noticed before, when this happens,
bacula waits for me to mount volume WORK-001, instead of automatically
mounting it. Let me note that bacula knows the slots with each volume,
as i've done the label barcodes, update slots and list volumes shows the
right slots.

Many thanks for the suggestions/answers in advance!

--
Andrei

signature.asc (196 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: question: autoloader, multiple drives, pools and volumes

Arno Lehmann
Hello,

Andrei Mikhailovsky wrote:

> Hello to all bacula users.
>
> I am quite new to bacula, but i've read documentation and done the basic
> bacula setup and testing. However, I can't seems to get my head around
> some elements of the implementation of our backup requirements with
> bacula. I know that bacula is a very powerful backup management system
> and I am quite sure that my requirements are achievable with bacula.
> However I can't seems to find the right way to do that.

Well, let's see then.

> Let me first give an idea of my hardware and requirements.
>
> Hardware:
> Overland PowerLoader library
> 2 DLT8000 drives
> 15 tape library
> barcode reader

Ok. Basically: Two drives in one autoloader. This is going to be fun :-)

> I've tested the loader, which seems to work fine for recording,
> restoring, loading and unloading tapes from the library, as well as
> reading barcode labels.

Good, but that was the easy part :-)

> My backup requirements are as follows:

I skip these as this looks ok to me...
> Is this the good way of implementing the backup strategy for my needs?
> Or can this be done in a more efficient/easier way?

Probably... as almost always :-) No, seriously this looks quite
straightforward to me.

> I have a few questions that I have doubts about.

I was sure about that - let's start the fun part ;-)

> 1. How can I split the Pools between two drives? Should this be done by
> defining two different JobDefs { }, one for each drive and then assign a
> JobDefs to each of the clients? If doing this way, can can i separate
> the FULL backup to record on Drive01 and incremental backups to go to
> Drive02?

You can do this either in the job definition or in the schedules. As you
probably want to play a bit with the distribution of the jobs to he
drives I'd suggest to use the storage override in the schedule.

> 2. How can I configure bacula so that it will automatically loads the
> right tape with required volume into the drive? For example. the Drive01
> has the tape with Volume FULL-001 (after finishing a full backup). The
> next pending job requires Volume WORK-001 to be in Drive01 (for
> workstation backups). As far as i've noticed before, when this happens,
> bacula waits for me to mount volume WORK-001, instead of automatically
> mounting it. Let me note that bacula knows the slots with each volume,
> as i've done the label barcodes, update slots and list volumes shows the
> right slots.

This is a problem based in baculas design... having tapes from more than
one pool in one autoloader doesn't work correctly. I modified one small
line in the source code and I can have more than one pool's tapes
available, but this is not really tested. Let's see...

> elf:/srv/nfsexport/bacula/bacula-1.36.3/src/cats # diff -C 3 sql_update.c-orig sql_update.c
> *** sql_update.c-orig   Wed May  4 10:26:31 2005
> --- sql_update.c        Wed May  4 10:27:09 2005
> ***************
> *** 389,396 ****
>   {
>      if (mr->InChanger != 0 && mr->Slot != 0) {
>         Mmsg(mdb->cmd, "UPDATE Media SET InChanger=0 WHERE "
> !            "Slot=%d AND PoolId=%u AND MediaId!=%u",
> !           mr->Slot, mr->PoolId, mr->MediaId);
>         Dmsg1(400, "%s\n", mdb->cmd);
>         UPDATE_DB(jcr, mdb, mdb->cmd);
>      }
> --- 389,396 ----
>   {
>      if (mr->InChanger != 0 && mr->Slot != 0) {
>         Mmsg(mdb->cmd, "UPDATE Media SET InChanger=0 WHERE "
> !            "Slot=%d AND MediaType='%s' AND MediaId!=%u",
> !           mr->Slot, mr->MediaType, mr->MediaId);
>         Dmsg1(400, "%s\n", mdb->cmd);
>         UPDATE_DB(jcr, mdb, mdb->cmd);
>      }

You can try this and see if it works for you.

But, as you probably just noticed, this is a field where bacula is not
(yet) perfect.

Progess on version 1.37 (development towards 1.38) is going on, and
support for autocahngers will, as far as I know, be much improved -
especialy concerning multi-drive and multiple autochangers and,
hopefully, also more than one pool at a time.

What you also have to consider when using one autochanger with two
drives is cartridge and autoloader locking. I'm not sure if bacula 1.36
itself prevents two jobs requiring one volume, if it doesn't you should
define your schedules very carefully... Then, you have to prevent two
autochanger operations to happen simultaneously. This is a simple change
in the mtx-changer script, one possible solution is in
examples/autochangers in baculas source tree.

Hope this helps you,

Arno

> Many thanks for the suggestions/answers in advance!
>
> --
> Andrei

--
IT-Service Lehmann                    [hidden email]
Arno Lehmann                  http://www.its-lehmann.de


-------------------------------------------------------
This SF.Net email is sponsored by Yahoo.
Introducing Yahoo! Search Developer Network - Create apps using Yahoo!
Search APIs Find out how you can build Yahoo! directly into your own
Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005
_______________________________________________
Bacula-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bacula-users