Docstoc
EXCLUSIVE OFFER FOR DOCSTOC USERS
Try the all-new QuickBooks Online for FREE.  No credit card required.

Menggunakan Fasilitas Software RAID di Linux

Document Sample
Menggunakan Fasilitas Software RAID di Linux Powered By Docstoc
					Praktik - Menggunakan Fasilitas Software RAID di Linux - CHIP Online...   http://www.chip.co.id/index2.php?option=com_content&task=view&i...




             Praktik - Menggunakan Fasilitas Software RAID di Linux
             Saturday, 02 August 2008


             Implementasi Software RAID di Linux
             Bagaimana cara memaksimalkan kinerja disk sekaligus menjamin integritas data di dalamnya?
             Jawabannya adalah gunakan RAID!




             Mungkin Anda sering mendengar istilah RAID saat membeli motherboard atau saat melakukan
             setting PC server. Apa sebenarnya RAID itu? Ini adalah singkatan dari Redundant Array of
             Inexpensive Disk atau kalau di-Indonesiakan kira-kira maknanya 'kumpulan disk berharga
             terjangkau yang saling menunjang”. Terjemahan ini memang tidak benar-benar pas, tetapi
             sudah menggambarkan dua sifat utama RAID:

             1. Terdiri atas kumpulan hard disk biasa, bukan dibentuk dari disk khusus atau berharga sangat
             mahal.
             2. RAID dibuat untuk meningkatkan performa baca-tulis dan tingkat keamanan data.

             Poin 2 inilah yang paling menarik untuk dibahas karena inilah alasan utama mengapa seseorang
             ingin menggunakan konfigurasi RAID. Untuk memahaminya, kita harus terlebih dahulu
             mempelajari macam-macam jenis RAID:

             a) RAID 0, sering disebut striping without parity. Data akan ditulis merata pada semua partisi
             disk yang menjadi anggota RAID . Konfigurasi ini bisa diandaikan seperti seseorang yang
             memiliki bola biliar dengan nomor 1 sampai dengan 10. Nomor ganjil masuk ke keranjang
             berwarna biru dan nomor genap masuk ke keranjang warna merah.

             Dengan susunan ini, jika dua orang ditugaskan mengambil bola nomor 1 sampai dengan 6,
             masing-masingnya dapat segera mengambil tiga bola dari masing-masing keranjang. Tiap
             orang hanya boleh memakai tangan kanan (dikondisikan mirip seperti head hard disk yang
             cuma satu) yang bergerak secara acak membaca data. Bisa Anda bayangkan bahwa pekerjaan
             ini menjadi dua kali lebih cepat dibanding dikerjakan hanya oleh satu orang.

             b) RAID 1, dikenal dengan nama mirroring. Data akan ditulis sama persis ke semua anggota
             RAID. Keuntungan dari pola ini adalah jika terjadi kerusakan pada salah satu partisi anggota
             RAID, maka Anda bisa langsung menggunakan data cadangan di partisi lainnya. Hal ini berbeda
             dengan RAID 0 karena kerusakan salah satu partisi anggota akan menyebabkan kegagalan
             baca-tulis secara keseluruhan.

             Kembali ke analogi sebelumnya, RAID 1 bertindak menduplikasi 10 bola yang ada sehingga ada
             20 bola. Ada 10 bola yang masuk ke satu keranjang dan sisanya ke keranjang lainnya. Apabila
             10 bola di keranjang biru rusak, maka 10 bola di keranjang merah bisa langsung digunakan
             untuk bermain biliar.

             c) RAID 5, biasa disebut striping with parity. Pada dasarnya, konfigurasi ini mirip seperti RAID
             0, hanya saja sekarang ada tambahan suatu data pengaman yang disebut parity. Parity ini



