1. A method of storing data in a clustered data processing system, comprising the steps of: receiving, by a plurality of available peers in the system, a set of more than one input symbol segment for a first codeword, each of the plurality of available peers receiving all of the input symbol segments in the set; in response to the step of receiving, a first group of at least two of the available peers each storing a respective one of the input symbol segments for the first codeword, none of the peers in the first group retaining for the first codeword all of the input symbol segments for the first codeword; and in response to the step of receiving, a second group of the available peers each generating and storing a respective checksum symbol segment for the first codeword, based on the input symbol segments for the first codeword, each of the checksum symbol segments generated by the second group of peers for the first codeword having contents that, in conjunction with a first subset of fewer than all of the input symbol segments for the first codeword, is sufficient to recover one of the input symbol segments for the first codeword which is not in the first subset.