1. A data allocation and replication method, comprising: determining a plurality of characteristics of each user of a distributed storage system comprising a plurality of storage nodes, each user having data stored on the distributed storage system; determining a plurality of characteristics of the distributed storage system; determining an effect the characteristics of each user has on the characteristics of the distributed storage system; determining a user assignment plan mapping each user to one of the storage nodes of the distributed storage system based on the effect the characteristics of each user has on the characteristics of the distributed storage system; and moving the users and the data based on the user assignment plan.