Tag Archives: Backup

Starting Over…

It’s a new year, and as good a time as any to turn over a new leaf.  In reality, this has been more of an end-of-year effort resulting from a hellacious 2012 and the realization that I can’t continue on at that pace. 

I took the last 2 weeks of 2012 off from “regular” work and focused instead on cleaning up my systems, processes and the way I did things to *try* to be more efficient.  It’s an ongoing effort and I’ve only just gotten started.  This blog post and a few that follow it will document what I’ve done in the hope that it can help someone else out.

The Problem

Before getting started on the solution, a quick review of the problem.  How much of this sounds familiar?

1. Laptop desperately needed a rebuild.  Win7 was working OK, but I wasn’t happy with how it was performing

2. Organization on the laptop was a mess – files scattered from email to file system (across multiple drives, internal and external) and back again.

3. Backup was (practically) non-existent.  I had made a few half-hearted efforts as time allowed but it was patchy and haphazard.  The only thing definitely backed up was my source code

4. Offline organization was worse than laptop organization.  I’m old, so I’m a fan of paper.  My natural inclination is to jot a list of things down on a piece of paper rather than type it into my laptop or phone.  Right now, I just counted, I have 11 “to-do” lists sitting on my desk.

5. Email.  Forget “Inbox Zero” I was struggling to keep “Inbox 1000”

You get the idea.  There were a few other things that needed attention, but those were the “biggies”

The Solution

Step 1: Rebuild Laptop

I ditched Win7 and (finally) committed to Win8.  Fortunately I had purchased a touch-screen on my W510 when I purchased it a few years back, so it was a little more Win8-ready than some other laptops.  Here are the specs on my laptop/setup:

  • W510 4318 CTO
  • 32 GB RAM
  • 256 GB SSD System Drive
  • 512 GB data drive in the optical drive bay (I’m waiting for Crucial to RMA my 512 GB SSD, so stuck on spinning rust for now).  (Who uses their CD/DVD drive any more?)
  • 3 monitors: laptop and 2x21” external monitors.  Resolution set to 1680×1050 on all three monitors gives me a total resolution of 5040×1050.  I like it…

I partitioned my two drives as follows:

Disk 0 (SSD)

  • 350 MB System Reserved
  • 163 GB System Drive (C:)
  • 60 GB Backup partition (H:).  More on this in a minute

Disk 1 (Spinning rust, soon to be SSD)

  • 60 GB Data (D:)
  • 406 GB VHDs (V:)

All partitions except the VHD one are BitLockered.  I didn’t BitLocker that one to avoid the (admittedly small, but there nonetheless) performance hit.  There’s really nothing on that drive I care if anyone sees, so not worried.  I use the TPM chip in my laptop to automatically unlock all of the BitLockered drives upon boot up.

Step 2: Configure Data and Backups

I took a look at all of the data on my laptop before rebuilding it and realized that it generally fell into one of two buckets:

1. Current

2. Not-Current

The former is things I’m actively working with – active clients, projects, blog posts, presentations, user group stuff,  etc.  The latter was things that I still needed to keep but didn’t necessarily need to have with me all the time.

I decided that all of the “Not-Current” stuff should really be called “Archived” and so that’s exactly what I did – archived it.  I chose a multi-location Archive strategy to account for my own unique paranoia:

  • Anything I didn’t need to have direct, immediate access to was added to a collection of password protected (there’s that paranoia) 7Zip archives and stored on my SkyDrive.  Each client, project, writing artifact, etc. has its own 7Zip file so it’s easy to keep them straight. 
  • I also took the uncompressed files and copied them to a server here in my office.  That server is not available off of my local network, but it is backed up to an off-site location every day using CrashPlan.  Everything on there (business stuff, plus 12 years of family photos and videos, software, my wife and kid’s backups, etc.) gets dumped over to a server at my brother’s house every day (He backs up to me the same way).  All together, this is about 300 GB of content, but we use the free version of CrashPlan so it doesn’t cost us a dime.

For the “current” stuff, I wanted that to be backed up as well so I took a multi-pronged approach:

  • Utilizing Win8’s “File History” functionality, I keep every version of every file in my Data Library until I start to run out of disk space, at which point it starts automatically pruning the oldest versions.  I have File History set to check every 10 minutes and it stores the versions on the H: drive mentioned above, which, by the way, is on a separate physical drive from my main data drive so there’s a little fault tolerance there.
  • I use SyncToy (set to “Contribute” so it does not synchronize deletes) to copy any changed files from my DataLibrary (what I called the top-level folder for all of my data) every 30 minutes to a directory on my local server, which, as mentioned above, gets backed up off-site once/day).  I use the regular Windows Task Scheduler to manage the SyncToy schedule.

All of this is automatic – it’s now set up and running.  I don’t have to think about it anymore.  There are, however, two manual things I will do periodically (2x/year?):

  1. Manually archive data I no longer need to have immediately available.  This is just manually copying it (uncompressed) to my local server and then compressing it and copying it to SkyDrive
  2. Manually clean up the “Sync” folder on my server.  Since I have SyncToy set to Contribute mode, it will never delete anything from the server.  Left unchecked, this means the files on my server will continue to grow until I fill all of my brother’s drives (mirrored 1TB, IIRC).  To avoid this, I take a few minutes and just delete stuff I no longer need.

