BAB 4 IMPLEMENTAS I
4.1 Implementasi 4.1.1 S pesifikasi Sistem Kombinasi perangkat keras dan perangkat lunak yang baik dapat mendukung performa sistem dengan optimal. Dalam implementasi penelitian ini, spesifikasi perangkat keras dan piranti lunak yang digunakan adalah sebagai berikut: Piranti keras yang digunakan : 1. PC 2. Server fisik
Gambar 4.1 Spesifikasi server fisik
46
47
Piranti lunak yang digunakan: 1. Apache web server dari source 2. Oracle VM VirtualBox Manager 3. Proxmox-VE 1.8.iso 4. Ubuntu 11.10.iso 5. Httperf version 0.9.0.tar.gz 6. Gnuplot version 4.2.2.tar.gz 7. Nginx version 1.1.10.tar.gz 8. Autobench version 2.1.2.tar.gz
4.1.2 Prosedur Operasional 4.1.2.1 Skenario
48
Gambar 4.2 Topologi setelah virtualisasi - Pertama laptop client melakukan tes koneksi lewat internet kepada Server Virtual WS 1 / Server Virtual WS 2. - Kemudian, server fisik diisi 2 server yang sudah divirtualisasi yang dibuat di dalam Proxmox yang diakses lewat internet. - Dari hasil tersebut, dapat dilihat perbedaan grafik antara tes koneksi sebelum virtualisasi dan sesudah virtualisasi. - Namun, koneksi yang dapat ditampung terbatas, sehingga Server Fisik perlu dipasang Load Balancing. - Load Balancing akan bekerja seperti gambar di atas, server fisik membaginya dengan 2 server virtual ketika koneksi yang diberikan sudah maksimal.
49
- Sehingga, ketika laptop client melakukan tes kembali, akan terlihat proses load balancing di dalam access log ketiga server dan koneksi yang diberikan dapat ditampilkan.
4.1.2.2 Instalasi Proxmox dan membuat Virtual Machine (VM) Pada awalnya download open source Proxmox di server. Dalam hal ini, Proxmox diinstal langsung dari CD Drive, sebelum install akan diminta untuk membuat password yang akan digunakan untuk membuat Virtual Machine. Memory yang diperlukan untuk instalasi Proxmox adalah 4 GB, sesuai dengan memory sebelum virtualisasi.
Gambar 4.3 Instalasi Proxmox
50
Setelah selesai proses install di PC yang akan diinstal Virtual Machine, buka web browser dan ketikkan ip address server pada URL browser di PC yang akan diinstal beberapa VM . Lalu akan muncul tampilan Proxmox dan diminta untuk mengisi username dan password.
Gambar 4.4 Tampilan login ID pada Proxmox Setelah itu pada bagian menu, klik ISO Images untuk upload Virtual Machine di server. Pada penelitian ini, penulis menggunakan sistem operasi Linu x dengan distro Ubuntu. Oleh karena itu, file yang diinstal adalah Ubuntu 11.10.iso. Pilih file di dalam folder tempat file nama_file.iso disimpan, kemudian upload file ke dalam Proxmox. Proxmox akan menyimpan data-data yang ada pada VM beserta sistem operasinya didalam server fisik.
51
Gambar 4.5 Tampilan upload VM Pada penelitian ini, VM yang dibutuhkan adalah sebanyak 2 buah. Untuk membuat VM tersebut, klik bagian menu, Virtual Machines, pilih tab Create. Is i bagian Name. Lalu create, sehingga proses berjalan dan VM terbentuk. Pada kedua Web server penulis mengalokasikan masing-masing memorinya adalah 2048KB, sehingga jika dijumlahkan menjadi kurang lebih 4 GB dan sesuai dengan memory sebelum virtualisasi.
Gambar 4.6 M embuat VM
52
Gambar 4.7 VM terbentuk Sebelum VM dijalankan, file .iso yang akan diupload sebaiknya dicek apakah file nama_file.iso yang diupload benar. Klik tab List lalu klik VM yang baru saja dibuat dan akan muncul tab-tab baru dan klik tab Hardware. Pada bagian CD-ROM drives klik tanda panah di sebelah kiri IDE dan pilih file nama_file.iso yang akan digunakan.
Gambar 4.8 Tampilan tab Hardware
53
Kembali klik menu Virtual Machines, lalu pilih tab List dan pilih VM yang sudah dibuat dan siap dijalankan. Pada tab Status dan kotak di bagian bawah yang menunjukkan status, klik Start dan VM akan segera berjalan.
Gambar 4.9 VM siap dijalankan
Gambar 4.10 M enjalankan VM Untuk membuka tampilan VM , klik Open VNC console. Secara otomatis akan terbuka browser Firefox yang menampilkan sistem operasi Ubuntu sedang
54
berjalan. Kemudian masukkan password sesuai dengan konfigurasi password sebelumnya.
Gambar 4.11 Tampilan login VM Berikut adalah tampilan daftar dua buah VM Web server dan sebuah server Load balancer yang sudah dibuat :
Gambar 4.12 List 2 VM Web server dan 1 Load balancer
55
4.1.2.3 Pengaturan IP di kedua Virtual Machine Setelah dua buah VM Web server dan sebuah VM Load balancer terbentuk, atur IP yang ada pada tiap-tiap VM . Berikut daftarnya : • Web server 1
:
202.46.xxx.xxx
• Web server 2
:
202.46.xxx.xxx
Setting IP tersebut di masing-masing tiga VM yang diisi oleh Linux Ubuntu 11.10.
Pertama klik kanan pada icon Connection di sisi kanan atas
window Ubuntu, pilih Edit Connections. Lalu akan muncul menu untuk merubah IP. Pada tab Wired, pilih auto eth0, karena penulis menggunakan koneksi tersebut. Kemudian akan muncul tampilam Editing Auto eth0. Klik menu IPv4 Settings, pada bagian Address klik Add dan masukkan Address, Network, Gateway, dan DNS servers. Kemudian klik Apply.
Gambar 4.13 Setting IP
56
Ketika setting IP di ketiga VM sudah berhasil, maka seharusnya koneksi ke internet dapat berjalan lancar seperti tampilan berikut ini :
Gambar 4.14 Berhasil koneksi ke internet
4.1.2.4 Test Autobench setelah virtualisasi Untuk lebih jelas perbandingan sebelum dan sesudah virtual, berikut command dan tampilan autobench ke salah satu Web server : • Test Autobench 100 Koneksi dengan mengetikkan command : # autobench --single_host --host1
--uri1/10K --quiet --low_rate 10 --high_rate 100 --rate_step 10 --num_call 10 --num_conn 100 --timeout 5 --file virtual100.csv Untuk merubah menjadi grafik, commandnya : bench2graph virtual100.csv virtual100.ps
57
Gambar 4.15 Grafik Autobench 100 Koneksi ke Web server 1
• Test Autobench 1000 Koneksi dengan mengetikkan command : # autobench --single_host --host1 --uri1/10K --quiet --low_rate 100 --high_rate 1000 --rate_step 100 --num_call 100 --num_conn 1000 --timeout 5 --file virtual1000.csv Untuk merubah menjadi grafik, berikut command-nya : bench2graph virtual1000.csv virtual1000.ps
58
Gambar 4.16 Grafik Autobench 1000 Koneksi ke Web server 1
• Test Autobench 10000 Koneksi dengan mengetikkan command : # autobench --single_host --host1 --uri1/10K --quiet --low_rate 1000 --high_rate 10000 --rate_step 1000 --num_call 1000 --num_conn 10000 --timeout 5 --file virtual10000.csv
59
Gambar 4.17 Command testing Autobench pada 10.000 koneksi
Untuk merubah menjadi grafik, ketikkan command berikut : # bench2graph virtual10000.csv virtual10000.ps
60
Gambar 4.18 Grafik Autobench 10.000 Koneksi ke Web server 1
• Test Autobench 100000 koneksi dengan mengetikkan command : # autobench --single_host --host1 --uri1/10K --quiet --low_rate 10000 --high_rate 100000 --rate_step 10000 --num_call 10000 --num_conn 100000 --timeout 5 --file virtual100000.csv
Untuk merubah menjadi grafik, berikut command-nya : bench2graph virtual100000.csv virtual100000.ps
61
Gambar 4.19 Grafik Autobench 100.000 Koneksi ke Web server 1
Setelah dilakukan percobaan virtualisasi pada server, maka dapat disimpulkan bahwa power consumption berkurang sekitar 20% dan cost operational berkurang sekitar 40%.
4.1.3 Implementasi Dalam penelitian ini, web server akan diimplementasikan pada PC client yang berfungsi sebagai admin. Web server ini akan digunakan untuk penempatan aplikasi yang akan dibuat oleh konsumen. Dalam penelitian ini, penulis hanya menyediakan beberapa server dengan alokasi memori sesuai yang dibutuhkan konsumen
62
menggunakan teknologi virtualisasi tanpa penempatan aplikasi secara langsung (dilakukan oleh konsumen sendiri). Rencana topologi tidak dapat ditampilkan, dikarenakan setiap permintaan spesifikasi untuk VM pada tiap-tiap konsumen berbeda-beda sesuai kebutuhan konsumen.
4.1.4 Evaluasi dan Analisis Hasil Percobaan Setelah dilakukan percobaan autobench setelah melakukan virtualisasi, ternyata performa koneksi pada VM masih belum stabil. Sehingga perlu dilakukan load balance agar performa koneksi pada VM stabil dan berjalan sesuai dengan yang diharapkan.
4.1.4.1Load balancing Tes Autobench pada Web server 1 setelah virtualisasi hanya bisa mampu merespon sampai 10.000.000 koneksi. Sehingga pada grafik pengetesan 10.000.000 koneksi, error yang ditampilkan semakin tinggi. Untuk mengatasi masalah tersebut perlu adanya sebuah VM yang bertindak sebagai Load balancer. Load balancer 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.
63
Di masing-masing Web server diinstal Apache. Apache adalah server web yang dapat dijalankan di banyak system operasi yang berguna untuk melayani dan memfungsikan situs web. Pada VM yang bertindak sebagai Load balancer perlu diadakan penginstalan pada server dengan menggunakan software Nginx. Ngin x dapat berfungsi sebagi server web dan load balancer. Dalam penelitian ini, penulis menggunakan Nginx hanya sebagai load balancer. Pertama, perlu diinstal Apache pada tiap Web server. Berikut langkahlangkahnya : • Pada root, ketikkan command : $ sudo apt-get install apache2 • Setelah selesai menginstall, jalankan Apache : $ /etc/init.d/apache start Buka web browser, dan ketikkan http://localhost. M aka tampilan dari web browser adalah :
Gambar 4.20 Tampilan web browser setelah install Apache
64
Lalu buat sebuah VM yang diberi nama Load_Balancer.
Gambar 4.21 M embuat VM sebagai Load balancer
Berikut langkah untuk install Nginx : • Pada root, ketikkan command : $ sudo apt-get update $ sudo apt-get install nginx (install dari source repository Ubuntu) • Untuk membuat nginx bertindak sebagai load balancer, maka edit file nginx.conf. $ sudo gedit /etc/nginx/nginx.conf • Secara otomatis file nginx.conf akan terbuka kemudian ganti ip web server 1 & 2, juga ip server dengan masing-masing ip yang sudah dikonfigurasi sebelumnya seperti di bawah ini :
65
Gambar 4.22 Script nginx.conf Di dalam upstream server diisi dengan : - Alamat Web server yang akan di load balance oleh VM yang bertindak sebagai Load balancer. - Perintah keepalive untuk mengatur banyaknya koneksi di setiap server. Jika koneksi sudah melebihi 1024, maka koneksi selanjutnya akan ditolak. Di dalam server diisi IP address VM yang bertindak sebagai Load balancer. • Jalankan Nginx $ etc/init.d/nginx start
66
• Buka web browser, ketikkan http://localhost dan tampilan akan seperti Web server yang diinstal Apache :
Gambar 4.23 Tampilan nginx berjalan sebagai Load balancer Untuk Load balancing ini, hanya dilakukan pengetesan bahwa load balancing sudah berjalan dengan baik. Berikut langkah-langkahnya : • Untuk mengetahui bahwa load balancer sudah berjalan, ketikkan command: # tail –f /var/log/apache2/access.log • Pada komputer client, test Autobench dengan banyak koneksi yang diinginkan ke VM yang bertindak sehingga jalannya load balancer terlihat secara real-time. Contoh, testing Autobench dengan 100, 1000, sampai dengan 10.000 koneksi.
67
• Pada access.log di Load balancer akan tampil akses dari IP pada komputer client. Namun, pada kedua Web server access.log yang ditampilkan adalah IP dari VM Load balancer. • Access.log di ketiga VM akan berjalan terus secara bersamaan hingga testing Autobench dengan koneksi yang diinginkan selesai. Ini membuktikan bahwa load balancer berjalan dengan baik. Load balancer sangat membantu ketika di dalam jaringan tersebut mempunyai banyak client. Daya tampung setelah dilakukan load balance akan bertambah 2-4 kali lipat dari sebelumnya. Beban server juga akan terbagi sehingga lebih mudah dikontrol jika terjadi masalah pada VM . Berikut tampilan file access log setelah dilakukan load balancing.
Gambar 4.24 Tampilan Load Balancer berjalan di 3 VM
68
4.1.4.2 Analisa Data Dari hasil implementasi di atas, terbukti jika VPS dapat berjalan dengan baik dengan tes koneksi yang diberikan. Setelah virtualisasi, terlihat grafik yang ditampilkan lebih baik dari sebelum virtualisasi. Tetapi, tes koneksi yang paling tinggi juga dapat ditampung dengan teknologi load balancing, sehingga performa VPS tetap terjaga.
Pengambilan data dilakukan pada masing-masing jenis komputer, yaitu : • Server non VT : merupakan komputer yang digunakan sebagai server, namun secara hardware tidak didesain khusus untuk virtualisasi. • Server VT
: merupakan komputer yang secara hardware didesain
untuk menjalankan virtualisasi.
Dalam penelitian, pengambilan data arus listrik menggunakan alat pengukur arus listrik yaitu clamp meter. Clamp meter adalah alat pengukur arus AC yang mempertimbangkan load dari server yang digunakan. Pada pengukuran arus yang konvensional, yaitu dimana kabel yang akan diukur arusnya harus dipotong atau diputus terlebih dahulu. Oleh sebab itu, penulis menggunakan alat clamp meter tanpa harus memutus atau memotong kabel yang akan diukur arusnya. Penggunaan clamp meter sendiri pun cukup mudah, yaitu hanya dengan menjepit pada kabel yang akan diukur arus listriknya.
69
Gambar 4.25 Clamp meter Pengambilan data dilakukan untuk mengetahui besarnya energi listrik yang digunakan
oleh
masing-masing komputer.
Variabel yang diubah
untuk
mendapatkan hasilnya adalah variabel CPU process. Pengambilan data dilakukan sebanyak lima kali, hasilnya dapat dilihat pada tabel di bawah ini : Tabel 4.1 Tabel Analisis Data CPU
Server non VT Server VT (watt) (watt)
% 0
165.70
57.00
25
173.90
62.02
50
213.02
74.06
75
311.26
105.04
100
364.00
122.30
70
Variabel yang digunakan adalah CPU process. Karena kekuatan processor sangat berpengaruh terhadap arus listrik yang digunakan. Semakin bertambahnya CPU process yang ditampilkan, maka semakin besar pula arus listrik yang digunakan. Kekuatan processor pada server non-VT cenderung jauh lebih rendah dibandingkan server VT. Namun penggunaan daya listrik pada server non-VT menjadi lebih besar karena eksistensi server non-VT yang tidak sedikit dan semakin bertambah jumlahnya seiring bertambahnya aplikasi yang membutuhkan server non-VT yang baru. Sehingga penggunaan listrik pada processor atau CPU process di beberapa server fisik non-VT menjadi lebih besar. Untuk perbandingan pada processor atau CPU process yang digunakan, yaitu diberikan pembebanan koneksi dan aplikasi yang sedang berjalan pada host virtualisasi. Pembebanan berpengaruh terhadap kekuatan processor yang cukup besar pada infrastruktur virtualisasi. Namun, dalam penelitian ini menggunakan server yang dikhusukan untuk mendukung virtualisasi. Dari hasil analisa data yang dilakukan, dapat disimpulkan bahwa sebuah server VT jauh lebih hemat dalam penggunaan listriknya dibandingkan server non-VT dengan kekuatan processor lebih rendah tetapi menjadi lebih besar penggunaan listriknya disebabkan beberapa server masih berupa fisik.
71
Tabel 4.2 Grafik Analisis Data
Berdasarkan grafik di atas, variabel secara horizontal menunjukkan besarnya CPU process dalam %, sedangkan vertikal menunjukkan besarnya energi yang digunakan dalam watt. Pada grafik di atas juga terlihat bahwa semakin tinggi CPU Process maka semakin tinggi pula power consumption yang digunakan dan server non VT mempunyai power consumption yang paling tinggi.
4.1.4.3Cost-Benefit Analysis Pada tahap ini, dilakukan analisa terhadap keuntungan dan kerugian dari setiap solusi selama 3 tahun ke depan :
72
Tabel 4.3 Tabel biaya pada Server non VT Cost Category Year 1
Year 2
Year 3
Hard Cost Machine Purchase
$ 2.170
unknown
unknown
Software Purchase
$-
$-
$-
Software Maintenance
unknown
unknown
unknown
Power
$ 982
$ 982
$ 982
Server Maintenance
$ 217
$ 217
$ 217
Human Resource
$ 10.500
$ 10.500
$ 10.500
Total Yearly Hard Costs
$ 13.869
$ 11.699
$ 11.699
Estimate Downtime Cost
$ 6.970
$ 6.970
$ 6.970
Backup
$ 400
$-
$ 400
Total Yearly Soft Costs
$ 7.370
$ 6.970
$ 7.370
Total Yearly Costs
$ 21.239
$ 18.669
$ 19.069
Total 3 years Costs
$ 58.977
Soft Cost
73
Tabel 4.4 Tabel biaya pada Server VT Cost Category Year 1
Year 2
Year 3
Hard Cost Machine Purchase
$ 2.920
$-
$-
Software Purchase
$-
$-
$-
Software Maintenance
Unknown
unknown
unknown
Power
$ 410
$ 410
$ 410
Server Maintenance
$ 290
$ 290
$ 290
Human Resource
$ 10.500
$ 10.500
$ 10.500
Total Yearly Hard Costs
$ 14.120
$ 11.200
$ 11.200
Estimate Downtime Cost
$ 6.970
$ 6.970
$ 6.970
Backup
$ 400
$-
$ 400
Total Yearly Soft Costs
$ 7.370
$ 6.970
$ 7.370
Total Yearly Costs
$ 21.490
$ 18.170
$ 18.570
Total 3 years Costs
$ 58.230
Soft Cost
74
Dalam asumsi laporan keuangan perusahaan tiga tahun terakhir, biaya operasional pada penggunaan server virtualisasi menurun dari $58.977 menjadi $58.230. Hal ini disebabkan perusahaan melakukan pembelian terhadap sejumlah hardware atau server fisik untuk memperluas cakupan layanannya. Sehingga nilai efisiensi biaya operasional meningkat pada server non-VT. Namun dalam penggunaan server virtualisasi, merupakan keuntungan bagi perusahaan yaitu pembelian sejumlah hardware atau server menjadi berkurang karena penggunaan server virtualisasi yang bersifat virtual dan tidak mengharuskan untuk melakukan pembelian sejumlah server fisik. Tetapi pada investasi awal virtualisas i membutuhkan biaya yang lebih besar disebabkan pembelian server yang mendukung virtualisasi dengan spesifikasi lebih besar. Dari kedua tabel di atas terlihat perbandingan antara Server non VT dan Server VT selama 3 tahun. Biaya di atas dihitung berdasarkan investasi awal, biaya maintenance, dan biaya risiko yang ada. M aka dapat disimpulkan bahwa server VT merupakan yang paling baik.