1.
Pendahuluan
Perkembangan penggunaan internet di Indonesia sangat meningkat. Aplikasi berbasis map script yang mulai berkembang dan sering digunakan untuk menunjukan suatu lokasi yang dapat diakses dari halaman web browser. 1)
Mahasiswa Fakultas Teknologi Informasi Teknikbelum Informatika, Perkembangan aplikasi berbasisJurusan map script di ikutiUniversitas dengan adanya Kristen Satya Wacana Salatiga. web hosting yang telah mendukung layanan aplikasi berbasis map script. 2) Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana Salatiga. Perkembangan pengguna internet yang semakin meningkat, maka 3) Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana Salatiga.
diperlukan penyedia layanan internet dan server hosting yang memadai. Untuk menanggulangi masalah tersebut, pada penelitian ini akan dirancang arsitektur parallel cluster virtual server yang akan berfungsi sebagai web hosting yang telah mendukung aplikasi map script.
Virtualisasi akan memudahkan user dalam mengembangkan aplikasi yang dapat diakses melalui jaringan internet. Server konvensional dalam pengelolaannya masih sangat rumit, dikarenakan membutuhkan banyak tempat. Perangkat keras yang digunakan memiliki kinerja kurang maksimal, karena hanya digunakan oleh sistem operasi dan aplikasi yang dibutuhkan pada saat itu. Selain itu server konvensional masih mengalami kesulitan pada penanganan kesalahan. Aplikasi Geographic Information System, merupakan aplikasi yang memadukan apache sebagai web server dan ditambahkan map script. Aplikasi GIS digunakan sebagai aplikasi uji coba dengan menggunakan MS4W. Perpaduan antara teknologi virtualisasi dengan aplikasi berbasis map script merupakan salah satu solusi untuk menanggulangi sedikitnya web hosting yang mendukung aplikasi map server. 2.
Tinjauan Pustaka
Super computer dapat memenuhi kebutuhan para peneliti e-Science, namun karena harganya yang mahal, hanya sedikit dari para peneliti tersebut yang dapat memilikinya atau menggunakannya. Penelitian ini menerapkan teknologi cluster computing digunakan sebagai pemanfaat secara maksimal kinerja perangkat keras. Perbedaan dengan sistem yang sudah dikembangkan oleh peneliti sebelumnya terletak pada proses komputasi yang digunakan pada Cluster konvensional dan Parallel Cluster Virtual Server. Salah satu peluang yang ditawarkan oleh Cluster adalah kemudahan untuk mengakses bebagai resource sumber daya yang heterogen dan tersebar. Teknologi cluster computing, digunakan untuk membagi sumber daya komputer dan dapat diakses dengan cara yang umum dan bersifat terbuka serta relatif aman dan terkendali. Peneliti sebelumnya memaparkan, telah dilakukan penerapan teknologi virtualisasi tingkat sistem operasi pada Linux server menggunakan Openvz. Teknologi virtualisasi pada tingkat sistem operasi ini dapat diterapkan dalam sebuah penggunaan sistem server yang terpisah. Dari teknologi virtualisasi ini 2
juga dapat digunakan untuk hosting server di mana dalam sebuah mesin server, dapat dibagi menjadi beberapa server [1]. Kelebihan sistem komputasi cluster adalah dapat menggunakan komputer server, desktop ataupun komputer yang sudah tua dan dapat mengganti komponen yang sudah rusak tanpa mengganggu kinerja sistem. Hal yang paling utama adalah sistem dapat memproses permintaan secara cepat dan memantau bahwa server berkerja dengan baik, mengatisipasi kegagalan sistem dan dengan cepat sistem berfungsi kembali dengan benar [2]. Gambar 1 menjelaskan alur data dari client ke mesin cluster dengan melewati load balancer.
Gambar 1. Topologi Server Load Balancing [7].
Sistem web server cluster yang dibangun menggunakan load balancer sebagai kepala cluster sebagai penerima permintaan dari pengguna dan menyalurkan beban kerja kepada server-server yang ada dalam sistem cluster. Penyebaran permintaan ditangani oleh load balancer dengan penggunaan algoritma penjadwalan round robin ke dalam server. Algoritma penjadwalan dalam load balancer mendistribusikan permintaan pengguna dan diarahkan ke server di dalam cluster sehingga membuat beban yang seimbang di antara server-server yang tersedia.
Cluster High Availability memberikan layanan secara kontinyu dan memperkecil downtime dari sebuah server yang putus, juga memperkecil waktu replikasi data antar server [4]. Gambar 2 merupakan pembagian resource dalam mesin virtual. Application
Application
Application
Application
OS
OS
OS
OS
Physical Host Hardware CPU, Memory, Disk, Network 3
Gambar 2 Pembagian Resource dalam Virtual [8].
Yang membedakan penelitian ini dan penelitian sebelumnya adalah terletak pada arsitektur parallel virtual cluster yang ada pada tiap-tiap server node, dengan menambah node-node berupa virtual operating system yang bekerja pada node server utama, dimungkinkan dapat mempengaruhi kinerja hardware secara maksimal dan hasil yang di dapatkan dapat lebih baik.
3.
Metode Pengembangan Sistem
Metode yang digunakan dalam melakukan penelitian adalah prepare, plan, design, implement, operate dan optimize (PPDIOO). Metode ini diterapkan oleh Cisco System. Gambaran secara umum di paparkan pada tiap-tiap proses yang terjadi pada metode PPDIOO. Segala kebutuhuan hardware dan software yang mendukung penelitian ini telah tercantum di dalam metode PPDIOO. Gambar 3 menjelaskan gambaran umum tentang metode PPDIOO.
Gambar 3 Metode PPDIOO [5].
Metode ini dipilih karena mengandung unsur-unsur yang tepat digunakan saat penelitian berlangsung dari mulai awar hinggal akhir. Metode ini terdiri dari tahap-tahap mulai dari prepare, plan, design, implement, operate dan optimize. Sistem dapat mengalami perbaikan pada saat terjadi tahap pengujian. 3.1
Prepare Prepare adalah tahap pertama yang dilakukan dengan mempersiapkan rencana kerja dimulai mempersiapkan teknologi virtualization yang akan digunakan untuk membangun sistem. Teknologi para-virtualization digunakan dalam pembangunan sistem parallel cluster virtual server. Sistem operasi Linux Ubuntu 10.04 digunakan sebagai landasan dibangunya virtual server. 3.2
Plan Plan adalah tahapan yang digunakan untuk mematangkan rencana kerja dengan menetapkan parameter dan memperisiapakan kebutuhan hardware dan software sebelum melakukan perancangan. Rencana kerja disusun untuk 4
malakukan pembuatan model dan analisa dari sistem yang dibangun sesuai dengan rencana kerja. Perangkat keras yang digunakan sebagai server yang memilik guest operating system adalah komputer yang menggunakan processor dan mainboard yang mendukung virtualisasi dari segi software dan hardware. Cluster server 1 dan cluster server 2 merupakan server yang akan memuat dua guest operating system. Guest operating system Windows Xp Professional dengan pembagian RAM masing sebesar 512 MB dan hardisk 10 GB. Front end server memiliki spesifikasi lebih rendah dibandingkan dengan server yang memuat virtual machine. Front end server bertugas sebagai pembagi beban request dari client. Front end server merupakan server yang terhubung melalui jaringan internet. Front end server berfungsi bebagai director akses data web dari jaringan internet masuk ke jaringan lokal node-node server virtual. Director tool yang digunakan adalah haproxy dengan skema load balancing. Table 1 merupakan planning kebuthan perangkat keras yang digunakan untuk membangun sistem parallel cluster virtual server. Sistem terbangung diatas empat server yang saling berhubungan. Cluster Controller berfungsi sebagai aplikasi pengendali virtual machine yang bersifat web based. Tabel 1 Kebutuhan Hardware Server Cluster Server 1
RAM
Hard disk
1 GB
80 GB
512 MB 512 MB
10 GB 10 GB
1 GB
80 GB
512 MB 512 MB
10 GB 10 GB
Front End Server
512 MB
40 GB
Cluster Controller Client Tester
512 MB 4 GB
40 GB 500 GB
Virtual Server 1 Virtual Server 2 Cluster Server 2 Virtual Server 1 Virtual Server 2
IP Address 192.168.20.1 192.168.20.3 192.168.21.2 192.168.23.3 192.168.20.3 192.168.20.4 192.168.22.2 192.168.24.2 192.168.67.242 192.168.20.254 192.168.20.5 192.168.67.120
Analisis kebutuhan software yang digunakan untuk mendukung pembetukan sistem terpapar dalam tabel 2. Sistem dibangun diatas sistem operasi Linux sesuai dengan teknologi para-virtualization. Kernel Virtual Machine (KVM) merupakan software utama yang berjalan diatas sistem operasi Linux Ubuntu 10.04.
5
Tabel 2 Kebutuhan Software Kebutuhan Software Server
Cluster Server 1
Linux Ubuntu 10.04
Virtual Server 1
Windows Xp
Virtual Server 2
Windows Xp
Cluster Server 2
Linux Ubuntu 10.04
Virtual Server 1
512 MB
Virtual Server 2
512 MB
Front End Server Cluster Controller Client Tester
3.3
Operating System
Linux Ubuntu 10.04 Linux Ubuntu 10.04 Linux Ubuntu 11.10
Software Kvm Kvm-pxe Libvirt-bin Ubuntu-vm-builder Bridge-utils Haproxy Mysql 5 Ms4w Mysql 5 Ms4w Kvm Kvm-pxe Libvirt-bin Ubuntu-vm-builder Bridge-utils Haproxy Mysql 5 Ms4w Mysql 5 Ms4w Haproxy Convirt2 Cacti httperf
Design
Design adalah tahap awal pembuatan model. Tahap design ini menggunakan topologi jaringan yang telah dirancang. Gambar 4 merupakan design merupakan rancangan jaringan.
Gambar 4 Desain Jaringan
Gambar 5 merupakan gambar topologi fisik dari arsitektur parallel cluster virtual server. Satu server sebagai front end yang terhubung dengan IP public dan 6
terhubung ke jaringan lokal. Dan pada jaringan lokal front end terdapat serverserver yang telah mempunyai dua virtual machine. Segala aplikasi berbasi web tersimpan pada guest operating system. Tiap satu node server mempunyai satu cluster yang saling berhubungan pada tiap node-node virtual. Virtual Server
User
Node Server
Internet
Virtual Server
Virtual Server IP Public
Virtual Cluster
IP Lokal Front end
Virtual Server
User Node Server
Virtual Server
IP Lokal Virtual Server
Virtual Cluster
Gambar 5 Topoligi Fisik Parallel Cluster Virtual Server
3.4
Implement Implemet adalah tahap yang merupakan lanjutan dari design pharse dengan mengacu pada design yang telah dirancang. Hasil dari design di implementasikan pada hardware dan software serta segala konfigurasi server di lakukan pada tahap ini. Instalasi sistem operasi dan aplikasi KVM dan Haproxy dilakukan pada tahap ini. 3.5
Operate Operate adalah pengujian pada sistem yang telah tebangun dengan memperhatikan dari rencana pada permulaan hingga tahap implement, apakah sesuai rencana atau masih terdapat kekurangan. Menganalisa dari kelebihan maupun kekurangan yang terdapat pada sistem. Skema pengujuan sistem digunakan strees tool httperf dengan meningkatkan jumlah connection 500 hingga 15000 connection di tiap-tiap uji coba. Pengujian sistem dilakukan untuk mengetahui performa dan kemampuan masing-masing sistem arsitektur yang telah diterapkan. Parameter yang digunakan pada pengujian sistem ini adalah [6]: Connection Rate, kecepatan pemrosesan data, parameter ini yang akan diukur adalah kecepatan waktu mengeksekusi permintaan oleh web server yang diperoleh pengguna. Throughput, kecepatan transfer data, parameter ini akan diukur kecepatan transfer data yang digunakan pada interface pengguna pada saat menjalankan permintaan ke web server. Request Lost, banyaknya permintaan yang tidak tertangani oleh web server yang menyebabkan pengguna tidak memperoleh layanan dari server. Duration Test, waktu yang dihabiskan untuk menjalankan pengujian yang dilakukan dalam jumlah connection tertentu.
7
Memory usage, kapasitas pemakaian memory di tiap-tiap guest operating system pada saat terjadi request dari client.
Pengujian Single Virtual Server Satu Lan Card
Pengujian single server virtual server dengan menggunakan satu jalur network, menghasilkan nilai troughput sebesar 304,2 KB/s. connection rate yang dihasilakan mencapai nilai 618,4 conn/s. Server yang menggunakan satu jalur menuju front end server cenderung memiliki nilai troughput yang lebih besar. Satu server memiliki 2 guest operating system yang bekerja melayani request dan bekerja di satu network yang sama dalam waktu yang bersamaan. Gambar 6 merupakan hasil pengujian yang dilakukan di single server virtual dengan satu lan card.
Gambar 6 Grafik Hasil Pengujian Single Virtual Server dengan Satu LAN Card
Gambar 7 merupakan nilai lost connection yang dihasilkan dengan satu LAN card jaringan, nilai lost connection cenderung mengingkat sesuai dengan jumlah permintaan dari client. Nilai lost connection teringgi adalah 4.323 saat terjadi pengujian sebanyak 10.500 connection.
8
Gambar 7 Grafik Lost Connection Single Virtual Server
Pengujian Single Virtual Server dua Lan Card
Dilakukan pengujian terhadap server virtual cluster 1 dengan parameter pengujian berupa duration test, connection rate dan troughput. Dengan kenaikan tingkat pengujian jumlah connection sebanyak 500 connection dimulai dari 500 hingga 15.000 connection. Pada gambar 8 dipaparkan hasil dari parameter yang digunakan, test duration pada single virtual server mempunyai peningkatan bertahap, semakin banyak connection yang dilakukan oleh pengguna,maka semakin meningkat pula waktu yang dibutuhkan server untuk melayani permintaan dari user.
Gambar 8 Grafik hasil Pengujian Single Virtual Server Dua LAN Card
Pengujian pada single virtual server dilakukan pengamatan terhadap complete request dan error request. Pada gambar 9 menujukan grafik dari complete request di kedua server tidak mengalami kegagalan saat terjadi request data dari client. 9
Gambar 9 Grafik Lost Connection Single Virtual Server Menggunakan Dua Lan Card
Pengujian Front End Virtual Server
Front end server merupakan server yang terletak di depan cluster 1 dan cluster 2. Berfungsi sebagai pembagi beban secara load balancing ke server 1 dan 2. Gambar 10 menunjukan grafik hasil pengujian terhadap duration test, connection rate dan troughput yang terjadi pada front end server saat dilakukan pengujian.
Gambar 10 Grafik Duration Test, Connection Rate dan Troughput Front End Virtual Server
Hasil pengujian pada front end virtual server mengalami kegagalan koneksi yang lebih kecil dibandingkan dengan server konvensional. Gambar 11 menunjukan grafik complete request dan error request. Error request yang 10
dihasilkan front end server virtual memiliki nilai error paling tinggi adalah 10 connecion.
Gambar 11 Grafik Error Request Front End Virtual Server
Pengujian Node Single Server Konvensional
Pengujian pada server konvensional juga menggunakan parameter yang sama dengan virtual server . Gambar 12 menujukan hasil pengujian pada single server konvensional. Pada node single server konvensional hasil yang didapatkan cenderung menurun ketika permintaan dari client semakin banyak. Connection rate konvensional server dapat menghasilkan nilai yang tinggi 509,7 conn/s.
Gambar 12 Grafik Pengujian Single Server Konvensional
Pada kedua server konvensional, terdapat hasil error request pada saat dilakukan pengujian terhadap masing-masing server konvensional. Gambar 13 menunjukan grafik pengujian complete dan error request. Single server
11
konvensional cenderung menghasilkan nilai error yang meningkat ketika jumlah permintaan dari client melebihin nilai 6.000 connection.
Gambar 13 Grafik Pengujian Error Request Single Server Konvensioanal
Pengujian Front End Server Konvensioal
Gambar 14 merupakan grafik pengujian pada front end server konvensional. Parameter pengujian menggunakan test duration, connection rate dan troughput jaringan. Nilai duration test front end server konvensional berbanding lurus dengan jumlah connection yang terjadi. Nilai dari troughput dan connection rate terjadi nilai naik dan turun pada saat terjadi connection pengujian.
Gambar 14 Grafik Pengujian Front End Server Konvensioanal
12
Pada pengujian complete request dan error request juga mendapati hasil error koneksi pada pengujian front end server konvensional. Gambar 15 menjelaskan error request yang terjadi front end server konvensional. Lost connection yang dihasilkan pada front end server konvensional 1.078 connection time out. Lost connection didapati setelah pengujian mencapai nilai 9.000 connection.
Gambar 15 Grafik Lost Connection Front End Konvensional
3.6
Optimize Optimize adalah tahap optimasi dari sistem yang dirancang dan di implementasikan, dengan mengacu pada hasil analisis sesudah tahap operate. Proses optimize digunakan untuk memperbaiki hasil dari analisi sebelum dilakukan optimasi sistem, sehingga sistem mengalamai perbaikan dan hasil maksimal dapat dicapai. global log 127.0.0.1 local0 log 127.0.0.1 local1 notice #log loghost local0 info maxconn 150000 #chroot /usr/share/haproxy user haproxy group haproxy daemon #debug #quiet defaults log global mode http option httplog option dontlognull retries 3 option redispatch 13
maxconn contimeout clitimeout srvtimeout
150000 5000 50000 50000
listen caspersky.inc 192.168.67.242:80 mode http stats enable stats uri /lb?stats stats realm Haproxy\ Statistics stats auth haproxy:admin balance roundrobin server cluster1 192.168.20.1:80 cookie A check maxconn 150000 server cluster2 192.168.20.2:80 cookie B check maxconn 150000 server cluster3 192.168.20.3:80 cookie A check maxconn 150000 server cluster4 192.168.20.4:80 cookie B check maxconn 150000 Kode Program 1 Konfigurasi Haproxy.
Hasil pengamatan kinerja dari load balancer dapat meningkatkan kecepatan dalam menangani permintaan dari client. Berdasarkan metode yang dipakai adalah PPDIOO, maka dilakukan tahap optimisasi sistem yang bertujuan untuk meningkatkan performa dari sistem yang sedang dikembangkan. Kode program 1 merupakan konfigurasi haproxy.cfg yang telah mengalami tahap optimisasi. Optimasi dilakukan dengan memaksimalkan jumlah connection sebanyak 15.000 connection sesuai dengan tingkat kebutuhan saat tahap pengujian. Tahap optimasi juga menambahkan jalur jaringan berupa dua lan card di tiap server yang memiliki virtual machine. 4.
Analisi dan Perbandingan
4.1
Analisis dan Perbandingan Troughput
Analisis troughput dilakukan pengamatan pada tiap-tiap single server. Secara keseluruhan data yang didapatkan dari pengujian tiap server, server yang memiliki dua virtual machine memiliki hasil yang lebih kecil jika dibandingkan dengan server yang tidak memiliki virtual machine. Hal tersebut disebabkan karena pada server yang memiliki virtual machine memiliki virtual network di tiap-tiap virtual machine. Nilai rata-rata pada server yang memiliki virtual machine adalah 164,3 KB/s, dan server konvensional adalah 223,94 KB/s. Troughput pada server konvensional cenderung tidak stabil, dengan nilai troughput tertinggi adalah 254,3 KB/s dan nilai terendah 140 KB/s. Gambar 16 merupakan grafik perbandingan troughput yang dihasilkan di arsitektur konvensional dan virtual.
14
Gambar 16 Grafik Perbandingan Troughput Server Konvensional dan Virtual
4.2
Analisis dan Perbandingan Connection Rate
Perbandingan pengujian terhadap parameter connection rate pada arsitektur cluster konvensional dan cluster virtual juga mendapatkan hasil maksimum oleh front end serever konvensional dengan nilai tertinggi 510,6 conn/s dan nilai terendah 344 conn/s. Sedangkan pada front end server virtual, hasil yang didapati cenderung stabil dengan nilai 486,2 conn/s. Hal ini disebabkan karena topologi jaringan yang berbeda. Pada front end server konvensional topologi jaringan yang digunakan adalah One-Arm, yaitu dengan menempatkan node-node server tepat berhubungan langsung dengan media kabel jaringan. Pada arsitektur one-arm hanya melewati sekali proses network address translation. Gambar 17 menampilkan data berupa grafik dari perbandingan hasil request rate dari front end server konvensional dan front end server virtual.
15
Gambar 17 Grafik Perbandingan Connection Rate Front End Server Konvensional dan Virtual
4.3
Analisis dan Perbandingan Request Lost
Analisis dan perbandingan juga dilakukan pada parameter lost connection. Dari hasil yang di capai pada kedua arsitektur server yang berbeda, banyak sekali terdapat error request atau lost connection pada front end server konvensional. Gambar 18 menunjukan nilai error server konvensional mencapai nilai tertinggi 1.078 connection time out. Server virtual memiliki nilai error connection paling tinggi sebanyak 10 connection error.
Gambar 18 Grafik Perbandingan Lost Front End Server Konvensional dan Virtual
4.4
Pengamatan Kinerja Hardware
Dengan menggunakan hardware dengan spesifikasi yang sama, kondisi hardwre sebelum menjalankan virtual machine dan sebelum menjalankan virtual machine. Gambar 19 merupakan grafik yang dihasilkan ketika mesin belum menjalakan virtual machine, akan tetapi proses-proses telah berjalan di dalam tiap-tiap server yang sedang berjalan.
16
Gambar 19 Grafik Pemakain Processor dan Memory Server 1 dan Server 2 tanpa Virtual Machine
Server yang menjalakan virtual machine, terlihat penggunaan processor dan memory mengalami peningkatan hingga 95% pada penggunaan processor dan 60% penggunaan memory pada server 1 dan server 2. Gambar 4.16 menunjukan grafik penggunaan processor dan memory ketika server 1 dan server 2 menjalankan virtual machine.
Gambar 17 Grafik Pemakain Processor dan Memory Server 1 dan Server 2 dengan Virtual Machine
5.
Simpulan
Berdasarkan hasil pengamatan dan analisis yang telah dilakukan, maka dapat diambil beberapa kesimpulan bahwa kinerja yang dihasilkan oleh arsitektur dengan memanfaatkan teknologi parallel cluster virtual server dengan menggunakan dua komputer, kinerja tiap server dapat meningkat 95% pada penggunaan processor dan penggunaan RAM mencapai 50%. Troughput yang dicapai pada arsitektur server konvensional mencapai nilai 254,3 KB/s dan srever virtual 242,2 KB/s, sehingga nilai paling tinggi dicapai oleh server konvensional dan dengan virtual server nilai yang didapatkan cenderung lebih kecil. Nilai connection rate juga didaptkan hasil yang lebih cepat pada server konvensional, nilai tertinggi server konvensional dengan nilai 510,6 conn/s dan virtual server dengan nilai 486,2. Server konvensional cenderung tidak stabil dalam melakukan respons terhadap request http dari client. Lost connection pada sever virtual lebih sedikit, dengan nilai error tertinggi adalah 10 connection time out, semua permintaan dari client dapat ditangani meskipun dalam waktu yang relative lebih lama dari pada server konvensional. Penggunaan Haproxy sebagai load balancer sangatlah efektif, karena Haproxy dapat membagi beban secara rata pada tiap-tiap server yang bekerja sebagai back end server.
17
6. [1]
[2]
[3] [4]
[5]
[6]
[7] [8]
Daftar Pustaka Bayu, T.I. 2009. Penerapan Teknologi Virtualisasi Tingkat Sistem Operasi Pada Server Linux Ubuntu 8.04 Menggunakan OpenVZ, AITI Jurnal Teknologi Informasi 2009. Pamungkas, Victor H. 2011. Analisis Perbandingan Algoritma Penjadwalan Load Balancer Terhadap Kinerja Web Server Cluster dengan Skema Load Balancing, AITI Jurnal Teknologi Informasi 2011. Rule, D, & Dittner, R, 2007, The Best Damn Server Virtualization Book Period, Burlington:Syngress. Mulia, Pramanda T. 2010. Perancangan High Aviability Cluster dengan Memanfaatkan Teknologi Virtual Cluster, AITI Jurnal Teknologi Informasi 2010. Cisco System. 2007, PPDIOO method. http://www.cisco.com/global/EMEA/IPNGN/ ppdioo_method.html. diakses pada tanggal 20 Juli 2011. Chow, C, & Semwal, I. 2007, Web Load Balancing Through More Accurate Server Report. Department of Computer Science University of Colorado at Colorado Springs Indrasari, Coorry. 2006. Evaluasi Kinerja Server Load balancingServer pada patform Windows dan linux. Salatiga : FTI UKSW. Rule, D, & Dittner, R, 2007, The Best Damn Server Virtualization Book Period, Burlington:Syngress.
18