Disk in … disk out …
Posted in General, Storage Interconnects & RAID, Storage Management, Application Environments by Neil(I think I’ve watched the Karate Kid too many times)
System builders are often faced with the dilemma of adding enough drives to a system to meet a customer’s capacity and performance requirements. The traditional approach has been to purchase a chassis large enough to hold all the drives internally. This approach has a few problems.
Firstly, you need to spend up big on the initial chassis. Even if the customer doesn’t need all that space right now, if you are going internal then you still have to spend enough money up front to purchase the 24 or 48-drive chassis.
A smart customer will want to purchase a system that can grow with his needs, but purchasing a massive server up front often puts the quote out of the reach of the initial sale.
Purchasing a smaller chassis without expansion capability often means people are thinking of replacing the hard drives at a later date with larger drives to meet a capacity upgrade requirement. Bad move … this is not cost effective, takes a lot of time and is not in the best interests of the customer (even though it may get the system builder a bit of extra income at some future point in time).
So … you want to build a system now that meet’s today’s requirements for capacity, and you only want to pay for what you are using now – smart. But … you know your space requirements will grow in the future and you don’t want to throw away a perfectly good server just because it has run out of disk space a year after purchase.
What to do?
It’s pretty simple really … just put the disks “outside” the server. Many users can purchase all the horsepower and memory requirements they need in a cheap 1U server. By adding a JBOD (just a bunch of disks – I love that acronym) and a RAID card with external connectivity, you can add as many drives as you like. On top of that you can just keep daisy-chaining JBODs together until the cows come home, giving you as much storage capacity as you can possibly imagine (try 250TB in the one server).
If this is so simple, why do people shy away from it? FUD (fear, uncertainty and doubt) is generally the reason. Let’s look at some of the questions people have when considering this type of configuration:
• I’ll create a performance bottleneck between the server and the storage …
• If one cable breaks I’ll lose all my storage …
A modern SAS RAID card (and yes, it accepts both SAS drives and SATA drives at the same time), has a funny looking new type of external connector called a 4x (4 by, 4 lane, 4 channel – call it what you will) connector. This is, practically, 4 single SAS/SATA communication channels joined together at the hip.
A single SAS/SATA connector runs at 3 gigabit – roughly 300mb per second throughput. But SAS is smart, much smarter than SATA. When a SAS card finds a 4x cable going from the card to another device that also uses a 4x connector, it joins all 4 cables into one large pipe. Sort of multiplexing for those of us old enough to remember that technology.
The end result of all these smarts, is that the pipe between the RAID card and the JBOD is capable of sustaining 1200mb per second throughput. That’s pretty fast, and eliminates any bottleneck concerns that a user may have about connecting drives externally to a card.
Now the question about the cable. When was the last time you saw an external cable “break”. I’ve spent a lot of years in tech support, especially dealing with SCSI. Now SCSI connectors were dodgy to say the least, and were (and still are) often used on devices like external tape drives where they were connected and disconnected frequently.
Over the years I have hardly replaced a SCSI cable. Now if we add to that the fact that modern SAS external cabling uses a much better connector type and cables connecting servers and JBODs are not connected/disconnected frequently, and you end up with an almost bulletproof connection system that is by no means the weakest link in the data storage chain.
Now that we’ve dispelled the myths (FUD), let’s look at the benefits of building a server system in this manner.
Firstly, you start with a 1U server with 4 drives (or 2 or 3 and a CDROM). Spend your money on CPU and memory components. In that box you need a SAS RAID card that has 4 internal connectors to handle the (up to) 4 drives inside the box, and a 4x external connector to connect to a JBOD. An example of a card like this would be Adaptec’s 5445.
Then buy yourself a JBOD. These are generally 2U rack units that take 12 drives. You may or may not want to purchase all 12 drives now … just purchase as many as you need. Therefore your initial investment in the server hardware comes down to a beefy 1U server, a good quality RAID card, a JBOD and as many drives as you currently require.
But time goes on … and sooner or later you’ll run out of space. Simply purchase more drives and add them to the JBOD. Fill the JBOD? No worries, purchase another JBOD and daisy-chain it to the first one. Start filling that with drives. Run out of space? Just repeat the cycle with another JBOD and keep on adding drives for as long as you wish. The technical maximum at this point in time is 250 hard drives, which for all intents and purposes is unlimited … I haven’t see anyone come even close to this yet.
So you end up with a big expensive server – great. However you paid for it over a couple of years, and took advantage of the dealer specials along the way. You also gained from hard drive price decreases. Along the way were hard drive capacity increases (these two go hand in hand like death and taxes).
It’s hard to see anything but benefits to users … reduced capital expenditure, increased flexibility over a fixed system, access to better technology as it both appears and drops in price.
Sounds like a win win win to me.
November 25th, 2008 at 8:05 pm
I recently came across your blog and have been reading along. I thought I would leave my first comment. I don’t know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often.
kaylee
http://www.thinkpadonline.info
December 5th, 2008 at 5:51 am
Kaylee
Now why did I post your blog comment? Did my ego get the better of me? Is it Friday night (well and truly after midnight and I’m still doing this stuff)? Am I just a vain old computer hack?
Yes, yes and yes.
Thanks
December 8th, 2008 at 10:05 pm
Theoretically Adaptec 5405 connected to a SAS backplane that has built-in Expander should also allow scaling to the limits of 256 drives. But I read in the FAQ that there’s some 48 drive limit for SATA-II drives…and finding such a supported chassis could be a problem…
December 21st, 2008 at 8:06 am
Kman,
Once upon a time, in a galaxy far, far away … yes, there was a limit of 48 sata drives on the 4800/4805 series of adpaters. Not so for the 5 series of Adpatec RAID cards. 256 is definitely the limit for either SAS and/or SATA drives.
Now as for chassis … you’ll generally only find 12-24 bay chassis out there, but you can daisy-chain them very easily (in fact it’s piece of cake) to give you the expansion capacity you need.
Thanks
Neil
January 16th, 2009 at 12:32 pm
Here’s some FUD on my part, but:
What happens if one of the drives in the JBOD fails? Do you lose access to the data until you can restore from backup? Or can you RAID the JBOD drives for redundancy?
January 20th, 2009 at 7:27 pm
Paul,
FUD goes well with Coffee.
So … the drives in the JBOD would be in a RAID array controlled by the card. Upon re-reading my ramble I realise I didn’t make this particularly clear (for which I apologise).
If the drives are in a RAID array of some description (probably 5, 6, 50 or 60) then of course we can survive the drive failure. If you have a hot spare lying around the place then of course the array will rebuild straight away and you’re safe once more.
Even in the bizarre situation where you did in fact have single drives in a JBOD, the failure of one drive would only affect access to that drive, not the rest of the drives in the JBOD. Remember that SAS/SATA is point to point, not a parallel technology like the old SCSI so single device failures don’t affect devices around them.
Hope that answers the question.
Thanks
Neil
March 1st, 2009 at 8:15 pm
Hi,
Your coment above implies that it’s possible to configure RAID arrays on JOBD external enclosures?
As per your suggtestion I’m wanting to set up a storage system with at least 10TB using a 12 disk SAS external enclosure attached to a 1U server.
I havent had much to do with SAS, and was going to purchase an external array enclosure that specifies itself as a SAS RAID enclosure. Is it necessary to purchase a RAID enclosure, or can I configure RAID on a JBOD array enclosure using an adaptec HBA with external 4x SAS connector?
The system will be used for SMB/CIFS network file serving (either by server 2003 or open filer or similiar), and if expandable we might add a second external enclosure with higher speed disk to service database and exchange servers via iscsi.
I guess my questions are;
1. Can external disk arrays that are sold as JBOD (not RAID) be used to set up RAID disk arrays via the Adaptec HBA in the server?
2. Is there enough bandwidth on a single 4x external SAS port to serve 2 external disk arrays via daisy chaining - or would i use a HBA with 2 or more external ports?
Thanks.
March 3rd, 2009 at 4:32 am
Rob,
Great questions … and it indicates that I didn’t make things real clear in the first place
So … I’ll do this point by point …
Yes, it’s possible to do RAID arrays on an external JBOD - using the RAID card in the server attached by the 4x external SAS connector on both the RAID card and the JBOD.
10tb is not a problem … we go up to 512tb in a single RAID array.
Don’t buy a SAS RAID enclosure, buy a SAS JBOD enclosure. Connect to the external port on the RAID card. Since you mentioned a 1U server then the 5445 is perfect. 4 internal ports for the drives in the server, and an external connector to go to the JBOD.
SMB/CIFS no worries … you’ll probably want to use SATA (something like Seagate ES2 - watch the firmware).
(iSCSI? Please explain. I need clarification on exactly what you mean here, what servers you have, what storage you need, how good your network is and where you want to store the data in relation to the processing. In other words … put this as a separate question so we don’t muddy the water.)
So …
Question 1: Yes
Question 2: Yes … the connection supports 1200mb/second which is fast enough for good old CIFS.
As for dual ports etc, that’s a good topic for another blog (I’ll put it in my section on things to write about on the way home in the train
)
Thanks
Neil