Rabu, 03 Desember 2008

Memperbesar dan Mengurangi ukuran Partisi Harddisk dengan LVM

=============================================================================
Pengantar
=============================================================================
LVM (Logical Volume Management) memungkinkan ukuran hard disk dengan mudah
diperbesar/expand ataupun dikurangi/reduce. Ide dasar dari LVM adalah
memudahkan Anda dalam "meresize" ukuran partisi Harddisk Anda.
Dalam konsep LVM seluruh partisi harddisk disebut dengan "Physical Volume",
Kemudian Physical volume dimasukkan kedalam suatu "Volume Group", dari
Volume Group dibuatlah "Logical Volume".
Jika Anda ingin memanfaatkan partisi LVM maka Anda perlu menginstall utiliti
untuk mensetup LVM, jadi pastikan paket utiliti lvm2 (lvm2-2.02.06-6.0.RHEL4)
telah terinstall pada system Anda (dalam tulisan ini penulis menggunakan
Linux CentOS 4.4 final)


===============================================================================
Membuat partisi Harddisk LVM
===============================================================================

1. Membuat "Physical Volume"
--------------------------------
Untuk menerapkan partisi harddisk dengan LVM sebaiknya Anda memiliki
Harddisk lebih dari satu, tetapi dalam contoh kali ini kita hanya memiliki
sebuah harddisk (/dev/hda) yang sebelumnya terdiri dari beberapa partisi,
Misalkan Anda memiliki partisi hardisk /dev/hda10, dan /dev/hda11
kedua partisi ini masing-maisng ukurannya 2.80 GB dan 964.00 MB
lalu kedua partisi harddisk ini akan dijadikan sebagai Pyhisical Volume.
Untuk membuat Pyhisical Volume jalankan perintah sbb:

[root@sotnec ~]# pvcreate /dev/hda10
Physical volume "/dev/hda10" successfully created
[root@sotnec ~]# pvcreate /dev/hda11
Physical volume "/dev/hda11" successfully created


2. Membuat "Volume Group"
------------------------------
Selanjutnya Anda harus membuat "Volume Group" yang terdiri dari "Physical
Volume" /dev/hda10 dan /dev/hda11. Tetapi sebelumnya Anda buat dahulu
file konfigurasi LVM secara otomatis dengan perintah Sbb:

[root@sotnec ~]# vgscan
Reading all physical volumes. This may take a while...

Kemudian barulah Anda buat Volume Group dengan perintah sbb:

[root@sotnec ~]# vgcreate -v lvm-hda /dev/hda10 /dev/hda11
Wiping cache of LVM-capable devices
Adding physical volume '/dev/hda10' to volume group 'lvm-hda'
Adding physical volume '/dev/hda11' to volume group 'lvm-hda'
Archiving volume group "lvm-hda" metadata (seqno 0).
Creating volume group backup "/etc/lvm/backup/lvm-hda" (seqno 1).
Volume group "lvm-hda" successfully created

Perintah diatas akan membuat sebuah Volume Group dengan nama lvm-hda (nama ini
bisa didefinisikan sesuai keinginan Anda).

3. Membuat "Logical Volume"
------------------------------------
Dari Volume Group yang sudah ada Anda kemudian dapat membuat "Logical Volume",
sebelumnya lihat dahulu daftar Volume Group yang ada saat ini, Anda dapat menjalankan
perintah sbb:

[root@sotnec ~]# vgdisplay
--- Volume group ---
VG Name lvm-hda
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 3.74 GB
PE Size 4.00 MB
Total PE 958
Alloc PE / Size 0 / 0
Free PE / Size 958 / 3.74 GB
VG UUID 0pGE2d-07s0-5u3t-sZBH-osZp-T6DI-HGXDYO

Dan selanjutnya buatlah "Logical Volume" dengan perintah sbb:

[root@sotnec ~]# lvcreate -l 958 lvm-hda -n lvm0
Logical volume "lvm0" created

