Tag Archives: planning

SSD

When I built Whisky, my current work-a-day desktop, back in November 2009 I wanted to boot from one of those blazin’ solid-state drives. Bummer, though, either they were seriously expensive or performed poorly. Poorly, of course, was a relative term; for the most part even the poorest smoke conventional hard drives. Still, as the build expenses mounted the SSD finally fell off the spec list.

Sometime after the build, Seagate brought their hybrid drives to market. Hybrids combine a conventional spinning disk and conventional cache with a few gigabytes of SLC NAND memory configured as a small SSD. The system sees the drive as it would any other drive; an Adaptive Memory (Seagate proprietary) algorithm monitors data use and keeps frequently used stuff on the SSD. You’ll find people arguing over whether or not a hybrid drive provides any kind of performance boost. I wrote about my experiences with the Seagate Momentus XT (ST95005620AS) back in June 2010. Today when I build a multiple drive system I routinely spec a hybrid as a boot drive. It’s cheap and it helps.

Corsair Force Series GT CSSD-F240GBGT-BKSo about a month ago I ran across a good deal on a fast SSD, a Corsair Force Series GT (CSSD-F240GBGT-BK) and I jumped on it. The specs are just tits: sequential reads and writes of 555 and 525 MB/s respectively. (Sure, that was with a SATA 3 interface and my motherboard only supports SATA 2; I wouldn’t see numbers like that, but still… It even looks great.

Integrating the thing into a working system was a bit of a challenge, mostly because I didn’t want to purchase additional software simply to clone the existing boot drive. I’ve got no trouble paying for software I use; it simply seemed like too much for something to be used but once. So part of the challenge was to find a cost-free alternative.

Strategy and Concerns

The general strategy would be to clone the current two-partition boot drive to the SSD, swap it in and enjoy the performance boost. The SSD partitions would need to be aligned, of course, and somewhere along the way the C partition would need to shrink to fit onto the smaller SSD.

The top concerns came down to security and reliability. Erasing a conventional hard drive is easy: repeatedly write random data to each block. You can’t do that with SSDs. Their blocks have a specific (and comparatively short) lifetime and so on-board wear-leveling routines become important. When data is overwritten, for example, the drive writes the data elsewhere and marks the old blocks for reuse. And unlike conventional drives, it’s not enough to simply write over a block marked for reuse; the entire block must first be erased. The bottom line is you can’t ever know with certainty whether or not a SSD is ever clear of confidential data. Disposing of them securely, then, means total destruction.

As for reliability, a conventional hard drive has to have some pretty serious problems before it becomes impossible to recover at least some data. There’s generally a bit of warning – they get noisy, start throwing errors, or something else that you notice – before they fail completely. Most often an SSD will simply fail. From working to not, just like that. And when that happens there’s not much to be done. This makes the issue of backups a little more thorny. If it contained confidential data at the time of failure you’ve got a hard choice to make: eat the cost and destroy the device, or RMA it back to the manufacturer (losing control of your data).

Considering backups, you can see that monolithic backups aren’t the best solution because they’re outdated as soon as they’re written. Instead, a continuous backup application, one that notices and writes changed files, with versioning, seems prudent.

In my case, this is to be a Windows 7 boot drive and and all confidential user data is already on other storage. The Force Series GT drive has a 2,000,000 hour MTBF, fairly high.

Software

SSDs are fast but they’re relatively small. It’s almost certain that existing boot partitions will be too big to fit and mine is no exception. Windows 7 Disk Manager will allow you to resize partitions if the conditions on those partitions are exactly right. There are commercial programs that will do the job where Windows won’t but my favorite is MiniTool Partition Wizard. I didn’t really want to do that in this instance. The fundamental problem I had with pre-shrinking is that it would involve mucking with a nicely working system. Come trouble, I wanted to simply pop my original drive back in the system, boot and get back to work.

For cloning and shrinking partitions there are several free or almost free applications. I found that most of them have drawbacks of one sort or another. I’ve used Acronis before – Acronis supplies OEM versions of their True Image software to some drive manufacturers, it’s an excellent product. But their free product won’t resize a partition image, bummer. I used EaseUS some years back, too, but a bad run-in once with their “rescue media” – in that case a bootable USB stick. My disks got hosed pretty bad from simply booting the thing and I… wasn’t pleased. Maybe they’ve gotten better, people say good things about ’em, but I wasn’t confident… Paragon seemed very highly rated but in testing I had too many validation failures with their images. Apparently the current version is worse than the back revs. Whatever, I was still uneasy. I ended up settling on Macrium Reflect from Paramount Software UK Ltd. For no rational reason the name of this product bothered me, sending it to the bottom of the test list. Macrium. The word makes me think of death by fire. I was reluctant to even install it. About the only negative think I’ve got to say about Macrium is that it takes a fair bit of effort to build the ‘rescue disk’ – bootable media to allow you to rebuild a failed boot volume from your backup image(s). The rescue media builder downloads and installs, from a Microsoft site, the Windows Automated Installation Kit. WAIK weighs in at more than 2 GB. The end result is a small ISO from which you can make bootable media of your choice. Except for that final burn – you’re on your own for that – the process is mostly automated; it just takes a while. Probably has to do with licensing or something.

Finally, I bought a copy of Genie Timeline Pro to provide the day-to-day realtime backup insurance, mentioned earlier, that I wanted.

Preparation for Migration

I started by installing both Gene Timeline Pro and Macrium Reflect and familiarized myself with each. I built the rescue media for each, booted from the media, and restored stuff to a spare drive in order to test. It’s an important step that many omit, but a backup that doesn’t work, for whatever reason, is worse than no backup at all.

I did some additional maintenance and configuration which would affect the C: partition. I disabled indexing and shrunk the page file to 2GB. The box has 8GB RAM and never pages. I suppose I could omit the page file entirely, but a warning is better than a BSOD for failure to page. I got rid of all the temp junk and performed the usual tune-up steps that Windows continues to need from time to time.

Satisfied, I imaged the System Reserved partition and the C: partition of my boot volume, verifying the images afterward. For each partition, which I backed up with separate operations, I used the Advanced Settings in Macrium Reflect to make an Intelligent Sector copy. This means that unused sectors aren’t copied, effectively shrinking the images. Then I installed the SSD via an eSATA port. Yes, this meant it would run even slower than SATA 2 but it saved a trip inside the box.

It was at this step that I noticed the only negative thing about this drive. The SATA cable is a bit of a loose fit. It doesn’t accept a retaining clip, if your cable is so equipped. Ensure there’s no tension on a cable that might dislodge it.

Creating Aligned Partitions

Partition alignment is important on SSDs both for performance and long life. Because of the way they work, most will read and write 4K pages. A very simplistic explanation is that when a partition is not aligned on a 4K boundary, most writes will require two pages rather than one which decreases performance dramatically and wears the memory faster. (There’s more to it than that, really, but you can seek that out on your own. The Web’s a great teacher. Being the curious sort I learned more than I needed to.)  Windows 7, when IPLed, will notice the SSD and build correctly aligned partitions for you. Some commercial disk cloning software will handle it automatically, too. But migrating users are on their own. Incidentally, it’s theoretically possible to adjust partition alignment on the fly, but if you think about the logistics of how this might be done – shifting an entire partition this way or that by some number of 512 byte blocks to a 4K boundary – you’ll realize it’s more trouble than it’s worth. Better to simply get it right in the first place.

Fortunately it’s easy!

Using an elevated command prompt (or, in my case, a PowerShell), use DISKPART. In my case, my existing System Reserved partition was 71 MB and change, and the remainder of the SSD would become my C: partition.

diskpart
list disk
select disk <n>
(where <n>is the disk number of the SSD)
create partition primary size=72 align=1024
active
(the System Reserved partition needs to be Active)
create partition primary align=1024
(no size specification means use the remaining available space)
exit

You can also use DISKPART to check the alignment. I’ll use mine as an example.

diskpart
list disk
select disk <n>
(where <n>is the disk number of the SSD)
list partition
exit

My partition list looks like this.

Partition ### Type             Size    Offset
------------- ---------------- ------- -------
Partition 1   Primary           70 MB 1024 KB
Partition 2   Primary          223 GB   73 MB

To check the alignment, divide the figure in the Offset column, expressed in kilobytes, by 4. If it divides evenly then it’s aligned. For Partition 1, the System Reserved partition, 1024 / 4 = 256, so it’s good. Partition 2’s Offset is expressed in megabytes so we have to convert to kilobytes first by multiplying it by 1024. So, 73 * 1024 = 74752 and 74752 / 4 = 18688, so it’s good, too.

Whew!

It’s worth noting that what DISKPART didn’t show in the list is the tiny unused space – about 2MB in my case – between Partition 1 and Partition 2 which facilitated alignment.

Someone pointed out to me that partition alignment can be checked without DISKPART. Fire up msinfo32. Expand Components, then expand Storage, then select Disks. Find the drive in question and divide the Partition Starting Offset fields by 4096. If it divides evenly you’re all set!

Migration

I used Macrium Reflect to restore the partition images I created earlier. Rather than allowing the software to create the partitions (which would negate our alignment effort) I pointed it to each target partition in turn. When the restore was finished I shut the system down.

I pulled the SSD from the eSATA port and pulled the existing boot drive from the system. I mounted the SSD in place of the old boot drive. (Windows gets upset when it finds multiple boot drives at startup, so it’s a good idea to have just one.) I took extra care with the data cable.

I powered up and entered the system BIOS, walked through the settings applicable to a drive change, saved and booted.  Things looked good.

Living With the SSD

Wow! Coldstarts are fast. (See below.) So fast that getting through the BIOS has become the perceived bottleneck. Applications start like lightning, especially the first time, before Windows caches them. Shutdowns are snappy, too. (See below.) There’s no shortage of anecdotes and benchmarks on the ‘net and I’m sure you’ve seen them. It’s all delightfully true.

But all wasn’t perfect. After a week or two some new patterns seemed to be emerging.

Every so often, unexpectedly, the system would become unresponsive with the drive use LED full-on solid, for some tens of seconds. Most of the time the system would return to normal operation but depending on what application was doing what at the time, the period of unresponsiveness could sometimes cause a crash. Sometimes the crash would be severe enough to bring on a BSOD. The biggest problem I have with BSODs or other hard crashes is that it causes the mirrored terabyte data drives to resync, and that takes a while. Usually the System Log would show Event ID 11 entries like this associated with the event:

The driver detected a controller error on \Device\Ide\IdePort6.

And once, following a BSOD, the boot drive was invisible to the BIOS at restart! A hard power cycle made it visible again and Whisky booted normally, as though nothing abnormal had ever occurred.

Hard to say for sure, but it seemed as though these oddities were happening with increasing frequency.

Firmware Update

Prowling the ‘net I found others reporting similar problems. What’s more, Corsair was on the case and had a fresh firmware update! The update process, they claimed, was supposed to preserve data. I checked my live backup and made new partition images anyway. The drive firmware update itself went exactly as described, took but seconds and left the data intact. The next boot had Windows installing new (or maybe just reinstalling?) device drivers for the drive, which then called for another boot. All this booting used to be a pain in the ass but when the box boots in seconds you tend to not mind that much.

Benchmark performance after the update was improved, but only marginally – nothing I’d actually notice. The troublesome hangs I mentioned seem to occur on bootup now, when they occur at all. They seem less ‘dangerous’ because they don’t interrupt work in progress at that time. So far, anyway, I just wait out the length boot and log in, followed by a cold shutdown. The next coldstart invariably goes normally, that is, very, very fast.

What’s going on? Maybe some periodic housekeeping going on in the drive? Maybe some housekeeping that was underway when I interrupted with a shutdown? Or maybe it’s that data cable? Remember, I mentioned it’s sort of a loose fit without a retainer clip. Time will tell.

Videos

I goes without saying that SSDs are fast. Many people like to judge that by how fast Windows loads. I threw together a couple of videos to illustrate.

System Startup with SSD
00.00 - Sequence start
01.30 - Power on
04.06 - Hardware initialization
13.20 - Video signal to monitors
15.83 - BIOS
23.93 - Windows Startup
39.83 - Login prompt
44.93 - Password entry complete
54.50 - Ready to work

Power on to Windows startup duration is 22.63 seconds.
Windows startup to login prompt duration is 15.90 seconds.
Password entry to ready-to-work duration is 9.57 seconds.

 

System Shutdown with SSD

00:00:00 - Sequence start
00:08.32 - Shutdown initiated
00:24.27 - Shutdown complete

Shutdown initiation to power off duration: 15.95 seconds.

 

Storage: the plex is missing

Last year, in the midst of migrating the VM farm from VMware to VirtualBox, I had a Seagate drive go tits up. Luckily it was part of a RAID so I just substituted another drive and that was that. It was still under warranty so I figured that one day I would clear out the confidential data and RMA the thing. No rush.

Every so often, as time permitted, I would haul the thing out and play with it a little. This morning was one of those times.

Since I’ve been rather unsuccessful with the thing so far I figured to try swapping logic boards on the drive. I’ve got a spare, of sorts; it’s on a drive that’s part of the RAID mirror in my primary desktop. Software RAID, that is, on a Windows 7 system.

It’d be a simple matter to pull the drive, failing the RAID. Then the plan was to install the known-good logic board onto the failed drive, cable it up to the ESATA port and (possibly) do the wipe. Recovery would be just as easy. Replace the logic board and re-install the RAID drive. Then recover/resync the mirror and that would be that.

Before I got started I figured a backup would be prudent. The RAID mirror is where I do all my work. The better part of a terabyte was soon copied to a spare drive.

The drive pull took but a moment. Gotta love those big, roomy cases! I booted to find that the array had NOT failed; instead it went missing altogether! Oops. No concern, though, right?Microsoft documentation says that breaking a mirror results in two drives containing the data, just no more mirror. My exercise should have merely simulated a drive failure. When I re-installed the drive it should be fine.

Okay, so I did the logic board swap and futzed with that a bit, still feeling a bit uneasy about the mirror. Didn’t get anywhere for my trouble. It looks like the failed drive is just that – a failed drive. (More about that later.)

I put the known-good logic board back on the mirror drive, shoved it into the case, cabled it up and booted. Uh oh. Still no mirror. One of the two formerly mirrored drives appeared uninitialized while the other was foreign. I imported the foreign disk, which then got its old drive letter back.The data appeared to be intact but (I guess) since the companion volume remained uninitialized it still reported itself as having “failed redundancy.” I couldn’t break the mirror, nor could I remove the mirror. It looked like it was in some kind of limbo. I tried to reactivate the volume and had a nice little “WTF” moment: “the plex is missing” mocked the resulting error message.

I’m running out of time, there’s stuff I need to be doing and it’s certainly not this.

I initialized the uninitialized drive, made it dynamic and formatted it. Then I copied the data from the drive whose plex – whatever the hell that is – was missing onto the newly formatted volume. Continuing, I wiped the plex-less drive. Would it now offer itself up as a candidate to accept a mirror? Yes, it would. So I did just that and it took a while – longer than all the file copying – to resync.

Now, I’ve had good luck with Windows’ software RAID mirrors before but this exercise worried me a little. Should I have broken the mirror instead of simply yanking the drive? What if it had failed electrically? Or if I knocked a cable loose doing some unrelated maintenance? Or someone stole the drive? What happens when a drive fails under certain circumstances? Have I just been lucky all along, where the failures I’ve experienced have just been the right kind of failures that were recoverable? Ponder, ponder.

I guess I need to set up a testbed VM and experiment. Meanwhile, I have my panic copy and the same mirror arrangement I had this morning, no lossage.

Oh, and the old drive that I was trying to wipe? Glad you asked. It’s still on the shelf. There’s confidential data on there, if one were to recover it. I haven’t been able to get to it in order to properly cleanse it. I don’t trust Seagate; not that Seagate’s evil or anything. It’s just that, well, the responsibility’s mine and I don’t take that lightly. Terabyte drives are only worth about $75 retail these days and I got a couple of good years out of the thing.

What would YOU do with a drive full of confidential but unreachable data? Can you suggest any tools that I might use to get at the drive to wipe it without needing to access it with Windows or Linux, the two predominant OSs we run here?

Virtualization Revisited

I’ve been virtualizing machines the home network for many years. The benefits are simply huge (but relax – I’ll not go into them in detail here). Suffice it to say that it beats the snot out of stack of old PCs with their attendant noise and energy consumption.

The server I built on a shoestring one August afternoon many years ago has (ahem) served us well. A mile-high overview of the hardware includes an NVIDEA motherboard from BFG, several GB of commodity RAM, a SATA RAID card from Silicon Image driving a handful of 3.5-inch SATA drives, and an IDE boot drive. The mini-tower case – told you I cheaped out – is somewhat dense inside so there are extra fans to keep the heat in check. The host OS has been Windows 2000 Server Service Pack 4.

Yeah, yeah, I know. It’s a 32-bit OS on 64-bit hardware. A nice chunk of RAM is ‘lost’ to insufficient address space right off the bat. I figured to upgrade the OS one day but never quite got around to it. The virtualization software is VMware Server, which I’ve been using since the beginning. Their current version is 2.0.0 Build 116503 (wow, 2008, when dinosaurs roamed the Earth). The guest OSs are a mix of Linux and Windows servers handling core dedicated roles as well as a changing mix of experimental/test/research stuff: DOS, Windows 3.1, Chrome OS, OS/2 Warp (OMG what a hack that was!), a couple of OTS appliances, more. What can I say? I’ve got an interest in history. Besides, the look on my kid’s face when he sees an ancient OS actually running (as opposed to just static screen shots on some Web page) is worth it.

Anyway, there are lots of problems with this setup. VMware Server, their free product, is getting long in the tooth. The Web-based interface doesn’t work with the Chrome browser; it’s one of the few things that continues to force me to use IE. Sometimes the service side of the interface goes MIA altogether. The 32-bit Win2K is finally hopelessly out of date, absolutely no more updates. The list goes on and on.

So every now and again I look around for alternatives. The last serious contender was VMware’s ESXi. The idea of a supported bare-metal virtualization platform sure sounded appealing! I spent a day or two experimenting but ended up dismissing it. Getting it to run on the (albeit weak) hardware proved do-able but not without difficulties. In the end it just seemed too fragile for the long-term. I chalked it up to more trouble than it was worth, restored the old setup and got on with life.

The October 2010 issue of Communications of the ACM carried an interesting article, Difference Engine: Harnessing Memory Redundancy in Virtual Machines. Excellent article! A side effect of reading it led me to think again about the clunky mess humming away in the basement. And it was at roughly that time when another interesting article came through the news flow, How do I add a second drive to a Windows XP virtual machine running in VirtualBox? [link is dead]

Hmmm, VirtualBox. I had looked at VirtualBox a long time ago. I grabbed a current release and installed it on my desktop. Wow, it’s apparently matured a great deal since I last paid attention! I found it intuitive and fast to not only create and use new guests but also to simply import and run my existing VMs. (Well, okay, so there were a few gotchas, but no showstoppers.) Yes, this could be a contender for the basement server!

I pulled out an old laptop for some preliminary testing. I loaded it up with Ubuntu Server 10.10, installed VirtualBox and parked it in the basement. The goal? Well, VirtualBox is very easy to control through its GUI but I’d need to learn to run it entirely via command line and build my confidence for a smooth migration. I just  knew I’d run into problems along the way – nothing’s ever as easy as it looks at first glance – and I wanted to be able to anticipate and solve most of them in advance.

As usual, the ‘net came through as a truly incredible learning resource and I made copious use of it along the way. But every situation is different. By documenting my work in a series of articles, well, maybe it’ll help some wayward soul have an easier time of it.

Credit Card Fees

You can’t watch the news lately without hearing about credit card fees. Consumers are becoming outraged as banks avail themselves of every opportunity to collect more and more. With the amount of credit card debt that consumers are carrying these days, it’s likely that you’re one of them.

I use credit. In fact, I use it every chance I can. The card I use the most has a rebate program that I actually use and, over the past 8 years or so I’ve collected an average of about $750 per year in rebates. Not bad!

The other day I was clearing the most recent statement while the news was running a credit fee related story – and my bank was the focus. I pointed my browser to their Web site to see what the fuss was about. It took a bit of searching but I found it, buried under a link:

bank fee alert
Late Payment Warning

Wow! That’s a hefty fee alright. And a hefty interest rate, too. This must be what the story was about.

There’s really more to the story, though, and the reporter didn’t bother to share it. See, I know the secret already. And I’m going to tell you what it is. There’s no number to call, no login, no registration, no gimmicks at all. Absolutely free. The secret to avoiding those nasty fees. My gift to you.

So, here’s the secret. Ready? Here it comes now.

Pay the bill. On time. Or don’t use the credit line. You know exactly when the next closing date, the statement arrival date and the due date will occur. Plan. Huh? You can’t resist the urge to spend? Then go and put the card in your safe deposit box until you learn some discipline. (Don’t close the account, though, that’s bad for your score.) Then pay the bill. On time.

Simple, isn’t it?

Some Favorite Windows XP Registry Adjustments

Since I’ve been asked, here are a few of the registry adjustments I make soon after kickstarting an XP system. By no means is this an exhaustive list. No, it’s just the stuff that I consider a minimal start for all systems.

WARNINGDon’t come crying to me if you hose your system beyond belief, because for the uninitiated messing with the Windows registry directly is somewhat akin to performing open-brain surgery. In fact, I’m not going to tell you how to perform edits on the thing, back it up in whole or part or anything like that. You should already know how to do those things. If you don’t, well, please move along, nothing to see here.

With that out of the way, I’ll state what should be obvious. The registry keys mentioned below are each one line. Sometimes embedded spaces will cause wrapping that shouldn’t actually be.

The default responsiveness of the Start menu is designed for effect, not utility. Adjust it to your liking by adjusting the value here:

HKEY_CURRENT_USER\Control Panel\Desktop\MenuShowDelay

This has a default decimal value of 400. 100 usually does it for me.  The ever-so-popular TeweakUI utility adjusts this, too, but it’s easy to just do it this way.

If you’ve got enough memory in your system you can pull the Windows kernel into RAM. Absolutely don’t do this if you’ve got less than, oh, 256 MB.  But who doesn’t have 2 GB or more these days?

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\DisablePagingExecutive

Choose one of these values:
1 = disable paging and run kernel from RAM
0 = normal, paged operation

It should be obvious that you want to set it to 1. You’ll need to reboot to make it take effect.

Did you know that NTFS maintains standard 8.3 file names that are compatible with DOS conventions? Those are the ugly looking all-caps things with the tildas and such that you may have seen in a file list every now and again. Creating and maintaining them is an overhead you can live without if you never have a need for this compatibility. Nice that you can easily disable it and keep your MFT a little less cluttered at the same time.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation

0 = enabled
1 = disabled

Set to 1 to gain some file system performance, at the expense of compatibility with that older file system you probably forgot about long ago. You’ll need to reboot to make it take effect.

Oh, and before you ask: no, I’m not sure whether it cleans up existing 8.3 junk or not. I never bothered to check, but I’d suspect not.

Windows XP helps speed its bootup with a prefetch cache, located by default at C:\Windows\Prefetch. Some folks say that every now and again you should delete the contents of that directory, and the system will rebuild it cleanly. I personally wouldn’t bother with that, just let Windows deal with it. But you can control what gets prefetched with this adjustment.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\EnablePrefetcher

0 = disable prefetching
1 = prefetch application launch files
2 = prefetch boot files
3 = prefetch as much as possible

Setting this to 3, of course, is a good idea.

The Disk Cleanup utility doesn’t actually clean up all of your temp files as you might be led to believe. Instead, it checks the last access of these files and if it’s 7 days or less it keeps ’em around. Fortunately you can fix this.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Temporary Files\LastAccess

# = number of days of retention

Personally I like 0 days. One good reason is that it’s nice to have the slate as clean as possible when defragmenting. (But if you’ve got an SSD you might want to leave this one be, as small writes exact a serious performance hit.)

Add a Copy To command to Explorer’s context-sensitive menu, where it’s always ready for use.

Just add the following key:

HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\Copy To

with a default value of
{C2FBB630-2971-11D1-A18C-00C04FD75D13}

And, while you’re at it, add a Move To command as well. Add this key:

HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\Move To

with a default value of
{C2FBB631-2971-11D1-A18C-00C04FD75D13}

Of course, neither of these do anything for system performance but may help your performance.

One-Car Garage

  • two Harley-Davidson motorcycles
  • one Jeep Wrangler
  • three adult-sized bicycles
  • two unicycles (24-inch and 36-inch wheels)
  • two floor-to-ceiling sets of shelves (spanning entire back wall, packed full)
  • one hydraulic motorcycle/ATV jack
  • one bolt-to-the-floor tire changer/bead breaker
  • two air compressors on carts (one a 2-cylinder commercial unit)
  • one eye-height tool chest (wheeled, full)
  • one vacuum cleaner
  • two 35-gallon recycling containers
  • lumber (approximately 120 cubic feet)
  • one folding workbench (yep, folded)
  • one set of two medium-duty automotive service ramps
  • three aluminum ladders (16-foot extension; 24-foot extension; 16-foot folding scaffold)
  • one 10-ton hydraulic log splitter
  • one 65-gallon trash can
  • assorted yard tools (shovels, rakes, hoes, brooms, and so on.)
  • and more small stuff (too various and numerous to mention)

The garage is packed kinda tight tonight.

There’s a storm coming that could dump a foot of snow – the largest snowfall here in about two years. I’ve got space outside to park the pickup, but I want the Jeep off the street.

It’s positively astounding what you can fit into a tiny space with just a little bit of planning!