Reliability is a major concern in the design of large disk arrays. Hellerstein et al. pioneered the study of erasure-resilient codes that allow one to reconstruct the original data even in the presence of disk failures. In this paper, we take a set systems view of the problem of constructing erasure-resilient codes. This leads to interesting extremal problems in finite set theory. Solutions to some of these problems are characterized by well-known combinatorial designs. In other instances, combinatorial designs are shown to give asymptotically exact solutions to these problems. As a result, we improve, extend and generalize previous results of Hellerstein et al.