1. A method for modeling the availability of a cluster, the cluster having a plurality of software components and at least one node, the method comprising: determining a plurality of component availability models using a repair model and a plurality of failure parameters, each of the plurality of component availability models corresponding to one of the plurality of software components; combining the plurality of component availability models; determining repair rates for node and cluster reboots; and constructing an availability model based on the repair rates and the combined plurality of component availability models.