| CPC G06F 16/183 (2019.01) [G06F 16/134 (2019.01)] | 20 Claims | 

| 
               1. An apparatus comprising: 
            at least one processing device comprising a processor coupled to a memory; 
                the at least one processing device being configured to perform steps of: 
              receiving, at a given one of two or more nodes of a distributed file system cluster, a request to store two or more portions of data; 
                  monitoring, by the given node of the distributed file system cluster, two or more performance parameters for each of two or more storage devices associated with the given node, the two or more performance parameters comprising a first performance parameter characterizing data access frequency and at least a second performance parameter characterizing available space; 
                  determining, by the given node of the distributed file system cluster, an overall performance metric for each of the two or more storage devices associated with the given node based at least in part on the monitored two or more performance parameters; 
                  determining, by the given node of the distributed file system cluster, an imbalance rate associated with the given node; 
                  selecting, by the given node of the distributed file system cluster based at least in part on the determined overall performance metrics and the determined imbalance rate, at least a first one of the two or more storage devices associated with the given node on which to store a first one of the two or more portions of data and at least a second one of the two or more storage devices associated with the given node on which to store a second one of the two or more portions of data; and 
                  storing, by the given node of the distributed file system cluster, the first and second ones of the two or more portions of data on the selected first and second ones of the two or more storage devices associated with the given node. 
                 |