Archive for December, 2009

Expanding RAID & Partitions on Mac (part 2)

Sunday, December 6th, 2009

So I’ve been doing some thinking on why the mac has problems with expanded volumes. By expanded volumes, i mean a volume that gets bigger after initial creation. This isn’t an issue for physical disks, since their size is set. But virtual volumes, such as those presented by a RAID card can be “grown” through raid magical goodness.Once they’ve been grown - someone/something needs to update the GPT headers to say “this disk is much larger than before”. Part 1 accomplishes that through destroying the GPT headers, and re-creating them. It works, but man is it nerve-wracking.The other way one could do this, is by directly editing the GPT headers.In the GPT headers there are some fields:

FirstUsableLBA

The first usable logical block that may be used by a partition described by a GUID Partition Entry.

LastUsableLBA

The last usable logical block that may be used by a partition described by a GUID Partition Entry. 

AlternateLBA

LBA address of the alternate GUID Partition Table Header.

HeaderCRC32

CRC32 checksum for the GUID Partition Table Header structure. This value is computed by setting this field to 0, and computing the 32-bit CRC for HeaderSize bytes.

What has to get updated is that LastUsableLBA and AlternateLBA. AlternateLBA should be = the last block on the hard drive.LastUsableLBA should be something like AlternateLBA-32.Once you’ve updated these, you have to calculate a new CRC32 checksum.If you’re a good person, you would go ahead and write the alternate header to the end of the disk - a bad person would just let the OS panic about the lack of backup headers and fix it itself.I’ll be doing some testing of this over the coming weeks, and i’ll let you know what i find.

Never enough storage

Sunday, December 6th, 2009

Why is there never enough storage available? The 13TB array keeps on getting full - so time to build Array2. I should name my arrays - got suggestions?Anyways, I want Array2 to be a little less hacked together than Array1. So, my choices for enclosure include:

  • Norco RPC-4220 $362 shipped from MWave
    • 4U (19″ x 25″ x 7″)
    • 20 Hot Swap SAS/SATA bays
    • Five internal SFF-8087 Mini SAS connectors 
  • Norco RPC-3216 $346 shipped from MWave
    • 3U  (19″ x 25″ x 5.1″)
    • 16 Hot Swap SAS/SATA bays
    • Four internal SFF-8087 Mini SAS connectors  

These are nice enclosures, but you also need a power supply($100ish), power supply controller, and a sas expander ($250). So you’re really looking at $750 ish.Supermicro (who makes the drive bays in Array1), makes some nice enclosures.

  • SC936E1 $1029  or $64/bay
    • 16 hot swap bays in 3U
  • SC933E1  $942
    • 15 hot swap bays in 3U
  • SC836E1 $1010
    • 16 hot swap bays in 3U
  • SC846E1 $1180 or $49/bay
    • 24 hot swap bays in 4U

Yes, the supermicro cases are spendy. But - they include the power supply and sas expander. And they’re great quality.My only bitch is with the depth of the cases. I don’t need space to put a motherboard in the case, so something 25″ deep is just…. overkill.PS: With any case that doesn’t have a motherboard in it, you can use the Supermicro CSE-PTJBOD-CB1 to control the power supply. It’s $25 well spent.