Kamis, 21 November 2013

Manajemen Hardisk Menggunakan RAID & LVM

Haloo semua! Mungkin postingan saya kali ini rada beda dari postingan-postingan sebelumnya. Kalau biasanya saya curhat nggak jelas, sok-sok review ini-itu kayak para ahli, di postingan ini saya bakalan memosting postingan yang rada "pintar" :)
Saya mau sharing dikit mengenai manajemen hardisk menggunakan  RAID dan LVM. Kebetulan sekali, RAID dan LVM adalah salah satu materi dari mata kuliah saya, Sistem Administrasi Komputer.
Jadi, mari kita mulai dengan berkenalan terlebih dahulu dengan RAID dan LVM...
RAID
Apa itu RAID?
      RAID, singkatan dari Redundant Array of Independent Disks merujuk kepada sebuah teknologi di dalam penyimpanan data komputer yang digunakan untuk mengimplementasikan fitur toleransi kesalahan pada media penyimpanan komputer (utamanya adalah hard disk) dengan menggunakan cara redundansi (penumpukan) data, baik itu dengan menggunakan perangkat lunak, maupun unit perangkat keras RAID terpisah. 
      Kata "RAID" juga memiliki beberapa singkatan Redundant Array of Inexpensive Disks, Redundant Array of Independent Drives, dan juga Redundant Array of Inexpensive Drives. Teknologi ini membagi atau mereplikasi data ke dalam beberapa hard disk terpisah. RAID didesain untuk meningkatkan keandalan data dan/atau meningkatkan kinerja I/O dari hard disk. Sejak pertama kali diperkenalkan, RAID dibagi ke dalam beberapa skema, yang disebut dengan "RAID Level". Pada awalnya, ada lima buah RAID level yang pertama kali dikonsepkan, tetapi seiring dengan waktu, level-level tersebut berevolusi, yakni dengan menggabungkan beberapa level yang berbeda dan juga mengimplementasikan beberapa level proprietary yang tidak menjadi standar RAID.
      RAID menggabungkan beberapa hard disk fisik ke dalam sebuah unit logis penyimpanan, dengan menggunakan perangkat lunak atau perangkat keras khusus. Solusi perangkat keras umumnya didesain untuk mendukung penggunaan beberapa hard disk secara sekaligus, dan sistem operasi tidak perlu mengetahui bagaimana cara kerja skema RAID tersebut. Sementara itu, solusi perangkat lunak umumnya diimplementasikan di dalam level sistem operasi, dan tentu saja menjadikan beberapa hard disk menjadi sebuah kesatuan logis yang digunakan untuk melakukan penyimpanan.
B. LEVEL RAID
Tingkatan RAID pada dasarnya merupakan cara / teknik konfigurasi hard drive. Setiap level memiliki kelebihan dan kekurangan. Ada yang unggul di sisi ruang /storage tetapi lemah di sisi keamanan datanya, ada yang unggul di sisi keamanan namun lemah kinerjanya, dsb. Pada dasarnya tidak ada yang “terbaik” untuk RAID. Masing-masing dari level berikut bisa dikatakan “terbaik” tergantung dengan situasinya. Jadi terserah kebijaksanaan kita untuk menentukan.

Raid 0

Dengan RAID 0, kita menggunakan dua / lebih hard disk yang bertindak seolah-olah mereka satu hard disk. Raid 0 diibaratkan memiliki  “0″ perlindungan. Bahkan karena kita menggunakan dua hard disk maka kita memiliki dua kali risiko kehilangan data. Karena bila salah satu drive mengalami error, maka kita terancam kehilangan data.
Kelebihan:
  • RAID 0 menggunakan ruang hard disk secara maksimal karena tidak ada redundasi data.
  • RAID 0 punya kecepatan yang lebih karena lebih banyak ruang dari dua hard disk yang dijadikan satu.
