1. A distributed data storage system for allowing one or more client systems to access data, comprising: a plurality of independent storage units for storing the data; wherein the data is stored on the plurality of storage units in files, wherein each file includes segments of data and redundancy information for each segment, wherein each segment has an identifier, and wherein the redundancy information for each segment includes at least one copy of the segment, and wherein, for each file, the segments and the redundancy information for each segment are distributed among the plurality of storage units; wherein each storage unit comprises means for maintaining information associating the identifier of each segment stored on the storage unit with the location of each segment on the storage unit; wherein the distributed data storage system includes means for maintaining information associating the identifier of each segment with indications of the storage units from the plurality of storage units on which each segment and the redundancy information for the segment is stored; wherein the distributed data storage system includes means for identifying one of the storage units to be removed; and wherein the distributed data storage system includes means, operative in response to an identification of one of the storage units to be removed, for redistributing data on the identified storage unit to other storage units, including means for determining, for each segment of data stored on the identified storage unit, another storage unit on which the segment is stored; means for sending, for each segment of data stored on the identified storage unit, a request to the other storage unit on which the segment is stored to send a copy of the segment to a different storage unit, wherein each request includes the identifier of the segment.