1. A data processing apparatus, comprising: a metadata store storing information about files that are stored in a distributed data storage system, and comprising a class database; one or more processing units; logic coupled to the processing unit(s) and to the metadata store and comprising stored sequences of instructions which, when executed by the processing unit(s), cause: receiving and storing in the class database a definition of a class of data storage servers comprising one or more server selection criteria and one or more representation counts; associating the class with one or more directories of the data storage system; in response to a data client storing a data file in a directory of the one or more directories, determining a set of data storage servers that match the server selection criteria and storing a plurality of replicas in the data storage servers according to the representation count.