• Tidak ada hasil yang ditemukan

Institutional Repository | Satya Wacana Christian University: Pemodelan Arsitektur Cluster Virtual Server dengan Hyper-V Pada Windows Server 2008 R2 T1 672008175 BAB II

N/A
N/A
Protected

Academic year: 2017

Membagikan "Institutional Repository | Satya Wacana Christian University: Pemodelan Arsitektur Cluster Virtual Server dengan Hyper-V Pada Windows Server 2008 R2 T1 672008175 BAB II"

Copied!
17
0
0

Teks penuh

(1)

6

Bab 2

Tinjauan Pustaka

2.1

Penelitian Sebelumnya

Kebutuhan akan proses komputasi yang lebih cepat sangat

diperlukan untuk menangani permintaan dalam sebuah web server.

Salah satu cara yang ditawarkan adalah dengan supercomputer, yaitu

komputer yang didesain khusus dengan spesifikasi yang tinggi

sehingga dapat memberikan proses komputasi yang lebih baik. Salah

satu kekurangannya adalah harganya yang sangat mahal.

Cluster adalah jawaban untuk komputer-komputer dengan

spesifikasi menengah kebawah agar dapat menghasilkan proses

komputasi dengan lebih baik. Cluster memberikan kemudahan untuk

menggunakan sumber daya yang tersebar. Dengan cluster ing proses

komputasi dapat dibagi ke beberapa komputer sehingga dapat

dihasilkan proses komputasi yang lebih baik.

Pada penelitian sebelumnya telah dilakukan penerapan

teknologi clustering dengan skema load balancing untuk

menganalisis kinerja web server (Pamungkas, 2011) dan juga

penelitian tentang clustering dan virtualisasi dengan sistem operasi

linux menggunakan Haproxy dan KVM (Saputro, 2012). Kelebihan

sistem cluster adalah tidak diharuskan menggunakan komputer

server atau komputer dengan spesifikasi yang tinggi. Dengan

komputer desktop pun dapat dilakukan clustering, dengan catatan

(2)

Gambar 2.1 menunjukkan alur kerja cluster konvensional dengan

load balancer.

Gambar 2.1 Alur kerja loa d bala ncing

Load balancer membagi beban kerja ke beberapa komputer

yang ada untuk menjalankan tugas yang sama. Hal ini

memungkinkan pekerjaan dilakukan dengan lebih cepat

dibandingkan apabila dikerjakan oleh hanya satu komputer saja dan

dapat meringankan beban kerja komputer, serta mempercepat waktu

respons. Load balancer juga bertindak sebagai penengah antara

cluster dan pengguna, dimana cluster merupakan sekumpulan server

yang siap melayani banyak pengguna.

Yang membedakan penelitian ini dan penelitian sebelumnya

adalah :

1. Perangkat lunak virtualisasi dan load balancer.

2. Sistem operasi.

3. Arsitektur jaringan.

2.2

Konsep Jaringan Komputer

Protokol adalah sebuah aturan standar yang mengatur atau

mengijinkan terjadinya hubungan, komunikasi, dan perpindahan

data antara dua atau lebih komputer. Protokol dapat diterapkan pada

(3)

Pada tingkatan yang terendah, protokol mendefinisikan

koneksi perangkat keras. Prinsip dalam membuat protokol ada tiga

hal yang harus dipertimbangkan, yaitu efektivitas, kehandalan, dan

kemampuan dalam mengatasi kegagalan di jaringan. Protokol

distandarisasi oleh beberapa organisasi yaitu IETF, ETSI, ITU, dan

ANSI. Gambar 2.2 menunjukkan model layer pada TCP/IP dan OSI.

Gambar 2.2 Model la yer pa da TCP/IP da n OSI

2.2.1 OSI

Open System Interconnection (OSI) adalah suatu

model konseptual yang terdiri atas tujuh layer, yang

masing-masing la yer tersebut mempunyai fungsi yang berbeda. OSI

dikembangkan oleh badan Internasional yaitu Internationa l

Organization for Standardization (ISO) pada tahun 1977.

Definisi masing- masing layer pada model OSI:

Application adalah layer paling tinggi dari model OSI, seluruh layer dibawahnya bekerja untuk la yer ini.

Tugas dari application layer adalah berfungsi sebagai

antar muka aplikasi dengan fungsionalitas jaringan.

Mengatur bagaimana aplikasi dapat mengakses

(4)

kesalahan. Protokol yang berada dalam lapisan ini

adalah HTTP, FTP, SMTP, NFS.

Presentation berfungsi untuk mentranslasikan data yang hendak ditransmisikan oleh aplikasi ke dalam

format yang dapat ditransmisikan melalui jaringan.

Protokol yang berada dalam level ini adalah perangkat

lunak redirektor (redirector software), seperti layanan

Workstation (dalam Windows NT) dan juga Network

shell (semacam Virtual Network Computing (VNC)

atau Remote Dekstop P rotocol (RDP).

Session berfungsi untuk mendefinisikan bagaimana koneksi dapat dibuat, dipelihara, atau dihancurkan.

Selain itu, di level ini juga dilakukan resolusi nama.  Transport berfungsi untuk memecah data ke dalam

paket-paket data serta memberikan nomor urut ke

paket-paket tersebut sehingga dapat disusun kembali

pada sisi tujuan setelah diterima. Selain itu, pada level

ini juga dibuat sebuah tanda bahwa paket diterima

dengan sukses, dan mentransmisikan ulang terhadap

paket-paket yang hilang di tengah jalan.

Network berfungsi untuk mendefinisikan alamat-alamat IP, membuat header untuk paket-paket, dan

kemudian melakukan routing melalui internetworking

dengan menggunakan router dan switchlayer 3.  Data Link befungsi untuk menentukan bagaimana

bit-bit data dikelompokkan menjadi format yang disebut

(5)

kesalahan, flow control, pengalamatan perangkat keras

seperti halnya Media Access Control Address (MAC),

dan menetukan bagaimana perangkat-perangkat

jaringan seperti hub, br idge, repeater, dan switch layer

2 beroperasi.

Spesifikasi IEEE 802, membagi level ini menjadi dua

level anak, yaitu lapisan Logical Link Control (LLC)

dan lapisan Media Access Control (MAC).

Physical adalah layer paling bawah dalam model OSI, berfungsi untuk mendefinisikan media transmisi

jaringan, metode pensinyalan, sinkronisasi bit,

arsitektur jaringan (seperti halnya Ethernet atau Token

Ring), topologi jaringan dan pengkabelan.

Selain itu, level ini juga mendefinisikan bagaimana

Network Interface Card (NIC) dapat berinteraksi

dengan media kabel atau radio.

2.2.2 TCP/IP

Transmission Control P rotocol / Internet P rotocol

(TCP/IP) adalah standar komunikasi data yang digunakan

oleh komunitas internet dalam proses tukar- menukar data

dari satu komputer ke komputer lain di dalam jaringan

internet.

Protokol TCP/IP dikembangkan pada akhir dekade

1970-an hingga awal 1980-an sebagai sebuah protokol

standar untuk menghubungkan komputer-komputer dan

jaringan untuk membentuk sebuah Wide Ar ea Network

(6)

yang bersifat independen terhadap mekanisme transport

jaringan fisik yang digunakan, sehingga dapat digunakan di

mana saja.

Definisi masing- masing layer pada model TCP/IP:

Application merupakan layer paling atas pada model TCP/IP, yang bertanggung jawab untuk menyediakan

akses kepada aplikasi terhadap layanan jaringan

TCP/IP. Protokol ini mencakup protokol Dynamic

Host Configuration P rotocol (DHCP), Domain Name

System (DNS), Hypertext Transfer P rotocol (HTTP),

F ile Transfer P rotocol (FTP), Telnet, Simple Ma il

Transfer P rotocol (SMTP), Simple Network

Management P rotocol (SNMP), dan masih banyak

protokol lainnya.

Transport berguna untuk membuat komunikasi menggunakan sesi koneksi yang bersifat

connection-oriented atau broadcast yang bersifat connectionless.

Protokol dalam lapisan ini adalah Transmission

Control P rotocol (TCP) dan User Diagram P rotocol

(UDP).

Internet berfungsi untuk melakukan pemetaan

(routing) dan enkapsulasi paket-paket data jaringan

menjadi paket-paket IP.

Protokol yang bekerja dalam lapisan ini adalah

Internet P rotocol (IP), Address Resolution P rotocol

(ARP), Internet control Message P rotocol (ICMP),

(7)

Network Interface berfungsi untuk meletakkan frame-frame jaringan di atas media jaringan yang digunakan.

2.3

Web Server

Web server adalah komputer yang dikhususkan untuk

menaruh data website dan diharuskan dapat bekerja secara terus

menerus. Semua komputer logikanya bisa dijadikan server, namun

server yang khusus untuk website punya spesifikasi khusus. Hal ini

untuk menjaga agar kecepatan server stabil dan memenuhi kriteria

yang diharapkan. Selain bergantung pada spesifikasi hardware dan

software, kecepatan web server juga bergantung pada akses internet

di tempat server berada atau juga tergantung pada kecepatan Internet

Service P rovider (ISP) yang digunakan.

Web server memberikan layanan data yang berfungsi

menerima permintaan HTTP atau HTTPS dari pengguna yang

dikenal dengan web browser dan mengirimkan kembali hasilnya

dalam bentuk halaman- halaman web yang umumnya berbentuk

dokumen HTML.

Walaupun pada umumnya web server adalah untuk

menempatkan situs web, tetapi pada perkembangannya digunakan

juga sebagai tempat penyimpanan data ataupun untuk menjalankan

beberapa aplikasi.

2.3.1 Apache

Apache merupakan web server yang paling banyak

digunakan di internet. Hal ini dikarenakan sifatnya yang

opensource dan kemudahan kostumisasinya. Apache pertama

(8)

ini telah tersedia apache yang dapat digunakan untuk sistem

operasi Windows.

Apache memiliki program pendukung yang cukup

banyak, hal ini memberikan layanan yang cukup lengkap

bagi penggunanya. Beberapa dukungan apa che :

1. Kontrol Akses.

Kontrol ini dapat dijalankan berdasarkan nama host atau

nomor IP.

2. Common Gateway Interface (CGI)

Yang paling terkenal untuk digunakan adalah P ractica l

Extraction and Report Language (Perl), yang didukung

oleh apache dengan menempatkannya sebagai modul

(mod_perl)

3. P ersonal Home P age/P HP Hypertext P rocessor (PHP)

Program dengan metode semacam CGI, yang

memproses teks dan bekerja di server. Apache

mendukung PHP dengan menempatkannya sebagai salah

satu modulnya (mod_php). Hal ini membuat kinerja PHP

menjadi lebih baik.

4. Server Side Includes (SSI)

Web server Apache mempunyai kelebihan dari

beberapa pertimbangan di atas :

1. Apache termasuk dalam kategori freeware.

2. Apache mudah sekali proses instalasinya jika dibanding

web server lainnya seperti NCSA, IIS, dan lain- lain.

3. Mampu beroperasi pada berbagai platform sistem

(9)

4. Mudah mengatur konfigurasinya. Apache hanya

mempunyai empat file konfigurasi.

5. Mudah dalam menambahkan periphera l lainnya ke

dalam platformweb servernya.

2.3.2 Map Server

Map server merupakan aplikasi opensource yang

memungkinkan sebuah data peta diakses melalui web.

Teknologi ini pertama kali dikembangkan oleh Minesotta

University. Pengguna dapat dengan mudah melihat dan

mengubah tampilan peta seperti zoom, rotate, dan

menampilkan informasi (seperti menampilkan info jalan) dan

analisis (seperti menentukan rute perjalanan) pada

permukaan peta geografi.

Map server bekerja secara berdampingan dengan

aplikasi web server. Web server menerima request peta

melalui Map server. Map server merespon r equest terhadap

peta dan mengirimkannya ke web server. Gambar 2.3

menjelaskan hubungan kerja map server dan web server.

(10)

Secara sederhana map server menjalankan executable

aplikasi Common Gateway Interface (CGI) pada web server

yang secara teknis merupakan proses stateless berbasis pada

HTTP. Stateless adalah sebuah proses permintaan yang

dilanjutkan dengan stop running. Aplikasi CGI menerima

permintaan dari web server, kemudian proses dilakukan dan

mengembalikan respons atau data ke web server. Map server

CGI executable bekerja sebagai perantara antara file peta

dengan program web server yang meminta peta. Permintaan

di lewatkan dalam bentuk CGI parameter dari web server

menuju map server. Gambar yang di buat oleh map server

selanjutnya memberikan hasil ke web server dan selanjutnya

menuju pengguna melalui web browser.

2.4

Virtual Machine

Virtual Machine (VM) adalah suatu environment, biasanya

adalah sebuah program atau sistem operasi yang tidak ada secara

fisik tetapi dapat dijalankan dalam environment lain. Virtual

machine pada mulanya didefinisikan oleh Gerrard J. Popek dan

Robert P. Goldberg pada tahun 1974 sebagai sebuah duplikat yang

efisien dan terisolasi dari suatu mesin asli.

Ide dasar dari VM adalah mengabtraksi perangkat keras dari

suatu komputer ke beberapa environment eksekusi, sehingga

menciptakan ilusi bahwa masing- masing environment menjalankan

komputernya sendiri. VM terdiri dari dua kategori besar, dipisahkan

menurut cara penggunaan dan tingkat keterhubungannya dengan

mesin- mesin aslinya. Sebuah VM sistem adalah perangkat yang

(11)

sebuah sistem operasi yang lengkap pula. Sebaliknya, VM proses

didesain untuk menjalankan sebuah program komputer tertentu

(tunggal), yang berarti VM ini mendukung proses tertentu juga.

Dengan virtualisasi sebuah komputer fisik dapat menjalankan

beberapa VM, masing- masing dengan OS yang berbeda dan aplikasi

yang berbeda pula. VM dibagi berdasarkan tingkat virtualisasinya

menjadi beberapa bagian, yaitu:

2.4.1.1Virtualisasi penuh, yang mensimulasikan seluruh fitur

perangkat keras sehingga memungkinkan perangkat lunak

berjalan pada VM tanpa modifikasi.

2.4.1.2Virtualisasi paruh, dimana tidak semua perangkat keras

disimulasikan.

2.4.1.3Virtualisasi asli, yang merupakan virtualisasi penuh

digabungkan dengan bantuan perangkat keras yang mendukung

virtualisasi.

2.5

Cluster

Cluster adalah sekumpulan komputer (umumnya komputer

server) yang bekerja bersama-sama tetapi dilihat dari sisi pengguna

adalah satu buah unit komputer. Proses menghubungkan komputer

agar dapat bekerja seperti itu disebut clustering.

Cluster didesain agar dapat meningkatkan kemampuan

sebuah server, yakni dengan meningkatkan hal- hal berikut:

 Toleransi kesalahan (fail over), server lainnya akan mengambil alih kerja server utama ketika server utama mengalami

kegagalan. Pengguna tidak akan melihat pergantian peran ini.

(12)

menunjukkan pembagian beban kerja tiap node sebelum terjadi

kegagalan.

Gambar 2.4 Persenta se kerja sebelum kega gala n

Gambar 2.5 menunjukkan pembagian kerja tiap node setelah

terjadi kegagalan di salah satu node.

Gambar 2.5 Persenta se kerja setela h kega gala n

 Penyerataan beban (load balancing), pendistribusian beban ke semua node. Dengan begitu, kinerja dan skalabilitas server

menjadi lebih baik.

Karena menggunakan lebih dari satu buah server, maka

manajemen dan perawatan sebuah server cluster jauh lebih rumit

dibandingkan dengan manajemen server tunggal, meskipun lebih

murah. Cluster virtual dibangun dari node-node server yang berupa

(13)

2.7

Load Balancing

Load balancing adalah teknik untuk mendistribusikan beban

trafik pada dua atau lebih jalur koneksi secara seimbang, agar trafik

dapat berjalan optimal, memaksimalkan throughput, memperkecil

waktu tanggap dan menghindari overload pada salah satu jalur

koneksi. Load balancing digunakan pada saat sebuah server yang

telah memiliki jumlah pengguna yang telah melebihi maksimal

kapasitasnya. Load balancing juga mendistribusikan beban kerja

secara merata di dua atau lebih komputer, jalur jaringan, CPU, hard

drive, atau sumber daya lainnya untuk mendapatkan pemanfaatan

sumber daya yang optimal.

Node-node dalam cluster merespon permintaan pengguna

secara bersama-sama. Bahkan beberapa permintaan yang datang dari

satu pengguna dapat direspon oleh beberapa node. Hal ini

mempercepat pengolahan dan mempersingkat waktu respon kepada

pengguna. Beban kerja tiap node dapat dibagi prioritasnya

tergantung dengan kemampuannya atau beban dapat dibagi secara

merata ke semua host.

Load balancer adalah software atau hardware yang bertugas

membagi beban kerja ke node-node yang terhubung dalam satu

cluster. Disaat load balancer menerima permintaan layanan dari

pengguna, maka permintaan tersebut akan diteruskan ke node-node.

Load balancer dapat menentukan node mana yang memiliki load

yang lebih rendah dan respon yang lebih cepat. Bahkan load

balancer bisa menghentikan akses ke node yang sedang mengalami

masalah dan hanya meneruskannya ke node yang dapat memberikan

(14)

umumnya dimiliki load ba lancer, sehingga layanan seolah-olah

tidak ada gangguan di mata pengguna.

Teknologi load balancing dapat menjadi salah satu solusi yang efektif dan efisien untuk menciptakan sistem yang handal dengan tingkat ketersediaan tinggi (high availability), khususnya

sebagai web server.

Sistem load balancing dapat dibuat dengan banyak cara.

Pembuatannya tidak terikat oleh sebuah sistem operasi saja, atau

sebuah perangkat saja. Secara garis besar sistem load ba lancing

terbagi menjadi tiga kategori, yaitu:

1. DNS Round Robin.

Pembagian kerja load balancing berdasarkan nama domain

yang diakses oleh pengguna. Alamat ip dari server-server yang

diwakili oleh nama domain akan diberikan kepada pengguna

secara bergiliran sesuai dengan algoritma round robin.

2. Integrated

Merupakan solusi load balancing dari sebuah aplikasi atau

sistem operasi. Biasanya aplikasi atau sitem operasi yang

memiliki kemampuan beroperasi sebagai server.

Contoh: Network Load Balancing (N LB) dari sistem operasi

Windows Server.

3. Dedicated

Dibagi menjadi 3 jenis:

 Load balancing dengan hardware.  Load balancing dengan software.

(15)

2.8

Parallel Computing

P arallel computing adalah salah satu teknik komputasi yang

dilakukan secara bersamaan. Biasanya digunakan untuk mengolah

data dalam jumlah besar atau melakukan proses komputasi yang

banyak. P ara llel computing terdiri dari banyak komputer yang

dihubungkan dalam jaringan dan mampu bekerja secara paralel

untuk menyelesaikan suatu masalah. Diperlukan middleware yang

bertugas mengatur pembagian pekerjaan antar node dalam satu

mesin paralel.

Berikut ini adalah klasifikasi arsitektur parallel computing

berdasarkan aliran instruksi oleh Michael J. Flynn:

2.8.1 SISD (Single Instruction Single Data Stream)

Suatu tipe komputer yang mengerjakan instruksi

secara terurut satu demi satu. Biasanya merupakan

komputer dengan satu unit pemroses (single

processor).

2.8.2 SIMD (Single Instruction Multiple Data Stream)

Tipe komputer yang mengerjakan instuksi yang sama

dengan himpunan data yang berasal dari aliran data

yang berbeda.

2.8.3 MISD (Multiple Instruction Single Data Stream)

Komputer ini memiliki banyak unit pemroses yang

masing- masing mengerjakan instruksi yang berbeda

terhadap aliran data yang sama. Belum ada bentuk

nyata komputer jenis ini. Kecuali dalam bentuk

(16)

2.8.4 MIMD (Multiple Instrruction Multiple Data

Stream)

Tipe komputer yang memiliki banyak unit pemroses

dan dapat mengerjakan banyak instruksi terhadap

banyak aliran data yang berbeda. Model ini adalah

dasar pemikiran pengembangan parallel computing.

2.9

Algoritma Penjadwalan

Load balancing menggunakan algoritma dalam proses

pembagian beban kerja. Beberapa jenis algoritma yang ada antara

lain:

 Round Robin.

Algoritma Round Robin merupakan algoritma yang paling

sederhana dan banyak digunakan oleh perangkat load

balancing. Algoritma ini membagi beban secara bergiliran dan

berurutan dari satu server ke server lain sehingga membentuk

putaran.

Gambar 2.6 Alur kerja a lgoritma Round Robin  Ratio.

Ratio (rasio) merupakan sebuah parameter yang diberikan untuk

(17)

load balancing. Dari parameter Ratio ini, akan dilakukan

pembagian beban terhadap server-server yang diberi rasio.

Server dengan rasio terbesar diberi beban besar, begitu juga

dengan server dengan rasio kecil akan diberi beban lebih

sedikit.  F astest.

Algoritma ini melakukan pembagian beban dengan

mengutamakan server-server yang memiliki respon yang paling

cepat. Server di dalam jaringan yang memiliki respon paling

cepat merupakan server yang akan mengambil beban pada saat

permintaan masuk.  Least Connection.

Algoritma Least Connection akan melakukan pembagian beban

berdasarkan banyaknya koneksi yang sedang dilayani oleh

sebuah server. Server dengan pelayanan koneksi yang paling

Gambar

Gambar 2.1 Alur kerja load balancing
Gambar 2.2 Model layer pada TCP/IP dan OSI
Gambar 2.3. Diagram operasi standar pada map server
Gambar 2.4 Persentase kerja sebelum kegagalan
+2

Referensi

Dokumen terkait