23.07.2014 Views

Lustre 1.6 Operations Manual

Lustre 1.6 Operations Manual

Lustre 1.6 Operations Manual

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.4.2 OSS Memory Requirements<br />

When planning the hardware for an OSS node, consider the memory usage of<br />

several components in the <strong>Lustre</strong> system. Although <strong>Lustre</strong> versions 1.4 and <strong>1.6</strong> do<br />

not cache file data in memory on the OSS node, there are a number of large memory<br />

consumers that need to be taken into account. Also consider that future <strong>Lustre</strong><br />

versions will cache file data on the OSS node, so these calculations should only be<br />

taken as a minimum requirement.<br />

By default, each <strong>Lustre</strong> ldiskfs filesystem has 400 MB for the journal size. This can<br />

pin up to an equal amount of RAM on the OSS node per filesystem. In addition, the<br />

service threads on the OSS node pre-allocate a 1 MB I/O buffer for each ost_io<br />

service thread, so these buffers do not need to be allocated and freed for each I/O<br />

request. Also, a reasonable amount of RAM needs to be available for filesystem<br />

metadata. While no hard limit can be placed on the amount of filesystem metadata,<br />

if more RAM is available, then the disk I/O is needed less often to retrieve the<br />

metadata. Finally, if you are using TCP or other network transport that uses system<br />

memory for send/receive buffers, this must also be taken into consideration.<br />

Also, if the OSS nodes are to be used for failover from another node, then the RAM<br />

for each journal should be doubled, so the backup server can handle the additional<br />

load if the primary server fails.<br />

OSS Memory Usage for a 2 OST server (major consumers):<br />

■ 400MB journal size * 2 OST devices = 800MB<br />

■ 1.5MB per OST IO thread * 256 threads = 384MB<br />

■ e1000 RX descriptors, RxDescriptors=4096 for 9000 byte MTU = 128MB<br />

This consumes over 1,300 MB just for the pre-allocated buffers, and does not include<br />

memory for the OS or filesystem metadata. For a non-failover configuration, 2 GB of<br />

RAM would be the minimum. For a failover configuration, 3 GB of RAM would be<br />

the minimum.<br />

3-10 <strong>Lustre</strong> <strong>1.6</strong> <strong>Operations</strong> <strong>Manual</strong> • September 2008

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!