Showing posts with label Openstack. Show all posts
Showing posts with label Openstack. Show all posts

Monday, May 16, 2016

List Openstack Command Line Interfaces

List command dibawah saya ambil dari blog relasi yang memang sehari-hari mainannnya openstack, ya karena saya udah di network biar gak lupa saya catat di blog saya (sumber tercantum dibawah). 
Yup list command ini sangat berguna dalam operational sehari-hari ketika kita menggunakan openstack.

IDENTITY (KEYSTONE)
List all users
$ keystone user-list
List Identity service catalog
$ keystone catalog

IMAGES (Glance)
List images you can access
$ glance image-list
Delete specified image
$ glance image-delete IMAGE
Describe a specific image
$ glance image-show IMAGE
Update image
$ glance image-update IMAGE
Upload kernel image
$ glance image-create --name "cirros-threepart-kernel"
  --disk-format aki --container-format aki --is-public False
  --file ~/images/cirros-0.3.1~pre4-x86_64-vmlinuz
Upload RAM image
$ glance image-create --name "cirros-threepart-ramdisk"
  --disk-format ari --container-format ari --is-public False
  --file ~/images/cirros-0.3.1~pre4-x86_64-initrd
Upload three-part image
$ glance image-create --name "cirros-threepart" --disk-format ami
  --container-format ami --is-public False
  --property kernel_id=$KID-property ramdisk_id=$RID
  --file ~/images/cirros-0.3.1~pre4-x86_64-blank.img
Register raw image
$ glance image-create --name "cirros-raw" --disk-format raw
  --container-format bare --is-public False
  --file ~/images/cirros-0.3.1~pre4-x86_64-disk.img

COMPUTE (Nova)
List instances, check status of instance
$ nova list
List images
$ nova image-list
List flavors
$ nova flavor-list
Boot an instance using flavor and image names (if names are unique)
$ nova boot --image IMAGE --flavor FLAVOR INSTANCE_NAME
$ nova boot --image cirros-0.3.1-x86_64-uec --flavor m1.tiny
  MyFirstInstance
Login to instance
# ip netns
# ip netns exec NETNS_NAME ssh USER@SERVER
# ip netns exec qdhcp-6021a3b4-8587-4f9c-8064-0103885dfba2
  ssh cirros@10.0.0.2
Note
In CirrOS the password for user cirros is “cubswin:)” tanpa quotes.

Show details of instance
$ nova show NAME
$ nova show MyFirstInstance
View console log of instance
$ nova console-log MyFirstInstance
Set metadata on an instance
$ nova meta volumeTwoImage set newmeta='my meta data'
Create an instance snapshot
$ nova image-create volumeTwoImage snapshotOfVolumeImage
$ nova image-show snapshotOfVolumeImage

PAUSE, SUSPEND, STOP, RESCUE, RESIZE, REBUILD, REBOOT INSTANCE
Pause
$ nova pause NAME
$ nova pause volumeTwoImage
Unpause
$ nova unpause NAME
Suspend
$ nova suspend NAME
Unsuspend
$ nova resume NAME
Stop
$ nova stop NAME
Start
$ nova start NAME
Rescue
$ nova rescue NAME
$ nova rescue NAME --rescue_image_ref RESCUE_IMAGE
Resize
$ nova resize NAME FLAVOR
$ nova resize my-pem-server m1.small
$ nova resize-confirm my-pem-server1
Rebuild
$ nova rebuild NAME IMAGE
$ nova rebuild newtinny cirros-qcow2
Reboot
$ nova reboot NAME
$ nova reboot newtinny
Inject user data and files into an instance
$ nova boot --user-data FILE INSTANCE
$ nova boot --user-data userdata.txt --image cirros-qcow2
  --flavor m1.tiny MyUserdataInstance2
Notes
To validate that the file was injected, use ssh to connect to the instance, and look in /var/lib/cloud for the file.
Inject a keypair into an instance and access the instance with that keypair

Create keypair
$ nova keypair-add test > test.pem
$ chmod 600 test.pem
Start an instance (boot)
$ nova boot --image cirros-0.3.0-x86_64 --flavor m1.small
  --key_name test MyFirstServer
Use ssh to connect to the instance
# ip netns exec qdhcp-98f09f1e-64c4-4301-a897-5067ee6d544f
  ssh -i test.pem cirros@10.0.0.4
