Friday, April 22, 2011

Cara mengeset shared external storage (SAN) dengan Linux (CentOS, Fedora, RedHat)

External storage (SAN) umum digunakan untuk tempat penyimpanan bersama dari sejumlah server, yang dilengkapi dengan kemampuan standar redundansi data seperti Raid 0, 1, 5 dan kombinasinya. Pemilihan teknik redudansi data tersebut biasanya disesuaikan dengan kebutuhan tertentu dari sistem seperti optimalisasi penggunaan harddisk, kecepatan membaca atau kecepatan menulis. Pada contoh ini dilakukan tes sharing external storage dengan 2 server Linux.
External storage (SAN) biasanya dikenai sebagai device /dev/??? pada Linux, berikut ini adalah contoh pengesetan external storage pada distro Linux CentOS, Fedora dan RedHat.


------------- Di Linux-A -----------------

[root@msq1 shared]# fdisk -l
...
Disk /dev/sdb: 299.4 GB, 299462819840 bytes
255 heads, 63 sectors/track, 36407 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Dari respon di atas nama device-nya adalah /dev/sdb
Langkah berikutnya adalah melakukan format partisi dengan urut-urutan berikut ini:

[root@msq1 shared]# fdisk /dev/sdb
- buat paritisi dengan ukuran yang diinginkan
- tentukan tipe filesystem (ext2, ext3, dll)
- format partisi tersebut

Setelah proses di atas, hasilnya akan terlihat seperti berikut ini:

[root@msq1 shared]# fdisk -l
...
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       36407   292439196   83  Linux

Device yang telah diformat dinamakan /dev/sdb1, dengan tipe ext2 ("83").

---------------------- Di Linux-B ------------------------
Partisi yang telah diformat tersebut dapat dilihat pada Linux-B yang ke-dua, dengan ukuran yang persis sama di Linux-A:

 [root@msq2 /]# fdisk -l
...
Disk /dev/sdb: 299.4 GB, 299462819840 bytes
255 heads, 63 sectors/track, 36407 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       36407   292439196   83  Linux

Langkah berikutnya adalah melakukan mounting device /dev/sdb1 tersebut secara logikal dengan directory supaya dapat diakses (baca, tulis, eksekusi).

---------------------- Di Linux-A ------------------------
[root@msq2 /]# mount -t ext2 /dev/sdb1 /mnt/shared
[root@msq2 /]# cd /mnt/shared
[root@msq2 shared]# ls -l
total 16
drwx------ 2 root root 16384 Apr 21 21:11 lost+found
-rw-r--r-- 1 root root     0 Apr 21 22:38 test
[root@msq2 shared]# vi test2
the quick brown fox jumps over the lazy dogs
~
[root@msq2 /]# umount /mnt/shared

Setelah mounting device di atas, kemudian file teks "test2" dibuat dengan aplikasi vi dengan isi "the quick brown fox jumps over the lazy dogs". 
Kemudian mounting dilepaskan supaya dapat diambil alih oleh Linux-B, dengan proses berikut ini:

---------------------- Di Linux-B ------------------------
[root@msq1 /]# mount -t ext2 /dev/sdb1 /mnt/shared
[root@msq1 /]# cd /mnt/shared
[root@msq1 shared]# ls
lost+found  test  test2
[root@msq1 shared]# more test2
the quick brown fox jumps over the lazy dogs

Setelah dimounting oleh Linux-B di atas dapat dilihat bahwa file-file yang dibuat di Linux-A dapat diakses juga oleh Linux-B.
Penggunaan dari external storage ini terutama dalam fungsi failed over suatu server yang harus memberikan layanan yang terus-menerus, misalnya pada saat Linux-A rusak maka semua kondisi dan status file di external-storage dapat segera diambil alih oleh Linux-B tanpa perlu melakukan restore dari storage sekunder.


(TangSel 22apr11)