Membangun RAID dan LVM menggunakan Linux

From OnnoWiki
Revision as of 06:39, 19 February 2010 by Onnowpurbo (talk | contribs) (New page: Membangun RAID dan LVM menggunakan Linux Berikut ini adalah sebuah contoh panduan mensetup RAID-5 dan LVM di sebuah sistem Linux. Beberapa perintah yang diberikan disini umumnya berbasis...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Membangun RAID dan LVM menggunakan Linux

Berikut ini adalah sebuah contoh panduan mensetup RAID-5 dan LVM di sebuah sistem Linux. Beberapa perintah yang diberikan disini umumnya berbasis pada kernel 2.6. Beberapa instruksi mungkin tidak dapat dijalankan di distro yang lain.

Apakah RAID dan LVM LVM merupakan singkatan dari Logical Volume Manager yang merupakan salah satu cara pengelompokan harddisk atau partisi. Dengan menggunakan LVM kita tidak perlu pusing dengan partisi fisik harddisk, akan tetapi data akan di manajed menggunakan partisi virtual yang memungkinkan partisi virtual di ubah besar / size-nya dengan mudah. Salah satu kelemahan LVM, tidak dapat digunakan untuk /boot

Percobaan Menginisialisasi RAID-5 Sebelum kita secara serius menggunakan sistem RAID dan LVM untuk data yang penting, ada baiknya kita melakukan experimen / percobaan dengan RAID dan LVM. Salah satu cara yang paling sederhana adalah menggunakan beberapa harddisk tua dan membuat beberapa partisi di harddisk tersebut. Kemudian mencoba menggabungkan partisi-partisi tersebut menjadi partisi RAID. Dalam ujicoba yang akan di contohkan disini akan dibuat dua RAID-5 masing-masing terdiri dari tiga (3) partisi. Dalam percobaan anda dapat secara manual membuat “fail” dan “hot remove” partisi dari RAID dan menambahkan secara manual kembali ke RAID untuk melihat bagaimana proses perbaikan berjalan. Biasanya kita akan memperoleh peringatan bahwa partisi sharing pada harddisk yang sama, hal ini dapat di abaikan dalam proses experimen ini. Dalam operasional yang betul, sebaiknya tidak ada partisi yang di share di harddisk yang sama pada pembuatan RAID.

Dalam contoh yang akan dilakukan ada dua sistem RAID, satu menggunakan dua harddisk SCSI 73Gbyte menjalankan RAID0-1. Yang lain menggunakan tiga (3) harddisk IDE menjalankan RAID-5. Umumnya kita akan menggunakan RAID-5 dalam operasional karena ini lebih sering digunakan. Pada sistem yang di contohkan, digunakan IDE controller extra yang memungkinkan kita mempunyai lebih dari empat (4) harddisk IDE. Oleh karena itu alokasi harddisk yang digunakan mungkin tidak standard dengan yang biasa kita lihat. Urutan alokasi harddisk tidak menjadi masalah di Linux, oleh karena itu kita tidak perlu takut dengan urutan yang aneh-aneh tersebut. Konfigurasi dasar yang digunakan dalam contoh adalah sebagai berikut,

hda 120Gbyte harddisk hdb 120Gbyte harddisk hde 60Gbyte boot harddisk bukan RAID hdf 120Gbyte harddisk hdg CD-ROM drive

Langkah pertama yang perlu dilakukan adalah membuat partisi di setiap harddisk yang nantikan akan dijadikan bagian dari RAID. Dalam contoh akan digunakan masing-masing 120Gbyte harddisk secara keseluruhan. Oleh karena itu semua harddisk 120Gbyte akan dipartisi sama satu sama lain. Sebagai contoh partisi hda adalah sebagai berikut:

Disk /dev/hda: 120.0 GB, 120034123776 bytes 16 heads, 63 sectors/track, 232581 cylinders Units = cylinders of 1008 * 512 = 516096 bytes

  Device Boot      Start         End      Blocks   Id  System

/dev/hda1 * 1 232581 117220792+ fd Linux raid autodetect

Perhatikan bahwa ke tiga (3) harddisk di partisi menggunakan id fd atau Linux raid autodetect oleh karena itu kita dapat langsung menggabungkan seluruh seluruh partisi menjadi RAID melalui perintah:

  1. /sbin/mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 \
       /dev/hdb1 /dev/hda1 /dev/hdf1

Tampak sangat sederhana sekali cara membuat RAID. Proses RAID akan menghasilkan partisi / harddisk baru, yaitu /dev/md0, yang dapat digunakan seperti layaknya sebuah partisi tanpa perlu menyentuh partisi asalnya. Kita dapat dengan mudah mencek status RAID menggunakan perintah madm berikut, yaitu:

  1. /sbin/mdadm --detail /dev/md0
       Version : 00.90.01
 Creation Time : Wed May 11 20:00:18 2005
    Raid Level : raid5
    Array Size : 234436352 (223.58 GiB 240.06 GB)
   Device Size : 117218176 (111.79 GiB 120.03 GB)
  Raid Devices : 3
 Total Devices : 3

Preferred Minor : 0

   Persistence : Superblock is persistent
   Update Time : Fri Jun 10 04:13:11 2005
         State : clean
Active Devices : 3

Working Devices : 3

Failed Devices : 0
 Spare Devices : 0
        Layout : left-symmetric
    Chunk Size : 64K
          UUID : 36161bdd:a9018a79:60e0757a:e27bb7ca
        Events : 0.10670
   Number   Major   Minor   RaidDevice State
      0       3        1        0      active sync   /dev/hda1
      1       3       65        1      active sync   /dev/hdb1
      2      33       65        2      active sync   /dev/hdf1

Parameter yang perlu diperhatikan dengan baik adalah State. State harus bersih, jika tidak kemungkinan besar kita akan memperoleh masalah. Dibawah State pastikan bahwa semua harddisk pada kondisi “active sync” yang pada dasarnya menyatakan bahwa masing-masing harddisk secara aktif masuk ke RAID. Kita juga dapat menambahkan harddisk cadangan jika salah satu harddisk RAID tewas.

Hal yang perlu diperhatikan besarnya RAID hanya sekitar 240Gbyte padahal harddisk yang digunakan adalah 120Gbyte. Hal ini terjadi karena extra harddisk digunakan untuk menyimpan data parity yang diperlukan untuk me-recover data jika salah satu harddisk gagal.

Menginisialisasi LVM di atas RAID Setelah kita mempunyai partisi /dev/md0 kita dapat membuat Logical Volume di atasnya. Mengapa kita ingin menggunakan LVM? Jika kita membuat file system ext3 di atas RAID secara langsung, dan pada suatu hari ingin menambah kapasitas harddisk maka melalui proses panjang mulai dari backup data, membuat RAID baru dan mengembalikan data yang di backup. Pengalaman saya membutuhkan waktu tidak kurang dari 24 jam untuk membackup 250Gbyte data. Dengan menggunakan LVM kita dapat menambahkan (atau mengurangi) besarnya filesystem tanpa mengganggu data yang ada. Berikut adalah langkah yang perlu dilakukan untuk menambahkan RAID ke sistem LVM. Perintah pertama yang digunakan adalah pvcreate yang akan "menginisialisasi harddisk atau partisi untuk digunakan oleh LVM”. Perintah ke dua adalah vgcreate yang akan membuat Volume Group, dalam hal ini dinamakan lvm-raid:

# pvcreate /dev/md0 # vgcreate lvm-raid /dev/md0

Nilai default untuk physical extent size mungkin terlalu rendah untuk RAID yang besar. Jika hal ini terjadi, maka kita perlu mengunakan option -s untuk membuat physical extent size yang lebih besar dari default. Default yang ada biasanya 4MByte. Sebagai contoh. agar 550Gbyte RAID berhasil dengan baik maka sebaiknya digunakan size 2Gbyte, melalui perintah,

# vgcreate -s 2G <volume group name>

Sampai tahapan ini, kita pada dasarnya telah membuat tempat kosong. Selanjutnya kita perlu memberitahukan berapa physical extent dari physical device (dalam hal ini /dev/md0) yang akan dialokasikan ke Volume Group. Dalam contoh ini, kita akan mengalokasikan semua data dari /dev/md0 untuk Volume Group. Jika di kemudian hari kita akan menambahkan harddisk tambahan, kita perlu membuat RAID baru dan menambahkan partisi RAID baru tersebut ke Volume Group. Untuk mengetahui berapa Physical Extent yang tersedia untuk digunakan dapat menggunakan perintah vgdisplay. Selanjutnya, kita dapat membuat Logical Volume menggunakan semua (atau sebagian) dari tempat yang ada di Logical Group. Dalam contoh, kita akan menamakan Logical Volume sebagai lvm0.

# vgdisplay lvm-raid . . Free PE / Size 57235 / 223.57 GB # lvcreate -l 57235 lvm-raid -n lvm0

Pada akhirnya kita akan mempunyai sebuah partisi yang mirip dengan partisi lama yang dinamakan /dev/lvm-raid/lvm0. Kita dapat mencek status dari Logical Volume menggunakan perintah lvdisplay. Partisi tersebut selanjutnya dapat di format untuk meletakan filesystem yang kita inginkan.

# lvdisplay /dev/lvm-raid/lvm0 --- Logical volume --- LV Name /dev/lvm-raid/lvm0 VG Name lvm-raid LV UUID FFX673-dGlX-tsEL-6UXl-1hLs-6b3Y-rkO9O2 LV Write Access read/write LV Status available # open 1 LV Size 223.57 GB Current LE 57235 Segments 1 Allocation inherit Read ahead sectors 0 Block device 253:2 # mkfs.ext3 /dev/lvm-raid/lvm0 . . # mount /dev/lvm-raid/lvm0 /mnt

# df -h /mnt Filesystem Size Used Avail Use% Mounted on /dev/mapper/lvm--raid-lvm0 224G 93M 224G 1% /mnt


Pranala Menarik