Can we make better use of USB flash storage?

I’m a big fan of USB flash drives. You can buy a 256G flash drive today which is remarkable given that until 2005 most personal computers were still shipping with 2.88MB floppy drives. The capacity will certainly grow and the cost will certainly come down. It is not too hard to imagine a flash device weighing a couple of grams with 1TB of capacity in the not-too-distant future.

The question is, what can we use them for? What existing IT problems can we solve with these devices and what novel applications may spring up?

A feature of modern life is almost everyone carries with them a mobile phone. In many cases this is a smartphone so it is not a stretch to say everyone carries a few Gig around with them. To most people that just means they can play better games or store more music. But there seems to be an opportunity there to combine mobility and massive storage to solve more general IT problems.

As I work for RedPixie, a technology company specialising in virtualisation, I have ample opportunity to get involved with leading edge IT. In an increasingly “virtual” and “cloudy” world, particularly with reference to remote working, moving data around quickly is key, particularly “personal” data. In a Windows world that would be referred to as the “profile”. I see that as the chunk of config which makes your computer usage personal. An organisation may well have 2000 identical computers for people to use in terms of hardware and operating system (even apps). But you can guarantee that after a very short¬†usage¬†period , no two computers will be the same just because of the way an individual configures settings to suit themselves.

This whole problem comes under the banner of “profile management” and it’s pretty big business with several products in the marketplace targetted at storing, moving, applying and changing profiles.

I have a theory that a portable mass storage device seems like just the ticket for storing large amounts of personal data. I posed this question to my learned colleagues over a beer one evening. I was told it was a question that only a Unix person would raise :-). The key point is that as much as possible needs to be as close as possible i.e. compute, data and profile. If your compute and data is on the other side of the Atlantic it doesn’t help you that you carry your profile with you, you still have a latency/bandwidth problem.

But, my point is, with a 1TB flash drive you take EVERYTHING with you: O/S, apps, data and profile. All you use at the remote location is the compute hardware and human interface devices. This strategy is made easier by virtualisation where the O/S you carry can be a VM running on a corporate virtual platform.

What do you do, I said after a couple of beers, if your base is on Mars? The maximum latency there is 20mins. You have to take it with you. Much hilarity ensued but that’s another story.


A colleague asked me the other day how to increase a Linux filesystem on an Esxi guest. This procedure (I hope to post a solution in addition to the others on the web) is in no way simple. And it should be.

The reason that it is not simple is that Linux, and operating systems in general, are carrying so much baggage related to physical infrastructure. LVM, which is standard on Linux to manage disks comes from a lineage of managing large numbers of physical disks. It was not designed to cope with a situation where a machine has one disk and that disk can suddenly increase in size from 20G to 30G. This is a common scenario in a virtual world.

Even disk partitioning itself can be called into question. Take fdisk, which stands for “fixed disk”. Wikipedia informs us that this was introduced by IBM in 1983! Partitioning came along mainly in response to increasing disk sizes and the need to make one physical disk appear as multiple logical disks for convenience.

All this technology was designed to cope with changes in physical capabilities and because we take it for granted it is still baked in to our virtualisation stack. To increase a filesystem on a Linux VM after changing the disk size you need to delete the partition, re-create it (with fdisk); use lvm commands (pvresize, lvextend) to make use of the extra *physical* extents and then grow the filesystem. Jeez.

Now, where did I put my cloud operating system?