hasil perintah diatas akan membuat file device di /dev/lvm-hda/lvm0

Untuk melihat "Logical Volume" yang tadi sudah Anda buat jalankan perintah
sbb:

[root@sotnec ~]# lvdisplay
--- Logical volume ---
LV Name /dev/lvm-hda/lvm0
VG Name lvm-hda
LV UUID N3gRGE-2Kbp-jnnL-OwCo-CR9P-kq9g-ucBZ5l
LV Write Access read/write
LV Status available
# open 0
LV Size 3.74 GB
Current LE 958
Segments 2
Allocation inherit
Read ahead sectors 0
Block device 253:0


4. Memformat partisi LVM ("device lvm0") dengan File System ext3
----------------------------------------------------------------

Selanjutnya partsis LVM yang telah dibuat diformat dengan file system ext3,
lakukan perintah berikut :

[root@sotnec ~]# mkfs.ext3 /dev/lvm-hda/lvm0
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
490560 inodes, 980992 blocks
49049 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1006632960
30 block groups
32768 blocks per group, 32768 fragments per group
16352 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 22 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.


5. Memounting device "lvm0" (partisi LVM)
-----------------------------------------
Setelah selesai diformat maka partisi LVM Anda sudah dapat digunakan
untuk itu coba Anda mount ke direktori tertentu dalam file system linux,
misalnya kita akan memunting device /dev/lvm-hda/lvm0 ke direktori /media/lvm