Kekurangan:
  • Tidak ada perlindungan. Jadi jika kita kehilangan satu hard disk tunggal, data kita akan hilang.
  • Karena kita menggunakan dua hard drive tanpa redundansi, maka resiko kita jadi dua kali lipat. Makanya akan lebih aman untuk menyimpan data dalam hard disk tunggal, misalnya bila kita menyimpan file 10MB dimana masing-masing drive menerima 5MB, maka jika salah satu drive rusak, kita hanya kehilangan data 5MB.
Kapan pakainya:
Raid 0 lebih pas digunakan oleh orang-orang yang mengutamakan ruang tetapi tidak peduli tentang kehilangan data mereka. Jadi di kondisi apa kita menggunakan RAID 0? Salah satu contohnya adalah sebagai server backup yang murah. Katakanlah kita punya banyak harddisk lama yang sudah tidak dipakai lagi, kemudian ingin membuat cadangan/backup data tetapi harddisk tua kita tidak cukup besar untuk pekerjaan itu. Maka kita bisa tempatkan semua hard disk yang ada untuk membentuk array RAID 0 dan menggabungkan kapasitas hardisk yang sudah ada. Tetapi pastikan data-data yang masuk ke server ini adalah hanya untuk tujuan backup/cadangan.

Raid 1

Dalam RAID 1 terjadi mirrorring antar hard disk. Sehingga dia menyediakan redundansi jika  salah satu disk mengalami error. Tidak seperti RAID 0 di mana semua space digabungkan, RAID 1 hanya menggunakan setengah ruang karena drive kedua digunakan untuk redundansi. Dengan syarat kedua hard drive ukurannya harus sama.
Kelebihan:Redundansi dan Kecepatan.
Kekurangan: Space hard disk tidak digunakan secara efisien. Karena kedua hard disk adalah salinan satu sama lain, hanya setengah dari ukuran jumlah gabungan yang digunakan.
Kapan pakainya:RAID 1 memakan ruang/space hard disk, tetapi lebih baik untuk kecepatan dan redundansi. Ini jadi pilihan yang baik untuk menjalankan sistem operasi. Server pada umumnya memiliki dua level RAID. RAID 1 yang berisi sistem operasi saja dan RAID tingkat kedua (biasanya RAID 5) untuk penyimpanan/storage.

RAID 5

RAID 5 adalah tingkat atau level yang paling populer digunakan di server saat ini.
raid5 array
Dengan RAID 5 kita bisa memiliki performa dan efisiensi penggunaan ruang. Dalam RAID 5 redundansi didistribusikan di antara semua drive. Jumlah minimum dari drive yang dapat digunakan pada RAID 5 adalah tiga.
Kelebihan:
  • Efisiensi penggunaan kombinasi harddisk.
  • Toleransi kesalahan: Jika  salah satu hard disk down/error  maka data tetap aman.
Kekurangan:
  • Kecepatan RAID 5 tidak secepat RAID 0 atau 1.
  • Jika lebih dari satu hard disk mengalami error, maka data terancam hilang.
Kapan menggunakan: RAID 5 adalah pilihan terbaik untuk data storage, karena efisien dalam penggunaan ruang dan menyediakan redundansi data.

RAID 6

RAID 6 pada dasarnya sama dengan RAID 5, dengan perbedaan dua drive bisa down pada saat yang sama bukan hanya satu. Jumlah minimum dari drive yang dapat digunakan dengan RAID 6 adalah empat.
Kelebihan:  Meskipun dua hard disk down bersamaan, data kita tetap aman.
Kekurangan:
  • Space total hard drive sangat berkurang karena lebih banyak dialokasikan untuk partisi redundansi.
  • Kecepatan RAID 6 tidak secepat RAID 0 atau 1.
  • Proses rebuilt lebih lambat. Ketika drive down, maka perlu rebuilt kembali. Kinerja akan menurun jauh bila dibandingkan dengan metode RAID lainnya.
Kapan menggunakan:
RAID 6 baik digunakan untuk media storage. Sebab pada dasarnya RAID 6 sama dengan RAID 5 dengan keamanan data yang lebih baik. Namun akibatnya, kita akan kehilangan sekitar 40% dari ruang gabungan total.

RAID Z