Manage security groups
Add rules to default security group allowing ping and SSH between instances in the default security group
$ nova secgroup-add-group-rule default default icmp -1 -1
$ nova secgroup-add-group-rule default default tcp 22 22

NETWORKING (Neutron)
Create network
$ neutron net-create NAME
Create a subnet
$ neutron subnet-create NETWORK_NAME CIDR
$ neutron subnet-create my-network 10.0.0.0/29

BLOCK STORAGE (CINDER)
Used to manage volumes and volume snapshots that attach to instances.
Create a new volume
$ cinder create SIZE_IN_GB --display-name NAME
$ cinder create 1 --display-name MyFirstVolume
Boot an instance and attach to volume
$ nova boot --image cirros-qcow2 --flavor m1.tiny MyVolumeInstance
List volumes, notice status of volume
$ cinder list
Attach volume to instance after instance is active, and volume is available
$ nova volume-attach INSTANCE_ID VOLUME_ID auto
$ nova volume-attach MyVolumeInstance 573e024d-5235-49ce-8332-be1576d323f8 auto
Note
On the Xen Hypervisor it is possible to provide a specific device name instead of automatic allocation. For example:
$ nova volume-attach MyVolumeInstance 573e024d-5235-49ce-8332-be1576d323f8 /dev/vdb
This is not currently possible when using non-Xen hypervisors with OpenStack.

Manage volumes after login into the instance.
List storage devices
# fdisk -l
Make filesystem on volume
# mkfs.ext3 /dev/vdb
Create a mountpoint
# mkdir /myspace
Mount the volume at the mountpoint
# mount /dev/vdb /myspace
Create a file on the volume
# touch /myspace/helloworld.txt
# ls /myspace
Unmount the volume
# umount /myspace

OBJECT STORAGE (Swift)
Display information for the account, container, or object
$ swift stat
$ swift stat ACCOUNT
$ swift stat CONTAINER
$ swift stat OBJECT
List containers
$ swift list

Sumber : pakguru.xyz

Friday, June 12, 2015

Openstack Menambah Compute Node Menggunakan Packstack CentOS 7

Tulisan ini adalah lanjutan dari tulisan sebelumnya yang membahas langkah-langkah Instalasi OpenStack Menggunakan Packstack di CentOS 7. Pada tulisan kali ini kita akan membahas bagaimana cara menambahkan compute node menggunakan packstack. 

Untuk menambahkan compute node (192.168.99.51), maka berarti kita harus menginstall OpenStack lagi di sebuah server, kira-kira nanti topologinya adalah seperti dibawah ini.



Notes Penting!
Pre-Requirement dan Pre-Instalation di Node B sama percis dengan di Node A ketika awal mendeploy OpenStack, seperti instalasi openvswitch, int-br-ex, turn off network manager service, update package, hostname static, dsb. 


Langkah Pertama, Edit File answers.txt di Node A, lalu ubah parameter dibawah ini
[root@servera ~]# vim /root/answers.txt
##Tambahkan Node Compute Host 192.168.99.51##
CONFIG_COMPUTE_HOSTS=192.168.99.50,192.168.99.51

Update dan Deploy OpenStack Menggunakan File answers.txt yang Telah Diupdate
[root@servera ~]# packstack --answer-file /root/answers.txt

Copy File answers.txt dari Node A ke Node B
[root@servera ~]# scp /root/answers.txt root@192.168.99.51:/root/answers.txt 
answers.txt                                                        100%   30KB  29.7KB/s   00:00

Pada Node B, Deploy OpenStack Menggunakan File answers.txt yang Dicopy Dari Node A
[root@serverb ~]# packstack --answer-file /root/answers.txt

Setelah Selesai, Jangan Lupa Verifikasi Status Service
[root@serverb ~]# openstack-status
== Nova services ==
openstack-nova-api:                     inactive  (disabled on boot)
openstack-nova-compute:                 active
openstack-nova-network:                 inactive  (disabled on boot)
openstack-nova-scheduler:               inactive  (disabled on boot)
== neutron services ==
neutron-server:                         inactive  (disabled on boot)
neutron-dhcp-agent:                     active
neutron-l3-agent:                       active
neutron-metadata-agent:                 active
neutron-lbaas-agent:                    active
neutron-openvswitch-agent:              active
neutron-metering-agent:                 active
== Ceilometer services ==
openstack-ceilometer-api:               inactive  (disabled on boot)
openstack-ceilometer-central:           inactive  (disabled on boot)
openstack-ceilometer-compute:           active
openstack-ceilometer-collector:         inactive  (disabled on boot)
== Support services ==
libvirtd:                               active
openvswitch:                            active
dbus:                                   active
rabbitmq-server:                        failed
Warning novarc not sourced

