#import "@local/handout:0.1.0": * #show: handout.with( title: [The Sysadmin's Warm-Up], by: "Mark", ) Most of you have seen a hard drive. \ Many have touched one, and a lucky few have taken one apart. \ These devices have two interesting properties: - They hold valuable data - They inevitably fail Needless to say, this is a problem. \ We would like to design a system that tolerates hard drive failures without data loss. #definition() You can think of a hard drive as a long string of bits. \ Assume all hard drives in the following problems have the same size. \ If a hard drive "fails", all data on it is instantly lost. #problem() Suppose we have two hard drives. How can we arrange our data so that... - We get 1 TiB of usable storage - We lose no data if any one drive fails #v(1fr) #problem() Suppose we have three hard drives. How can we arrange our data so that... - We get 2 TiB of usable storage - We lose no data if any one drive fails #v(1fr)