Virtualization Begins

For about the past nine months I’ve been working on growing the use of virtualiztion within my firm. We had dabbled with virtualizing a couple of misc. application/development servers with the first release of VMWare Server, but I knew that in order to consolidate the rest of environment, as well as better prepare us for disaster recovery that we needed to expand our server virtualization strategy. The solution that made the most sense at the time was a VMWare Infrastructure solution utilizing their ESX platform.

The question was how to move forward without spending tons of money (and avoiding all of the politics involved in deploying a solution). The solution arose through the timing on our computer leases. We lease the majority of our computer equipment for three years. It just so happened that as I was looking to move forward, one of our major leases came up for replacement. To make it even better, not only did I have three servers that were due for swapping (and great candidates for virtualizing), but three years earlier we were forced in to ordering a large batch of workstation class computers. This time, with the advancement of technology, we no longer needed that class of machine.

With my good fortune, I was able to replace the three servers with two new servers (albeit much beefier units) along with the full ESX suite for both, and workstations with much better (thanks to Intel’s Core2Duo chips) desktop class units for basically the same monthly payment we already spending. It was a really win-win for company.

In some upcoming posts I plan to highlight our journey, cover some of the sites that helped us to get where we are, discuss where we are going, and finally highlight some of the difficulties and frustrations that we still face.

Advertisements

Lost in Translation

Computer based language translation has been out of quite a few years now. I often use when I run across a web page that I need to translate. Most times is does a good enough job to get the idea across. But what happens if you translate a phrase from English, to something else and then back to English. What you get is like the old telephone game.

Well, Carl Tashian did that at his site called, Lost in Translation. In fact they do a total of 10 translations. So I decided to give it a shot with a well known piece of text.

Here is what I started with:

When, in the course of human events, it becomes necessary for one people to dissolve the political bonds which have connected them with another, and to assume among the powers of the earth, the separate and equal station to which the laws of nature and of nature’s God entitle them, a decent respect to the opinions of mankind requires that they should declare the causes which impel them to the separation.

And here is the Lost in Translation version:

If, when the human of the examples, he transforms into that people to politicians to repair the obligation, those, to others and under energies of the track, to those the end estimate the different one and equal they place the end to decide and the natural laws of the nature of the God have he right it, they who have the necessity of an acceptable respect in the opinions of the humanity which they would have that to explain the causes, to that exert pressure on a they with starting off.

Here is a second Lost in Translation version this time including Japanese and Chinese in the translation process:

Necessarily, the one that went away worries for the unit for the policy for the solution for the acceptance between the same resistance and the track of the obstruction, between that the person of the activity, 1 team of employees to another section and, next, of that one the normal law and the God distinguishes of the characters for these stations of the work analyze, if the remarkable people of the modifications, that one the end, that is U.S.ABLE with est human of the test of the verification, they have that to indicate, in the order these relations of transformation to suggest to separate.

I Want to Backup Both My Mac and PC

So I recently purchased two cheap 250 GB external USB hard drives. I plan to use them solely for backing up both my Mac and Windows PC. I plan to keep one unit at the house and the other off-site. Either at my office or maybe ship it to my Dad’s for safe keeping.

I’ve been looking around for the best ways to backup both systems to the same hard drive. My problem is that I want to the solution to be simple and robust. Ideally, I’d like to be able to plug the hard drive into either computer and back the other up. I’d like to be able to see the files from both OS’s at the same time. I’d like to do daily, weekly, monthly backups with incremental and compression. It would be nice to also mirror the boxes so that I have a bootable device as well.

I know that I won’t get all that with just one solution (and basically 1 drive). I’m going to try a few things and see what works so this post is basically just to document some initial finding to see what I may want to try.

I found the following on the forums at OSXFAQ:

Under Panther, the command line diskutil tool has an option entitled “MBRFormat” for its “partition” verb, which writes the MBR in DOS/Windows format.

In other words, if you have a disk which is accessible through the device node /dev/disk1, and you wish to partition it into two 80GB partitions – one FAT32 and one HFS+J, you do it as follows:

Code:
diskutil partitionDisk /dev/disk1 2 MBRFormat MS-DOS DosDrive 80G "Journaled HFS+" MacDrive 80G

This would allow my to plug the drive into either type of computer and copy the data over using some method. On the Mac I’d be able to see both file system types, but without some commercial software like MacDrive I would only be able to see the FAT32 partition on the PC. I could leave the drive attached to the Mac and copy the files over the network from the PC. I’d then be able to restore directly if I needed to. I’d need some software on the Mac to make this work.

One really neat solution (that is probably overkill for me) is called BackupPC.

BackupPC is a high-performance, enterprise-grade system for backing up Linux and WinXX PCs and laptops to a server’s disk. BackupPC is highly configurable and easy to install and maintain.

Given the ever decreasing cost of disks and raid systems, it is now practical and cost effective to backup a large number of machines onto a server’s local disk or network storage. This is what BackupPC does. For some sites, this might be the complete backup solution …

BackupPC is written in Perl and extracts backup data via SMB using Samba, tar over ssh/rsh/nfs, or rsync. It is robust, reliable, well documented and freely available as Open Source on SourceForge …

BackupPC Features:

  • A clever pooling scheme minimizes disk storage and disk I/O. Identical files across multiple backups of the same or different PCs are stored only once resulting in substantial savings in disk storage and disk I/O.
  • One example of disk use: 95 laptops with each full backup averaging 3.6GB each, and each incremental averaging about 0.3GB. Storing three weekly full backups and six incremental backups per laptop is around 1200GB of raw data, but because of pooling and compression only 150GB is needed.
  • Optional compression support further reducing disk storage. Since only new files (not already pooled) need to be compressed, there is only a modest impact on CPU time…

I’ve also looked at

  • rdiff-backup which uses rsync like methods plus incremental backups (even of binary files) but they don’t have good windows support yet
  • SuperDuper which is a free/shareware Mac application that will make a mirrored bootable drive as well as has other backup modes.
  • An article about HOWTO: Backup Your Mac With rsync which I’ve used before
  • Dirvish which is a set of scripts for rsync based backups
  • A script for copying opened files on Windows XP and 2003 Server (it uses VSS)
  • An article from LifeHacker about how to backup your PC (with a software recommendation).

I will probably start with just partitioning my disk into two sections and doing a basic copy to get things going and experiment from there. Once I finally get a solution that I like I’ll be sure and update everyone, and if you have a particular solution that you like, please leave me a comment.