Course Home | Syllabus | Assignments | Schedule | Readings | Grades | Submissions | [print]
Software Raid
Objectives:
- The student will be able to correctly define Raid levels 0,5,10.
- The student will be able to correctly implement software Raid levels 0,5,10.
- The student will be able to correctly rebuild a software Raid array.
Requirements:
You will follow the tasks below to correctly configure the RAID arrays.
Task 1 - Initial setup
Create an EC2 instance on AWS. You need at least 2GB of RAM. You need to add 5x1G volumes to this machine.
Task 2 - Striping
Description
Use the appropriate commands and stripe 2 of the disks together.
Format the new array as ext4.
Mount the partition.
Grab output of df
and relevant mount
output (i.e. mount | grep sda
)
Benchmarking
We will use dd:
dd if=/dev/zero of=./largefile bs=1M count=1024
Do the benchmark tests indicated in the table below.. I would probably create a spreadsheet or something similar to the table to record your results.
Benchmark
metric | Raid 0 | RAID 1 | Raid10 | Raid5 |
Not degraded | ||||
dd average - bs 1M count 1024 | ||||
dd average - bs 512K count 1024 | ||||
dd average - bs 2M count 1024 | ||||
degraded | ||||
dd average - bs 1M count 1024 | - | |||
dd average - bs 512K count 1024 | - | |||
dd average - bs 2M count 1024 | - |
Screen capture the results of some of a few of your benchmark tests.
Rebuilding
One of the main purposes of RAID is redundancy in case of a drive failure. We need to see what happens as we fail. Make sure that you have done the other requirements above and correctly recorded the output as defined in the pass off section below before you attempt this section, else you may end up with an unusable RAID state and have to start over again. (Note: If you are doing striping, there IS no redundant data, so you CAN’T rebuild anything… You may skip this entire section on rebuilding for striping ONLY)
Physically or via mdadm
remove a drive that is participating in your RAID array.
Now that you have removed a drive, your RAID array should be broken, let’s now try to resurrect our stuff. Note that at this point, if you do the appropriate command you should see a status of DEGRADED
or Broken
for your array (screen capture that).
Before you re-insert the disk, re-run your benchmark i/o tests with the disk utility and record your results.
Re-insert and scan for the newly inserted disk.
It may take a while for your unit to rebuild. Screen capture the status of your array again.
Task 3 - Raid 10
You guessed it. Do a raid 10 configuration. Clean old raid configs, Remount, benchmark and rebuild.
Task 4 - Raid 5
Do a raid5 configuration. Clean old raid configs, Remount, benchmark and rebuild.
Task 5 - Results
Finally, compare and contrast the results of your benchmarks of raid0, raid5, and raid10. A chart of some sort might be nice. You should discuss the following:
- Which one has the best read speeds?
- What about write speeds?
- You should probably talk about which level you would choose for particular applications.
- Anything you did differently above
- Anything else you learned
This should follow appropriate technical report-writing conventions. Make sure that you include a cover page and that you have subdivided your report into appropriate sections using subheadings and headings as appropriate.
Any of your screen captures from above should be an appendix to this report. Make it neat and legible as if you were submitting this to your CEO so he could decide what to buy!!
Last Updated 02/01/2021