Raid Z dan RAID Z2 adalah penemuan Sun Micro System. RAID Z memiliki semua manfaat dari RAID 5 dan fitur lainnya yang membuatnya jauh lebih unggul. Seperti dengan RAID 5, RAID Z dapat mendukung sejumlah hard disk yang bekerja sama dan satu disk untuk redudansi. Jumlah minimum dari hard disk adalah tiga dan hanya satu yang bisa down pada suatu waktu. Jika lebih dari satu hard disk rusak pada saat yang sama, maka kita beresiko kehilangan data.
Kelebihan: Memiliki semua kelebihan dari RAID 5 dan fitur lainnya.
Kelemahan: Hanya dapat digunakan dengan OS berbasis Open Solaris seperti Nexenta dan atau sistem berbasis BSD seperti FreeBSD.
Kapan menggunakan: RAID Z adalah level RAID terbaik untuk penyimpanan/storage. Pada dasarnya RAID Z melengkapi hampir semua kekurangan dari RAID tingkat sebelumnya dan menambahkan banyak fitur baru. Namun hanya bisa digunakan dengan sistem berbasis Solaris dan BSD. RAID Z sangat baik untuk digunakan dalam NAS / lainnya untuk penyimpanan data berskala besar.

RAID Z2

Raid Z2 hampir identik dengan Raid Z dan mirip dengan RAID 6. Dalam RAID Z2, meski dua hard disk bisa down di waktu bersamaan namun data akan tetap aman dan mudah diakses. Sama seperti RAID Z, RAID Z2 jauh lebih unggul dengan RAID 6 karena di dalamnya terdapat banyak fitur lainnya. Jumlah minimum drive untuk menggunakan RAID Z2 adalah empat.
Keuntungan:
  • Data lebih aman meski dua drive bisa down pada saat yang sama bukan hanya satu.
  • Memiliki semua manfaat dari RAID Z.
Kekurangan:
  • Dua hard disk digunakan untuk paritas, sehingga ukuran jumlah gabungan space sangat terbatas.
  • Hanya dapat digunakan dengan OS berbasis Open Solaris seperti Nexenta dan atau sistem berbasis BSD seperti FreeBSD.
Kapan menggunakan:Sama seperti RAID Z tetapi dilengkapi dengan tambahan tingkat keamanan. Tidak untuk digunakan jika butuh space yang besar.
RAID 10
RAID 10 adalah gabungan dari  RAID 1 + RAID 0. Makanya dia bisa memberikan optimasi untuk toleransi kesalahan. Dimana RAID 0 memiliki kecepatan yang lebih karena lebih banyak ruang dari dua hard disk yang dijadikan satu, sedangkan RAID 1 memberikan mirroring disk untuk redundansi. Dalam beberapa kasus, RAID 10 menawarkan data yang lebih cepat membaca dan menulis daripada RAID 5 karena tidak perlu mengelola paritas. Minimum harddisk yang bisa digunakan adalah 4 hard disk.
Keunggulan:
  • Memiliki manfaat dari kecepatan dari RAID 0 dan Mirroring dari Raid 1.
  • Tingkat keamanan terhadap kemungkinan hilangnya data yang lebih baik dari penggunaan sebuah harddisk.
Kelemahan:
  • Memiliki segala kekurangan yang dimiliki RAID 1 dan RAID 0.
  • Kegagalan disk memiliki efek pada throughput, meskipun hal ini masih dapat ditoleransi.
 
...................................................
 
