[Lustre-discuss] Performance Expectations of Lustre

Balagopal Pillai pillai at mathstat.dal.ca
Mon Jan 26 11:24:41 PST 2009


MD3000 series doesn't seem to have raid 6 support, which could be very 
useful with lots of sata drives.
Also MD3000i doesn't specify LACP support for the dual or quad Ethernet 
ports on the enclosure. But
a pe1950 + perc 6 with MD1000 has raid 6 support and the OSS can benefit 
from good ethernet bonding support in Linux.
I have a setup with eight MD1000s on two perc 5's on two OSS.


Balagopal

Nick Jennings wrote:
> Hi Brian! Thanks for the reply, comments below
>
> Brian J. Murrell wrote:
>   
>>>   Instead of just adding another 1TB server, I need to plan for a more 
>>> scalable solution. Immediately Lustre came to mind, but I'm wondering 
>>> about the performance. Basically our company does niche web-hosting for 
>>> "Creative Professionals" so we need fast access to the data in order to 
>>> have snappy web services for our clients. Typically these are smaller 
>>> files (2MB pictures, 50MB videos, .swf files, etc.).
>>>       
>> Well, I'm not sure those files would fall within our general
>> classification of "small files" (wherein we know we don't perform very
>> well).  Our small-file issues are usually characterized by "kernel
>> builds" and ~ use, where files are usually much smaller than 1MB.
>>     
>
>   Aha, OK well then that's good to know. There's also some kind of 
> read-ahead and client side caching right? So files which are accessed a 
> lot will be faster to access.
>
>
>   
>>>   Also I'm wondering about the best way set this up in terms of speed 
>>> and ease of growth. I want the web-servers and the storage pool to be 
>>> independent of each other. So I can add web-servers as the web traffic 
>>> increases, and add more storage ass our storage needs grow.
>>>       
>> Well, your web-servers would be Lustre clients.  There is no
>> relationship, or rather requirements in terms of the number of clients
>> and servers being used.  You use as many servers as your client load
>> demands.  So you could imagine both ends of the spectrum where only a
>> relatively few clients could be used to tax quite a few servers or the
>> opposite where a lot of clients with modest demand requires only a few
>> servers.
>>
>>     
>>>   I was thinking initially we could start with 2 servers, both attached 
>>> to the storage array. setup as OSS' and functioning as (load balanced) 
>>> web-servers as well.
>>>       
>> Sounds like you are describing 2 storage servers, which would require at
>> least 3 servers total.  Don't forget about the MDS.  Also don't forget
>> about HA if that's a concern for you.  You could make the 2 OSSes
>> failover partners for each other if you are willing to accept a possibly
>> lower performance impact when one of the OSSes failing.
>>
>> If HA is important to you however, you need to address an MDS failover
>> with a second server to pick up the MDT should the active MDS fail.
>>     
>
> HA is definitely critical, if the storage pool becomes inaccessible we 
> loose clients (and all fingers point at me!). However, I need to find a 
> reasonable balance between cost / scalability / performance. The idea 
> would be to start small, with the simplest configuration, but allow for 
> a lot of growth. In a years time, if we are using 5TB of data, we will 
> be in a very good position financially and can afford a systems expansion.
>
> So for starters, what can I get away with here? 1 OSS, 1MDS & 1 Client 
> node? Is it a smart thing to do to have the MDS and OSS share the same 
> storage target (just a separate partition for the MDS)? What kind of 
> system specs are advisable for each type (MDS, OSS & Client node) as far 
> as RAM, CPU, disk configuration etc? Also, is it possible to add more 
> OSS' to take over existing OSTs that another OSS was previously 
> managing? ie. if I have the MD3000i split into 5x1TB volumes (5xOSTs), 
> and the OSS is getting hammered, I set another OSS up and hand off 2 or 
> 3 OSTs from the old OSS to the new one, and set it up as failover for 
> the remaining OSTs. Do-able?
>
>
>
>   
>> As for OSSes being web-servers, that would require the OSS/Webservers
>> also be clients and that is an unsupported configuration due to the risk
>> of deadlock due to memory pressure.  The recommended architecture would
>> be to make the webservers Lustre clients.
>>     
>
> I see, so from the get-go I'm going to need an internal gigE network for 
> OSS/Client communication.
>
>
>   
>>> performance can I expect, am I out of touch to expect something similar 
>>> to a directly attached RAID array?
>>>       
>> I think our generally talked about numbers are something on the order of
>> achieving 80% of the raw storage bandwidth (assuming a capable network
>> and so on).  Maybe somebody who is closer to the benchmarking that we
>> are constantly doing can comment further on how close-to-raw-disk we are
>> achieving lately.
>>     
>
> Is it safe to say my bottleneck is going to be the OSS & not the 
> network? Is there some documentation I can read about typical setups, 
> usage cases & methods for optimal performance?
>
> Thanks!
> -Nick
> _______________________________________________
> Lustre-discuss mailing list
> Lustre-discuss at lists.lustre.org
> http://lists.lustre.org/mailman/listinfo/lustre-discuss
>   



More information about the lustre-discuss mailing list