Verifikasi Compute Hosts Melalui Horizon Web Interfaces
- Login melalui dashboard https://192.168.99.50/dashboard

- Setelah berhasil login, cek hypervisor summare di menu Admin -> System -> Hypervisors 

1) Cek dan Verifikasi tab bagian hypervisors, apabila proses menambah compute node berhasil seharusnya akan ada 2 hypervisor yaitu servera.pod1.example.com dan server2.pod1.example.com.


2) Cek dan Verifikasi tab bagian Compute Host, apabila proses penambahan compute node dari langkah sebelumnya telah berhasil dilakukan, maka seharusnya akan ada 2 Compute Host yaitu servera.pod1.example.com dan server2.pod1.example.com.



Semoga bermanfaat.

Tuesday, June 9, 2015

Instalasi OpenStack CentOS 7

Kali ini kita akan mencoba melakukan instalasi openstack di CentOS 7, buat agan yang belum tahu apa itu openstack dan apa aja sih komponen-komponen dari openstack bisa baca tulisan saya disini.
Sebelum melakukan instalasi alangkah lebih baiknya kita tahu requirement yang dibutuhkan agar proses instalasi berjalan mulus semringwing.

Hardware Requirements
  • Controller Node
    Processor, 64-bit x86 dan support AMD-V atau Intel VT hardware virtualization.
    Memory, Minimum 2GB RAM. (Kalo dari pengalaman 8GB Mulus Semringwing)
    Disk Space, Recommended 100GB.
    Network, Minimum 2 x 1 Gbps NIC, 3 NIC recommended.
  • Compute Node
    Processor, 64-bit x86 dan support AMD-V atau Intel VT hardware virtualization.
    Memory, Minimum 2GB RAM. (Kalo dari pengalaman 8GB Mulus Semringwing)
    Disk Space, Recommended 50GB.
    Network, Minimum 2 x 1 Gbps NIC, 3 NIC recommended.

Software Requirements
  • Sebenarnya untuk mendeploy openstack dibutuhkan sedikitnya 2 machine dengan OS CentOS7. Machine pertama berfungsi sebagai Cloud Controller dan Machine kedua bertindak sebagai Nova Compute Node. Sedangkan dalam dunia persilatan sangat direkomendasikan menggunakan 2 Nova Compute Node dan 1 Cloud Controller.
  • Pastikan setiap machine terhubung ke satu NTP Server (Network Time Protocol) yang sama agar clock-nya tersinkronisasi.


Notes
Karna tutorial ini hanya untuk proses instalasi, jadi node yang akan diinstall nanti akan berjalan sebagai controller node dan juga compute node.

