Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Read chapter 41 and 42 for Friday. In class he will go over them at breakneck speed.
- Distributed OS will have less to do with distributed file systems, and more process scheduling.
- Recap:
- We talked about how to build a file system. Based in a tree-based structure. Windows is drive based, Unix is root based trees.
- Think back to shell and which/where. Grabbed PATH and ran access on each location. Access takes absolute path to find iNode of that directory. How'd it do that? Started at root and navigated along the path.
- We do the same shit
- A file does not exist, its an iNode and some blocks. Everything else is a virtual representation for us.
- To wrap up file systems, he's going to drop down to hardware for a bit.
- Some of this is becoming less of a problem for SSD.
- Goal 1: Look at performance of hard drive
- Spoiler: They're slow. Even at 15,000 RPM, still milliseconds. Thats a long time.
- Then someone came up with RAID. Lets use multiple disks to improve reliability and access time.
- RAID0
- Put first block of data on disk 1. Put second block of data on disk 2. Rinse repeat. Referred to as striping. Building a striped array of disks is `RAID-0`
- If you lose a disk, you lose both disks.
- But you double your speed.
- This is great, but what about redundancy?
- RAID1
- Second idea: Put first block of data on disk 1 and 2. Put second block of data on disk 1 and 2.
- Now if a drive dies, you can reconstruct it. Referred to as mirroring. `RAID-1` Two copies of a disk. Pay for redundancy with halving your storage size.
- RAID0+1
- I now have two good ideas. Lets combine them!
- Combine two RAID-0 arrays by using RAID-1.
- 4 terrabyte drives. 2 terrabytes of space. Twice the write/read speed.
- Can decide how you want to write.
- Block 0 on drives 1 and 2, or 1 and 3. `RAID1+0`
- There is RAID100 too. Bunch of RAID1 mirros, stripe with RAID0, stripe again. lol?
- There is RAID2,3,4
- 2 - Important for historical significance. Only used in early machines. Striping across multiple disks at the bit level, not block level.
- 3 - RAID2 but byte level
- 4 - RAID3 but block level. Stripe the drives block level, but more than 2 drives
- RAID 5
- Parity!
- 3 or more disks.
- Take all but 1 and basically do RAID0.
- ADD bits from disk 1 and disk 2, if its even write 1 on disk 3.
- Can be applied to more than 3 disks, with the same everything.
- When a drive fails, we can still pretend like its there using the magic of parity.
- Not expensive to write or maintain too.
- Problem: If you lose 2 drives you're done. Usually built within ~5 disk range because of this.
- RAID 6
- Starting to become useful
- Block level striping with double distributed parity.
- Double fault tolerance - can survive double failure, and triple failure is pretty rare.
- 10 disks with 2 parity drives.
- Throughout all of this, the OS sees this all as 1 disk. The controller reports it was one disk. The controller then juggles all this as needed.
- When a server hard drive fails, no one but the SYSADMIN knows. Pretty neat.
- No really, read FAST file system chapter.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement