Anda di halaman 1dari 35

INSTALL OPENSTACK ON

CENTOS 7

1
Sebelum kita melakukan installasi openstack pastikan kita sudah
menginstall vm di virtual machine (vmware atau vbox), karena nantinya
openstack akan diinstall diatas vm (centos 7). Vm ini akan disimulasikan
sebagai server yang berfungsi sebagai wadah untuk openstack platform.
Pastikan anda menginstall vm dengan spesifikasi yang direkomendasikan
agar service-service dari server bisa berjalan dengan baik.

Pada installasi openstack kali ini kita akan gunakan packstack installer ,
yang dapat mengotomatisasi setiap installasi komponen openstack, kita
hanya perlu edit file dan jalankan installasinya.

Baiklah kita mulai step by step installasi openstack nya :

1. Pertama install CentOS 7 vm dengan spesifikasi yang


direkomendasikan

8 Gb RAM
2 Core CPU
CentOS 7 VM 50 Gb HDD1
52 Gb HDD2
IP Statik Contoh: 172.16.174.5
(Netmask, Gateway, DNS)

2. Setelah installasi selesai, hidupkan vm (CentOS 7) kemudian buat


koneksi ssh dari user biasa ke root user dengan perintah berikut:

$ sh root@172.16.174.5

Catatan !!! $ = user biasa, # = root user

2
3. Setelah login sebagai root user, install text editor nano (mis nano),
jika memang anda kurang terbiasa menggunakan editor text vim.

# yum install -y nano

4. Kemudian edit file didirektori /etc/environment dan pastikan isi nya


seperti berikut.

LANG=en_US.utf-8
LC_ALL=en_US.utf-8

5. Setelah step diatas selesai dilakukan, logout dari root user kemudian
login kembali menggunakan koneksi ssh.

# logout
$ ssh root@172.16.174.5

6. Buat ssh-key dengan mengenerate nya, kemudian copykan ssh-key


ke vm server (centos 7).

# ssh-keygen
# ssh-copy-id root@172.16.174.5

3
Biasanya setelah ssh-key dicopy akan muncul output seperti diatas
yang memerintahkan anda untuk login kembali menggunaka ssh.

7. Sebagai root user, set hostname di direktori /etc/hosts

# vi /etc/hosts
e.g : 172.16.174.5 centos centos.lab.example.com
127.0.0.1 centos centos.lab.example.com

8. Lakukan verifikasi repository kemudian update untuk


memperbaharui semua packet vm.

# yum install -y https://www.rdoproject.org/repos/rdo-release.rpm


# yum update -y

9. Pada tahap ini kita akan install NTP server untuk mensycronisasi
waktu vm sesuai dengan server NTP yang ada diinternet.

4
# yum install -y chrony
# systemctl enable chronyd
# systemctl restart chronyd
# systemctl status chronyd
# chronyc sources

10. Nonaktifkan service firewall dan network manager agar tidak


menggangu service-service dari openstack nantinya. Kemudian
aktifkan service network.

# systemctl stop firewalld NetworkManager


# systemctl disable firewalld NetworkManager
# systemctl status firewalld NetworkManager
# systemctl enable network
# systemctl restart network
# systemctl status network

11. Install tools-tools tambahan untuk keperluan konfigurasi dan


manajement nantinya.

# yum install -y wget crudini screen

12. Kemudian install packet-packet openstack dengan release train

# yum install -y centos-release-openstack-train


# yum update -y

5
13. Setelah packet-packet openstack telah diinstall, kemudian lanjut
untuk menginstall installer packstack.

# yum install -y openstack-packstack

14. Pada tahap ini kita akan buat partisi yang diperuntukan sebagai
openstack storage (Cinder & Swift), pastikan bahwa kita sudah
menambahkan HDD2 dan pastikan vm sudah mendeteksi HDD2
tersebut (verifikasi dengan lsblk command). Buat 4 partisi dengan
ketentuan sebagai berikut :
• sdb1 (40Gb, 8e, Linux LVM)
• sdb2 (4Gb, 83, Linux)
• sdb3 (4Gb, 83, Linux)
• sdb4 (4Gb, 83, Linux)

