TheyDroppedMe
n00b
- Joined
- May 27, 2011
- Messages
- 30
Hey, I'll get straight to the point. I have been a lurker on HardForum for a long time, but until now haven't really needed to post anything to find the answers I need. I work as the IT man for a small business and have been revamping our IT infrastructure to make expansion easier.
Right now, we use large, high-performance servers for our analytic work (we do econometric modeling and data mining). We want to move towards a more distributed approach, using many cheaper servers to do the work. One of the issues I face is the age-old performance vs development speed, and because of the kind of jobs we do, it pretty much puts a hadoop-style distributed architecture out of the picture.
What I am trying to accomplish is to abstract the storage from the analysis servers, so that every server can have access to the storage pool and jobs can easily be moved between servers. I am trying to figure out the best setup for this structure and am finding the information available is overwhelming. Here's what I'm looking for in a storage system:
-High Performance - the analysis servers will be constantly accessing data from the storage pool and then writing back the finished data sets. 500 MB/s is my goal here. The backend storage arrays are all fast enough to saturate this speed.
-Easily Expandable - adding new servers should be easy and cheap
-Low cost - obviously there are expensive commercial solutions, but being a small business, cost is a huge issue
-Easy to manage and reliable - I'll be the only person on-site to maintain the setup, so it should be fairly simple
-Initially, the network would host two or three storage servers, and 4-6 analysis servers, with the possibility of adding another 10 or so analysis servers in the future. All of the servers would need to be able to access all of the storage (although only one at a time would be working on a particular dataset)
With that fantasy checklist comes a reality check - I know that I won't be able to get everything (high performance, low cost), but perhaps you guys can help me to come up with a good compromise.
Obviously, the cheapest solution would be to set up a NFS share over a dedicated gigabit ethernet network. However, this would limit transfers to around 100 MB/s in my experience. I looked into link aggregation, but my experience with that has been frustrating at best, but that was several years ago. Perhaps there is a reliable method to bond 4 GBe ports together, connect them to a managed GBe switch, and call it a day?
I looked into 10GBe NIC's, and they are finally starting to approach the affordable price range, but switches are still obscenely expensive (unless I am just looking in the wrong place) - several thousand dollars for a 8-12 port switch. Same thing with Fibre Channel, plus I'm not aware of any file-level sharing protocol over FC.
I saw a few things mentioning using InfiniBand for this sort of model, and boy, used infiniband equipment is incredibly cheap, and fast. 4x DDR HCA's can be had for less than $100 each used, and 8-12 port switches in the $1000 range. But, I'm very hesitant to use the tech for this sort of thing, as it seems like no one does (and it's a new technology to me). Have any of you heard of using infiniband for this sort of usage scenario?
Do any of you guys have any recommendations, or links to point me in the right direction? I don't have any experience in designing shared storage beyond just NFS and GBe, so this stuff is all new to me. Also, this would probably be an interim solution, for the next 2-5 years, so it doesn't have to be incredibly expandable or future-proof (although that's always nice to have).
Thanks in advance for the help. I promise, I won't write any more posts this long in the future.
-Greg
Right now, we use large, high-performance servers for our analytic work (we do econometric modeling and data mining). We want to move towards a more distributed approach, using many cheaper servers to do the work. One of the issues I face is the age-old performance vs development speed, and because of the kind of jobs we do, it pretty much puts a hadoop-style distributed architecture out of the picture.
What I am trying to accomplish is to abstract the storage from the analysis servers, so that every server can have access to the storage pool and jobs can easily be moved between servers. I am trying to figure out the best setup for this structure and am finding the information available is overwhelming. Here's what I'm looking for in a storage system:
-High Performance - the analysis servers will be constantly accessing data from the storage pool and then writing back the finished data sets. 500 MB/s is my goal here. The backend storage arrays are all fast enough to saturate this speed.
-Easily Expandable - adding new servers should be easy and cheap
-Low cost - obviously there are expensive commercial solutions, but being a small business, cost is a huge issue
-Easy to manage and reliable - I'll be the only person on-site to maintain the setup, so it should be fairly simple
-Initially, the network would host two or three storage servers, and 4-6 analysis servers, with the possibility of adding another 10 or so analysis servers in the future. All of the servers would need to be able to access all of the storage (although only one at a time would be working on a particular dataset)
With that fantasy checklist comes a reality check - I know that I won't be able to get everything (high performance, low cost), but perhaps you guys can help me to come up with a good compromise.
Obviously, the cheapest solution would be to set up a NFS share over a dedicated gigabit ethernet network. However, this would limit transfers to around 100 MB/s in my experience. I looked into link aggregation, but my experience with that has been frustrating at best, but that was several years ago. Perhaps there is a reliable method to bond 4 GBe ports together, connect them to a managed GBe switch, and call it a day?
I looked into 10GBe NIC's, and they are finally starting to approach the affordable price range, but switches are still obscenely expensive (unless I am just looking in the wrong place) - several thousand dollars for a 8-12 port switch. Same thing with Fibre Channel, plus I'm not aware of any file-level sharing protocol over FC.
I saw a few things mentioning using InfiniBand for this sort of model, and boy, used infiniband equipment is incredibly cheap, and fast. 4x DDR HCA's can be had for less than $100 each used, and 8-12 port switches in the $1000 range. But, I'm very hesitant to use the tech for this sort of thing, as it seems like no one does (and it's a new technology to me). Have any of you heard of using infiniband for this sort of usage scenario?
Do any of you guys have any recommendations, or links to point me in the right direction? I don't have any experience in designing shared storage beyond just NFS and GBe, so this stuff is all new to me. Also, this would probably be an interim solution, for the next 2-5 years, so it doesn't have to be incredibly expandable or future-proof (although that's always nice to have).
Thanks in advance for the help. I promise, I won't write any more posts this long in the future.
-Greg