1 of 8                                                                                                                 11/28/2008 12:04 AM
Praktik - Menggunakan Fasilitas Software RAID di Linux - CHIP Online...    http://www.chip.co.id/index2.php?option=com_content&task=view&i...



             memungkinkan struktur RAID dipulihkan seperti semula jika salah satu partisi rusak.




             Apabila diringkas, tingkat keamanan data yang paling maksimal ditawarkan oleh RAID 1.
             Pengguna yang menginginkan peningkatan performa baca-tulis sebaiknya memilih RAID 5.
             Secara implisit, keuntungan penggunaan RAID baru terasa jika Anda menggunakan lebih dari
             satu disk (bisa bertipe Parallel ATA atau Serial ATA). Alasannya cukup sederhana, jika hanya
             satu disk yang terlibat, head akan bergerak maju-mundur (saat menulis atau membaca) dalam
             interval waktu yang singkat sehingga malah menurunkan kinerja. Dengan banyaknya disk, data
             akan bisa diakses secara paralel dan independen.




                                Raid 1: Pada RAID 1, data ditulis secara identik ke semua partisi array.




             Sekarang Anda dapat mulai praktik penggunaan RAID. Anda disarankan menggunakan distro
             Linux terbaru, misalnya Fedora 6 atau 7, Ubuntu 7.04 atau 7.10, OpenSuSE 10.3, dan
             seterusnya. Apabila tidak bisa menggunakan distro baru, setidaknya gunakan kernel versi
             terbaru (2.6.23.13 saat tulisan ini dibuat). Ini dimaksudkan agar dukungan RAID benar-benar
             maksimal dan sesedikit mungkin mengandung kesalahan program.

             Hal ini patut dimaklumi karena fasilitas RAID masih aktif dikembangkan. Pada penulisan ini,
             pengujian mengikuti prosedur berbasis distro Fedora 7 yang menggunakan kernel
             2.6.21-1.3194. Seperti biasa, prompt $ berarti perintah dikerjakan sebagai user nonroot dan
             prompt # berarti sebagai root.




2 of 8                                                                                                                  11/28/2008 12:04 AM
Praktik - Menggunakan Fasilitas Software RAID di Linux - CHIP Online...   http://www.chip.co.id/index2.php?option=com_content&task=view&i...



                                 Raid 5: RAID 5 agak berbeda karena data disebar ke seluruh partisi.



             Persiapan Instan
             Langkal awal dimulai dengan membuat konfigurasi mirroring. Di sini, diasumsikan ada dua hard
             disk, masing-masing sebagai primary master dan primary slave. Pada distro terkini, mereka
             dikenali dengan nama /dev/sda dan /dev/sdb. Di samping itu, periksa apakah paket mdadm
             sudah ter-install:

             # rpm -qa | grep mdadm
             mdadm-2.6.1-4.fc7

             Karena mirroring membutuhkan minimal dua partisi yang sama besar, perlu disiapkan dulu dua
             partisi kosong. Kenapa harus kosong? Karena jika partisi ini sudah berisi data (dalam arti sudah
             diformat dan ada file di dalamnya), informasi tersebut akan ditimpa oleh informasi RAID.




                            Raid 5: Status awal RAID setelah terbentuk. Perhatikan status “sync” di semua




             Dengan kata lain, data Anda sebelumnya menjadi tidak dapat diakses lagi! Catatan penting
             lainnya adalah semua partisi yang terlibat harus berukuran sama persis. Apabila tidak sama,
             driver RAID akan mengambil patokan ukuran partisi terkecil. Hal ini akan lebih jelas setelah kita
             jalani percobaan pertama.

             Pada disk pertama, buat partisi berukuran 500 MB:

             # parted /dev/sda mkpart logical 20000
             20500
             Hal yang sama untuk disk kedua:
             # parted /dev/sdb mkpart logical 15000
             15500

             Informasikan adanya perubahan partisi agar segera dikenali:

             # partprobe

             Sesuaikan perintah di atas menurut kondisi struktur partisi sebenarnya. Partisi bisa berupa
             partisi primary maupun logical. Proses format tidak dilakukan pada tahap ini, melainkan setelah
             device RAID terbentuk. Perintah berikut akan menjadikan dua partisi ini (dinamakan sda3 dan
             sdb3) sebagai anggota RAID:

             # mdadm -C /dev/md0 -l 1 -n 2 /dev/sda5
             /dev/sdb5 t

             Arti dari perintah di atas adalah:
             -C untuk membuat device RAID sesuai dengan parameter yang diberikan. Dalam hal ini
             digunakan /dev/md0. Nama “md” adalah konvensi untuk perangkat RAID.

             -l menentukan tipe RAID yang dipakai. Angka 1 berarti konfigurasi mirroring yang dipakai.



