1. A method for controlling utilization in a data storage system, comprising: using, by a resource node including a hardware processor, a cluster resource protocol to exchange cluster resource information indicating a quantity and a performance for storage media associated with multiple resource nodes; receiving, by the resource node, a storage request from a client to write data; selecting, by the resource node, a first one of the resource nodes for storing the data responsive to the cluster resource information; distributing, by the resource node, the data to the first one of the resource nodes; redistributing, by the selected first one of the resource nodes, at least some of the data to a second one of the resource nodes responsive to the cluster resource information, wherein redistributing the data includes: identifying, by the first one of the resource nodes, a first type of unshared utilization for a first portion of the data; identifying, by the first one of the resource nodes, a second type of shared utilization for a second portion of the data; identifying, by the first one of the resource nodes, a third type of concurrent utilization for a third portion of the data; and redistributing, by the first one of the resource nodes, at least one of the first, second, or third portion of data to the second one of the resource nodes based on the cluster resource information associated with the second one of the resource nodes.