LVM
Apa itu LVM
Logical Volume Management (LVM) adalah pilihan manajemen disk yang hampir setiap distro Linux sertakan. Apakah anda perlu membuat media penyimpanan dalam jumlah besar atau membuat partisi yang dinamis, LVM mungkin akan menjadi solusi untuk anda. Logical Volume Manager memungkinkan untuk membuat layer antara sistem operasi dan disk /partisi yang digunakannya. Dalam manajemen disk tradisional sistem operasi anda akan mencari disk apa yang tersedia (/dev /sda, /dev /sdb, dll) dan kemudian melihat apa partisi yang tersedia pada disk (/dev/sda1, /dev/sda2, dll ).
Dengan LVM, disk dan partisi dapat dibuat menjadi satu buah perangkat disk yang terdiri dari beberapa disk dan atau partisi. OS tidak akan tahu & tidak akan terpengaruh sama sekali karena LVM hanya memberitahukan volume group (disk) dan logical volume (partisi) yang telah kita buat. Karena volume group dan logical volumes tidak secara fisik terhubung ke hard drive, akan mudah bagi kita untuk mengubah ukuran partisi/disk secara dinamis dan menciptakan disk dan partisi baru.
Selain itu, LVM dapat memberikan Anda fitur yang sistem file tradisional tidak mampu melakukan. Sebagai contoh, ext3 tidak memiliki dukungan untuk live snapshot, tetapi jika Anda menggunakan LVM Anda memiliki kemampuan untuk mengambil snapshot dari logical volume Anda tanpa perlu unmount disk.
 
Kapan kita menggunakan LVM
Jika anda menggunakan Linux di sebuah laptop dengan hanya satu buah disk dan tidak berencana atau tidak bisa menambah kapasitas, maka anda tidak perlu memilih LVM. Tapi jika di masa yang akan datang anda punya rencana untuk menambah kapasitas harddisk tapi malas untuk menginstall ulang OS, atau ingin menggabungkan beberapa disk yang anda miliki menjadi satu partisi. Sudah saatnya anda menggunakan LVM.
Pada beberapa distro seperti fedora memilih LVM sebagai default instalasi. Distro lain memberikan opsi menggunakan LVM namun tidak menjadikan opsi default.
 