3 of 8                                                                                                                 11/28/2008 12:04 AM
Praktik - Menggunakan Fasilitas Software RAID di Linux - CHIP Online...   http://www.chip.co.id/index2.php?option=com_content&task=view&i...




             -n menunjukkan jumlah partisi yang dimasukkan dalam struktur RAID. Logikanya, angka ini
             harus lebih besar dari 1 karena jelas tidak mungkin hanya dengan satu partisi bisa dilakukan
             mirroring/striping.




             Berikutnya adalah nama-nama partisi yang dilibatkan. Isikan sesuai nama-nama partisi yang
             telah disiapkan. Setelah perintah di atas diberikan, file device RAID akan terbentuk dan siap
             digunakan. Untuk memastikannya, periksa output dari file /proc/mdstat:

             # cat /proc/mdstat
             Personalities : [raid1]
             md0 : active raid1 sda5[1] sdb5[0]
                 409472 blocks [2/2] [UU]
                 [==================>..] resync
              = 93.2% (382848/409472) finish=0.0min
              speed=9475K/sec

             unused devices: <none>

             Output di atas menandakan sistem RAID sedang melakukan inisialisasi untuk memastikan kedua
             partisi berada pada kondisi yang 100% sama. Tidak lama kemudian, output akan berganti
             menjadi seperti ini:

             $ cat /proc/mdstat
             Personalities : [raid1]
             md0 : active raid1 sda5[1] sdb5[0]
                 XXXXXX blocks [2/2] [UU]

             unused devices: <none>




                  Aktif saat Booting: Pada bagian ini dapat diketahui bahwa bahwa device RAID telah terdeteksi dan
                                                         disetup saat booting.




             Selanjutnya, format device baru ini dengan perintah:

             # mkfs.ext3 -v /dev/md0

             mkf#s.e#xt3 -v /dev/md0
             mke2fs 1.39 (29-May-2006)
             Filesystem label=
             OS type: Linux
             Block size=1024 (log=0)
             Fragment size=1024 (log=0)
             XXXXXX inodes, XXXXXX blocks
             XXXXX blocks (5.00%) reserved for the




4 of 8                                                                                                                 11/28/2008 12:04 AM
Praktik - Menggunakan Fasilitas Software RAID di Linux - CHIP Online...   http://www.chip.co.id/index2.php?option=com_content&task=view&i...



              super user
             ....
             Writing inode tables: 0/50
             ....
             done
             Creating journal (8192 blocks): done
             Writing superblocks and filesystem
             accounting information: done

             Seperti Anda perhatikan, proses formatnya tidak berbeda dengan proses format device biasa.
             Sekarang Anda cukup melakukan proses mount ke suatu direktori dan siap membaca-tulis ke
             perangkat RAID 1 tersebut.

             # mkdir /mnt/raid

             # mount /dev/md0 /mnt/raid
             # ls -al /mnt/raid/
             drwxr-xr-x 3 root root 1024 2008-01-17
              15:21 .
             drwxr-xr-x 3 root root 4096 2008-01-14
              03:47 ..
             drwx------ 2 root root 12288 2008-01-17
              15:21 lost+found

             # df -h /mnt/raid
             Filesystem        Size Used Avail Use%
              Mounted on
             /dev/md0          500M 11M 489M 2%
              /mnt/raid

             Mount point /mnt/raid/ dapat Anda ganti dengan direktori lain yang Anda kehendaki. Kini, Anda
             telah sukses menyiapkan RAID! secara instam. Sedikit "quiz" untuk Anda, mengapa ukuran
             partisi /dev/md0 hanya 500 MB dan bukan 1000MB? (jawaban pada akhir tulisan).

             Mengaktifkan RAID Otomatis Setiap Booting
             Sebenarnya masih ada satu tahapan konfigurasi lagi yang perlu dilakukan sebelumnya
             me-restart PC. Apabila sistem Linux di-reboot tanpa melakukan tahapan ini, konfigurasi
             RAID-nya seperti hilang. File /proc/mdstat juga tidak menunjukkan adanya device RAID aktif:

             $ cat /proc/mdstat
             Personalities : [raid1]
             unused devices: <none>

             Apa yang sebenarnya terjadi? Di saat fase inisialisasi, salah satu yang dilakukan sistem Linux
             adalah melakukan pengecekan apakah ada file yang berisi daftar device RAID beserta partisi
             penyusunnya. File yang perlu Anda buat adalah /etc/mdadm.conf. Apabila device RAID yang
             telah dibuat didaftarkan, maka isi file menjadi:

             # cat /etc/mdadm.conf
             ARRAY /dev/md0 devices=/dev/sda5,/dev/
             sdb5

             Penjelasan format di atas cukup sederhana, device RAID md0 terdiri atas partisi sda5 dan sdb5.
             Sekarang coba reboot Linux dan periksa sekali lagi isi file /proc/mdstat. Otomatis terkonfigurasi
             bukan? Anda cukup meng-update isi /etc/fstab dengan baris seperti ini agar device RAID
             tersebut juga langsung di-mount:

             /dev/md0 /mnt/raid         ext3
             defaults 1 2.


             Mengganti Anggota RAID yang Rusak
             Siapa pun tidak menghendaki kerusakan hard disk, tetapi inilah inti mengapa RAID digunakan.



