Tugas LAB10 : Redundant Array Of Independent Disks (revisi 130422-r023)

Tugas Lab.

Pada Sesi Lab ini kalian akan mempelajari mengenai konsep RAID. Tipe RAID yang diperkenalkan adalah "Software Based RAID" atau dikenal dengan SoftRAID.
Perkakas yang dipergunakan pada sesi ini adalah mdadm [1][2][3][5],dan dd [4], sudo, mkfs.ext4, serta mount dan umount.

mdadm merupakan perkakas yang digunakan untuk memanipulasi SoftRAID pada GNU/Linux.
dd merupakan tool yang akan dipergunakan untuk melakukan overwite data (zero fill) pada disk.
mkfs.ext4 akan kalian gunakan untuk membuat sistem berkas pada disk RAID yang telah dibuat dengan mdadm.
mount dan umount digunakan untuk mengaitkan (mounting) dan melepaskan (un-mounting) disk RAID yang telah memiliki sistem berkas ke sebuah direktori.

Kalian akan mempelajari bagaimana RAID melakukan recovery (pemulihan) ketika salah satu disk yang tergabung pada Array menjadi rusak. Proses pemulihan ini tidak akan mengganggu berkas yang terdapat pada disk RAID.

Berikut merupakan langkah - langkah untuk mengerjakan sesi Lab ini :

Bagian Pertama : Persiapan

  1. Login ke Terminal di Core Plus anda, buat direktori Lab10. Semua pekerjaan hari ini akan dimasukkan ke dalam direktori Lab10.
    $ cd KELAS/NPM
    $ mkdir Lab10
    $ cd Lab10/
  2. Login ke apps os dan ambil token hari ini.
  3. Buat dan isi berkas "catat-Lab10.txt" dan "WHAT-IS-THIS.txt" dengan isi:
    ZCZC KELAS NPM Lab10
    ZCZC TOKEN KETERANGAN
    

    Ganti KELAS, NPM, TOKEN, KETERANGAN dengan kelas, NPM, token dan keterangan singkat seperti "Belajar Membuat RAID dengan MDADM"
  4. Rekam output di berkas "catat-Lab10.txt" dan jangan lupa untuk exit setelah menyelesaikan lab!
    $script -a catat-Lab10.txt
    

Bagian Kedua : Membuat SoftRAID Dengan Script, Membuat Sistem Berkas pada RAID serta Melakukan Mount

  1. Ceklah keberadaan 4 buah disk lain dalam sistem TinyCore yang Anda gunakan dengan perintah cat /proc/partitions|grep sd. Anda akan mendapatkan output seperti pada Gambar dibawah. Disk dengan nama sdb, sdc, sdd dan sde akan kita gunakan untuk membuat RAID.
  2. Simpan hasil keluaran perintah di atas ke sebuah berkas bernama disks.txt sebagai berikut :
    $cat /proc/partitions|grep sd > disks.txt
    
  3. Unduh script mkRAID dengan menggunakan wget, kemudian tambahkan izin eksekusi pada script tersebut.
    $wget --no-check-certificate https://projects.ui.ac.id/attachments/6257/mkRAID
    $chmod +x mkRAID
    
  4. Jalankan script mkRAID. Script ini membutuhkan parameter berupa token yang Anda dapatkan dari apps os. Misalkan jika token yang Anda dapatkan adalah "0U4E9O, maka script mkRAID dijalankan sesuai contoh berikut :
    $sudo ./mkRAID 0U4E9O
    
  5. Tunggu beberapa saat (3 hinga 4 menit). Script akan melakukan pembuatan disk RAID, melakukan sinkronisasi disk yang tergabung pada RAID, membuat berkas konfigurasi RAID, dan menyiapkan agar disk RAID dinyalakan pada saat boot seperti pada output yang ditunjukkan dalam gambar - gambar berikut.




  6. Kopi berkas konfigurasi RAID yang berada di /etc/mdadm.conf ke direktori kerja Anda yang telah dibuat pada langkah 1 Bagian Pertama. Ganti nilai KELAS dan NPM dengan KELAS dan NPM Anda.
    $cp /etc/mdadm.conf /home/tc/KELAS/NPM/Lab10/mdadm.conf
    
  7. Pastikan token Anda hari ini telah tercantum sebagai nama dari disk RAID yang dihasilkan. Misalkan jika token yang Anda dapatkan adalah "0U4E9O", maka lakukan pengecekkan sebagai berikut :
    $cat mdadm.conf|grep "0U4E9O" 
    ARRAY /dev/md0 metadata=1.2 name=box:ZCZC-0U4E9O UUID=5e89bfc7:ae79db99:4f775a87:aa4bf116
    
  8. Jika token tidak tercantum pada keluaran langkah di atas, maka ulangi proses pembuatan RAID dari langkah 1 hingga 5 yang tercantum pada bagian ini.
  9. Simpan juga keluaran dari perintah cat /proc/mdstat pada berkas mdstat.txt sebagai berikut. Simpan berkas tersebut ke direktori kerja Anda yang telah dibuat pada langkah 1 Bagian Pertama. Ganti nilai KELAS dan NPM dengan KELAS dan NPM Anda.
    $cat /proc/mdstat > /home/tc/KELAS/NPM/Lab10/mdstat.txt
    
  10. Buat sistem berkas bertipe ext4 pada disk RAID yang telah terbentuk pada /dev/md0 dan tunggu beberapa saat hingga proses pembuatan sistem berkas selesai
    $sudo mkfs.ext4 /dev/md0
    
  11. Lakukan mount pada berkas /dev/md0 ke titik/lokasi mount di direktori /mnt/raid
    $sudo mount /dev/md0 /mnt/raid
    

