BLOG

Home / Archive by category "BLOG"
Creating an Emergency Go-Drive

Creating an Emergency Go-Drive

As part of my backup plan, I want an emergency Go-Drive that has my most important documents and information on it so I can get access to what I need from just about anywhere. There are different types of Go-Drives people sometimes create: Some contain vital health information that’s easily accessible by emergency personnel, some have tools and utilities geared toward fixing a compromised computer, some provide access to critical documents and information for personal use when you can’t get to your main files, and I’m sure there are other types as well.  My intent is to create a drive with my critical documents that I might need if access to my home server is unavailable. This drive is the one piece of technology I want to grab if the house is on fire and I’m racing out the door.

There’s another important use for my Go-Drive as well. My wife would be hard-pressed to remember where to look to find these documents on our home network. All the information contained on the Go-Drive is on my HomeServer and backed up to the Cloud, but it would be a chore to locate in a pressure situation for someone who doesn’t regularly use either of those. I want the Go-Drive to be an easy way to tell my wife “If something happens to me and you need to get to our most important documents, look here.”

Finally, my Go-Drive has to be easily refreshed with the latest documents. It’s not much good to me if the data on the drive is outdated, and if it’s a laborious process to refresh it, chances are I won’t do it. I need a process that will allow me to plug these drives in whenever I want and have them automatically refresh with the latest data.

Choosing a drive

It’s important for these drives to be readily accessible if disaster strikes. In that situation, I’m not thinking “Oh yeah, I better grab my Go-Drive” – it has to just be available wherever I am. I decided a USB keychain drive would be the ideal form-factor. I can put one on each of our keyrings and as long as we have our keys, we have our data. These drives are pretty tough and stand up to the elements well – most are waterproof, shockproof, dustproof, etc. I want the drive to be small enough that it’s not cumbersome on the keyring – ideally I won’t even notice it’s there. I also want it to be USB 3.0 for higher transfer speeds and while I don’t really need a large capacity for my purposes I figured I may as well go with 64GB drives since they really aren’t that expensive.

I looked around and found a few i liked and decided rather than picking one, I could get one of each and then put them to the test against each other, so I ended up with drives from three different manufacturers: Transcend, Silicon Power and Corsair.

thumbdrives

While the Silicon Power stick is the largest, it’s also the thinnest at the top where it attaches to the keyring, so it allows the keys to lay more naturally and actually seems less obtrusive than the other two. We’ll see how they hold up over time and which one fails first.

Preparing the Drive

Most USB drives come pre-formatted as FAT or FAT32 for compatibility with the largest variety of devices. However, I want the ability to store large files on the device so I reformatted my drives using exFAT. I also gave them consistent drive labels to help with the automation I’m going to use to refresh the drives on a regular basis. I configured the drive labels with a consistent prefix (GoDrive-) followed by an identifier that allows me to differentiate them if I have them all plugged in at the same time.

Since this drive is going on my keychain and keys have a way of being misplaced, it’s important to me that there is no easily accessible personal information contained on the drive. I don’t want the drive traced back to me since whomever has it also has the keys to my house and car. However, I do want an honest person to be able to get my keys back to me if they find them, so I put a file with contact information in the root of the drive containing a generic gmail address I setup solely for this purpose.

Organizing the Drive

The drive will be split into two sections, open and encrypted:

Open Section

This is a generally available and unencrypted section for easy access to non-sensitive data. This is where the contact file will be so that if someone happens to find the drive they have a way to contact me to return it. This section will also contain a variety of portable apps, including the necessary software to mount the encrypted volume.

Portable Apps

I’m creating this drive with the assumption that if I need to run an app, it will be on a Windows system. Even if I find a place with Macs, it’s highly likely that there are Windows systems available also, so I installed portable apps for Windows not Macs on my drive.   Both the unencrypted and encrypted sections of this drive are usable from Mac and Linux systems as well as Windows.  So, in a pinch (like in an Apple Store), I could still access the data.