5 of 8                                                                                                                 11/28/2008 12:04 AM
Praktik - Menggunakan Fasilitas Software RAID di Linux - CHIP Online...   http://www.chip.co.id/index2.php?option=com_content&task=view&i...



             Kita anggap saja partisi sdb5 mengalami kerusakan akibat bad sector. Untuk memastikan
             kerusakan semacam ini tidaklah mudah, tetapi program badblocks bisa membantu Anda.




                     Diulang : Penggantian partisi yang rusak akan memaksa terjadinya proses sinkronisasi ulang.




             Pertama, unmount device RAID. Sebelumnya, simpan dulu semua file yang sedang diedit dan
             hentikan program yang membaca-tulis ke RAID:

             # umount /dev/md0

             Berikutnya cek adanya bad sector:

             # badblocks -s -v /dev/md0

             Apabila terlihat ada pesan yang mengindikasikan adanya kesalahan baca, pengecekan perlu
             dilakukan untuk mengetahui partisi mana yang sebenarnya perlu diperbaiki. Namun
             sebelumnya, hentikan dulu aktivitas RAID:

             # mdadm --stop /dev/md0

             Barulah ulangi operasi pengecekan bad sector ke setiap partisi:

             # badblocks -s -v /dev/sda5
             # badblocks -s -v /dev/sdb5

             Diasumsikan setelah pengecekan, diketahui sdb5 rusak parah. Anda punya beberapa pilihan,
             mengganti hard disk atau membuat partisi baru di disk yang sama tetapi dengan ukuran yang
             kurang lebih sama. Karena kemungkinan besar Anda menggunakan sistem PC desktop yang
             biasanya tidak dilengkapi fasilitas hot swap, maka Anda cenderung memilih membuat partisi
             baru pada disk yang sama.

             Catatan: menghentikan RAID boleh diabaikan jika Anda harus tetap melayani operasi
             baca-tulis, namun cara ini bukan pilihan terbaik.

             Misalnya partisi baru yang dibuat bernama sdb6 dengan ukuran 500 MB dan Anda harus cepat
             kembali mengaktifkan RAID agar bisa kembali bekerja. Untuk itu, aktifkan kembali RAID:

             # mdadm -A --run /dev/md0 /dev/sda5

             Option --run harus digunakan mengingat Anda memerintahkan RAID 1 aktif, tetapi hanya
             dengan satu partisi anggota array (normalnya harus ada dua).

             # mount /dev/md0 /mnt/raid

             Saat ini Anda dapat kembali bekerja membaca-tulis data yang tersimpan. Berikutnya
             tambahkan partisi sdb6 secara on-the-fly (sambil terus berjalan):