Bagian Ketiga : Uji Kegagalan Disk dan Pemulihan RAIDc

  1. Unduh berkas CD Debian berikut dengan menggunakan perintah wget berikut. Hasil unduhan berkas tersebut akan otomatis tersimpan pada /mnt/raid dengan nama debian.iso .
    $sudo wget -v http://kambing.ui.ac.id/iso/debian/6.0.7/i386/iso-cd/debian-6.0.7-i386-businesscard.iso -O /mnt/raid/debian.iso
    
  2. Lakukan mount dengan opsi loopback pada berkas debian.iso sebagai berikut.
    $sudo mount -o loop /mnt/raid/debian.iso /mnt/cdrom
    
  3. Berpindahlah ke direktori /mnt/cdrom, kemudian lakukanlah pengecekkan md5sum pada isi dari direktori tersebut. Perintah yang digunakan adalah sebagai berikut
    $cd /mnt/cdrom 
    $md5sum -c /mnt/cdrom/md5sum.txt | grep FAILED
    
  4. Jika berkas debian.iso dalam keadaan baik, maka langkah di atas tidak akan menampilkan output apapun.
  5. Set disk /dev/sdb menjadi Faulty (Rusak) melalui perintah mdadm berikut :
    $sudo mdadm --fail /dev/md0 /dev/sdb
    
  6. Cek status array RAID dengan perintah cat /proc/mdstat . kalian akan mendapati bahwa disk /dev/sdb diberi tanda (F) seperti pada gambar berikut.
  7. Simpan juga keluaran dari langkah di atas pada berkas mdstat-faulty.txt yang diletakkan pada direktori kerja Anda. Ganti KELAS dan NPM dengan KELAS dan NPM yang Anda punyai.
    $cat /proc/mdstat > /home/tc/KELAS/NPM/Lab10/mdstat-faulty.txt
    
  8. Keluarkan disk /dev/sdb dari array dengan menggunakan perintah mdadm berikut.
    $sudo mdadm --remove /dev/md0 /dev/sdb
    
  9. Cek kembali status array RAID dengan perintah cat /proc/mdstat. Terlihat bahwa /dev/sdb bukan lagi merupakan bagian dari array seperti pada gambar berikut
  10. Simpan juga keluaran dari langkah di atas pada berkas mdstat-removed.txt yang diletakkan pada direktori kerja Anda. Ganti KELAS dan NPM dengan KELAS dan NPM yang Anda punyai.
    $cat /proc/mdstat > /home/tc/KELAS/NPM/Lab10/mdstat-removed.txt
    
  11. RAID Anda sekarang berada dalam keadaan degraded. Anda dapat mengecek dengan menggunakan perintah sudo mdadm --detail /dev/md0|grep degraded. Perintah tersebut akan menghasilkan keluaran seperti di bawah ini
    $sudo mdadm --detail /dev/md0|grep degraded
           State : clean, degraded
    
  12. Lakukan pengecekkan md5sum pada direktori /mnt/cdrom seperti pada langkah 3 di Bagian Ketiga ini.
  13. Apakah integritas data tetap terjaga yang ditunjukkan dengan tidak adanya output apapun pada hasil pengecekkan md5sum ? Jelaskan hal ini berdasarkan pemahaman kalian tentang RAID pada berkas WHAT-IS-THIS.txt !
  14. Lakukan overwrite data (zero fill) pada disk /dev/sdb dengan perintah berikut. Perintah tersebut akan menghapus seluruh data yang pernah ditulis pada /dev/sdb. Tunggu beberapa saat (kurang lebih 1 sampai 2 menit) hingga perintah selesai dilaksanakan.
    $sudo dd if=/dev/zero of=/dev/sdb bs=1024
    2097153+0 records in
    2097152+0 records out
    2147483648 bytes (2.0GB) copied, 53.632729 seconds, 38.2MB/s
    
  15. Gabungkan kembali disk /dev/sdb pada array RAID dengan menggunakan perintah berikut.
    $sudo mdadm --add /dev/md0 /dev/sdb
    
  16. Amati keluaran yang dihasilkan oleh perintah cat /proc/mdstat dan pastikan proses recovery sedang berlangsung. Simpan juga keluaran perintah tersebut pada berkas mdstat-recovery.txt ke dalam direktori kerja Anda. Ganti nilai KELAS dan NPM dengan KELAS dan NPM Anda.
    $cat /proc/mdstat 
    Personalities : [raid6] [raid5] [raid4] 
    md0 : active raid5 sdb[5] sdc[1] sde[4] sdd[2]
          6286848 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [_UUU]
          [>....................]  recovery =  0.9% (19500/2095616) finish=1.7min speed=19500K/sec
    $cat /proc/mdstat > /home/tc/KELAS/NPM/Lab10/mdstat-recovery.txt
    
  17. Lakukan kembali seperti pada langkah 3 di bagian Ketiga ini.
  18. Apakah integritas data tetap terjaga setelah proses recovery RAID yakni dengan tidak adanya output apapun pada hasil pengecekkan md5sum ? Jelaskan hal ini berdasarkan pemahaman kalian tentang RAID pada berkas WHAT-IS-THIS.txt !
  19. Kembali ke direktori kerja Anda
    $cd /home/tc/KELAS/NPM/Lab10
    