# fdisk /dev/sdb
n
p
(1-4)
+40G

6
Buat juga partisi untuk sdb2, sdb3, sdb4 yang mana caranya masih
sama seperti tahap sebelumnya

Setelah 4 partisi sudah dibuat, verifikasi kembali dengan menekan


“p” untuk menampilkan partisi yang telah dibuat.

Jika sudah terverifikasi ada 4 partisi yang telah dibuat, kemudian


lanjutkan dengan menyimpan hasil perubahan dengan menekan “w”.

# partprobe /dev/sdb
# fdisk -l

7
15. 4 partisi sudah dibuat kemudian baru kita definisikan setiap
partisi sesuai dengan kebutuhan, pada lab kali ini kita definisikan
sdb1 sebagai volume untuk openstack storage jenis cinder dan partisi
sdb2, sdb3, sdb4 kita definisikan sebagai openstack storage jenis
swift.
a) Buat volume untuk cinder volume

# yum install -y lvm2


# pvcreate -f /dev/sdb1
# pvs
# vgcreate -f cinder-volumes /dev/sdb1
# vgs

b) Buat file system XFS untuk swift

# mkfs.xfs /dev/sdb2
# mkfs.xfs /dev/sdb3
# mkfs.xfs /dev/sdb4

8
Ulangi perintah diatas untuk membuat swift di sdb3 dan sdb4.

16. Untuk keperluan authenticate kita perlu mengenerate ssl dan


certificate, kemudian copy kan ssl ke direktori /etc/pki/tls/private/
dan certificate ke direktori /etc/pki/tls/certs/.

# openssl req -x509 -sha256 -days 1024 -nodes -newkey rsa:2048 \


-keyout packstack.key -out packstack.crt
# cp packstack.key /etc/pki/tls/private/
# cp packstack.crt /etc/pki/tls/certs/

9
17. Setelah semua step diatas selesai, kemudian kita generate file
answer dengan perintah packstack, file answer digunakan untuk
mengotomatisasi setiap installasi komponen-komponen openstack.
Simpan file answer di direktori home milik root user.

# packstack --gen-answer-file=/root/answer.txt

18. File answer sudah digenerate, kemudian kita edit isi dari file
answer tersebut, kita hanya akan edit beberapa entries saja, selain
dari entries yang ditampilkan dibawah tidak perlu diedit. Gunakan
text editor untuk open dan edit file answer.

10
# vi /root/answer.txt
CONFIG_DEFAULT_PASSWORD=redhat
CONFIG_CINDER_INSTALL=n
CONFIG_SWIFT_INSTALL=n
CONFIG_KEYSTONE_ADMIN_PW=redhat
CONFIG_KEYSTONE_DEMO_PW=redhat
CONFIG_NOVA_LIBVIRT_VIRT_TYPE=qemu
CONFIG_NEUTRON_L2_AGENT=openvswitch
CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vxlan
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vxlan,flat
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=extnet:br-ex
CONFIG_NEUTRON_OVS_BRIDGE_IFACE=br-ex:ens33
CONFIG_HORIZON_INSTALL=y
CONFIG_PROVISION_DEMO=n
19. Setelah file answer sudah diedit dan disimpan, kemudian
jalankan perintah packstack kembali untuk memulai installasi
openstack nya.

# packstack --answer-file /root/answer.txt

Catatan !!! Installasi mungkin akan membutuhkan 20-30 menit


sampai installasi selesai dan pastikan tidak ada error yang muncul.

11
Ketika installasi openstack selesai dan complete output yang muncul
kurang lebih akan seperti pada gambar diatas.

20. Installasi telah selesai kemudian kita bisa verifikasi packet-


packet openstack untuk memastikan packet-packet telah diinstall
dengan benar dan baik.

# yum list installed openstack\*

12
21. Kemudian verifikasi service-service openstack dan pastikan
service-service nya dalam keadaan active atau inactive (disabled on
boot).
a) Install packet openstack-utils

# yum install -y openstack-utils

b) Kemudian jalankan perintah openstack-status untuk review


berjalan atau tidaknya suatu service openstack.

