Crash course in Storage and Storage Networks

Here's a quick introduction for those of you who are new to enterprise storage. We'll try to cover the most important concepts.

The first decision to make is what disk interface you are going to use:
  • 15000 RPM SAS disks are bought for their robustness and low latency and are mainly used for disk intensive server applications. Transaction based applications in particular need this kind of hard disk. The biggest disks (300GB) consume a lot of power and are very expensive.
  • 10000 RPM SAS disks offer higher capacities (up to 400GB) and are used in the same applications as their 15000 RPM brothers, but they are available at lower price points and have lower power consumption. Less intensive databases and web servers are their natural habitat.
  • Nearline or "RAID enabled" SATA disk are more robust than normal SATA disks. With capacities at 750GB, SATA disks have pushed the 10000 RPM SCSI based disks out of the backup and fileserver market. With fewer disks needed and lower rotation speeds, power consumption is a lot lower.
More information about how SAS and SATA changed the professional storage market is available for the interested. Even more important than choosing the right disk interface is how you make those disks available to your users. There are three primary approaches.

Direct Attached Storage (DAS): thanks to the SAS protocol, you can attach two (but no more) servers to a DAS storage rack. Most of the time, you use a 12 Gb/s Infiniband cable to attach your DAS rack directly to the storage controller card in your server. From the point of view of your server, a DAS is just one or more logical disks it has access to.

Network Attached Storage (NAS): basically the appliance version of a fileserver. As it is yet another device attached to your network, you can in theory access it with as many servers as you like. You use a UTP cable to attach the NAS to your network. To your server, a NAS behaves like a fileserver - a shared storage that is accessible via the network.

Storage Area Network (SAN): a number of disk arrays accessed by one or more servers, most of the time over a switched network. The servers that need access to the shared storage run "initiator" software to send off block requests to the "target" software running on the disk array. You could say that in this case the server is a "storage client", while the real server is the storage server on which the target software runs, and which will send back the requested blocks. From the server OS point of view, parts of the SAN are yet another logical disk it can access.


Above you can see how the Microsoft (iSCSI) target appears as a logical disk. The target is in fact running on the storage racks we tested, but for our testing "client" OS it looks like a local disk.

Just like a DAS, the access to the SAN occurs by sending block transfers, not file transfers (NAS). Implementing a SAN is not enough to give servers concurrent access to the same data. Only with a clustered file system that implements the necessary locks are the servers able to read and write to/from the same data. Otherwise, each server will have access to different parts of the SAN, or it will only be able to read files/data that it can't write. In a way, SANs are DAS with added network capabilities. SANs can be accessed over a TCP/IP Ethernet network (iSCSI) or a FC protocol based switched network (using fiber optic cabling most of the time), also called a "switched fabric".
Index Pricing
POST A COMMENT

21 Comments