Pengumpulan dan Pemeriksaan Tugas

  1. Periksa pekerjaan anda.
    $ UPCEK
    $ LAB
    
  2. Buat MD5SUM, MD5SUM.asc seperti yang sudah sering dilakukan dengan berpanduan kepada Pembuatan MD5SUM.
  3. Perhatikan!! Berkas - berkas berikut merupakan berkas yang harus Anda kumpulkan :
    WHAT-IS-THIS.txt
    catat-Lab10.txt
    disks.txt
    mdadm.conf
    mdstat-recovery.txt
    mdstat-removed.txt
    mdstat-faulty.txt
    
  4. Keluar dari direktori Lab10, submit direktori Lab10 ke svn.
    $cd ..
    $svn add Lab10/
    $svn commit -m "Submit Lab10" 
    
  5. Jangan lupa untuk memeriksa https://projects.ui.ac.id/projects/os/repository

Referensi

[1] mdadm : http://neil.brown.name/blog/mdadm
[2] mdadm Cheat Sheet : http://www.ducea.com/2009/03/08/mdadm-cheat-sheet/
[3] Linux RAID Wiki : https://raid.wiki.kernel.org/index.php/RAID_setup
[4] dd Manual Page : http://linux.die.net/man/1/dd
[5] mdadm Manual Page : http://linux.die.net/man/8/mdadm

Kembali

revisi
  1. inisialisasi modul
  2. simulasi hot swap raid
  3. Pengumpulan tugas
  4. proof read

Lab-10-proc-partitions.png (14.2 KB) Tonny Adhi Sabastian, 07/04/2013 11:15

mkRAID (2.9 KB) Tonny Adhi Sabastian, 07/04/2013 11:33

Lab-10-raid-progress-4.png (4.56 KB) Tonny Adhi Sabastian, 07/04/2013 11:51

Lab-10-raid-progress-1.png (5.02 KB) Tonny Adhi Sabastian, 07/04/2013 11:55

Lab-10-raid-progress-2.png (24.8 KB) Tonny Adhi Sabastian, 07/04/2013 14:55

Lab-10-raid-progress-3.png (8.77 KB) Tonny Adhi Sabastian, 07/04/2013 14:56

Lab-10-raid-remove-disk-1.png (100 KB) Tonny Adhi Sabastian, 07/04/2013 15:35

Lab-10-raid-remove-disk-2.png (93.8 KB) Tonny Adhi Sabastian, 07/04/2013 15:35

Lab-10-raid-add-disk-1.png (76.4 KB) Tonny Adhi Sabastian, 07/04/2013 16:00

Lab-10-raid-add-disk-2.png (90.2 KB) Tonny Adhi Sabastian, 07/04/2013 16:00

Lab-10-raid-add-disk-3.png (91.1 KB) Tonny Adhi Sabastian, 07/04/2013 16:00

Lab-10-raid-add-disk-4.png (78.6 KB) Tonny Adhi Sabastian, 07/04/2013 16:00

Lab-10-raid-removed.png (4.78 KB) Tonny Adhi Sabastian, 07/04/2013 16:22

Lab-10-raid-removed-2.png (4.16 KB) Tonny Adhi Sabastian, 07/04/2013 16:22

mdstat-faulty.png (14.3 KB) Tonny Adhi Sabastian, 09/04/2013 08:29

mdstat-removed.png (14.2 KB) Tonny Adhi Sabastian, 09/04/2013 08:29