Pre-Instalation
Agar instalasi berjalan mulus ada beberapa hal yang harus diperhatikan dan di cek terlebih dahulu.

  • Disabled Selinux
    [root@serverb ~]# vi /etc/selinux/config
    ##Lalu ubah parameter##
    SELINUX=disabled
  • Cek Hostname, lalu pastikan hostname sudah terconfigure secara static.
    [root@serverb ~]# hostname
    serverb.pod1.example.com
    [root@serverb ~]# hostnamectl set-hostname serverb.pod1.example.com
  • Cek IP Address, pastikan IP Address yang digunakan adalah IP Address Static
    [root@serverb ~]#
    ip addr show
  • Update Package OS Server, lalu reboot
    [root@serverb ~]# yum update -y
    [root@serverb ~]# reboot
  • Instalasi & Konfigurasi Openvswitch
    Instalasi
    Instalasi dan konfigurasi openvswitch penting karna inilah yang akan membentuk neutron atau network yang akan berfungsi sebagai bridge yang menghubungkan instances (virtual machine) keluar/internet.

    Untuk mengecek apakah openvswitch sudah terinstall atau belum gunakan command dibawah ini.
    [root@serverb ~]# ovs-vsctl -V
    Kalau outputnya "bash: ovs-vsctl: command not found...", maka openvswitch belum terinstall. Untuk instalasi openvswitch ikuti tutorial saya sebelumnya disini.

    Apabila openvswitch sudah diinstall ketika ketik command diatas harusnya outputnya seperti dibawah ini.
    [root@serverb ~]# ovs-vsctl -V
    ovs-vsctl (Open vSwitch) 2.3.1
    Compiled Jun  9 2015 12:15:53
    DB Schema 7.6.2


    Konfigurasi
    Kita akan membuat 2 interface yang akan berfungsi sebagai bridge yaitu :
    - eth0, menjadi port dari br-ex bridge karna eth0 mempunyai connectivity external.
    - br-ex, menjadi switch dimana eth0 akan diattach ke switch(br-ex) tersebut.

    Buat interface baru yaitu br-ex di /etc/sysconfig/network-scripts/ifcfg-br-ex dengan informasi dibawah ini.

    DEVICE=br-ex
    DEVICETYPE=ovs
    TYPE=OVSBridge
    BOOTPROTO=static
    IPADDR=192.168.99.50 #IP Address yang kita gunakan##
    NETMASK=255.255.255.0
    GATEWAY=192.168.99.5

    Edit file /etc/sysconfig/network-scripts/ifcfg-eth0 dengan informasi dibawah ini.

    DEVICE=eth0
    ONBOOT=yes
    TYPE=OVSPort
    DEVICETYPE=ovs
    OVS_BRIDGE=br-ex

    Matikan service Network Manager karna apabila digunakan akan menyebabkan error.
    [root@serverb ~]# systemctl stop NetworkManager.service
    [root@serverb ~]#
    systemctl disable NetworkManager.service

    Lalu nyalakan service network dan restart agar konfigurasi openvswitch tadi berjalan.[root@serverb ~]# systemctl start network.service
    [root@serverb ~]# systemctl enable network.service atau
    [root@serverb ~]# chkconfig network on
    [root@serverb ~]# reboot


INSTALASI OPENSTACK MENGGUNAKAN PACKSTACK
Setelah proses pre-installation selesai selanjutnya kita akan melakukan instalasi openstack menggunakan packstack. Packstack adalah package utility yang dikembangkan oleh redhat dan digunakan untuk mendeploy Redhat OpenStack, namun dapat juga digunakan di beberapa distro linux dan di OS CentOS kita dapat juga menggunakan packstack untuk mendeploy openstack.

- Install openstack-packstack dan openstack-dashboard dari repository RDO
[root@serverb ~]# yum install -y https://repos.fedorapeople.org/repos/openstack/openstack-juno/rdo-release-juno-1.noarch.rpm
[root@serverb ~]# yum install -y openstack-packstack

- Generate answer-file lalu edit answer-file untuk memilih paket openstack yang akan di install
[root@serverb ~]# packstack --gen-answer-file /root/answers.txt

Lalu edit parameter di dalam file answers.txt dibawah ini.
....
CONFIG_DEFAULT_PASSWORD=arif
CONFIG_SWIFT_INSTALL=n
CONFIG_HEAT_INSTALL=y
CONFIG_NTP_SERVERS=id.pool.ntp.org
CONFIG_KEYSTONE_ADMIN_PW=arif
CONFIG_CINDER_VOLUMES_CREATE=y
CONFIG_LBAAS_INSTALL=y
CONFIG_NEUTRON_METERING_AGENT_INSTALL=y
CONFIG_NEUTRON_FWAAS=y
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vlan
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vlan
CONFIG_NEUTRON_ML2_VLAN_RANGES=physnet1:1:1000
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-eth1
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-eth1:eth1
CONFIG_HORIZON_SSL=y
CONFIG_HEAT_CFN_INSTALL=y
CONFIG_PROVISION_DEMO=n

Setelah selesai save lalu quit.

- Deploy OpenStack Menggunakan answer-file yg disiapkan dari langkah sebelumnya

[root@serverb ~]# packstack --answer-file /root/answers.txt
......
Proses instalasi harus menunggu sekitar 20-30 menit.
......

- Verifikasi OpenStack Services
[root@serverb ~]# openstack-status

== Nova services ==

openstack-nova-api:                     active

openstack-nova-cert:                    active

