1 . A distributed storage system, comprising: a data storage cluster comprising a plurality of servers separated into two or more availability zones, wherein a first availability zone of at least two availability zones includes at least one server that replicates data for at least one server in a second availability zone of the at least two availability zones, and wherein the data storage cluster includes an auditor located on at least one server, the auditor being operable to: receive a notification indicating that a server within the second availability zone is down; determine an availability value for remaining servers within the second availability zone having the down server; and determine whether to replicate data from the servers in the second availability zone having the down server to the servers in the first availability zone, the determination being made based on the received notification and a comparison of the availability value to a threshold, wherein the data from the servers within the second availability zone having the down server is not replicated when the availability value does not satisfy the threshold.
2 . The system of claim 1 , wherein the auditor is operable to: compare the availability value to an additional threshold, wherein the data from the servers within the second availability zone having the down server is replicated when the availability value satisfies the additional threshold.
3 . The system of claim 2 , wherein the auditor is operable to: determine whether to replicate data from the servers in the second availability zone having the down server to the servers in the first availability zone based on a last known state of the second availability zone when the availability value satisfies the threshold but does not satisfy the additional threshold.
4 . The system of claim 1 , wherein the auditor is operable to assess a status of the servers in the data storage cluster to determine whether a server is available or a server is down.
5 . The system of claim 4 , wherein the availability value is a percentage of the servers in in the second availability zone having the down server that are assessed as being available.
6 . The system of claim 1 , wherein the threshold is a predetermined availability value that indicates an availability zone is down when the availability value is below the predetermined availability value.
7 . The system of claim 1 , wherein the auditor is operable to receive metadata for the servers from a cluster manager associated with the data storage cluster.
8 . The system of claim 7 , wherein the auditor is operable to determine an availability zone that corresponds to a server in the data storage cluster based on the received metadata.
9 . The system of claim 1 , wherein the auditor is operable to: determine that the availability value has not satisfied the threshold for a predetermined time period; and provide an indication to replicate the data from the servers in the second availability zone having the down server to the servers in the first availability zone in response to the availability value not satisfying the threshold for the predetermined time period.
10 . A method, comprising: receiving, by an auditor located on at least one server in a data storage cluster, a notification indicating that a status of at least one server in the data storage cluster has changed, wherein the server is one of a plurality of servers in the data storage cluster, the plurality of servers being separated into two or more availability zones, wherein a first availability zone of at least two availability zones includes at least one server that replicates data for at least one server in a second availability zone of the at least two availability zones, and wherein the changed status server is located within the second availability zone; determining, by the auditor, an availability value for remaining servers within the second availability zone having the changed status server in response to receiving the notification indicating that the status of the server in the data storage cluster has changed; determining, by the auditor, to not replicate data from the servers in the second availability zone having the changed status server to the servers in the first availability zone in response to the availability value not satisfying a first threshold; and determining, by the auditor, to replicate the data from the servers in the second availability zone having the changed status server to the servers in the first availability zone in response to the availability value satisfying a second threshold, wherein the second threshold is a higher availability value than the first threshold.
11 . The method of claim 10 , further comprising: determining, by the auditor, that the availability value satisfies the first threshold but does not satisfy the second threshold; assessing, by the auditor, a last known state of the second availability zone having the changed status server; and determining, by the auditor, whether to replicate the data from the servers in the second availability zone having the changed status server to the servers in the first availability zone based on the assessed last known state.
12 . The method of claim 10 , wherein the second availability zone is indicated as being down when the availability value does not satisfy the first threshold.
13 . The method of claim 10 , wherein the second availability zone is indicated as being up when the availability value satisfies the second threshold.
14 . The method of claim 10 , further comprising, in response to the availability value not satisfying the first threshold: assessing, by the auditor, whether the availability value has failed to satisfy the first threshold for a predetermined time period; and determining, by the auditor, to replicate the data from the servers in the second availability zone having the changed status server to the servers in the first availability zone in response to the availability value failing to satisfy the first threshold for the predetermined time period.
15 . The method of claim 14 , further comprising providing an indication to an operator to replicate the data from the servers in the second availability zone having the changed status server to the servers in the first availability zone.
16 . A non-transitory computer readable medium that includes program instructions stored thereon that are executable by an auditor located on at least one server in a cloud-based data storage cluster to cause the auditor to perform operations comprising: receiving a notification indicating that a server in the data storage cluster is down, wherein the server is one of a plurality of servers in the data storage cluster, the plurality of servers being separated into two or more availability zones, wherein a first availability zone of at least two availability zones includes at least one server that replicates data for at least one server in a second availability zone of the at least two availability zones, and wherein the server indicated as being down is located within the second availability zone; determining an availability value for remaining servers within the second availability zone having the down server in response to receiving the notification indicating that the server in the data storage cluster is down; and determining to not replicate data from the servers in the second availability zone having the down server to the servers in the first availability zone in response to the availability value not satisfying a threshold.
17 . The non-transitory computer readable medium of claim 16 , wherein the program instructions are executable by the auditor to cause the auditor to perform operations comprising: determining to replicate the data from the servers in the second availability zone having the down server to the servers in the first availability zone in response to the availability value satisfying an additional threshold, wherein the additional threshold is a higher availability value than the threshold.
18 . The non-transitory computer readable medium of claim 16 , wherein the program instructions are executable by the auditor to cause the auditor to perform operations comprising: determining that the availability value satisfies the threshold but does not satisfy an additional threshold; and determining whether to replicate the data from the servers in the second availability zone having the down server to the servers in the first availability zone based on an assessed last known state of the availability zone having the down server.
19 . The non-transitory computer readable medium of claim 16 , wherein the program instructions are executable by the auditor to cause the auditor to perform operations comprising: determining an availability zone that corresponds to a server in the data storage cluster based on metadata for the servers received from a cluster manager associated with the data storage cluster.
20 . The non-transitory computer readable medium of claim 16 , wherein the program instructions are executable by the auditor to cause the auditor to perform operations comprising: assessing whether the availability value has failed to satisfy the threshold for a predetermined time period; and providing an indication to replicate the data from the servers in the second availability zone having the down server to the servers in the first availability zone in response to the availability value failing to satisfy the threshold for the predetermined time period.