That’s it for backups.  It gets me:

  • Versioned files via File History, stored on a different spindle
  • 30-minute backups to another machine
  • Daily backups off-site

I think that’s pretty good.  Certainly not perfect, but good enough for me.  Barring a humongous natural disaster (my off-site backup location is 45 minutes away from my home office) I think I can recover from most things.  True, since SyncToy copies to a local server it will only work when I’m in my office/on my local network, I could have a problem if I’m offsite.  I spent less than 5 days last year doing work where I was producing content/material away from my office (at a client location) so I’m not too worried about that.  If I take a gig that requires more time at a client site, I’ll adjust my strategy.

Source Code

For the most part, I’m a developer, so I produce source code as my main content item.  Losing this would suck raw eggs, so I’m extra careful about that.  This is also my main intellectual property so I’m extra paranoid about it as well.  I use TFS on Azure as my main source code repository, but I also do “extra” backups as well.  These are built upon the mechanisms I covered above – all of my source code is stored inside my Data Library so it is automatically backed up to my server every 30 minutes, and a file version is picked up by Win8 File History every 10 minutes and stored as well, as detailed above.

Virtual Machines

As a SharePoint guy, I live in virtual machines.  Prior to Win8, I used VMWare workstation, but I’m transitioning everything over to HyperV now.  I store all of my VHD/VHDX files on the 400+ GB V: drive mentioned above.  All “data” on the virtual machine (source code, etc.) is stored on the host machine in my Data Library, as mentioned above, so theirs is really nothing on the VHD itself that I need.  Sure, it would suck if I lost  VHD, but it would be a matter of simply spinning up a new virtual machine, running the scripts which build that particular environment (stored along with the source code) and I’m back in business.

EMail

My email used to be a mess.  I have three “primary” email addresses (two business, one personal) that I use and like I said above, had a ridiculous amount of crap in my Inboxes.  A friend recommended an approach that I’m going to give a try: anything that arrives in an email that I want to have for later reference goes into OneNote.  I have a notebook in OneNote called “EMail Keepers” that stores things not directly related to a client or project, so it gets things like purchase receipts, software keys, etc.  Anything related to a client or project goes into the appropriate client/project notebook.  Anything else I need to keep generally is “knowledgebase” type stuff where someone has explained a piece of technology and I want to be able to find it later so it goes into my Knowledgebase notebook in OneNote.  (See the next section for more details on my use of OneNote).

Most of the rest of my email is extremely temporal – I need it for a few months and then will likely never need it after that.  This is things like threads in which a decision about my business is made, a client discussion, etc.  For the most part, I leave them sitting in my Inbox, but I have a policy that will delete them after 6 months.  If I need to keep something – say the final decision for a project – I can either save it to OneNote or move it to a folder inside Outlook.  I’m still figuring out which will work best.

I’ve gone from >4500 items in my three inboxes, with ~1500 unread) to about 1000 items in my inboxes and less than 500 unread.  I’m still working on this, and would like to get down to just a few dozen unread at any one time – #InboxZero is unreasonable for me.

OneNote

I’ve used OneNote for years, but it has always been somewhat haphazard.  No more.  I now have the following notebooks set up:

  • Projects – each project gets a Section Group.  When the project documents and such get archived (see above), the information in OneNote is saved to a PDF, added to the archive and then removed from OneNote.
  • EMail Keepers – see above
  • Knowledgebase – section groups for each major technology area I try to pay attention to: SharePoint (General), SharePoint Workflow, JavaScript.  Anything I find anywhere (web, email, forums, etc.) that I want to be able to reference later gets saved here.  I use the OneNote plugin for IE or the Print to OneNote capability and the awesome thing is that the original source URL is saved so I always know where it came from
  • Aptillon – information about my main business effort
  • CPT – stuff I use for the classes I teach for Critical Path Training
  • My Notebook – other stuff that doesn’t fit anywhere else – ideas for blog posts, business ideas, etc.
  • Product Notes – ideas and information about various products I am or would like to build
  • To Be Filed – This notebook is synched to SkyDrive.  If I’m away from my computer, I can get to it from my Surface or my Phone, so I can add something here and then move it to the “correct” notebook when I get back to my laptop

Odds & Sods

A few other things…

  • I have a drive mapped to my 28 GB of SkyDrive storage that makes it dirt-simple to access my content there.  I don’t use the SkyDrive app to access those files as it’s just too slow when saving from Office, and SkyDrive is mostly just my “archive” location anyway.  If I need to dump something else up there to have accessible from my Surface or to share with someone, the mapped drive makes that easy enough.
  • I’m *trying* to make use of Outlook tasks for things instead of paper to-do lists, but that’s a hard trick for an old dog to learn.  Stay tuned
  • I’m 90% done switching from OnTime for project management to TFS.  This will be another blog post once I get it done and moving.

That’s about it for now.  I hope this has helped you out some in your own quest to become more efficient.  It has helped me to just get it all down on paper (so to speak).  There will be other blog posts about this stuff as I get things wrapped up and actually start using it all the way I intend.  Stay tuned…

 

-Dave