openstack-nova-compute:                 active
openstack-nova-network:                 inactive  (disabled on boot)
openstack-nova-scheduler:               active
openstack-nova-conductor:               active
== Glance services ==
openstack-glance-api:                   active
openstack-glance-registry:              active
== Keystone service ==
openstack-keystone:                     inactive  (disabled on boot)
== Horizon service ==
openstack-dashboard:                    301
== neutron services ==
neutron-server:                         active
neutron-dhcp-agent:                     active
neutron-l3-agent:                       active
neutron-metadata-agent:                 active
neutron-lbaas-agent:                    active
neutron-openvswitch-agent:              active
neutron-metering-agent:                 active
== Cinder services ==
openstack-cinder-api:                   active
openstack-cinder-scheduler:             active
openstack-cinder-volume:                active
openstack-cinder-backup:                inactive  (disabled on boot)
== Ceilometer services ==
openstack-ceilometer-api:               active
openstack-ceilometer-central:           active
openstack-ceilometer-compute:           active
openstack-ceilometer-collector:         active
openstack-ceilometer-alarm-notifier:    active
openstack-ceilometer-alarm-evaluator:   active
openstack-ceilometer-notification:      active
== Heat services ==
openstack-heat-api:                     active
openstack-heat-api-cfn:                 active
openstack-heat-api-cloudwatch:          inactive  (disabled on boot)
openstack-heat-engine:                  active
== Support services ==
libvirtd:                               active
openvswitch:                            active
dbus:                                   active
target:                                 active
rabbitmq-server:                        active
memcached:                              active
== Keystone users ==
Warning keystonerc not sourced

Apabila output seperti diatas maka artinya instalasi berhasil dan service berjalan dengan baik.

- Akses Cloud Controller (Horizon) Melalui Web-Browser
Setelah proses instalasi selesai ada informasi bahwa untuk mengakses horizon melalui browser bisa melalui url ini https://192.168.99.50/dashboard



Login ke horizon menggunakan Username: Admin, Password: arif. Apabila berhasil login ke horizon maka tampilannya harusnya seperti dibawah ini.



NOTES 
Kalo lupa credential akses, kita bisa lihat isi file keystonerc_admin untuk melihat credentials access kita. Caranya seperti dibawah ini :
[root@servera ~]# cat keystonerc_admin
export OS_USERNAME=admin
export OS_TENANT_NAME=admin
export OS_PASSWORD=arif
export OS_AUTH_URL=http://192.168.99.50:5000/v2.0/
export OS_REGION_NAME=RegionOne
export PS1='[\u@\h \W(keystone_admin)]\$ '

Semoga bermanfaat yah.

Sunday, June 7, 2015

Installasi Openvswitch CentOS7

Catetan ini dibuat karna ketika ane oprek openstack pake CentOS7 ternyata openvswitchnya belum terinstall di CentOS7. Berhubung lagi seneng otak-atik openstack mau sedikit sharing sih kalo openvswitch merupakan salah satu komponen yang dibutuhkan untuk membentuk bridge network yang akan membentuk neutron di dalam openstack.

Untuk langkah-langkah instalasinya adalah sebagai berikut ini :
  • Instalasi paket yang dibutuhkan, jalankan command dibawah ini sebagai root.
    [root@servera ~]# yum -y install wget openssl-devel gcc make python-devel openssl-devel kernel-devel graphviz kernel-debug-devel autoconf automake rpm-build redhat-rpm-config libtool
  • Tambahkan user ovs
    [root@servera ~]# adduser ovs
  • Generate RPM file sebagai ovs user
    [root@servera ~]# su - ovs
    [ovs@servera ~]$ mkdir -p ~/rpmbuild/SOURCES
    [ovs@servera ~]$ wget http://openvswitch.org/releases/openvswitch-2.3.1.tar.gz
    [ovs@servera ~]$ cp openvswitch-2.3.1.tar.gz ~/rpmbuild/SOURCES/
    [ovs@servera ~]$ tar xfz openvswitch-2.3.1.tar.gz
    [ovs@servera ~]$ sed 's/openvswitch-kmod, //g' openvswitch-2.3.1/rhel/openvswitch.spec > openvswitch-2.3.1/rhel/openvswitch_no_kmod.spec
    [ovs@servera ~]$ rpmbuild -bb --nocheck ~/openvswitch-2.3.1/rhel/openvswitch_no_kmod.spec
    [ovs@servera ~]$ exit
  • Install RPM package dari rpm yang sudah di generate di langkah sebelumnya
    [root@servera ~]# yum localinstall /home/ovs/rpmbuild/RPMS/x86_64/openvswitch-2.3.1-1.x86_64.rpm

    Notes

    Apabila selinux dalam enforcing mode, maka context file nya harus disesuaikan dulu. Maka lakukan langkah-langkah dibawah ini.
    [root@servera ~]# yum install policycoreutils-python -y
    [root@servera ~]# mkdir /etc/openvswitch
    [root@servera ~]# restorecon -Rv /etc/openvswitch
    [root@servera ~]# semanage fcontext -a -t openvswitch_rw_t "/etc/openvswitch(/.*)?"