# openstack-status

13
Kita bisa lihat informasi terkait service openstack secara detail
dengan menggunakan keystone credential admin (# .
keystonerc_admin).

22. Setelah packet dan service openstack telah diverifikasi,


kemudian kita verifikasi network vm, pastikan physical link (ens33)
vm sudah didaftarkan menjadi port bridge br-ex, pastikan bridge br-
ex sudah dikonfigurasikan IP statik dan physical link (ens33)
dikonfigurasikan sebagai slave dari bridge br-ex. Setelah semua
terverifikasi kemudian lakukan test ping ke gateway, laptop dan
internet.

14
Pada lab kal ini IP address dipetakan menjadi seperti berikut

Vm (CentOS 7) 172.16.174.5 Statik (konfigurasi manual)


Gateway (IP vmware) 172.16.174.2 Auto
Laptop 172.16.174.1 Auto

a) Verifikasi statik IP telah dikonfigurasikan di interface bridge (br-


ex), dan verifikasi physical link (ens33) tidak memiliki ip karena
telah menjadi interface slave dari bridge (br-ex). Gunakan perintah
ip address.

# ip a

b) Verifikasi file konfigurasi interface bridge (br-ex) dan physical


link(ens33) di direktori /etc/sysconfig/network-script/.

15
# cat /etc/sysconfig/network-script/ifcfg-ens33

# cat /etc/sysconfig/network-script/ifcfg-br-ex

c) Kemudian verifikasi physical link (ens33) sudah terdaftar menjadi


port bridge (slave) dari interface bridge (br-ex), gunakan perintah
ovs-vsctl show.

# ovs-vsctl show

16
d) Setelah semua telah terverfikasi, kemudian kita bisa lakukan test
ping untuk menguji konektivitas antara vm ke gateway, vm ke
laptop dan vm ke internet. Pastikan semua ping reply.

17
LAUNCHING INSTANCE

Lab ini adalah lab lanjutan dari lab sebelumnya, dimana pada lab
sebelumnya kita sudah praktek install openstacknya dan sekarang kita
akan praktekan tahapan-tahapan untuk dapat melaunching suatu
instancenya.

Berikut tahapan tahapan yang akan kita lakukan :

1. Pertama kita akan buat external network yang digunakan sebagai


konektivitas ke jaringan luar. Parameternya sebagai berikut :

Nama : jaringan_public
External : yes
Provider network type : flat
External Network Provider physical network : extnet
Nama subnet : public_subnet
Network subnet : 172.16.174.0/24
Network gateway : 172.16.174.2
Allocation pool : 172.16.174.10-174.16.174.50

Catatan !!! Network subnet untuk external network berada dalam satu
segment dengan network yang dikonfigurasikan di interface bridge
(br-ex). Gateway untuk external network juga sama dengan gateway
yang dikonfigurasikan di interface bridge (br-ex). Alokasikan pool
diluar dari IP address yang sudah terpakai atau sudah dialokasikan
sebelumnya.

18
Login sebagai keystone credential admin yang ada didirektori
/root/keystonerc_admin, kemudian buat network menggunakan
perintah neutron.

# source keystonerc_admin
~(keystone_admin)]# openstack network create \
--provider-network-type flat --provider-physical-network extnet \
--external --share jaringan_public

Catatan !!! extnet adalah l2 segmen yang didefinisikan di


CONFIG_NEUTRON_OVS_BRIDGE _MAPPINGS pada file answer

19
2. Buat subnet untuk external network sesuai dengan parameter yang
ada pada tabel diatas.

~(keystone_admin)]# openstack subnet create\


--subnet-range 172.16.174.0/24 --no-dhcp --dns-nameserver 172.16.174.2 \
--allocation-pool start=172.16.174.10,end=172.16.174.50 \
--gateway=172.16.174.2 --network jaringan_public public_subnet

3. Untuk dapat melaunching suatu instance kita butuh image system


operasi, kita bisa download image system operasi tertentu diinternet.
Untuk lab kali ini kita akan download image centos 7 dengan
ekstensi .qcow2, tetapi jika kita mempunya image nya di
laptop/komputer kita bisa langsung copykan image ke vm tanpa
harus download dari internet.