So what is a portable app? This is an application that can run on any Windows  machine without being physically installed on that machine. Typically when an application is installed on Windows, it leverages various libraries on the machine, it keeps configuration information in the Registry and program data (including cookies and cache data) on the system drive.  A portable app can be run from a removable drive (like a USB drive) without being formally installed on a given system.  It keeps any persistent data on that drive and not on the host system running it.

Encrypted Section

The encrypted section is for sensitive information like medical records, insurance policies, credit card numbers, etc. VeraCrypt is the successor to TrueCrypt and provides a perfect solution for housing the sensitive data on the drive. Since I already scan all of my personal documents and organize them as part of my Paperless Office project, it’s easy for me to grab the sensitive documents I want on this drive. My entire file cabinet containing documents going back to 1998 is only around 2.5GB so I can easily include all of it on my drive.  I wanted to balance having room to grow on the encrypted volume and the amount of time it would take to copy the resulting volume file to the USB drive when updating so I ended up creating a 6GB volume. This should give me some time before I need to worry about expanding the volume.

The encrypted section contains my entire Paperless Office file cabinet:

  • Monthly Bank, Credit Card and Investment Statements
  • Insurance Policies and Medical Records
  • Front and back copies of important identification cards such as Drivers License, Insurance Cards, Passports, Social Security Cards, etc.
  • Important legal documents such as Wills, Power of Attorney, Home Deeds, Car Titles, etc.

Preparing the Content

I have three drives I need to keep updated and the content comes from a variety of locations, so it’s important to me that the process for managing this is as efficient as possible. I created a GoDrive share on my HomeServer to stage all of the content. To update my Go-Drives, I just copy the entire contents of that share to the drives.

First, I created a simple text file with instructions on how to contact me in case someone found the drive. I didn’t want to use my real email address since you never know whose hands the drive could end up in. Instead, I created a gmail account that I use solely for this purpose.

GoDriveStructure
GoDrive Structure

I installed VeraCrypt on my HomeServer and then created an encrypted volume called FileCabinet on the GoDrive share. I mount this volume as drive letter V: and keep it mounted on the server. I have the CloudBerry plugin for HomeServer installed and use that for local backups, so I created a backup job that will monitor my Paperless Office File Cabinet and backup any changes to the encrypted volume in real time.  When I scan a new document into my file cabinet, it automatically gets replicated over to the encrypted volume, keeping it completely up-to-date at all times.

Then I used the Traveller Disk Setup option in VeraCrypt to create a portable version of VeraCrypt to include on the Go-Drive. I pointed this at the root of the GoDrive share and it creates a VeraCrypt folder that contains everything I need to mount the encrypted volume on any Windows machine.

I also wanted to have a backup of my LastPass vault on the GoDrive so I created a folder for LastPass and put a copy of LastPass Pocket on the GoDrive share too. I exported my LastPass Vault into an encrypted file and put that in the LastPass folder as well.

My favorite file explorer is Directory Opus and that happens to have a portable version available, but it can only be installed to a removable USB drive. I installed it to a thumb drive and then copied the install to the GoDrive share so I’d have that available too.

To manage the other portable apps I want on the Go-Drive I headed over to http://portableapps.com. PortableApps is an easy way to manage a collection of apps that are designed to run from a removable USB drive. When installing Portable Apps, I selected the option to install to a Portable device and pointed it to the GoDrive share. This creates a PortableApps folder containing all of the apps and a utility that makes it easy to launch and manage the installed apps. For my purposes, I installed the following apps:

  • Google Chrome Portable
  • Mozilla Firefox Portable
  • PDF-XChange Viewer Portable
  • 7-Zip Portable
  • TeamViewer Portable

Updating the Drive

I want the update of the drives to be as simple and automatic as possible, so I created a script that will detect these drives when they are plugged into my computer and automatically update them.  Since I may want to connect these drives to my computer for other reasons, I did put a prompt in place, so technically I do have to click one button to initiate the update.