Setelah selesai lalu reboot.

Lalu untuk mengecek apakah openvswitch sudah terinstall atau belum jalankan command line tools dibawah ini.
[root@servera ~]# ovs-vsctl -V
##Apabila output seperti dibawah ini berarti instalasi openvswitch berhasil##
ovs-vsctl (Open vSwitch) 2.3.1
Compiled Jun  7 2015 18:06:48
DB Schema 7.6.2

Instalasi openvswitch di CentOS7 berhasil dilakukan. Semoga bermanfaat yah....

Wednesday, June 3, 2015

Mengenal Arsitektur, Istilah dan Terminologi Openstack

Openstack merupakan salah satu cloud software paling powerful di dunia, selain opensource fitur-fitur yang disediakan pun gak kalah powerful dengan platform lain seperti vmware, hyper-v, xen, dsb. Di beberapa negara openstack sangat booming dan cepat sekali perkembangannya, apabila berbicara cakupan asia tenggara singapura dan malaysia adalah salah satu contoh pesatnya perkembangan openstack di negara tsb. Saya pikir Indonesia dalam beberapa tahun kedepan akan mengikuti langkah yang sama.

Nah, setelah bicara sedikit tentang sejarah openstack sekarang kita overview sedikit arsitektur dari openstack. Dibawah ini kira-kira arsitektur openstack :


Kalo dari gambar diatas terlihat bahwa arsitektur openstack bisa dibilang rumit karna begitu banyak komponen dan service yang menopang openstack itu sendiri. Tapi kali ini saya akan coba bahas satu-persatu istilah dan terminologi openstack dari gambar yang ada pada arsitektur diatas.