20
Ketika spesifikasi laptop/komputer anda tidak memadai anda bisa
menyesuaikan penggunaan image, anda bisa download image yang
spesifikasi requirement nya rendah, sehingga anda tetap bisa
melanjutkan lab tanpa perlu khawatir dengan masalah hardware
resources laptop/komputer anda.

a) Download image centos 7 dengan ekstensi .qcow2 dari internet


dan simpan di local disk.

~(keystone_admin)]# wget \
http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-\
GenericCloud.qcow2

b) Jika anda memiliki image di laptop anda bisa copy imagenya ke


vm, anda bisa gunakan scp atau service-service lain. Pada lab kali
ini kita gunakan service scp, pastikan koneksi ssh sudah terbentuk
sebelumnya.

$ scp Download/CentOS-7-x86_64-GenericCloud.qcow2 \
root@172.16.174.5:/root/

Pastikan image sudah tersimpan dilocal disk.

21
4. Import image kedalam service glance dengan perintah berikut

~(keystone_admin)]# openstack image create --disk-format=qcow2 \


--file entOS-7-x86_64-GenericCloud.qcow2 centos7-image

5. Setelah urusan image beres, kemudian lanjut dengan membuat


project baru sesuai dengan parameter di tabel dibawah ini

Nama project : lab


Nama user : cloud-lab
Role user : admin

~(keystone_admin)]# openstack project create --enable lab

22
6. Buat user “cloud-lab” yang sesuai dengan tabel diatas

~(keystone_admin)]# openstack user create --project lab --password redhat \


--enable cloud-lab

7. Beri role “admin” untuk user baru (cloud-lab)

~(keystone_admin)]# openstack role add --project lab --user cloud-lab admin

8. Buat credential baru untuk user cloud-lab isikan parameter sesuai


dengan parameter yang sudah didefinisikan sebelumnya.

~(keystone_admin)]# cp keystonerc_admin keystonerc_cloud-lab


~(keystone_admin)]# vi keystonerc_cloud-lab

23
9. Pada step 9 ini kita akan buat router, private network dan subnet
untuk private network dengan parameter seperti pada tabel dibawah
ini

Nama : router1
Router difungsikan sebagai gateway untuk
Router external network dan sebagai interface didalam
private network
Nama : jaringan_private
Private network Nama subnet : private_subnet
Network subnet : 192.168.10.0/24

a) Beralih ke user cloud-lab, kemudian buat router dengan nama


“router1”. Buat router dengan perintah neutron

~(keystone_admin)]# source keystonerc_cloud-lab


~(keystone_cloud-lab)]# openstack router create router1

24
b) Kemudian atur router1 sebagai gateway untuk external network

~(keystone_cloud-lab)]# neutron router-gateway-set router1 jaringan_public

Dari perintah diatas akan muncul output “ Set gateway for router
router1”

c) Kemudian buat private network dengan nama yang sesuai pada


table diatas

~(keystone_cloud-lab)]# openstack network create jaringan_private

25
d) Buat subnet untuk private network dengan nama “private_subnet”

~(keystone_cloud-lab)]# openstack subnet create \


--subnet-range 192.168.10.0/24 --dns-nameserver 172.16.174.2 --network
jaringan_private private_subnet

26
10. Hubungan private network dengan external network melalui
router, nantinya router akan diberi ip floating.

~(keystone_cloud-lab)]# neutron router-interface-add router1 private_subnet

Perintah diatas akan menghasilkan output “Added interface <id


interface> to router router1”.

11. Pada step 11 ini kita akan verifikasi konektivitas antara vm ke


router1, dengan melakukan test ping ke floating ip yang dimiliki
router1.
Sebelum itu kita harus ketahui dulu alamat ip floating yang dimiliki
router1, kita check ip floating router1 menggunakan perintah

27
~(keystone_cloud-lab)]# openstack router show router1 | more
Setelah IP router kita ketahui, kita bisa lakukan test ping ke router1
dan pastikan ping reply, yang menandakan konektivitas ke router
berjalan dengan baik.

