In the dim dark days of NetWorker (e.g., v4 and v5), I used to have periodic cron jobs that would fire off on my local workstation – these would send me snappy messages, once every 3-6 months, along the lines of:

“Right you, time to update all the overrides in all the Daily/Monthly schedules!”

Of course, this referred to wanting to run backups which say, had a monthly full on the last Friday of the month, and therefore skipped the daily backup on the final Friday of the month. NetWorker didn’t really support this other than to sit in the schedule configuration and one at a time, set the required date for the end of each month to a Full or Skip depending on the schedule.

To say that it was tedious was a bit of an understatement.

Thankfully, in version 6 of NetWorker, a “bug” was introduced that sort of allowed this to be perpetually set; in v7 however, setting overrides perpetually became more readily available. Now, to me, it’s one of the most useful options that you can have within NetWorker’s schedules. I’ll show you how it works using the example above.

First, let’s create our Daily schedule; it will initially look like this:

Classic "Daily" Schedule

Classic "Daily" Schedule

Now, in the old days (and using the old, hideous GUIs), if you wanted to set the last Friday of the month to skip, you’d have to do this for the last Friday of each month for as long as you were prepared to scan through:

Classic method for setting skip on final Friday of the month

Classic method for setting skip on final Friday of the month

As you can imagine, this would get very tedious, very quickly. Yes, you could script it using nsradmin, but quite frankly, at the time that I wanted to do this, I was a lazy scripter and hated working with dates. These days I’m a less lazy scripter, but I still try to avoid working with dates wherever possible.

That being said, there’s now a much easier way, and you do it by modifying the schedule view to turn off the calendar functionality. While that functionality is good for day to day browsing, it does obstruct some more powerful usage of the schedule system. To do so, right-click on the Daily schedule within the schedule list:

Turning off calendar view for schedules

Turning off calendar view for schedules

Now, with that turned off, edit the Daily policy again – instead of coming up as a calendar, you’ll instead see:

Non-calendar view of Daily Schedule

Non-calendar view of Daily Schedule

In order to set a perpetual override, all we have to do is update the “Override” field with the following string:

skip last friday every month

Which will look like the following:

Setting the perpetual override for the Daily schedule

Setting the perpetual override for the Daily schedule

When we revert back to calendar view, we can then see the skip applied not only for the current month, but every month selected moving forward:

Daily schedule showing perpetual override

Daily schedule showing perpetual override

Now, here’s another trick by turning off calendar view. It’s easier to create monthly schedules. Remember the “action” field in the non-calendar view? That’s basically a list of levels, one per day, for the type of schedule we create – either daily or monthly. When it’s a daily schedule, it’s a list that starts on Sunday and finishes on Saturday. When it’s a monthly schedule, it starts on the first, and finishes on the thirty-first – any days that don’t exist in a month (e.g., the twenty-ninth through to the thirty-first in any regular February) are just ignored.

The trick to lazy schedule creation is knowing that if the list is shorter than the number of days specified by the schedule type, NetWorker will just loop the list again and again until it’s got the right number of entries. The net result of this is: you can create the Monthly schedule much quicker. Instead of either creating it as a Monthly schedule with “skip” set for every day of the month, or a Daily schedule with “skip” set for every day of the week, you can instead just do this:

Monthly schedule creation (non-calendar view)

Monthly schedule creation (non-calendar view)

When viewing this schedule as a calendar again, we can see that it works exactly as we want:

Perpetual monthly schedule in calendar view

Perpetual monthly schedule in calendar view

It couldn’t be easier or simpler!

 

When backup to disk is deployed, most sites usually just transition from their standard tape backups to disk without any change to the schedules. That is, daily incrementals (or differentials), with weekly fulls. This isn’t necessarily the best way to make use of backup to disk, and I’ll explain in this post way.

One of the traditional reasons why long incremental cycles aren’t used in backup is the load and seek impact during recovery. That is, you’ll certainly reduce the amount of data you backup if you do incrementals for a month, but if they’re all going to tape, then the chances are that if you do a recovery towards the end of that month you may have a lot of tapes to load. Unless you’re using high speed loading tapes (e.g., the StorageTek/Sun 98/99 series drives), this is going to make a significant impact to the recovery. Indeed, even with such drives, you’re still going to have an impact that may be undesirable.

If you’re backing up to disk however, your options change. Disk seek times are orders of magnitude faster than tape seek times, and there’s no ‘load’ time associated with disk as opposed to tape media either.

In an average site where ‘odd’ things aren’t happening (e.g., filesystem backups of databases, etc.), my experience is that nightly incrementals take up somewhere between 5-8% of a full backup. That is, if the full backups are 10TB, the incrementals sit somewhere around 512 GB – 819 GB.

We’ll use these numbers for an example – 10TB full, 820GB incremental. Over the course of an average, 4-week month then, the total data backed up using the weekly-full strategy will be:

  • 4 x 10TB fulls
  • (6 x 820GB) x 4 incrementals

For a total of 59TB of backup.

Looking at a monthly full scenario for a 31-day month however, the sizing will instead be:

  • 1 x 10TB full
  • 30 x 820GB incrementals

This amounts to a total of 34TB of backup.

If you have to pay for a new array for disk backup units that have enough space to hold a months’ worth of backups, which would you rather pay for? 59TB of storage, or 34TB of storage?

(Of course, I know there’s some fudge space required in any such sizing – realistically you’d want to ensure that after you’ve fitted on everything you want to fit, there’s still enough room for another full backup. That way you’ve got sufficient space on disk to continue to backup to it while you’re staging data off.)

Obviously the needs of each individual site must be evaluated, so I’m not advocating a blind switch to this method; instead, it’s a design option you should be aware of.

© 2012 The NetWorker Blog Suffusion theme by Sayontan Sinha