Linux Multipath Setup Howto

Multipathing Di linux dengan Device Mapper
----------------------------------------------
1. Server IBM BladeCenter HS20 dengan RHEL 4
2. Storage HDS USP1100
3. Switch brocade 48000

Langsung aja ya..

Cek WWN dari HBA

cat /proc/scsi/qla2xxx/* |grep port|grep -v port-0
scsi-qla0-adapter-port=210000145e254fca;
scsi-qla0-port-1=50060160b021b712:500601683021b712:018100:82;
scsi-qla1-adapter-port=210000145e254fcb;
scsi-qla1-port-1=50060160b021b712:500601693021b712:018100:82;

Cek Aplikasi Device mapper & Installasi

rpm -qa|grep device-mapper

Jika "device-mapper" belum terinstall di system, silahkan install terlebih dahulu, disini saya mendownload menggunakan repository CentOS.

wget ftp://ftp.pbone.net/mirror/ftp.centos.org/4.6/os/i386/CentOS/RPMS/device-mapper-multipath-0.4.5-27.RHEL4.i386.rpm
wget ftp://ftp.pbone.net/mirror/ftp.centos.org/4.6/os/i386/CentOS/RPMS/sysfsutils-1.2.0-1.i386.rpm
rpm -ivh sysfsutils-1.2.0-1.i386.rpm
rpm -ivh device-mapper-multipath-0.4.5-27.RHEL4.i386.rpm

ModProbe ke Kernel
Tambahkan modul "device mapper" tersebut di kernel menggunakan modprobe.

modprobe dm-multipath

Startup Config
Agar service Multipath di load saat startup system gunakan perintah dibawah.

chkconfig multipathd on
service multipathd start

Inisialisasi Multipathing untuk Pertama Kali

dmsetup ls --target=multipath

Jika hasilnya seperti dibawah berarti proses inisialisasinya berhasil, next..

360060e80042ab00000002ab00000010b       (253, 0)

Cek Multipathingnya

multipath -ll
360060e80042ab00000002ab00000010b
[size=50 GB][features="0"][hwhandler="0"]
\_ round-robin 0 [prio=1][active]
\_ 1:0:0:0 sdb 8:16 [active][ready]
\_ round-robin 0 [prio=1][enabled]
\_ 2:0:0:0 sdc 8:32 [active][ready]

Gather UUID block devicesnya

scsi_id -g -s /block/sdb
360060e80042ab00000002ab00000010b
scsi_id -g -s /block/sdc
360060e80042ab00000002ab00000010b

User Friendly Name
Edit Konfigurasi, Untuk menambahkan device yang akan di "black list" dari multipathing,
penggunaan "Friendly Name", di Multipathnya.

vi /etc/multipath.conf
# add black list
# Blacklist all devices by default. Remove this to enable multipathing
# on the default devices.
devnode_blacklist {
devnode cciss
devnode fd
devnode hd
devnode md
devnode sr
devnode scd
devnode st
devnode ram
devnode raw
devnode loop
devnode sda # internal disk saya
}
 
## Use user friendly names, instead of using WWIDs as names.
defaults {
user_friendly_names yes
path_grouping_policy multibus
failback immediate
}

Simpan Konfigurasinya

multipath -F

Cek Konfigurasi tadi

multipath -v2 -ll
create: mpath0 (360060e80042ab00000002ab00000010b)
[size=50 GB][features="0"][hwhandler="0"]
\_ round-robin 0 [prio=1]
\_ 1:0:0:0 sdb 8:16 [active][ready]
\_ round-robin 0 [prio=1]
\_ 2:0:0:0 sdc 8:32 [active][ready]

Tambahkan Nama devices ke database Multipath

multipath -v3|egrep "vendor|product"
vendor = HITACHI
product = OPEN-V
vendor = HITACHI
product = OPEN-V
vi /etc/multipath.conf
#-add config-#
devices {
device {
vendor "HITACHI"
product "OPEN-V."
getuid_callout "/sbin/scsi_id -g -u -p0x80 -s /block/%n"
}
}
#-end config-#

Simpan konfigurasi, dan cek kembali konfigurasi multipathnya.

multipath -F
multipath -ll
mpath0 (SHITACHI_OPEN-V_________10928_)
[size=50 GB][features="0"][hwhandler="0"]
\_ round-robin 0 [prio=1][active]
\_ 1:0:0:0 sdb 8:16 [active][ready]
\_ round-robin 0 [prio=1][enabled]
\_ 2:0:0:0 sdc 8:32 [active][ready]

Membuat Mount Point Baru
Setelah multipathingnya sudah Ok, kita lanjutkan dengan konfigurasi disk menggunakan LVM.

fdisk /dev/mapper/mpath0

Lalu Buat partisinya dengan type "8e/Linux LVM", setelahnya bisa dilakukan reboot system atau meregister dan mapping hasil partisi dari "mpath0".

kpartx -a /dev/mapper/mpath0

Seperti defaultnya LVM, kita coba untuk membuat phisycal disknya.

pvcreate /dev/mapper/mpath0p1

Lalu kita buat volume group dengan nama "vg00" dan tambahkan disk hasil multipathing tadi.

vgcreate vg00 /dev/mapper/mpath0p1

Lalu kita buat logical volume dengan nama "lvol1"
dengan size untuk pertama kali sebesar 25GB di volume group "vg00".

lvcreate -L 25G -n lvol1 vg00

Selanjutnya define filesystem di logical volume tadi.

mkfs.ext3 /dev/vg00/lvol1
mkdir /archive
mount /dev/vg00/lvol1 /archive

Jangan lupa untuk menambahkan list mount point diatas tadi di fstab.

vi /etc/fstab
# SAN Disk
/dev/vg00/lvol1 /archive ext3 defaults 1 2

Cek mount pointnya.

df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3              20G  9.2G  9.2G  50% /
/dev/sda1             190M   18M  163M  10% /boot
none                  2.0G     0  2.0G   0% /dev/shm
/dev/sda6              15G  4.7G  9.0G  35% /home
/dev/sda7             9.7G   56M  9.1G   1% /opt
/dev/sda8             3.9G   59M  3.6G   2% /tmp
/dev/sda5              15G  7.2G  6.6G  53% /var
/dev/mapper/vg00-lvol1   25G   77M   24G   1% /archive

Extend Mount Point Barunya
Selanjutnya, simulasi penambahan size secara on-the-fly

lvdisplay /dev/vg00/lvol1
--- Logical volume ---
LV Name                /dev/vg00/lvol1
VG Name                vg00
LV UUID                uRNOWC-2OQ8-SNSD-BgB1-3i1y-eYVe-21Y11n
LV Write Access        read/write
LV Status              available
# open                 1
LV Size                35.00 GB
Current LE             8960
Segments               1
Allocation             inherit
Read ahead sectors     0
Block device           253:1

Menambahkan sebesar 10G, sehingga total menjadi 35G untuk mount point "/archive".

lvextend -L +10G /dev/vg00/lvol1

Setelah sukses menambahkan di logical volumenya, selanjutnya adalah me-resize mount point "/archive" tadi secara on-the-fly.

ext2online /archive

Kita coba cek lagi size mount pointnya

df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3              20G  9.2G  9.2G  50% /
/dev/sda1             190M   18M  163M  10% /boot
none                  2.0G     0  2.0G   0% /dev/shm
/dev/sda6              15G  4.7G  9.0G  35% /home
/dev/sda7             9.7G   56M  9.1G   1% /opt
/dev/sda8             3.9G   59M  3.6G   2% /tmp
/dev/sda5              15G  7.2G  6.6G  53% /var
/dev/mapper/vg00-lvol1 35G   81M   33G   1% /archive

Done.

Printed from: http://dot.choosen.net/2008/06/27/linux-multipath-setup-howto/ .
© 2010.

7 Comments   »

  • Igor Chubin says:

    Thank you for the great post.

    Can you tell me please,
    what language is this?
    Indonesian? Javanese?

    I want to copy some examples from here and make link to the page and I want to specify the language of it.

  • hendra says:

    @igor
    you're welcome igor, yes! this post used Indonesian language, you can copy, distribute and modified this post with your language.;)

  • Henri Simatupang says:

    Olrite...:d

  • jay says:

    Apakah ini berlaku juga untuk mesin DS4700 Storage Server, IBM xSeries 336 , SAN Fiber Channel Switch ? Saya memiliki masalah,belum bisa menghubungkan ketiga2nya. Instalasi hardwarenya sudah sesuai dan berjalan baik. Tinggal applikasinya (CentOS). Terimakasih

  • hendra says:

    @jay: Yess, bisa mas jay, karena "device-mapper" ini di embed untuk linux dan bersifat open source.

    Jadi untuk konfigurasi yang telah saya lakukan diatas, semuanya dalam level Operating System / Linux itu sendiri.

    So, semua dikondisikan sudah terkonfigurasi dengan baik, storage dan server sudah bisa berkomunikasi yang biasanya ditandai oleh san-disk (lun) yang sudah terditeksi diserver.

    Jadi kalo saya kutip dari comment mas jay

    "...Saya memiliki masalah,belum bisa menghubungkan ketiga2nya..."

    selama ketiganya belum bisa "ngobrol" ya multipathing ini tidak akan sukses. :d

  • jay says:

    Oh..kalau soal komunikasi hardware. ketiga2nya sudah bisa (dikenali lewat Bios). Maksud saya apakah metode instalasi diatas bisa diterapkan pada server saya ? Sebanarnya fuungsi multipath itu apa sih ?

  • hendra says:

    :d, maksud saya dikenali ketiganya dimasing-masing level, jadi agar ketiganya bisa komunikasi dari level server anda harus punya sebuah card HBA, nah HBA itu kan punya unik number (WWN) semacam mac address kalo di NIC, WWN itu harus didaftarkan di SAN Fiber Channel Switch anda, lalu dilanjut dengan create disk logikal di DS4700 sesuai yang anda butuhkan, setelah disk yang dibuat tadi terditeksi/dikenali di level server, saya nyatakan komunikasi ketiganya ok,

    anda bisa lanjut setup dengan langkah2 yang telah saya berikan diatas.

    untuk pengertian multipathing sendiri mungkin bisa merujuk ke wikipedia :D

    kurang lebihnya bisa ke gmail saya di hendraw4n[et]gmail[dat]com, atau profesional services ketempat anda (maindays) :d

RSS feed for comments on this post , TrackBack URI

Leave a Reply


:) :( :d :"> :(( :n/ :x 8-| /:) :o :-? :-" :-w ;) [-( :)>- more »

  • Search

  • Archives