I created a PowerShell script that listens for any plugged in drive and then looks at the drive label. If the drive label starts with “GoDrive-” then it kicks into action and prompts me asking if I want to update the drive. If I say No, it goes away and I can use the drive as normal. If I say Yes, it goes out to the HomeServer and dismounts the encrypted volume, copies the entire contents of the GoDrive share over to the USB drive and then remounts the encrypted volume on the HomeServer. I also included a completion message to make it easy for me to see when the sync was complete.

I scheduled the powershell script using Task Scheduler so that it will start whenever I login to my computer and just in case I accidentally close the window, I have it set to restart the script every hour. Here are the settings I used in the task:

  • Security Options:
    • Run only when user is logged on. (This is important because it’s an interactive script)
    • Run with highest privileges
  • Triggers
    • At log on
    • Daily, recurring every 1 day, repeat every 1 hour for a duration of 1 day, stop all running tasks at end of duration period
  • Actions
    • Start a program
    • Program/script: powershell.exe
    • Add Arguments: -ExecutionPolicy Unrestricted -File “F:\godrive\GoDriveSync.ps1”
  • Settings
    • If the task is already running, Do not start a new instance.

Once a month (or whenever I feel like it) I can simply plug in my Go-Drives and within a few minutes they are completely refreshed with the latest content.

My SmartHome Vision

My SmartHome Vision

Back in the early 2000’s I dabbled with home automation using X10 devices. It was cool when things worked, but it was quirky at best and not something I’d want to outfit my house with. We’ve come a long way since then and the idea of creating a SmartHome is actually attainable now. Here are the guiding principles for what I want to accomplish and some of the the success criteria for my SmartHome projects.

Automate where it makes sense

My SmartHome should automate tasks that are repetitive or easy to forget. That could mean something completely automatic like turning off the garage heater when the overhead doors are open or something that requires a single button press instead of multiple like turning all the lights off before going to bed or leaving the house.

Here are examples of the kinds of things I want my SmartHome to do:

  • The lights in my utility rooms and closets should go on automatically when I open the door and turn off automatically when I close it.  The lights in my garage should go on automatically and stay on while someone is in there, but only if it’s dark enough to need them.
  • My thermostat should know when I’m going on vacation and adjust to save energy while I’m away. It should also know when I’m going to return and adjust to a comfortable temperature for my return.
  • When I watch a movie, the lights should dim when I press play, and if I press pause they should return to an appropriate level to allow easy movement without blinding me by going to full brightness. When the movie is over, they should gradually ramp up to allow my eyes to adjust rather than harshly turning on immediately.
  • My garden should be watered on a regular schedule, but if it’s rained sufficiently in the last 24 hours (or is currently raining) , it should be smart enough to skip the scheduled watering.
  • The exhaust fans in my bathrooms should be able to sense humidity and turn on automatically in case my kids forget to turn them on before taking a shower.

Monitor important things

My SmartHome should allow me to check what’s going on at my house even when I’m not there, and it should also be able to automatically alert me to things that need my attention. Before I go to bed at night, I want to know the garage doors are closed without going downstairs to check. If I’m on vacation in the middle of winter and the temperature drops below a certain point, I want to know so I can send someone to check it out before my pipes freeze and burst. If there’s water in my basement utility room from the sump pump, water heater or furnace, I want to know immediately so I can take care of the problem before it gets any worse.

Those are all examples of reactive monitoring, but I’d really like to be alerted proactively about potential issues. So for example, don’t tell me about the sump pump failing after it’s overflowed, tell me when the water level in the well rises above a certain point. Proactive monitoring can be a little more challenging to implement, but that’s where I really want to get to.

Access media from anywhere at anytime

The goal is to ensure that I can access music, photos, videos, movies and TV shows (live or recorded) from any TV or computer in my house. For example, if my wife has friends coming over, I should be able to pause a movie I’m watching, move upstairs, and continue watching it without having to fumble with discs and other physical media.