View All Comments

  • Anton Kolomyeytsev - Friday, November 16, 2007 - link

    Guys I really appreciate you throwing away StarWind! W/o even letting people know what configuration did you use, did you enable caching, did you use flat image files, did you map whole disk rather then partition, what initiator did you use (StarPort or MS iSCSI), did you apply recommended TCP stack settings etc. Probably it's our problem as we've managed to release the stuff people cannot properly configure but why did not you contact us telling you have issues so we could help you to sort them out?

    With the WinTarget R.I.P. (and MS selling it's successor thru the OEMs only), StarWind thrown away and SANmelody and IPStor not even mentioned (and they are key players!) I think your review is pretty useless... Most of the people are looking for software solutions when you're talking about "affordable SAN". Do you plan to have second round?

    Thanks once again and keep doing great job! :)

    Anton Kolomyeytsev

    CEO, Rocket Division Software
    Reply
  • Johnniewalker - Sunday, November 11, 2007 - link

    If you get a chance, it would be great to see what kind of performance you get out of an iscsi hba, like the one from qlogic.

    When it gets down to it, the DAS numbers are great for a baseline, but what if you have 4+ servers running those io tests? That's what shared storage is for anyhow. Then compare the aggregate io vs DAS numbers?

    For example, can 4 servers can hit 25MB/s each in the SQLio random read 8kb test for a total of 100MB/s ? How much is cpu utilization reduced with one or more iscsi hba in each server vs the software drivers? Where/how does the number of spindles move these numbers? At what point does the number of disk overwhelm one iscsi hba, two iscsi hba's, one FC hba, two FC hbas, and one or two scsi controllers?

    IMHO iscsi is the future. Most switches are cheap enough that you can easily build a seperate dedicated iscsi network. You'd be doing that if you went with fiber channel anyhow, but at a much higher expense (and additional learning curve) if you don't already have it, right?

    Then all we need is someone who has some really nice gui to manage the system - a nice purdy web interface that runs on a virtual machine somewhere, that shows with one glance the health, performance, and utilization of your system(s).

    System(s) have Zero faults.
    Volume(s) are at 30.0 Terabytes out of 40.00 (75%)
    CPU utilization is averaging 32% over the last 15 minutes.
    Memory utilization is averaging 85% over the last 15 minutes.
    IOs peaked at 10,000 (50%) and average 5000 (25%) over the last 15 minutes.

    Pinch me!

    -johhniewalker
    Reply
  • afan - Friday, November 09, 2007 - link

    You can get one of the recently-released 10Gbps PCI-E TCP/IP card for <$800, and they support iSCSI.

    here's one example:
    http://www.intel.com/network/connectivity/products...">http://www.intel.com/network/connectivi...oducts/p...
    The chip might be used by Myricom and others, (I'm not sure), and there's a linux and a bsd driver - a nice selling point.

    10gb ethernet is what should really change things.
    They look amazing on paper -- I'd love to see them tested:
    http://www.intel.com/network/connectivity/products...">http://www.intel.com/network/connectivi...ucts/ser...
    Reply
  • JohanAnandtech - Saturday, November 10, 2007 - link

    The problem is that currently you only got two choices: expensive CX4 copper which is short range (<15 m) and not very flexible (it is a like infiniband cables) or Optic fiber cabling. Both HBAs and cables are rather expensive and require rather expensive switches (still less than FC, but still). So you the price gap with FC is a lot smaller. Of course you have a bit more bandwidth (but I fear you won't get much more than 5 GBit, has to be test of course), and you do not need to learn fc.

    Personally I would like to wait for 10 gbit over UTP-cat 6... But I am open to suggestion why the current 10 gbit would be very interesting too.
    Reply
  • afan - Saturday, November 10, 2007 - link

    Thanks for your answer, J.

    first, as far as I know, CX4 cables aren't as cheap as cat_x, but they aren't all _that_ expensive to be a showstopper. If you need more length, you can go for the fibre cables -- which go _really_ far:
    http://www.google.com/products?q=cx4+cable&btn...">http://www.google.com/products?q=cx4+ca...amp;btnG...

    I think the cx4 card (~$800)is pretty damn cheap for what you get: (and remember it doesn't have pci-x limitations).
    Check out the intel marketing buzz on iSCSI and the junk they're doing to speed up TCP/IP, too. It's good reading, and I'd love to see the hype tested in the real world.

    I agree with you that UTP-cat 6 would be much better, more standardized, much cheaper, better range, etc. I know that, but if this is we've got now, so be-it, and I think it's pretty killer, but I haven't tested it : ).

    Dell, cisco, hp, and others have CX4 adapters for their managed switches - they aren't very expensive and go right to the backplane of the switch.

    here are some dell switches that support CX-4, at least:
    http://www.dell.com/content/products/compare.aspx/...">http://www.dell.com/content/products/co...er3?c=us...

    these are the current 10gbe intel flavors:
    copper: Intel® PRO/10GbE CX4 Server Adapter
    fibre:
    Intel® PRO/10GbE SR Server Adapter
    Intel® PRO/10GbE LR Server Adapter
    Intel® 10 Gigabit XF SR Server Adapters

    a pita is the limited number of x8 PCI-E slots in most server mobos.
    keep up your great reporting.
    best, nw
    Reply
  • somedude1234 - Wednesday, November 07, 2007 - link

    First off, great article. I'm looking forward to the rest of this series.

    From everything I've read coming out of MS, the StorPort driver should provide better performance. Any reason why you chose to go with SCSIPort? Emulex offers drivers for both on their website.
    Reply
  • JohanAnandtech - Thursday, November 08, 2007 - link

    Thanks. It is something that Tijl and myself will look into, and report back in the next article. Reply
  • Czar - Wednesday, November 07, 2007 - link

    Love that anandtech is going into this direction :D

    Realy looking forward to your iscsi article. Only used fiber connected sans, have a ibm ds6800 at work :) Never used iscsi but veeery interested into it, what I have heard so far is that its mostly just very good for development purposes, not for production enviroments. And that you should turn of I think chaps or whatever it its called on the switches, so the icsci san doesnt overflow the network with are you there when it transfers to the iscsi target.
    Reply
  • JohanAnandtech - Thursday, November 08, 2007 - link

    quote:

    Love that anandtech is going into this direction :D


    Just wait a few weeks :-). Anandtech IT will become much more than just one of the many tabs :-)

    quote:

    And that you should turn of I think chaps or whatever it its called on the switches, so the icsci san doesnt overflow the network with are you there when it transfers to the iscsi target.


    We will look into it, but I think it should be enough to place your iSCSI storage on a nonblocking switch on separate VLAN. Or am I missing something?

    Reply
  • Czar - Monday, November 12, 2007 - link

    think I found it
    http://searchstorage.techtarget.com/generic/0,2955...">http://searchstorage.techtarget.com/generic/0,2955...

    "Common Ethernet switch ports tend to introduce latency into iSCSI traffic, and this reduces performance. Experts suggest deploying high-performance Ethernet switches that sport fast, low-latency ports. In addition, you may choose to tweak iSCSI performance further by overriding "auto-negotiation" and manually adjusting speed settings on the NIC and switch. This lets you enable traffic flow control on the NIC and switch, setting Ethernet jumbo frames on the NIC and switch to 9000 bytes or higher -- transferring far more data in each packet while requiring less overhead. Jumbo frames are reported to improve throughput as much as 50%. "

    This is what I was talking about.

    Realy looking forward to the next article :)
    Reply

Log in

Don't have an account? Sign up now