A method implemented by a computer processor in communication with resources of a distributed system , the method comprising: identifying high-availability jobs and low-availability jobs that demand a usage of the resources of the distributed system , wherein the resources comprise storage resources and non-storage resources; determining a first quota, Q1, of the resources available to low-availability jobs as a quantity of the resources available during a first operation of the distributed system, wherein during the first operation, the distributed system is not undergoing maintenance or failure; determining a second quota, Q2, of the resources available to high-availability jobs as a quantity of the resources available during the first operation of the distributed system minus a quantity of the resources lost due to a first tolerated event during which storage resource loss occurs, the second quota, Q2, of the resources available to high-availability jobs as: Q 2 = R N − R L R N + x ∗ R L wherein Q 2 is the second quota, Q2, R N is the quantity of the resource available during the first operation of the distributed system, R L is the quantity of the resource lost due to the first tolerated event, and x is a resource multiplier corresponding to the first tolerated event, wherein the first tolerated event is designated as tolerated when a planned maintenance or failure occurs; executing the jobs on the resources of the distributed system ; and constraining the usage of the resources by the high-availability jobs and the low-availability jobs to the respective first quota, Q1, and second quota, Q2, of the resources , wherein the high-availability jobs have a higher priority than the low-availability jobs. identifying high-availability jobs and low-availability jobs that demand a usage of the resources of the distributed system , wherein the resources comprise storage resources and non-storage resources; determining a first quota, Q1, of the resources available to low-availability jobs as a quantity of the resources available during a first operation of the distributed system, wherein during the first operation, the distributed system is not undergoing maintenance or failure; determining a second quota, Q2, of the resources available to high-availability jobs as a quantity of the resources available during the first operation of the distributed system minus a quantity of the resources lost due to a first tolerated event during which storage resource loss occurs, the second quota, Q2, of the resources available to high-availability jobs as: Q 2 = R N − R L R N + x ∗ R L wherein Q 2 is the second quota, Q2, R N is the quantity of the resource available during the first operation of the distributed system, R L is the quantity of the resource lost due to the first tolerated event, and x is a resource multiplier corresponding to the first tolerated event, wherein the first tolerated event is designated as tolerated when a planned maintenance or failure occurs; executing the jobs on the resources of the distributed system ; and constraining the usage of the resources by the high-availability jobs and the low-availability jobs to the respective first quota, Q1, and second quota, Q2, of the resources , wherein the high-availability jobs have a higher priority than the low-availability jobs. <EOS>