6 of 8                                                                                                                 11/28/2008 12:04 AM
Praktik - Menggunakan Fasilitas Software RAID di Linux - CHIP Online...   http://www.chip.co.id/index2.php?option=com_content&task=view&i...



             # mdadm --add /dev/md0 /dev/sdb6

             Dapat dilihat adanya progress bar yang menunjukkan proses perbaikan. Pada fase ini, data di
             partisi sda5 dan sdb6 disinkronisasikan sehingga kembali identik. Relatif terhadap ukuran
             partisi, tidak lama kemudian sinkronisasi selesai dan RAID bisa kembali bekerja 100% normal.

             “Ah, saya perlu yang lebih cepat. Mematikan RAID tidak bisa saya toleransi!” Tuntutan seperti
             ini memang memusingkan, tetapi lagi-lagi RAID memang dibuat untuk memenuhi kebutuhan
             kritis seperti ini. Jika memang demikian, langkahnya menjadi sedikit berbeda.

             Berangkat dari asumsi yang mirip bahwa partisi sdb5 rusak dan Anda sudah membuat partisi
             sdb6 yang sama besarnya. RAID tidak perlu dihentikan, dan hanya perlu melakukan:

             # mdadm --fail /dev/md0 /dev/sdb5

             Pada titik ini, partisi sdb5 secara efektif tidak lagi terpakai dan dapat Anda singkirkan dari
             array:

             # mdadm --remove /dev/md0 /dev/sdb5

             Mungkin Anda bertanya, “Apa saya aman melakukan hal seperti ini saat saya menulis sesuatu
             ke RAID?” Secara umum dapat dikatakan, 99,99% persen langkah ini aman asalkan dalam saat
             yang hampir bersamaan, sda5 juga sedang tidak mengalami kerusakan (apapun sebabnya).

             Sekarang anda tinggal memasukkan partisi sdb6:

             # mdadm --add /dev/md0 /dev/sdb6

             Proses recovery akan dimulai. Sambil menunggu, Anda tetap bisa membaca-tulis tanpa terhenti
             sama sekali. Sangat membantu bukan?

             Terakhir yang perlu dilakukan adalah meng-update /etc/mdadm.conf agar merefleksikan kondisi
             terkini:

             ARRAY /dev/md0 devices=/dev/sda5,/dev/
             sdb6

             Cara ini mungkin tidak efektif karena bisa saja Anda salah ketik dan tanpa sengaja
             memasukkan nama partisi yang salah. Cara yang lain yang lebih cepat dan akurat adalah
             memerintahkan program mdadm untuk melakukan scanning dan memasukkan hasilnya sebagai
             entry di /etc/mdadm.conf:

             # mdadm -Ebsc partitions > /etc/mdadm.
             conf

             Isi file konfigurasi akan menjadi sedikit lain:

             # cat /etc/mdadm.conf
             ARRAY /dev/md0 level=raid1 num-
             devices=2 UUID=e22dec1a:88e263a1:
             c88e430b:65d86d06

             Parameter terakhir memang terlihat aneh. Pada dasarnya, ini adalah semacam tanda pengenal
             yang dituliskan pada setiap partisi hard disk yang terpasang di komputer Anda. Saat array RAID
             dibentuk setiap kali Linux diinisialisasi, tanda ini akan dicari untuk mencari tahu partisi mana
             saja yang menjadi anggota RAID (dalam hal ini /dev/md0). Dengan demikian, Anda tidak perlu
             mendaftar sendiri anggota partisi yang terlibat dalam suatu device RAID. Menjawab pertanyaan
             (quiz) yang disampaikan sebelumnya, karena bersifat mirroring, maka ukuran partisi efektif
             adalah sesuai besaran salah satu partisi yang terkecil.

             Source: CHIP 03/2008
             Author: Mulyadi, Penulis@CHIP.co.id




7 of 8                                                                                                                 11/28/2008 12:04 AM
Praktik - Menggunakan Fasilitas Software RAID di Linux - CHIP Online...   http://www.chip.co.id/index2.php?option=com_content&task=view&i...




                                                          Close Window




8 of 8                                                                                                                 11/28/2008 12:04 AM

				
DOCUMENT INFO
Categories:
Tags:
Stats:
views:29
posted:9/30/2011
language:Indonesian
pages:8