Penggunaannya
Seperti yang sudah saya sebutkan diatas, LVM memungkinkan anda untuk:
  • Memanaj disk dalam jumlah besar (banyak) yang memungkinkan anda menambah, mengganti, menyalin dan berbagi isi dari satu disk ke disk lainnya tanpa perlu mengganggu service yang sedang berjalan.
  • Pada aplikasi di rumahan, daripada anda pusing memikirkan install ulang OS untuk mengganti disk karena kapasitas disk yang anda miliki sudah tidak mencukupi aktivitas anda sekarang dan kebutuhan OS di masa datang, LVM memberikan kemudahan untuk mengubah ukuran partisi sesuai kebutuhan.
  • Membuat backup dengan fasilitas "snapshot"
  • Membuat satu logical volumes dari beberapa volume fisik / partisi fisik atau satu disk penuh ( mirip dengan RAID 0, tetapi lebih mirip dengan JBOD, memungkinkan merubah ukuran secara dinamis.

Fitur
LVM dapat melakukan hal berikut:
  • Merubah jumlah volume group secara online untuk menambah atau mengurangi jumlah fisik.
  • Merubah logical volumes secara online dengan menambah atau mengurangi kapasitas.
  • Menggabungkan keseluruhan atau sebagian dari logical volume lintas colume fisik mirip dengan RAID 0.
  • Membuat mirror keseluruhan atau sebagian dari logical columes mirip dengan RAID 1.
  • Memindahkan logical volume antar volume fisik.
  • Memisahkan atau menggabungkan volume group (selama tidak ada logical volume memberi jarak antar logical). Ini sangat berguna ketika memindahkan keseluruhan logical volume ke dan dari penyimpanan lain (offline).
LVM juga bisa bekerja pada media penyimpanan yang berbagi (model cluster, dengan memanfaatkan drbd yang menghubungkan antar node). Selain keseluruhan fitur dan kegunaan LVM diatas, ada keterbatasan LVM, yaitu tidak bisa melakukan redudansi seperti halnya RAID 3 sampai 6.
Secara umum LVM memungkinkan kita untuk menggabungkan atau mengkombinasikan beberapa partisi dan atau disk menjadi satu buah Logical Volume yang lebih besar yang kemudian memungkinkan untuk diubah, digabung dan atau dipindah dalam kondisi sedang digunakan. Artinya tidak diperlukan downtime untuk menambah atau mengurangi kapasitas penyimpanan. Hal ini bermanfaat karena tidak mengganggu proses operasional yang sedang berjalan. Logical Volume Management (LVM) adalah pilihan manajemen disk yang hampir ada pada setiap distro Linux.
Beberapa kemudahan dalam penggunaan LVM akan membantu kita para system administrator dalam melakukan manajemen ruang & media penyimpanan. Sebelum berkenalan lebih jauh dengan LVM, ada baiknya kita mengetahui beberapa istilah yang digunakan dalam dunia LVM. Beberapa istilah yang digunakan yaitu:
  • Physical Volume (PV), yaitu media penyimpan secara fisik baik itu berupa partisi secara konvensional maupun disk, misal: hda1, hda3, hdc5, sda3 maupun RAID.
  • Volume Group (VG), yaitu sebuah volume yang dibuat dari satu atau lebih PV dalam media penyimpan dan juga sebagai manajer bagi PV dan LV.
  • Logical Volume (LV), yaitu partisi secara logical yang dibuat di atas VG dan pada LV inilah filesystem akan diletakkan.
  • Physical Extents (PE), yaitu bagian-­bagian atau potongan yang membentuk sebuah PV, dengan PE ini dapat ditentukan maksimal ukuran sebuah VG.
  • Logical Extents (LE), yaitu bagian atau potongan yang membentuk LV, ukurannya sama dengan PE.
Secara sederhana dapat digambarkan seperti berikut:

Sampai dengan saat ini versi terbaru dari LVM adalah versi 2. Sedikit perbedaan antara LVM 1 & LVM 2 diantaranya adalah: LVM 2 - versi terbaru dan terbaik untuk Linux LVM.
  • LVM 2 hampir sepenuhnya kompatibel dengan volume yang dibuat dengan LVM 1. Pengecualian untuk ini adalah snapshot (Anda harus menghapus volume snapshot sebelum upgrade ke LVM 2)
  • LVM 2 menggunakan device mapper kernel driver. Dukungan perangkat mapper dalam kernel 2.6 dan ada patch yang tersedia untuk kernel 2.4.
LVM 1 - Versi yang ada di kernel seri 2.4,
  • LVM 1 adalah produk yang sudah matang dianggap stabil selama beberapa tahun. Driver kernel untuk LVM 1 masuk dalam seri kernel 2.4, tetapi ini tidak berarti bahwa kernel 2.4.x anda up to date dengan versi terbaru LVM. Anda dapat membaca README LVM untuk informasi terbaru tentang kernel mana yang saat ini ada di dalamnya.
Untuk mengecek apakah sistem yang kita miliki sudah support LVM atau tidak, kita bisa melihat di daftar repositori LVM versi berapa yang tersedia.
 
Cara Kerja
LVM membuat header metadata pada awal setiap PV, yang masing-masing secara unik diidentifikasi oleh UUID (Universal Unique Identifier). Setiap Header PV adalah salinan lengkap dari seluruh Layout VG , termasuk UUID dari semua PV lain, UUID dari semua LVs dan peta alokasi PE ke LE. Metode ini menyederhanakan pemulihan data jika terjadi hilangnya salah satu atau lebih PV.
Dalam Kernel Linux seri 2.6, LVM diimplementasikan dalam hal pemetaan perangkat (Device Mapper), sebuah skema block-level sederhana untuk menciptakan perangkat block-device virtual dan pemetaan isi perangkat block-device ke perangkat blok lainnya.
Cara ini meminimalkan jumlah kode kernel yang relatif sulit untuk di-debug yang diperlukan untuk mengimplementasikan LVM. Hal ini juga memungkinkan I/O untuk mengarahkanservice yang kemudian untuk dibagikan dengan manajer volume lainnya (seperti EVMS). Setiap kode LVM secara spesifik didorong menjadi media penyimpanan, yang hanya memanipulasi pemetaan dan merekonstruksi kondisi metadata mereka dari setiap pemanggilan.

SEMOGA ARTIKEL DIATAS BERMANFAAT

Link sumber :