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.

25.6 Other I/O Options<br />

This section describes other I/O options, including end-to-end client checksums and<br />

striping using ioctl.<br />

25.6.1 End-to-End Client Checksums<br />

To guard against data corruption on the network, a <strong>Lustre</strong> client can perform end-toend<br />

data checksums. This computes a 32-bit checksum of the data read or written on<br />

both the client and server, and ensures that the data has not been corrupted in transit<br />

over the network. The ldiskfs backing filesystem does NOT do any persistent<br />

checksumming, so it does not detect corruption of data in the OST filesystem.<br />

In <strong>Lustre</strong> <strong>1.6</strong>.5, the checksumming feature is enabled, by default, on individual client<br />

nodes. If the client or OST detects a checksum mismatch, then an error is logged in<br />

the syslog of the form:<br />

<strong>Lustre</strong>Error: BAD WRITE CHECKSUM: changed in transit before arrival at<br />

OST: from 192.168.1.1@tcp inum 8991479/2386814769 object 1127239/0<br />

extent [102400-106495]<br />

If this happens, the client will re-read or re-write the affected data up to 5 times to<br />

get a good copy of the data over the network. If it is still not possible, then an I/O<br />

error is returned to the application.<br />

To enable checksums on a client:<br />

echo 1 > /proc/fs/lustre/llite/{fsname}/checksum_pages<br />

To disable checksums on a client:<br />

echo 0 > /proc/fs/lustre/llite/{fsname}/checksum_pages<br />

Chapter 25 Striping and I/O Options 25-11

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

Saved successfully!

Ooh no, something went wrong!