12. Secara default openstack memiliki rule security yang


memproteksi trafic menuju kedalam project, oleh karena itu untuk
bisa membentuk konektivitas dari jaringan public ke instance yang
ada didalam project kita perlu membuat rule yang mengizinkan
traffic tertentu bisa diteruskan ke suatu instance. Berikut parameter
untuk security group rule :

• Security group rule : default


• Protocol : tcp
Secuiry group rule • port : 22
• Security group rule :default
• Protocol : icmp
Keypair • Nama keypair : lab_keypair
• File disimpan di ~/.ssh/

a) Pertama list daftar project yang tersedia, dan identifikasi ID miliki


project “lab”

~(keystone_cloud-lab)]# openstack project list

28
b) Kemudian cari ID dari default security group didalam project
“lab”, cocokan security group ID menggunakan project ID.

~(keystone_cloud-lab)]# openstack security group list -f json

c) Buat security group rule di dalam default security group untuk


mengizinkan konektivitas ssh dan icmp, gunakan security group
ID yang ditampilkan dari output command sebelumnya.

~(keystone_cloud-lab)]# openstack security group rule create --protocol tcp \


--dst-port 22 2be879cf-25e3-41b4-a99f-438045f85a86
~(keystone_cloud-lab)]# openstack security group rule create --rotocol icmp \
2be879cf-25e3-41b4-a99f-438045f85a86

29
13. Untuk mengakses instance melalui ssh kita perlu generate
keypair kemudian masukan keypair kedalam server pada saat
launching instance. Lab kali ini kita akan gunakan keypair (ssh key)
yang sudah kita generate diawal step sebelumnya.

~(keystone_cloud-lab)]# openstack keypair create –public-key \


/root/.ssh/id_rsa.pub lab_keypair
~(keystone_cloud-lab)]# openstack keypair list

14. Pada step ini kita akan mulai launching atau membuat instance
berdasarkan parameter pada tabel dibawah ini :

Nama : centos7-instance
Flavor : m1.small
Instance (server)
Network name : jaringan_private
Keypair : lab_keypair
Image : centos7-image

30
~(keystone_cloud-lab)]# openstack server create --image centos7-image \
--flavor m1.small --nic net-id=jaringan_private --key-name lab_keypair \
--wait centos7-instance

15. Verifikasi instance yang sudah kita buat dengan perintah berikut

~(keystone_cloud-lab)]# openstack server list

16. Buat IP floating kemudian asosiasikan IP ke instance yang


sudah dibuat yaitu “centos7-instance”.

31
a) Buat IP floating, kemudian asosiasikan floating IP yang
ditampilkan pada tabel output dari perintah create floating ip.

~(keystone_cloud-lab)]# openstack floating ip create jaringan_public

b) Asosiasikan floating IP address yang sudah dibuat ke instance


“cento7-instance”.

~(keystone_cloud-lab)]# openstack server add floating ip centos7-instance \


172.16.174.48

c) Verifikasi floating IP sudah ditambahkan ke instance “centos7-


instance” dengan perintah berikut

~(keystone_cloud-lab)]# openstack server list

32
17. Floating IP telah ditambahkan ke instance, kemudian kita bisa
uji konektivitas dengan melakukan ping dari vm ke instance
“centos7-instance”. Pastikan ping reply.

18. Uji kembali konektivitas antara vm ke instance, kali gunakan


ssh untuk mencoba remote instance. Lakukan ssh ke root user, baru
kemudian ke centos user.

33
19. Sekarang anda sudah berhasil ssh ke instance, kemudian
verifikasi koneksi dari instance ke gateway (router1). Kita bisa
gunakan perintah “openstack router show router1 | more” untuk
melihat informasi IP router.

20. Jika kita login ke horizon dashboard dan navigasikan ke project


> network > networks topology, kita dapat melihat topology network
dari project openstack yang telah kita buat dalam lab ini.

34
Selamat anda sudah bisa menginstall openstack, konfigurasi
openvswitch, konfigurasi network openstack, create image, create
security group rule, create keypair dan launching instance.

Sekian dan terimakasih.

35

Anda mungkin juga menyukai