OPENSTACK ARCHITECTURE
  1. Horizon (Dashboard) : Horizon adalah istilah developer openstack untuk web-based interfaces yang digunakan untuk manajemen service di dalam openstack. Meski di dunia real memanage dengan command line jauh lebih powerful, namun dengan adanya horizon maka memungkinkan kamu memanage openstack dengan "graphical user interfaces" dan membuat openstack jauh lebih bersahabat. Biasanya administrator menggunakan horizon untuk membuat instance(vm), manajemen network (nova/neutron), setting tenant(projects), access control, dsb.
  2. Keystone (Identity) : Keystone ini seperti kerberos kalo di LDAP, fungsinya adalah untuk centralized identity service dan Authorization Services. Keystone juga berfungsi untuk autentikasi username dan password credentials untuk user yang autentikasi ke cloud ato via horizon contohnya, keystone juga memberikan token atau istilahnya token-based systems untuk setiap user yang melakukan autentikasi. Singkatnya keystone itu bertindak sebagai SSO (Single-Sign On) authentication services untuk user dan komponen lainnya di openstack.
  3. Neutron (Networking) : Neutron adalah salah satu komponen penting dalam openstack, neutron berfungsi untuk menghubungkan Instances(vm) ke dunia real. Singkatnya neutron adalah services yang menghandel dan memanage virtual networking infrastructure di dalam platform openstack cloud. Apa saja elemen-elemen tersebut? Elemen tersebut yaitu networks, subnets, dan routers. Beberapa advanced fitur seperti firewall dan VPN juga menggunakan services neutron.
  4. Cinder (Block Storage) : Cinder adalah services yang memanage volume storage untuk virtual machine. Jadi apabila kita berbicara mengenai block storage di openstack maka hal itu erat kaitannya dengan cinder.
  5. Nova (Compute) : Nova dan neutron serupa tapi fungsinya berbeda, nova merupakan service yang memanage network virtual machine yang berjalan di compute nodes. Nova juga berfungsi sebagai distributed components yang berinteraksi dengan keystone untuk autentikasi, glances untuk menampung images, dan komunikasi dengan horizon web interfaces. Hal yang paling penting kita ketahui adalah services nova compute menggunakan libvirtd, qemu, dan kvm sebagai hypervisornya.
  6. Glance (Image) : Glance adalah sebuah services yang bertugas sebagai registry atau penampung virtual machines images. Dengan adanya glance maka memungkinkan user untuk mencopy images tersebut menjadi sebuah instances (virtual machine) dengan lebih cepat karna services glance menjadikan virtual machines images tersebut sebagai template yang disimpan di dalam storage.
  7. Swift (Object Storage) : Swift merupakan sebuah services yang memungkinkan sebuah block storage diubah menjadi object storage dan dengan adanya object storage maka user dapat melakukan store dan retrieve files dari object storage tsb. Swift merupakan salah satu fitur powerful menurut saya sebab arsitekturnya distributed, scaleable (mudah di expand) dan bisa dibuat redudancy,
  8. Ceilometer (Metering) : Ceilometer erat kaitannya dengan monitoring resources di openstack itu sendiri, ceilometer mencentralized sources untuk memonitor dan metering data. Dengan adanya ceilometer maka administrator dapat mengukur penggunaan user dan membuat bill untuk tiap2 openstack users.
  9. Heat (Orchestration) : Heat adalah sebuat services yang digunakan untuk menyusun/mengkolaborasi multiple composite aplikasi cloud menggunakan AWS menggunakan REST (Representational State Transfer) API dan CloudFormation-Compatible Query API. Software ini mengintegrasikan komponen lainnya dari openstack ke dalam sebuah one-file template. Dari template tersebut memungkinkan pembuatan hampir semua openstack resource type seperti : Instances, Floating, IPs, Volumes, Security Groups, Users, dan juga advanced fungsionality seperti High Availability, instance autoscaling, dan nested stacks.

OPENSTACK TERMINOLOGY
  1. Cloud Controller : Berfungsi untuk memanage seluruh compute node, oleh karna itu disebut dengan "Manager" dan biasanya kamu mengakses horizon via IP Address Cloud Controller ini. Semua machine/node dalam openstack cloud berkomunikasi dengan cloud controller menggunakan protocol AMQP (Advanced Message Queuing Protocol). Nah kalau di CentOS/Redhat/Fedora daemon yang menjalankan protocol AMQP adalah Apache Messaging Daemon (qpidd) atau RabbitMQ.
  2. Tenant : Tenant adalah istilah yang digunakan keystone dan equivalent dengan project dalam horizon (web-ui). Tenant atau project adalah group items yang terdiri dari users, images, instances, networks, volume, dsb.
  3. Compute Node : Compute node adalah Hypervisor, Compute node adalah machine/node yang menjalankan "Nova Compute Services".
  4. Volume (Block Storage) : Sebuah persistent disk yang dapat di attached/detached ke sebuah single instances (virtual machine). Service Cinder secara default menggunakan LVM. Logical volumes dibuat dari volume group ini. Snapshots volume dapat dibuat mirip dengan logical volume snapshot.
  5. Ephemeral Disk : Adalah sebuah temporary disk yang digunakan oleh instances (virtual machine). Ketika instances dibuat maka ephemeral disk akan dibuat sebagai QCOW2 image dalam /var/lib/nova/instances/instances-00000000x/disk.local dalam compute node. Dan ketika instances dihapus/terminated maka secara otomatis ephemeral disk juga akan diremove setelah dihapus dengan dd. Normalnya Ephemeral disk pertama akan muncul sebagai /dev/vdb di dalam instances yang kita buat.
  6. Server atau Instances : Instances adalah istilah di openstack yang menandakan sebuah Virtual Machines.
  7. Flavor : Adalah hardware yang diasosiasikan/diassign ke instances(virtual machine) yang akan dibuat. Hardware tersebut adalah RAM, CPUs, dan Disks.
Sekilas nampak ribet memang istilah dan terminologi dari openstack, namun kalo sudah terbiasa pasti lebih asik kok apalagi kalo sudah familiar.

Semoga bermanfaat yah.