Shell dan Kernel Linux Ipvsadm

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