How to Tell If Your Cloud Files Are Vulnerable to Drive Crashes

How to Tell If Your Cloud Files Are Vulnerable to Drive Crashes

How to Tell if Your Cloud Files Are Vulnerable to Drive Crashes Kevin D. Bowers Marten van Dijk Ari Juels RSA Laboratories RSA Laboratories RSA Laboratories Cambridge, MA, USA Cambridge, MA, USA Cambridge, MA, USA [email protected] [email protected] [email protected] Alina Oprea Ronald L. Rivest RSA Laboratories MIT CSAIL Cambridge, MA, USA Cambridge, MA, USA [email protected] [email protected] ABSTRACT hardware failures, e.g., drive crashes (and can also lower latency This paper presents a new challenge—verifying that a remote server across disparate geographies). is storing a file in a fault-tolerant manner, i.e., such that it can sur- The single-copy file abstraction in cloud storage, however, con- vive hard-drive failures. We describe an approach called the Re- ceals file-layout information from clients. It therefore deprives mote Assessment of Fault Tolerance (RAFT). The key technique in them of insight into the true degree of fault-tolerance their files a RAFT is to measure the time taken for a server to respond to a enjoy. Even when cloud providers specify a storage policy (e.g., read request for a collection of file blocks. The larger the number even given Amazon’s claim of triplicate storage), clients have no of hard drives across which a file is distributed, the faster the read- technical means of verifying that their files aren’t vulnerable, for request response. Erasure codes also play an important role in our instance, to drive crashes. In light of clients’ increasingly critical solution. We describe a theoretical framework for RAFTs and offer reliance on cloud storage for file retention, and the massive cloud- experimental evidence that RAFTs can work in practice in several storage failures that have come to light, e.g., [9], it is our belief that settings of interest. remote testing of fault tolerance is a vital complement to contrac- tual assurances and service-level specifications. In this paper we develop a protocol for remote testing of fault- Categories and Subject Descriptors tolerance for stored files. We call our approach the Remote Assess- E.3 [Data]: [Data Encryption] ment of Fault Tolerance (RAFT). A RAFT enables a client to obtain proof that a given file F is distributed across physical storage de- General Terms vices to achieve a certain desired level of fault tolerance. We refer to storage units as drives for concreteness. For protocol parameter Security t, our techniques enable a cloud provider to prove to a client that the file F can be reconstructed from surviving data given failure Keywords of any set of t drives. For example, if Amazon were to prove that Cloud storage, auditing, fault tolerance, erasure codes it stores a file F fully in triplicate, i.e., one copy on three distinct drives, this would imply that F is resilient to t =2 drive crashes. At first glance, proving that file data is stored redundantly, and 1. INTRODUCTION thus proving fault-tolerance, might seem an impossible task. It is Cloud storage offers clients a unified view of a file as a single, straightforward for storage service S to prove knowledge of a file integral object. This abstraction is appealingly simple. In reality, F , and hence that it has stored at least one copy. S can just transmit though, cloud providers generally store files/objects with redun- F . But how can S prove, for instance, that it has three distinct dancy or error correction to protect against data loss. Amazon, for copies of F ? Transmitting F three times clearly doesn’t do the example, claims that its S3 service stores three replicas of each ob- trick! Even proving storage of three copies doesn’t prove fault- ject1. Additionally, cloud providers often spread files across mul- tolerance: the three copies could all be stored on the same disk! tiple storage devices. Such distribution provides resilience against To show that F isn’t vulnerable to drive crashes, it is necessary 1 to show that it is spread across multiple drives. Our approach, the Amazon has also recently introduced reduced redundancy storage Remote Assessment of Fault Tolerance, proves the use of multiple that promises less fault tolerance at lower cost drives by exploiting drives’ performance constraints—in particular bounds on the time required for drives to perform challenge tasks. A RAFT is structured as a timed challenge-response protocol. A Permission to make digital or hard copies of all or part of this work for short story gives the intuition. Here, the aim is to ensure that a personal or classroom use is granted without fee provided that copies are pizza order can tolerate t =1 oven failures. not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to A fraternity (“Eeta Pizza Pi”) regularly orders pizza republish, to post on servers or to redistribute to lists, requires prior specific from a local pizza shop, “Cheapskate Pizza.” Recently permission and/or a fee. CCS’11, October 17–21, 2011, Chicago, Illinois, USA. Cheapskate failed to deliver pizzas for the big pregame Copyright 2011 ACM 978-1-4503-0948-6/11/10 ...$10.00. party, claiming that their only pizza oven had suffered a catastrophic failure. They are currently replacing it with fault tolerance t =1 and a two-drive system with no fault tol- with two new BakesALot ovens, for increased capacity erance for files of size at least 100MB. Additionally, we explore the and reliability in case one should fail. feasibility of the RAFT protocol on the Mozy cloud backup system Aim O’Bese, president of Eeta Pizza Pi, wants to and confirm that Mozy is resilient to at least one drive failure. We verify that Cheapskate has indeed installed redundant conclude that RAFT protocols are most applicable to test fault tol- pizza ovens, without having to visit the Cheapskate erance for large files in an archival or backup setting in which files premises himself. He devises the following clever ap- are infrequently accessed and thus there is limited drive contention. proach. Knowing that each BakesALot oven can bake Our RAFT protocol presented in this paper is designed for tra- two pizzas every ten minutes, he places an order for ditional storage architectures that employ disk-level replication of two dozen pizzas, for delivery to the fraternity as soon files and use hard disk drives (HDDs) as the storage medium. While as possible. Such a large order should take an hour these architectures are still prevalent today, there are many settings of oven time in the two ovens, while a single oven in which our current protocol design is not directly applicable. For would take two hours. The order includes various un- instance, the characteristics of HDD’s sequential and random ac- usual combinations of ingredients, such as pineapple, cess do not hold for SSD drives or RAM memory, which could po- anchovies, and garlic, to prevent Cheapskate from de- tentially be used for performance-sensitive workloads in systems livering warmed up pre-made pizzas. employing multi-tier storage (e.g., [2, 28]). Systems with data lay- Cheapskate is a fifteen minute drive from the fra- out done at the block level (as opposed to file-level layout) are ternity. When Cheapskate delivers the two dozen piz- also not amenable to our current design, as in that setting timing zas in an hour and twenty minutes, Aim decides, while information in our challenge-response protocol does not directly consuming the last slice of pineapple/anchovy/garlic translate into fault tolerance. Examples of architectures with block- pizza, that Cheapskate must be telling the truth. He level data layout are chunk-based file systems [1, 15], and systems gives them the fraternity’s next pregame party order. with block-level de-duplication [8]. Other features such as spinning disks down for power savings, or replicating data across different Our RAFT for drive fault-tolerance testing follows the approach geographical locations complicate the design of a RAFT-like proto- illustrated in this story. The client challenges the server to retrieve col. Nevertheless, we believe that our techniques can be adapted to a set of random file blocks from file F . By responding quickly some of these emerging architectures and we plan to evaluate this enough, S proves that it has distributed F across a certain, mini- further in future work. mum number of drives. Suppose, for example, that S is challenged RAFTs aim primarily to protect against “economically rational” to pull 100 random blocks from F , and that this task takes one sec- service providers/adversaries, which we define formally below. Our ond on a single drive. If S can respond in only half a second2, it is adversarial model is thus a mild one. We envision scenarios in clear that it has distributed F across at least two drives. which a service provider agrees to furnish a certain degree of fault Again, the goal of a RAFT is for S to prove to a client that F is tolerance, but cuts corners. To reduce operating costs, the provider recoverable in the face of at least t drive failures for some t. Thus might maintain equipment poorly, resulting in unremediated data S must actually do more than prove that F is distributed across a loss, enforce less file redundancy than promised, or use fewer drives certain number of drives. It must also prove that F has been stored than needed to achieve the promised level of fault tolerance. (The with a certain amount of redundancy and that the distribution of F provider might even use too few drives accidentally, as virtualiza- across drives is well balanced.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us