| Most popular cloud storage systems only support the in-datacenter fault tolerance. They suppose the whole datacenter would never go down. But in reality, it can happen. To tolerate this kind of fault, we need to consider the characters of the cross datacenters fault, including high latency and expansive bandwidth among datacenters and lots of blocks to be unavailable. There exists tradeoff difficulty among fault tolerance, latency, throughput and costs when we design the fault tolerance algorithm and implement the cloud storage system.We propose the algorithm that designed for the cross datacenters fault tolerance, and implement the corresponding cloud storage system. Finally, we verify the system and the algorithms by experiments.Our main works are as follows.1. We design several cross datacenters algorithms, including MC-CDFA, RSC-CDFA and LRC-CDFA, which are based on the corresponding in-datacenter fault tolerance algorithms. After analyzing them, we find these algorithms still have the low fault tolerance and high cost problems.2. We introduce the Domain concept and propose Domain Fault Codes (DFC) and the topology-aware idea, which can tolerate the whole datacenter going down with low storage cost and bandwidth cost. Based on DFC and topology-aware idea, we propose DFC-TCDFA algorithm that can be used for cold data archiving. To improve latency, we also propose MCLDFC-TCDFA algorithm that can be used for general purpose.3. We implement a cloud storage system with the cross datacenters fault tolerance based on DFC-TCDFA algorithm. We verify its high fault tolerance, high availability, low cost and other properties by experiments, which also verify the algorithms we propose. |