Implementasi & Konfigurasi DRBD pada SUSE Linux Enterprise Server 11 Bagian 2

Pada tutorial sebelumnya, kita sudah selesai melakukan instalasi komponen dan package yang dibutuhkan oleh DRBD. Sekarang kita bisa berlanjut ke tutorial tahap berikutnya, yaitu konfigurasi DRBD dan testing.

Catatan konfigurasi yang saya gunakan:
[code language=’cpp’]
Server 1 :
hostname : alpha.vavai.com
IP Address : 192.168.1.20
Gateway : 192.168.1.254

Server 2 :
hostname : bravo.vavai.com
IP Address : 192.168.1.21
Gateway : 192.168.1.254

Pastikan bahwa package drbd, yast2-drbd dan drbd-kmp-default atau drbd-xen-default (tergantung kernel yang digunakan oleh alpha maupun bravo) sudah terinstall dan server sudah direstart
[/code]

Konfigurasi DRBD

  1. Ubah konfigurasi. Masuk ke konsole server Alpha dan buka file /etc/drbd.conf. File ini merupakan file konfigurasi utama DRBD. Isi file konfigurasi tersebut dengan isi sebagai berikut (jangan lupa, sesuaikan IP Address dan partisi harddisk sesuai dengan tutorial sebelumnya) :
    [code language=’cpp’]
    global {
    dialog-refresh 1;
    usage-count yes;
    minor-count 5;
    }
    common {
    syncer {
    rate 10M;
    }
    }
    resource r0 {
    protocol C;
    disk {
    on-io-error detach;
    }
    syncer {
    rate 10M;
    al-extents 257;
    }
    on alpha {
    device /dev/drbd0;
    address 192.168.1.20:7788;
    meta-disk internal;
    disk /dev/xvdb;
    }
    on bravo {
    device /dev/drbd0;
    address 192.168.1.21:7788;
    meta-disk internal;
    disk /dev/xvdb;
    }
    }
    [/code]
    Untuk nama device saya menggunakan nama device standar untuk drbd yaitu /dev/drbd0. Untuk IP disesuaikan. Untuk harddisk juga disesuaikan partisi mana yang hendak di raid via network
  2. Salin file konfigurasi. Gunakan perintah scp untuk menyalin file /etc/drbd.conf dari server alpha ke server bravo. Letakkan pada foldernya yaitu /etc
    [code language=’cpp’]
    scp /etc/drbd.conf root@192.168.1.21:/etc/drbd.conf
    [/code]
  3. Buat metadata disk (jadi ingat si 68% 😛 ) dan jalankan service drbd. Perintah ini dilakukan 2X, yaitu di server alpha dan kemudian di server bravo :
    [code language=’cpp’]
    drbdadm create-md r0
    service drbd start
    [/code]
    Pesan yang muncul :
    –== Thank you for participating in the global usage survey ==–
    The server’s response is:
    Writing meta data…
    initialising activity log
    NOT initialized bitmap
    New drbd meta data block sucessfully created.
    Starting DRBD resources: [ d(r0) s(r0) n(r0) ].
    ……..

    CATATAN : Jangan lupa menjalankan hal yang sama pada server bravo !
  4. Check Status DRBD
    [code language=’cpp’]
    service drbd status
    [/code]
    Pesan yang muncul :
    alpha:~ # service drbd status
    drbd driver loaded OK; device status:
    version: 8.2.7 (api:88/proto:86-88)
    GIT-hash: a1b440e8b3011a1318d8bff1bb7edc763ef995b0 build by lmb@hermes, 2009-02-20 13:35:59
    m:res cs st ds p mounted fstype
    0:r0 Connected Secondary/Secondary Inconsistent/Inconsistent C

    Pesan diatas menunjukkan bahwa DRBD sudah berjalan, namun kedua server sama-sama bertindak sebagai secondary dan keduanya inconsistent (masing-masing node berbeda isi). Tak masalah, kita akan mengaktifkannya sebentar lagi
  5. Jadikan server alpha sebagai primary (sumber utama proses sinkronisasi). Jalankan perintah berikut pada server alpha :
    [code language=’cpp’]
    drbdsetup /dev/drbd0 primary –overwrite-data-of-peer
    [/code]
  6. Check Ulang Status DRBD :
    [code language=’cpp’]
    service drbd status
    [/code]
    Pesan yang tampil :
    alpha:~ # service drbd status
    drbd driver loaded OK; device status:
    version: 8.2.7 (api:88/proto:86-88)
    GIT-hash: a1b440e8b3011a1318d8bff1bb7edc763ef995b0 build by lmb@hermes, 2009-02-20 13:35:59
    m:res cs st ds p mounted fstype
    0:r0 SyncSource Primary/Secondary UpToDate/Inconsistent C
    … sync’ed: 1.1% (10136/10236)M

    Pesan diatas menunjukkan bahwa server alpha sudah berfungsi sebagai primary dan mulai melakukan sinkronisasi dengan server bravo (progress ditunjukkan dalam bentuk persentase
  7. Tunggu hingga proses sinkronisasi mencapai jumlah 100% dan kedua node sama-sama update. Cara mengeceknya adalah dengan perintah service drbd status. Lamanya waktu sinkronisasi tergantung pada besar kecilnya kapasitas disk yang menjadi node drbd dan kecepatan network antar kedua server. Berikut adalah contoh status kedua node yang sudah sinkron :
    [code language=’cpp’]
    alpha:~ # service drbd status
    [/code]
    drbd driver loaded OK; device status:
    version: 8.2.7 (api:88/proto:86-88)
    GIT-hash: a1b440e8b3011a1318d8bff1bb7edc763ef995b0 build by lmb@hermes, 2009-02-20 13:35:59
    m:res cs st ds p mounted fstype
    0:r0 Connected Primary/Secondary UpToDate/UpToDate C

Setelah keduanya disinkronisasi penuh, kita bisa membuat file system diatas node tersebut. Lakukan hal ini pada server alpha, tidak usah dilakukan diserver bravo karena server bravo akan otomatis melakukan duplikasi.

[code language=’cpp’]
mkfs.ext3 /dev/drbd0
[/code]

Tipe file sistem ext3 bisa diganti dengan reiserfs atau file system lain yang didukung oleh kernel.

Panduan akan berlanjut ke bagian ketiga, mengenai Testing DRBD & Beberapa Workaround Investigasi Pesan Kesalahan

4 thoughts on “Implementasi & Konfigurasi DRBD pada SUSE Linux Enterprise Server 11 Bagian 2

  1. Untuk membuat DRBD server mailbox (primary) yg sudah dalam kondisi partisi , rekomendasinya bagaimana pak? perlukah kita membuat 1 partisi lagi khusus untuk kebutuhan DRDB.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.