Additionally, if I want to show photos of my family to visitors, I should be able to pull up the most recent photos quickly, by month, year and tag on any device in the house. These devices should all pull from the same location for updated photos that are automatically categorized, tagged and stored right from my digital camera when I do an upload.

I also want the software that I do this on to be unaware of the storage of the media and not rely on mapped drives, etc. in order to access the content. The software should index the media and present it to me in a quick, searchable and easy to use fashion.

I should not have to experience outages or interruptions of service for my media. Lengthy backup schedules and periods where the media and resources are unavailable should be minimized or eliminated entirely. In other words, I want to be able to get at my media whether its 12 AM and I want to watch a movie or its 5 AM and I want to look at photos that I uploaded from the previous day.

Stop relying on physical media in all forms

I have begun to wage a personal war on all physical media. I prefer hard disk (solid state if possible) storage to optical media in almost every situation. I want the ability to access any music or movies from any media center or extender in the house. Additionally, I want to extend this access to my car’s rear entertainment system.

Since all of my media is on shared hard disk storage, my physical optical disks (CD’s, DVD’s) can just sit in a cabinet in case I need them at some point in the future.

Spousal acceptance factor

Big one here. My spouse has a very particular need to have things operate easily, intuitively and efficiently. She has little desire or tolerance for learning new technology and negative interest in investigating or troubleshooting when there is a problem. If something doesn’t work, she complains and calls me to fix it.

Thus, we both have a vested interest in making things easy for everybody to use.

My SmartHome should be easy and simple enough for everyone to use it without having to worry about where things exist, how they are connected and how to access them. The software should present options that are easily navigable (i.e., with a remote) so that it feels like she is operating an onscreen TV Guide with no knowledge of the complexity, storage design and network layout.

Have a safety net for everything digital in my house

My goal is to have a home infrastructure that leverages cloud concepts. This includes my computer(s) as well as the place where everything is centrally stored. The idea here is that even if something happens to the physical location where my home server lives, our memories and important documents and media will still live and be accessible to me.

Remote accessibility

I need the ability to quickly access not only my digital media, but also various files and computers on my home network. This includes being able to fix things or retrieve files for my wife as well as check on email accounts, reboot machines, install updates, etc.

This includes terminal service access to all machines on the network as well as any server infrastructure (home server, routers, etc.).

For example, I should be able to take photos, upload them to the photos directory on the home server and have my wife view them via media center, all while I am not in my house.

Another example is that I should be able to stream my playlists across the internet to my media player.

Rely on Cloud Computing concepts including Cloud services

Cloud computing is all the rage today and is dangerously becoming a cliché like social networking and service oriented architecture. Not that those concepts are cliché, but they are serious buzz words that get overused in almost every facet of business and technology. However, in my mind, this doesn’t diminish the concept and its importance.

I don’t want to have to rely on physical hardware for the storage and persistence of my important documents and media. I only want to use physical hardware (i.e., a computer) to access, change and remove content and not be solely responsible for storing it and keeping it safe. I follow this concept exclusively at work (using SharePoint, my internal My Site and network file shares). Thus, I can experience a catastrophic hardware failure and still be able to work and get access to all my critical documents. This concept gets a little difficult with files as big as virtual machines, but I have a cloud plan for those too.

Thus, I wanted my home to reflect this concept. Using technology, my home machines should be gateways to access and change information, but not be responsible for storing it exclusively. That way, if I experience hardware failure, or need to upgrade my OS by wiping down the hard drive, I can to that easily and without excessive consideration.

More importantly, the place where I do store my content, should be “cloud protected”. Just like my documents on my My Site at work or on the network file share are protected by frequent enterprise backups, my house should have the same capability. If something happens to the central repository (i.e., my home server) I should be able to rebuild and pull down any lost or damaged files from the cloud.

 

In upcoming posts I’ll outline how I’ve achieved My SmartHome Vision.