MENGENAL APA ITU OPEN STACK
SEKILAS TENTANG DESKRIPSI OPEN STACK
OpenStack adalah sistem operasi awan yang
mengontrol lingkungan komputasi besar, storage, dan sumber daya
jaringan di seluruh data center, semua dikelola melalui dashboard yang
memberikan kontrol administrator sekaligus memberdayakan pengguna mereka
ke sumber daya penyediaan melalui antarmuka web (Web GUI). Openstack
memiliki API standard yang berfungsi sebagai alat komunikasi dengan
software lain. Jadi developer dapat membuat software yang berfungsi
untuk mengakses sejumlah resource dari Openstack ini dengan menggunakan
API yang tersedia. OpenStack merupakan platform perangkat lunak untuk
cloud, baik publik maupun privat.Inisiatif OpenStack dimulai tahun 2010
oleh Rackspace dan NASA. Relatif muda dibandingkan dengan beberapa
inisiatif cloud lain seperti CloudStack atau OpenNebula. Proyek ini
didukung oleh banyak pihak dari industri maupun individu.
OpenStack memungkinkan perusahan atau siapa saja membangun dan menawarkan layanan komputasi awan (Cloud computing)
dengan memanfaatkan software Open Source yang bebas dan hardware
standar. Utamanya bertindak sebagai infrastruktur pada platform layanan
IaaS (Infrastructure as a Service), adalah software bebas dan
open-source yang dirilis di bawah persyaratan Lisensi Apache 2.0, yang
memberikan kebebasan siapa saja untuk memanfaatkannya untuk apa saja.
Proyek ini dikelola oleh OpenStack Foundation, sebuah entitas perusahaan
non-profit yang didirikan pada September 2012 untuk mempromosikan
perangkat lunak OpenStack dan masyarakat. Lebih dari 200 perusahan
(2013) yang bergabung termasuk, mulai dari Arista Networks, AT&T,
AMD, Brocade Communications Systems, Canonical, Cisco, Dell, EMC,
Ericsson, F5 Networks, Groupe Bull, Hewlett-Packard, IBM, Inktank,
Intel, NEC, NetApp, Nexenta, Rackspace Hosting, Red Hat, SUSE Linux,
VMware, Oracle dan Yahoo!.
Teknologi ini terdiri dari serangkaian
proyek yang saling terkait yang mengontrol gabunga dari pengolahan,
penyimpanan, dan jaringan sumber daya lintas pusat-pusat data, memiliki
kemampuan dalam mengelola atau mengatur melalui dashboard berbasis web,
perangkat perintah baris, atau melalui RESTful API.
TL;DR OpenStack:
- Platform cloud sumber terbuka (open-source), untuk cloud publik maupun privat
- Platform IaaS (Infrastructure as a Service) yg mengatur sumber-daya a.l. compute, storage, network
- Sistem operasi cloud yg massively scalable
- Proyek dan komunitas open-source besar, didukung dan diikuti oleh banyak pihak, baik individu maupun industri
Rilis OpenStack
Codename | Rilis Terakhir | Status |
Juno | Oct 16, 2014 | Stable, Security-Supported |
Icehouse | Oct 2, 2014 | Security-Supported |
Havana | Sep 22, 2014 | EOL |
Grizzly | Mar 20, 2014 | EOL |
Folsom | Apr 11, 2013 | EOL |
Essex | Oct 12, 2012 | EOL |
Diablo | Jan 19, 2012 | EOL |
Cactus | Apr 15, 2011 | Deprecated |
Bexar | Feb 3, 2011 | Deprecated |
Austin | Oct 21, 2010 | Deprecated |
Arsitektur
- OpenStack dirancang dengan aristektur modular, Berikut adalah komponen dari Openstack :
1. Horizon – Dashboard
Horizon merupakan tampilan dashboard
untuk Openstack. Horizon menyediakan antarmuka web untuk semua komponen
dalam Openstack termasuk Nova, Swift, Keystone dll. Horizon merupakan
implementasi (ofisial untuk konsep) dashboard OpenStack. layanan
OpenStack Horizon dibuat menggunakan platform Django dengan konsep yg extensible dan mengunakan komponen-komponen reusable.
2. Swift – Object Storage
Swift merupakan komponen Object Storage
pada Openstack. Swift dapat menyimpan dan menerima data yang sangat
banyak dan dapat di-scale dengan mudah. Switch ideal untuk menyimpan
data tidak terstruktur yang dapat berkembang tanpa batas.
3.Glance – Image Service
4. Nova – Komputasi (Compute)
Nova merupakan komponen untuk mengatur proses dan alokasi CPU untuk setiap virtual machine. Kontroler compute seperti Nova, merupakan komponen utama dari sistem IaaS, karena entitas ini yg mengatur proses dan alokasi CPU untuk setiap VM.
Karakteristik Nova:
- Component based architecture: memudahkan penambahan fitur dan dan/atau perubahan skema (behaviour)
- Highly available: dapat menyesuaikan dengan penambahan beban komputasi (scale)
- Fault-Tolerant: proses yg terisolasi untuk menghindari kegagalan karena efek domino (cascading failures)
- Recoverable: kegagalan akan mudah di-diagnosis, di-debug dan ditanggulangi
- Open Standard: menjadi implementasi referensi untuk API yg community-driven
- API Compatibility: API yg kompatibel dengan sistem-sistem populer seperti Amazon EC2
5. Cinder – Block Storage
Cinder merupakan komponen storage yang
digunakan oleh element compute (Nova). Cinder memberikan akses kepada
admin untuk mengatur kebutuhan terhadap media penyimpanan. Cinder
melakukan virtualisasi terhadap kumpulan dari perangkat block storage
dan memberikan akses kepada elemen compute untuk menggunakan resource
tersebut tanpa perlu tahu storage mana yang sedang digunakan. Cinder
menyediakan layanan penyimpan blok (persistent) untuk digunakan oleh compute instances.
Cinder didisain untuk bekerja-sama dengan komponen OpenStack, terutama
compute dan dashboard. Cinder memungkinkan admin/pengguna untuk mengatur
kebutuhan terhadap media penyimpan dan dapat digunakan untuk
skenario-skenario pemakaian yg sensitif atau yg membutuhkan kinerja
tinggi seperti: penyimpan database, expandable file systems, akses raw pada penyimpan blok, snapshot management e.g untuk backup/restorasi.
6. Quantum (Neutron) – Networking
Neutron (sebelumnya disebut quantum) merupakan komponen untuk menyediakan Network connectivity as a service
i.e. Neutron melakukan kendali atas network yang melibatkan virtual
machine. Fungsi yang termasuk di dalamnya adalah mengatur
jaringan/subnet, router, load-balancer, gateway, dan floating IP.
Neutron juga merupakan elemen yg (akan) banyak bersentuhan dengan konsep
SDN.
7. Keystone – Identity Service
8. Heat – Orchestration
Heat merupakan project utama untuk
orchestration. Program orchestration merupakan penengah antara manusia
dan mesin yang digunakan mengatur semua komponen infrastruktur dan
aplikasi di dalam cloud Openstack.
9.Trove – Database
Trove merupakan komponen
Database-as-a-service untuk Openstack. User atau administrator database
dapat mengatur beberapa database instance sesuai kebutuhan.
10.Ceilometer – Telemetry (Billing)
- OpenStack mempunyai 2 jenis produk diantaranya adalah sebagai berikut:
- OpenStack Object Stronge
OpenStack Storage adalah software untuk
membangun object storage yang redundan, skalabel menggunakan clusters
dari segudang server-server biasa untuk memungkinkan kapasitas
penyimpanan data tak terbatas (ribuan terabytes atau bahkan petabytes).
Sistem yang digunakan untuk menyimpan object dalam skala besar dengan
redundandcy dan failover built-in. Object Storage ini seringkali
digunakan untuk backup data atau pengarsipan data, video streaming,serta
pengembangan applikasi berbasis cloud dengan Object Storage di
dalamnya.
- OpenStack Compute
OpenStack Compute adalah Open souce
Software yang di desain untuk me-manage jaringan-jaringan skala besar,
virtual mesin serta menciptakan platform yang scalable untuk
cloud-computing. Di dalamnya terdapat tools untuk memanage cloud,
termasuk menjalankan instances, mengatur networks, dan mengatur user
access di dalam cloud.
v OpenStack Image Service
OpenStack Image Service atau di sebut Glance Adalah salah satu produk dari OpenStack yang digunakan untuk layanan virtual disk images.
- Top of Form
Tujuan OpenStack
Untuk memungkinkan setiap organisasi atau
perusahaan untuk membuat dan menyediakan layanan cloud computing dengan
menggunakan perangkat lunak open source yang berjalan diatas perankat
keras yang standar.
Instalisasi OpenStack
Installasi OpenStack kali ini dilakukan
di atas OS Linux CentOS dengan mengunakan Hardware Memori minimum 2 Gig
dan Processor yang sudah mendukung Virtualisasi. Berikut Tahapannya :
- sudo yum install -y http://rdo.fedorapeople.org/rdo-release.rpm
- sudo yum install -y openstack-packstack
- packstack –allinone
Hanya dengan 3 langkah diatas, kita sudah bisa install OpenStack.
Install OpenStack Havana Multi Node dengan PackStack
Installasi OpenStack Havana Multi Node
dengan menggunakan PackStack. Dalam Installasi ini saya menggunakan 3
buah server DEll Power Edge R610
- DEll Power Edge R610 (Node 2), IP Address 172.16.65.205
- DEll Power Edge R610 (Node 3), IP Address 172.16.65.206
- DEll Power Edge R610 (Control node, Network node, Storage node, Compute node), IP Address 172.16.65.207
Dalam konfigurasi kali ini digunakan mode VLAN, dengan menggunakan 2 card di masing masing server
Server | Public | VM Net | Role |
node3 | em1: 172.16.65.207/22 | em2 | Control node, Network node, Storage node, Compute node |
node1 | em1: 172.16.65.205/22 | em2 | Compute nodes |
node2 | em1: 172.16.65.206/22 | em2 | Compute nodes |
- konfigurasi network di masing masing node :
Konfigurasi Network di Node 3
Konfigurasi Network di Node 1
Konfigurasi Network di Node 2
- Setelah masing masing network di setiap node sudah di konfigurasi, langkah selanjutnya adalah install packstack di server controller “Node 3″ dengan cara sebagai berikut :
[root@controller ~]# sudo yum install -y
http://rdo.fedorapeople.org/rdo-release.rpm[root@controller ~]# sudo yum
install -y openstack-packstack
- Setelah melakukan proses installasi OpenStack Packstack seperti langkah di atas, langkah selanjutnya adalah generate file konfigurasi untuk multinode
[root@controller ~]# packstack –gen-answer-file=multi-node.txt
- Langkah selanjutnya adalah konfigurasi file multi-node.txt hasil generate command di atas, dalam konfigurasi ini beberapa perubhan file multi-node.txt yDI lakukan
- Setelah melakukan konfigurasi ulang file multi-node.txt menggunakan VI atau VIM, jalankan packstack dengan file answer di atas. [root@controller ~] # packstack –answer-file=multi-node.txt Ketika proses installasi OpenStack, mungkin ada source yang corrupt, apabila terjadi file corrupt, installasi bisa di ulang kembali. Apabila proses di atas sudah selesai, saat rubah network secara manual dengan mengedit file
- Setelah di lakukan perubahan konfigurasi network, jalankan perintah berikut :
[root@controller ~]# ovs-vsctl add-port
br-ex em1; service network restart, Untuk melakukan akses ke dahsboard
Openstack, bisa dengan membuka Browser dengan mengetikkan
http://172.16.65.207/dashboard/
Openstack Dashboard
Setelah login, kita bisa melihat node
yang terinstall dan beberpa komponen OpenStack…, contoh di bawah ini
tampilan menu hypervisor. terlihat semua memory di pool di summary.
Ø Cara melakukan Uninstall Openstack, Data Aplikasi serta paket pendukung
Warning! Dangerous step! Destroys VMs
for x in $(virsh list –all | grep instance- | awk ‘{print $2}’) ; do
virsh destroy $x ;
virsh undefine $x ;
done ;
# Warning! Dangerous step! Removes lots of packages
yum remove -y nrpe “*nagios*” puppet “*ntp*” “*openstack*” \
“*nova*” “*keystone*” “*glance*” “*cinder*” “*swift*” \
mysql mysql-server httpd “*memcache*” scsi-target-utils \
iscsi-initiator-utils perl-DBI perl-DBD-MySQL ;
# Warning! Dangerous step! Deletes local application data
rm -rf /etc/nagios /etc/yum.repos.d/packstack_* /root/.my.cnf \
/var/lib/mysql/ /var/lib/glance /var/lib/nova /etc/nova /etc/swift \
/srv/node/device*/* /var/lib/cinder/ /etc/rsync.d/frag* \
/var/cache/swift /var/log/keystone /var/log/cinder/ /var/log/nova/ \
/var/log/httpd /var/log/glance/ /var/log/nagios/ /var/log/quantum/ ;
umount /srv/node/device* ;
killall -9 dnsmasq tgtd httpd ;
vgremove -f cinder-volumes ;
losetup -a | sed -e ‘s/:.*//g’ | xargs losetup -d ;
find /etc/pki/tls -name “ssl_ps*” | xargs rm -rf ;
for x in $(df | grep “/lib/” | sed -e ‘s/.* //g’) ; do
umount $x ;
done
Ø Membuat subnet OpenStack dengan Command Line
Membuat Subnet
- neutron router-create router1
- neutron net-create net1
- neutron subnet-create net1 172.17.0.0/24 –name subnet1
- neutron router-interface-add router1 subnet1
Membuat Public Subnet
Untuk membuat Public Subnet caranya
hampir sama dengan di atas, namun ada penambahan untuk external,
sehingga network ini nantinya bisa berhubungan dengan external network.
Virtualisasi dan Hypervisor
Teknologi Virtualisasi adalah landasan bagi tumbuh dan berkembangnya OpenStack.
Pada hakikatnya OpenStack tidak lain adalah suatu kerangka kerja
bagaimana mengatur dan mendayagunakan teknologi virtualisasi yang
berkembang terus agar penggunaannya baik dalam skala kecil maupun dalam
skala yang luar biasa besar tetap terkontrol dan mudah dilakukan.
Virtualisasi pada keluarga komputer yang berarsitektur x86
Pada awalnya virtualisasi pada keluarga
komputer yang berarsitektur x86 dianggap sulit direalisasikan karena
prosesor x86 memiliki arsitektur yang dapat digambarkan dengan bagan
seperti di bawah ini :
Prosesor x86 membagi tingkatan akses menjadi 4 tingkat yang dinamai Ring 0, 1, 2, dan 3. Ring 0
adalah satu-satunya tingkatan yang memungkinkan dijalankannya
perintah-perintah untuk mengakses memori atau perangkat keras lainnya
secara langsung.
Ring yang lain tidak dapat menjalankan
perintah-perintah untuk mengakses memori dan perangkat keras secara
langsung. Software yang dijalankan pada Ring 1, 2, dan 3 dibatasi
aksesnya ke hardware untuk alasan keamanan sistem yang ketat. Akses
hardware dari Ring selain Ring 0 akan diseleksi terlebih dahulu dan
apabila diijinkan akan didelegasikan melalui Ring 0 dengan mendapatkan
pengawalan yang sangat ketat.
Idealnya virtualisasi dapat dilakukan
dengan mudah dengan cara menempatkan hypervisor pada Ring 0 dan OS
minimal di Ring 1. Akan tetapi OS perlu mengakses memori dan perangkat
keras lainnya secara langsung. Dalam kondisi biasa OS menempati Ring 0
dan tidak ada masalah. Bila OS harus digeser ke Ring 1 maka timbul
masalah akses. Sehingga tantangan terbesar virtualisasi dalam keluarga
komputer yang berarsitektur x86 adalah bagaimana membuat sebuah
hypervisor yang dapat dijalankan di Ring 0 akan tetapi tidak menghalangi
akses dari OS yang digeser dari Ring 0 ke Ring 1.
Ada beberapa cara yang dilakukan untuk
mewujudkan hal tersebut yang mengakibatkan pada akhirnya muncul beberapa
jenis hypervisor juga. Implikasinya ada tiga macam teknologi
virtualisasi yang saat ini bersaing di pasar, yaitu :
- Virtualisasi Total dengan cara translasi biner
- Paravirtualisasi dengan modifikasi OS
- Virtualisasi dengan bantuan perangkat keras.
Virtualisasi Total dengan cara translasi biner
virtualisasi total sementara ini adalah
cara virtualisasi yang paling sulit. Implementasinya adalah dengan
membuat hypervisor yang beroperasi di Ring 0 dan menggeser OS ke Ring 1.
Setiap perintah yang mengakses memori atau perangkat keras lainnya yang
dijalankan di Ring 1 dihadang terlebih dahulu agar supaya tidak
menimbulkan “error” dengan cara ditranslasikan menjadi perintah yang
efeknya sama seperti yang dikehendaki tetapi dijalankan oleh hypervisor
yang berada di Ring 0. Sementara itu aplikasi yang dijalankan di Ring 3
karena tidak mengandung perintah yang mengakses memori atau hardware
secara langsung dapat dieksekusi langsung tanpa interverensi dari
hypervisor. Bagannya dapat dilihat seperti di bawah ini :
Keunggulan utama teknologi ini adalah
tidak perlu ada perubahan pada guest OS dan dapat dijalankan di semua
jenis prosesor x86 tanpa perlu fitur khusus.
Contoh implementasi dari teknologi ini adalah pada hypervisor vMWare ESX dan Microsoft Virtual Server.
Paravirtualisasi
Berbeda dengan virtualisasi total yang tidak memerlukan perubahan pada guest OS maka pada paravirtualisasi teknologi hypervisor yang diimplementasikan adalah dengan cara mengubah kernel dari guest OS
menjadi kernel yang memahami virtualisasi. Hal ini dilakukan dengan
mengubah perintah-perintah yang mengakses memori dan perangkat keras
secara langsung menjadi sebuah hypercall yaitu perintah yang mengakses hypervisor (virtualization layer) yang mengatur implementasi virtualisasi.
Karena teknologi ini perlu mengubah kernel guest os maka pada awalnya paravirtualisasi tidak dapat menjalankan Windows sebagai guest OS, karena Windows adalah OS yang tidak open source. Bagan dari paravirtualisasi dapat dilihat pada gambar di bawah ini :
Satu hal yang paling menggembirakan
dengan teknologi virtualisasi dengan dukungan hardware ini adalah
munculnya hypervisor yang berkode sumber terbuka secara total yaitu KVM sehingga membuka kemungkinan bagi semakin cepatnya teknologi virtualisasi ini akan berkembang. KVM adalah hypervisor yang paling dominan dalam lingkungan OpenStack.
sumber: dari sini
0 komentar:
Posting Komentar