27
Sistem file dapat melakukan langkah berikut untuk mendapatkan informasi mengenai isi direktori daftar file, yaitu :
1. Menggunakan informasi cache sistem file. 2. Menggunakan disk device driver untuk membaca informasi dari disk.
3. Menyebabkan network device driver berukar informasi dengan remote machine
untuk menemukan rincian remote file yang diakses sistem Linux dapat mempunyai sistem file remote, di-mount secara remote melalui
NFS. Saat informasi telah tersedia, ls menuliskan dan video driver
menampilkan di layar. Pada perintah yang sederhana sekalipun, sistem operasi melibatkan kerja sama banyak fungsi untuk member layanan Bambang :
2009.
2.10 Shell dan Kernel Linux
Shell merupakan aplikasi yang memungkinkan pemakai dapat berkomunikasi dengan komputer. Tugas shell adalah membaca perintah yang
diberikan pemakai dan menterjemahkan perintah Command intrepreter tersebut sebagai suatu permintaan dan meneruskan ke kernel. Pada prompt
shell pemakai member perintah dan kemudian shell langsung memberi respon.
Setelah itu shell akan menanti perintah lain dari pemakai. Penggunaan shell seperti ini disebut penggunaan shell secara interaktif. Selain itu, shell juga
dapat member kemungkinan pemakai untuk membuat suatu prosedur atau utilitas yang melibatkan sejumlah perintah yang tersedia pada linux. Kernel
28
merupakan aplikasi inti dari sistem Linux. Tugas yang dipegang oleh kernel adalah :
1. Mengendalikan akses terhadap komputer. 2. Mengatur memori komputer.
3. Memelihara sistem file. 4. Mengalokasikan sumber daya computer di antara pemakai. Wilfridus :
2008 Kernel Linux merupakan sebuah perangkat lunak orisinil yang dibuat
oleh komunitas Linux. Kernel Linux yang pertama dipublikasikan adalah versi 0.01 oleh Linus pada tanggal 14 Maret 1991. Sistem berkas yang didukung
hanya sistem berkas Minix tetapi, kernel tersebut sudah mengimplementasikan proses UNIX secara tepat. Kernel Linux terus dikembangakan hingga pada
bulan Juni 1996, Linux 2.0 dirilis dengan memiliki dua kemampuan baru yang penting, yaitu: dukungan terhadap multiple architecture dan multiprocessor
architectures.
2.11 Linux Virtual Server.
Linux Virtual Server adalah sebuah perangkat lunak yang mengarahkan koneksi jaringan ke beberapa server yang memiliki beban kerja,
yang dapat digunakan untuk membangun layanan sangat scalable dan sangat tersedia Wensong : 1999. LVS menyalurkan session TCP dan UDP untuk
menyeimbangkan beban melalui beberapa real server. LVS sendiri berjalan pada Linux, LVS dapat menyeimbangkan koneksi dari end-users dengan
29
system operasi apapun kepada real server selama menggunakan koneksi HTTP ataupun UDP. Dalam LVS terdapat istilah yang digunakan antara lain :
1. Linux Director yaitu sebuah host dengan Linux dan LVS terinstal yang menerima paket dari end user dan mengirimkannya ke real server.
2. End User yaitu host yang memulai koneksi untuk mendapatkan informasi client.
3. Real Sever yaitu server yang menerima koneksi dari linux director. 4. Virtual IP Address atau VIP yaitu alamat IP yang ditangani oleh Linux
director untuk menjalankan sebuah servis.
5. Real IP Address atau RIP merupakan alamat IP yang sebenarnya dari Real Server
Mack : 2006. Alasan mengapa menggunakan LVS dalam membuat peneltian ini
adalah: 1. LVS merupakan perangkat lunak bebas. http:linuxvirtualserver.org
2. Mempunyai beberapa metode yang dapat digunakan untuk implementasi. 3. Server yang dapat dibuat dapat menggunakan LAN maupun WAN Zhang
: 1999 4. Dapat menggunakan beberapa sistem operasi yang berbeda. Zhang :
1999.
30
2.11.1 Arsitektur LVS
1. LVS-Direct Routing
Teknik pengiriman permintaan Direct Routing ini menggunakan alamat virtual IP yang sama dari real server dan director. Paket dari user
akan diteruskan langsung ke server yang sebenarnya. IP paket tidak dimodifikasi, sehingga real server harus dikonfigurasi untuk menerima lalu
lintas untuk alamat IP virtual server. Hal ini dapat dilakukan dengan menggunakan paket filtering untuk mengarahkan lalu lintas yang dialamatkan
dari alamat IP virtual server ke port lokal. Sehingga real server dapat mengirimkan balasan langsung kembali ke pengguna akhir. Horman : 2004
Gambar 2.3 Skema LVS-Direct Routing
31
sumber: http:www.linuxvirtualserver.orgVS-DRouting.gif
2. LVS-Tunneling
Pada LVS-Tunneling memungkinkan alamat paket ke alamat IP yang akan diarahkan ke alamat lain, mungkin juga ke jaringan yang berbeda. Dalam
konteks layer 4 swithing, tunneling sangat mirip dengan direct routing, kecuali ketika sebuah paket diteruskan akan dienkapsulasi ke dalam
sebuah paket alamat IP, tidak hanya memanipulasi frame Ethernet. Keuntungan dari metode ini adalah real server bisa berada di jaringan
yang berbeda.
Gambar 2.4 Skema LVS-Tunneling sumber: http:www.linuxvirtualserver.orgVS-IPTunneling.gif
32
3. LVS-NAT
NAT atau Network Address Translation yaitu sebuah metode yang memanipulasi alamat ip dan nomor port baik berasal dari sumber maupun
tujuannya. Alamat ip publik disamarkan untuk digunakan oleh alamat ip privat agar bisa berhubungan dengan internet. Linux Director dan real server
dihubungkan oleh switch. Real server biasanya menjalankan layanan yang sama dan mempunyai layanan yang isinya sama Maman : 2007.
Cara kerja LVS-NAT seperti yang ada di gambar 2.6 adalah sebagai berikut :
1. Ketika user mengakses layanan yang disediakan oleh server. Maka paket yang dikirmkan akan sampai ke director.
2. Director lalu akan memilih server berdasarkan penjadwalan dan menulis ulang alamat tujuan paket ke alamat IP real server lelu meneruskannya ke
real server. 3. Ketika korespondensi server terhadap proses permintaan dan balasan
sesuai dengan permintaan, maka dikirimkan ke director. 4. Director menulis ulang alamat dari paket balasan ke alamat IP dari real
server dan kemudian mengembalikan paket ke user. Horman : 2004
33
Gambar 2.5 Skema LVS-NAT sumber : http:www.linuxvirtualserver.orgVS-NAT.gif
Alasan penggunaan NAT dalam penelitian ini adalah sebagai berikut : 1. Real server dapat berjalan pada beberapa sistem operasi yang mendukung
protokol TCPIP. 2. Real server dapat menggunakan alamat IP private.
3. Hanya menggunakan 1 satu alamat IP Publik.
34
2.11.2 Algoritma Penjadwalan Pada LVS
Linux director perlu menerapkan algoritma jadwal tertentu pada LVS. Beberapa algoritma penjadwalan sceduling algorithm dalam LVS, antara
lain sebagai berikut : 1. Round-Robin adalah algoritma yang berfungsi untuk mengarahkan koneksi
jaringan pada
sebuah model
Round-Robin. Penjadwalan
ini memberlakukan semua real server sama menurut jumlah koneksi dan
waktu respon. Kelemahannya adalah membutuhkan peramalan beban load yang akurat untuk setiap request agar algoritma ini bisa berjalan
dengan efektif. 2. Weighted Round-Robin adalah algoritma yang didasari dari Round-Robin
scheduling . Algoritma ini memperlakukan real server dengan kapasitas
proses yang berbeda berdasarkan bobot masing-masing server. 3. Least Connection adalah algoritma untuk mengarahkan koneksi baru ke
real server dengan koneksi aktif yang paling sedikit. Penjadwalan ini merupakan penjadwalan yang dinamik, karena memerlukan perhitungan
koneksi aktif untuk masing-masing real server secara dinamik. 4. Weighted Least Connection adalah kumpulan algoritma penjadwalan least
connection, dimana dapat ditentukan bobot kinerja pada masing-masing real server.
Server yang memiliki nilai bobot yang lebih tinggi akan menerima persentase yang lebih besar dari koneksi-koneksi aktif pada satu
waktu.
35
5. Source Hashing adalah algoritma yang berfungsi untuk mengarahkan client ke real server yang sama, mengembangkan inisialisasi yang
digunakan oleh Squid. Keuntungan algoritma ini adalah dapat memastikan bahwa client menggunakan real server.
6. Destination Hashing adalah algoritma yang hampir sama dengan Source Hashing scheduling, namun menggunakan table hash pada alamat tujuan
sebagai ganti dari alamat asal yang sama. 7. Locality-Based
Least-Connection merupakan
penjadwalan yang
mengarahkan beban ke serveryang mempunyai beban sedikit. 8. Locality-Based Least-Connection with replication merupakan penjadwalan
yang bertujuan peyeimbang beban IP, biasanya untuk cache server. 9. Shortest Expected Delay merupakan penjadwalan yang mengatur beban ke
delay yang terpendek dari sebuah server. 10. Never
Queue merupakan
penjadwalan yang
mengatur ketika
ada idle server yang tersedia, pekerjaan akan dikirim ke server idle. Ketika tidak ada server idle akan menggunakan penjadwalan Shortest Expected
Delay. Dalam melakukan penelitian ini, penulis menggunakan algoritma penjadwalan
weighted round robin, dengan alasan :
1. Pada penjadwalan ini memberikan nilai bobot yang digunakan dalam menangani request yang datang ke server.
2. Algoritma ini mudah untuk menambah koneksi ke server-server sehingga dapat melayani lebih banyak request.
36
2.12 Ipvsadm
Ipvsadm digunakan untuk mengatur, memelihara atau memeriksa tabel server virtual pada kernel Linux. Linux Virtual Server dapat digunakan untuk
membangun layanan jaringan terukur berdasarkan cluster dari dua atau lebih node. Fitur yang didukung termasuk dua protokol TCP dan UDP, tiga
metode packet-forwarding NAT, tunneling, dan direct routing, dan delapan algoritma load balancing round robin, weighted round robin, least-
connection, weighted least-connection, locality-based least-connection, locality-based least-connection with replication, destination-hashing, and
source-hashing.http:linux.die.netman8ipvsadm. Instalasi Ipvsadm dilakukan pada Linux director. Pada linux director
tidak terdapat web server. Linux director seakan-akan hanya sebagai pembagi beban load balance untuk service http yang diberikan oleh web server yang
berada di belakang load balancer.
37
2.13 Drupal