[root@sotnec ~]# mount /dev/lvm-hda/lvm0 /media/lvm/
[root@sotnec ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda8 7.7G 3.7G 3.7G 51% /
/dev/hda6 6.7G 6.0G 363M 95% /opt/source
none 121M 0 121M 0% /dev/shm
/dev/mapper/lvm--hda-lvm0
3.7G 40M 3.5G 2% /media/lvm

Dari perintah df -h tampak bahwa partsis LVM Anda sudah di mount dan
tinggal digunakan. Coba Anda kopi atau salin file atau folder tertentu ke
dalam partisi atau direktori /media/lvm, contoh sbb:

[root@sotnec ~]# cp -rf /etc /media/lvm/

perintah diatas akan menyalin direktori /etc kedalam /media/lvm/
lalu coba lihat size yang telah digunakan saat ini dari partisi LVM Anda, sbb:

[root@sotnec ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda8 7.7G 3.7G 3.7G 51% /
/dev/hda6 6.7G 6.0G 363M 95% /opt/source
none 121M 0 121M 0% /dev/shm
/dev/mapper/lvm--hda-lvm0
3.7G 85M 3.5G 3% /media/lvm
[root@sotnec ~]# ls -al /media/lvm/
total 36
drwxr-xr-x 4 root root 4096 Apr 24 14:07 .
drwxr-xr-x 5 root root 4096 Apr 24 12:15 ..
drwxr-xr-x 86 root root 8192 Apr 24 14:07 etc
drwx------ 2 root root 16384 Apr 24 14:01 lost+found


Nah sudah berfungsi bukan partisi LVM Anda. Lalu bagaimana jika
partisi LVM Anda mulai penuh dan Anda ingin memperbesar ukuran dari partisi
LVM Anda saat ini. ? Nah untuk menjawabnya coba perhatikan bagian selanjutnya.


===============================================================================
Memperbesar/menambah (Expand) ukuran disk partisi LVM Anda.
===============================================================================

Suatu saat partisi LVM Anda akan kehabisan space atau dengan kata lain
Available size disk nya akan mendekati 0% alias Full penggunaan size nya. Nah
untuk menjaga-jaga Anda berniat untuk menambah ukuran/size partisi LVM anda
(contoh : "lvm0"). Nah bagaimanakah caranya ?, misalkan Anda memiliki partisi
Hard disk /dev/hda12 dengan ukuran 964.62 MB (misal: sebesar inilah tambahan size
yang akan Anda terapkan) . Nah partisi /dev/hda12 ini akan Anda jadikan
sebagai Physical Volume dari Volume Group "lvm-hda". Untuk itu Anda buatlah
terlebih dahulu "Physical Volume" /dev/hda12 dengan perintah sbb:

[root@sotnec ~]# pvcreate /dev/hda12
Physical volume "/dev/hda12" successfully created

Lalu coba cek seluruh "Physical Volume" yang ada saat ini:

[root@sotnec ~]# pvdisplay
--- Physical volume ---
PV Name /dev/hda10
VG Name lvm-hda
PV Size 2.80 GB / not usable 0
Allocatable yes (but full)
PE Size (KByte) 4096
Total PE 717
Free PE 0
Allocated PE 717
PV UUID BNk2Eo-ne4J-R4Xl-KYou-L8dF-xKBn-5UHFx5

--- Physical volume ---
PV Name /dev/hda11
VG Name lvm-hda
PV Size 964.00 MB / not usable 0
Allocatable yes (but full)
PE Size (KByte) 4096
Total PE 241
Free PE 0
Allocated PE 241
PV UUID g1tFCz-AULA-H6UY-NPFC-PRzZ-ekcc-9BkdEX

--- NEW Physical volume ---
PV Name /dev/hda12
VG Name
PV Size 964.62 MB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID RP1FCi-hwJ6-nLkP-hMuU-zM9i-BIcs-mB4GEz

[root@sotnec ~]# vgdisplay
--- Volume group ---
VG Name lvm-hda
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 3.74 GB
PE Size 4.00 MB
Total PE 958
Alloc PE / Size 958 / 3.74 GB
Free PE / Size 0 / 0
VG UUID 0pGE2d-07s0-5u3t-sZBH-osZp-T6DI-HGXDYO



Kemudian Anda harus memperluas (extend) Volume Group "lvm-hda" dimana sekarang
kita ingin Physical Volume /dev/hda12 menjadi anggota dari Volume Group
"lvm-hda", untuk itu jalankan perintah berikut:

[root@sotnec ~]# vgextend lvm-hda /dev/hda12
Volume group "lvm-hda" successfully extended

Coba cek volume group saat ini, seharusnya Volume Group "lvm-hda" ukuran size
nya bertambah bukan ? dari 3.74 GB menjadi 4.68 GB


[root@sotnec ~]# vgdisplay
--- Volume group ---
VG Name lvm-hda
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 3
Act PV 3
VG Size 4.68 GB
PE Size 4.00 MB
Total PE 1199
Alloc PE / Size 958 / 3.74 GB
Free PE / Size 241 / 964.00 MB
VG UUID 0pGE2d-07s0-5u3t-sZBH-osZp-T6DI-HGXDYO


Apakah "Logical Volume (lvm0)" ukurannya telah bertambah ?
---------------------------------------------------------
Untuk menjawabnya coba Anda mount ulang partisi /dev/lvm-hda/lvm0

[root@sotnec ~]# umount /media/lvm
[root@sotnec ~]# mount /dev/lvm-hda/lvm0 /media/lvm
[root@sotnec ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda8 7.7G 3.7G 3.7G 51% /
/dev/hda6 6.7G 6.0G 363M 95% /opt/source
none 121M 0 121M 0% /dev/shm
/dev/mapper/lvm--hda-lvm0
3.7G 85M 3.5G 3% /media/lvm

dari perintah "df -h " diatas terlihat bahwa partisi lvm0 belum
bertambah ukurannya, nah solusinya agar Logical Volume ukurannya
juga mengikuti ukuran sebagaimana ukuran real Volume Group "lvm-hda" saat ini
maka Anda harus mengextend "Logical Volume" lvm0 dengan perintah sbb:

[root@sotnec ~]# lvextend -l 1199 /dev/lvm-hda/lvm0 /dev/hda12
Extending logical volume lvm0 to 4.68 GB
Logical volume lvm0 successfully resized

Catatan:
-l 1199 menunjukkan total PE yang Anda dapat lihat dari perintah "vgdisplay"


Selanjutnya meresize juga ukuran partisi /dev/lvm-hda/lvm0. Untuk itu
coba lakukan langkah-langkah berikut ini:

Umount terlebih dahulu partisi /dev/lvm-hda/lvm0, sbb:

[root@sotnec ~]# umount /media/lvm/

Check/scan file system sbb:

[root@sotnec ~]# e2fsck -f /dev/lvm-hda/lvm0
e2fsck 1.35 (28-Feb-2004)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/lvm-hda/lvm0: 4034/490560 files (0.1% non-contiguous), 37159/980992
blocks

Kemudian coba Anda resize file system /dev/lvm-hda/lvm0, sbb:

[root@sotnec ~]# resize2fs /dev/lvm-hda/lvm0 4600M
resize2fs 1.35 (28-Feb-2004)
Resizing the filesystem on /dev/lvm-hda/lvm0 to 1177600 (4k) blocks.
The filesystem on /dev/lvm-hda/lvm0 is now 1177600 blocks long.


Coba Anda mount lagi /dev/lvm-hda/lvm0 sbb:

[root@sotnec ~]# mount /dev/lvm-hda/lvm0 /media/lvm/

Lalu lihatlah ukurannya saat ini, sbb:

[root@sotnec ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda8 7.7G 3.7G 3.7G 51% /
/dev/hda6 6.7G 6.0G 363M 95% /opt/source
none 121M 0 121M 0% /dev/shm
/dev/mapper/lvm--hda-lvm0
4.5G 85M 4.2G 2% /media/lvm

Dan coba lihat data yg ada pada /dev/lvm-hda/lvm0, tidak hilang
dan tetap ada bukan ?

[root@sotnec ~]# ls /media/lvm/
etc lost+found




===============================================================================
Mengurangi (Reduce) ukuran disk partisi LVM Anda.
===============================================================================

Hal yang sebaliknya dapat juga Anda lakukan (harus hati-hati !!) yaitu
mengurangi atau memperkecil ukuran partisi LVM Anda tetapi tentunya
pengurangan jangan sampai size total partisi LVM lebih kecil dari size yang sudah
digunakan pada partisi LVM tersebut. Nah untuk memperkecil atau mengurangi
partisi LVM , dapat Anda lakukan sbb:

Umount terlebih dahulu partisi /dev/lvm-hda/lvm0, sbb:

[root@sotnec ~]# umount /media/lvm/

Check/scan file system sbb:

[root@sotnec ~]# e2fsck -f /dev/lvm-hda/lvm0
e2fsck 1.35 (28-Feb-2004)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/lvm-hda/lvm0: 4034/588672 files (0.1% non-contiguous), 40237/1177600
blocks

Lalu resize partisi LVM (misalnya menjadi 4200M atau 4.2G) sbb:

[root@sotnec ~]# resize2fs /dev/lvm-hda/lvm0 4200M
resize2fs 1.35 (28-Feb-2004)
Resizing the filesystem on /dev/lvm-hda/lvm0 to 1075200 (4k) blocks.
The filesystem on /dev/lvm-hda/lvm0 is now 1075200 blocks long.


Dan cobalah Anda mount partisi LVM tersebut, sbb:

[root@sotnec ~]# mount /dev/lvm-hda/lvm0 /media/lvm/
[root@sotnec ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda8 7.7G 3.7G 3.7G 51% /
/dev/hda6 6.7G 6.0G 363M 95% /opt/source
none 121M 0 121M 0% /dev/shm
/dev/mapper/lvm--hda-lvm0
4.1G 85M 3.8G 3% /media/lvm

Nah tampak bukan ukuran Size partisi LVM ("lvm0") saat ini menjadi "+/- 4,1G".

Selamat mencoba..

By Henry Saptono

Implementasi IPVS & NAT untuk Clustering dan Load Balancing HTTP Server

IP virtual service merupakan fitur yang telah disediakan oleh linux kernel dalam bentuk
modul ataupun terintegrasi dalam kernel.
Untuk memastikan apakah kernel linux anda telah
mendukung IPVS maka jalankan perintah berikut ini:


[root@lp3tnf35 ~]# grep -i ip_vs /boot/config-2.6.17-5mdv
CONFIG_IP_VS=m
CONFIG_IP_VS_DEBUG=y
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m
CONFIG_IP_VS_FTP=m

Jika muncul output seperti diatas maka kernel telah mendukung IPVS.

Untuk memanage/administrasi IP Virtual Service/Server maka kita memerlukan tools,
tool tersebut
adalah ipvsadm. Jika belum terinstall maka sebaiknya Anda instal
terlebih dahulu , jika pada CD/DVD
distro yang Anda gunakan tidak tersedia maka Anda
dapat mendownloadnya di
http://www.linuxvirtualserver.org/software/kernel-2.6/.


Untuk mempersingkat penjelasan kita langsung saja menerapkan IPVS untuk cluster
dan load balance HTTP service.
Skenarionya sbb:

Kita memiliki sebuah Server Public (yang terhubung langsung dgn Internet) yg akan berfungsi
sebagai Load Balancer dan 2 buah Real server (cluster nodes) yang diletakkan pada segement
jaringan local. Spesifikasi IP address untuk masing-masing server sbb:

-Server Public (load balancer) memiliki IP Public 192.168.1.35/24 (eth0),
dan IP localnya 10.0.0.1/24 (eth1)
-Cluster node A memiliki IP local 10.0.0.10/24
-Cluster node B memiliki IP local 10.0.0.20/24


Internet
--------
|
|
|
192.168.1.35/24
=======================
(Load Balancer server)
======================
10.0.0.1/24
|
|
|
------------------------
| |
----------------- -------------------
10.0.0.10/24 10.0.0.20/24
---------------- ------------------
http http

Cluster server http



Langkah-langkah setup Load balancer - cluster hanya dilakuakn disisi server Load Balncer,
sedangkan disisi real sever cukup diaktifkan service httpd nya masing2x dgn asumsi data
atau dokumen webnya disinkronisasi(gunakan rsync).

Server Load balancer diharpakan memasquerade traffic dari Local network, gunakan iptables sbb:
-----------------------------------------------------------------------------------------------
[root@lp3tnf35 ~]# iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE


Menambah/membuat virtual service dgn tool ipvsdam, sbb:
---------------------------------------------------------
[root@lp3tnf35 ~]# ipvsadm -A -t 192.168.1.35:80 -s wrr

pada perintah diatas kita akan menambahkan virtual service http(port 80) pada
server load balancer(192.168.1.35) dengan scheduling wighted round robin (wrr).
Untuk lebih jauh mengenai wrr coba lihat "man ipvsadm".


Menambah/membuat real server dgn tool ipvsdam, sbb:
---------------------------------------------------

[root@lp3tnf35 ~]# ipvsadm -a -t 192.168.1.35:80 -r 10.0.0.10:80 -m
[root@lp3tnf35 ~]# ipvsadm -a -t 192.168.1.35:80 -r 10.0.0.20:80 -m -w 2


pada perintah diatas, perintah pertama akan menambahkan real server kedalam cluster
dengan IP 10.0.0.10 dan dengan weight faktor 1.
pada perintah diatas, perintah kedua akan menambahkan real server kedalam cluster
dengan IP 10.0.0.20 dan dengan weight faktor 2. Ini artinya jika ada 3 koneksi ke
load balncer maka 2 koneksi pertama diarahkan ke real server 10.0.0.20 dan 1 koneksi
terakhit ke 10.0.0.10.



Selamat mencoba......

By Henry Saptono






Selasa, 21 Oktober 2008

welcome to click howto

Just Click howto , berbagi banyak hal dan dapatkan banyak hal di 'clickhowto'.