Showing posts with label Cloud Computing. Show all posts
Showing posts with label Cloud Computing. Show all posts

Thursday, June 2, 2016

Sekilas Catatan Tentang VMware NSX

Saya belum tau begitu dalam tentang VMware NSX tapi saya yakin sekali konsep network virtualization dan SDN adalah masa depan dunia network dan data center. Dimana semuanya menjadi lebih konvergen, flexibel dan cepat karna provisioning di dalam virtualization sangat cepat dan ini bener2 menguntungkan organisasi karna bisa expand bisnis mereka lebih cepat dan secara bisnis time-to-market meningkat secara drastis.

Yah seperti biasa karna saya pelupa saya bikin catatan. Beberapa point dibawah ini adalah catatan saya sepulang dari VMware NSX Experience Days

1) Ada 4 fungsi yg bisa di virtual kan oleh NSX :
- Routing
- Switching
- Firewall
- Load Balancer

2) Vmware bisa berfungsi sebagai SDN juga, tapi fungsi sebeneranya adalah network virtualization.

3) Dengan NSX maka akan ada di vCenter plugin tambahan untuk network & security.

4) Vmware tidak terikat dengan protokol karna dia menggunakan teknologi overlay yg berdiri diatas infrastruktur/hypervisor yang ada. Tidak seperti SDN yg terikat dengan protokol openflow.

5) Untuk deployment masing2 minimal butuh 3 controller.

6) Ketika diaktifkan license NSX maka akan aktif fitur "vxlan, logical router, firewall".

7) Deployment Step
- Install NSX Manager supaya muncul menu baru di vCenter.
Setelah install NSX Manager baru install.
- Install NSX Controller.
- Install NSX Edge Service Gateway.

8) Minimal Requirement MTU untuk deploment VXLAN di NSX adalah 1600 MTU karna VXLAN nambah 50 bytes di framenya

9) VTEP ada di setiap host, fungsinya untuk gateway VXLAN Overlay

10) VXLAN hanya berguna untuk komunikasi antara host, makana butuh VTEP tiap host. Kalo masih satu host pake VLAN biasa aja

11) Ada 3 mode VXLAN Replication Modes
- Unicast
- Multicast
- Hybrid

12) Ada 2 jenis routing di NSX yaitu :
- Centralized, VM mau ngbrol dengan VM lain meskipun satu host trafiknya keluar dulu ke switch physical lalu balik lagi ke host.
- Distributed, nah kalo mau dynamic routing harus masang DLR ( Yang cuma nerima forwarding table) dan Control VM (Yang menghitung proses routing table).

Notes : DLR ada di setiap host dan control VM itu ada cuma satu.

13) Ada fitur bridging untuk bridge VXLAN to VLAN L2 Bridging. Jadi menghubungkan virtual dan physical, ini karna VXLAN gak bisa terhubung ke physical network.

14) Kalo mau deploy NSX minimal ada 2 host buat yg dijadiin 1 cluster sebagai Edge Cluster. Jadi arsitektur yg bener itu
- Compute Cluster, Buat VM-VM
- Edge Cluster, Buat Deploy Logical Control VM. Statenya harus active-standby supaya engga looping.
- Host vCenter buat vCenter server

15) Throughtput maximal per-edge 10Gigabit

16) Dengan deployment NSX gak perlu switch physical yg punya fitur intelegent karna fitur2 tersebut bisa dijalankan oleh si NSX.

17) Sebenernya ada 2 tipe NSX, yaitu yang berjalan di 1 hypervisor which is ada di vCenter. Dan multi-hypervisor yg berjalan di Openstack.

18) Firewall di NSX hanya L2-L4 saja tidak support sampai L7 firewall

19) Untuk membantu membuat solusi security firewall di NSX ada tool Flow Monitoring yg bisa analisa flow trafik antara VM dalam DC.


Nah kalo ada yang salah pembaca yang lebih expert mungkin bisa komen agar saya bisa perbaiki dan kalo ada yg mau diskusi silahkan. ^^

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

Sunday, February 28, 2016

Instalasi ownCloud di Linux CentOS 6.5

Saat ini cloud begitu populer dan menyimpan segala sesuatu melalui cloud adalah hal yang sangat biasa, contohnya menyimpan data di dropbox dan sebagainya. Begitu populernya penyimpanan di cloud sehingga muncul sebuah software OwnCloud yang merupakan aplikasi cloud storage over networkdengan menggunakan ownCloud user bisa berbagi data melalui network yang dapat diakses melalui web browser.

Saya sendiri sempet merekomendasikan salah satu customer freelance untuk menggunakan ownCloud ini untuk sharing data, itung-itung iseng mau coba diterapin di dunia nyata gimana sih hasilnya dan ternyata lumayan OK kok karena user itu lebih bersahabat dengan web-browser.

Aplikasi ini berbasis PHP dan sebuah database (SQLite, MySQL, MariaDB, Oracle atau PostgreSQL) sehingga kita bisa menggunakan ownCloud di berbagai platform yang memenuhi kriteria ini.

Dalam lab kali ini kita menggunakan Operating System CentOS 6.5, webserver yang digunakan adalah Apache dan database yang digunakan adalah MySQL.

Notes 
  • Pada lab kali ini, Selinux dalam keadaan disabled.
  • Pada lab kali ini, IPTables dalam keadaan disabled.

Install Database & Package Dependecies
[root@owncloud ~]# yum install httpd php php-mysql sqlite php-dom php-mbstring php-gd php-pdo php-json php-xml php-zip php-gd curl php-curl mysql-server -y

Notes
  • Karena ownCloud version yang saya gunakan memerlukan versi php 5.4.0 dan version php yang diinstall diatas adalah version 5.3.3 maka saya update seluruh packagesnya, langkah-langkahnya adalah sebagai berikut.
Install SCL Repo lalu install dependencies lainnya.
[root@owncloud ~]# yum install centos-release-SCL
[root@owncloud ~]# yum install php54 php54-php php54-php-gd php54-php-mbstring php54-php-mysqlnd


Lakukan backup untuk konfigurasi php53, karna kita sudah menginstall php54 seharusnya pada direktori /etc/httpd/conf.d/ terdapat file konfigurasi php54 yaitu, php54-php.conf

[root@owncloud ~]# mv /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php53.off

Restart Apache Services
[root@owncloud ~]# /etc/init.d/httpd restart

Download & Setup
[root@owncloud ~]# wget http://download.owncloud.org/community/daily/owncloud-daily-master.tar.bz2
[root@owncloud ~]# tar -jxvf owncloud-daily-master.tar.bz2
[root@owncloud ~]# mv owncloud /var/www/html/
[root@owncloud ~]# chown -R apache.apache /var/www/html/owncloud/

[root@owncloud ~]# chmod 777 /var/www/html/owncloud/config/

Edit /etc/httpd/conf/httpd.conf, lalu ganti parameter Allowoverride None menjadi Allowoverride All.

[root@owncloud ~]# vi /etc/httpd/conf/httpd.conf
....
AllowOverride All
....

Setelah selesai start database & web service dan jangan lupa buat persistent on boot.
[root@owncloud ~]# chkconfig mysqld on
[root@owncloud ~]# chkconfig httpd on
[root@owncloud ~]# /etc/init.d/httpd start
[root@owncloud ~]# /etc/init.d/mysqld start

Setting root password mysql.
[root@owncloud ~]# /usr/bin/mysqladmin -u root password 'centos'
[root@owncloud ~]# /usr/bin/mysqladmin -u root -h owncloud.arifzulfikarp.net password 'centos'

Buat database untuk owncloud.
[root@owncloud ~]# mysql -uroot -p
Enter password: <masukin password sesuai yang dikonfigurasi diatas yaitu, centos>

mysql> create database owncloud;
mysql> GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'centos';
mysql> flush privileges;
mysql> exit;


Lakukan ownCloud Install Melalui Web Browser
Setelah melakukan langkah-langkah diatas saatnya melakukan provisioning melalui web browsernya.

Sekarang kita dapat mengakses ownCloud 
http://ipaddress/owncloud 
atau 
http://domainname/owncloud 

Apabila berhasil akan muncul tampilan seperti dibawah ini.



Untuk konfigurasi awal ini kita harus mendefinisikan database yang akan digunakan oleh ownCloud dan username beserta password yang akan digunakan oleh admin user di kemudian hari.

Klik storage & database yang ada di kotak merah dari gambar atas, lalu isi parameternya menyesuaikan dengan konfigurasi yang telah kita lakukan. 

Pada lab kita kali ini parameter yang kita gunakan adalah.

Setting admin account sebagai berikut,
Admin User : admin
Password : centos@123

Setting data folder sebagai berikut,
Data Folder /var/www/html/owncloud/data (atau biarkan saja default seperti itu).

Setting database sebagai berikut, pilih MySQL/MariaDB.
Database User : owncloud
Database Password : centos
Database Name : owncloud
Database Host : localhost

Gambar lengkapnya seperti dibawah ini.


Setelah selesai klik Finish setup.

Apabila setup awal telah selesai dan berhasil maka kita akan di redirect ke dashboard ownCloud.


Saat ini ownCloud sudah siap digunakan, tinggal kita otak-atik aja karna penggunaan relatif mudah.

Semoga bermanfaat.

Wednesday, February 24, 2016

CentOS Cluster High Availability Management Menggunakan Luci dan Ricci

Kali ini saya mau membuat catatan bagaimana caranya membangun CentOS High Availability Cluster menggunakan Ricci dan Luci. Dalam simulasinya kali ini topologi yang digunakan kira-kira seperti dibawah ini.


NOTES
Bedasarkan Topologi diatas, kondisi semua node yaitu.
  • Selinux, dalam keadaan disabled.
  • Iptables, dalam keadaan off. Untuk matiinnya /etc/init.d/iptables stop.
  • NetworkManager services dalam keadaan off. Untuk matiinnya /etc/init.d/NetworkManager stop.
  • Menggunakan DNS Server, kalo gak ada DNS Server bisa gunakan /etc/hosts dan definisikan semua IP Address dan Hostname seluruh node cluster. Konfigurasi /etc/hosts di masing-masing node pada topologi yang saya buat diatas adalah seperti dibawah ini, contoh dibawah diambil dari node-1.
    [root@node-1 ~]# cat /etc/hosts
    192.168.227.10 node-1 node-1.arifzulfikarp.net
    192.168.227.20 node-2 node-2.arifzulfikarp.net
    192.168.227.30 node-3 node-3.arifzulfikarp.net

Mengenal Komponen-Komponen Cluster
  • Ricci adalah cluster management daemon dan daemon inilah yang bertugas untuk memanage resource dalam cluster kita nanti. Default port yang digunakan oleh ricci adalah 11111.
  • Luci adalah cluster management tools yang sangat friendly. Sebenernya ketika implementasi cluster ini kita bisa saja menggunakan command line namun dengan menggunakan luci hampir sebagian banyak fiturnya dapat di manage menggunakan web, bahkan packages yang akan diinstall di node-node yang ada dalam cluster pun dapat di manage oleh luci. 
Sebenarnya ada begitu banyak resource dan services yang dapat dikelola oleh linux cluster seperti mysql, filesystem, postgresql, tomcat, script, dsb. Namun kali ini saya mau mencontohkan membuat cluster web services dan service resource yang akan dimanage di dalam service groups adalah apache.

Apabila kita sudah membuat environment seperti topologi diatas, maka selanjutnya adalah tahap instalasi package dan konfigurasi semua node tersebut.


INSTALL PACKAGE & KONFIGURASI NODE-1

Install Luci & Ricci
[root@node-1 ~]# yum install ricci -y
[root@node-1 ~]# yum install luci -y

Setting Password Ricci
Password ricci di set karena digunakan oleh luci nanti untuk berkomunikasi antara node.
[root@node-1 ~]# passwd ricci
Lalu masukan password yang kamu inginkan.

Jalankan Service Luci & Ricci dan Buat Persistent On Boot
[root@node-1 ~]# chkconfig ricci on
[root@node-1 ~]# chkconfig luci on
[root@node-1 ~]# /etc/init.d/ricci start
[root@node-1 ~]# /etc/init.d/luci start

Setelah menjalankan service luci, akan ada notifikasi melalui prompt yang memberitahukan bahwa untuk mengakses Luci melalui web seperti ini.

Point your web browser to https://node-1.arifzulfikarp.net:8084 (or equivalent) to access luci. 

Nah apabila kamu akses dari PC yang tidak terintegrasi dalam DNS domainnya, sebagai alternatif kita bisa juga akses luci melalui IP Addressnya seperti https://192.168.227.10:8084. Tampilan Luci Web Management ketika kita akses ialah seperti dibawah ini.


Sebagai catatan, untuk akses username dan password digunakan adalah.
username : root 
password : <password root node yang kita setting>

Apabila sudah diakses luci web managementnya, kita skip dulu dan lanjut untuk install ricci di node lain.


INSTALL PACKAGE & KONFIGURASI NODE-2

Install Ricci
[root@node-2 ~]# yum install ricci -y

Setting Password Ricci
Password ricci di set karena digunakan oleh Luci nanti untuk berkomunikasi antara node.
[root@node-2 ~]# passwd ricci
Lalu masukan password yang kamu inginkan.

Jalankan Service Ricci dan Buat Persistent On Boot
[root@node-2 ~]# chkconfig ricci on
[root@node-2 ~]# /etc/init.d/ricci start


INSTALL PACKAGE & KONFIGURASI NODE-3

Install Ricci
[root@node-3 ~]# yum install ricci -y

Setting Password Ricci
Password ricci di set karena digunakan oleh Luci nanti untuk berkomunikasi antara node.
[root@node-3 ~]# passwd ricci
Lalu masukan password yang kamu inginkan.

Jalankan Service Ricci dan Buat Persistent On Boot
[root@node-3 ~]# chkconfig ricci on
[root@node-3 ~]# /etc/init.d/ricci start

Apabila sudah semua install package dan setting password ricci diatas saatnya kita masuk ke Luci Web Management dan mulai buat clusternya.

NOTES
  • Agar managemennya mudah pastikan password ricci di setiap node sama, hal ini bertujuan akan lebih mudah managemen dan troubleshotnya dikemudian hari.


KONFIGURASI CLUSTER MELALUI LUCI WEB-MANAGEMENT
Karna kita install Luci di Node-1, akses Luci melalui browser ke arah IP Address node-1.Akses https://192.168.227.10:8084 melalui web browser.


Lalu akses menggunakan username root dan password root di node-1 yang kita setting.
username : root 
password : <password root node yang kita setting di node-1>


BUAT CLUSTER & MASUKAN NODE-NODE YANG KITA INGINKAN
Setelah berhasil login maka langkah selanjutnya adalah membuat cluster. Langkah-langkahnya ialah seperti dibawah ini.

Pilih Tab Manage Clusters - Create


Setelah itu isi form create new cluster tersebut dengan menyesuaikan parameter saya konfigurasikan dibawah ini.


Notes
  • Cluster Name : Isi sesuai dengan yang kita inginkan.
  • Node Name : Isi sesuai dengan hostname node-node yang ingin kita daftarkan ke dalam cluster, karena luci ini ada di node-1 maka pastikan node-1 dapat resolve semua node name yang kita daftarkan diatas. Untuk memastikannya bisa menggunakan ping node-2, node-3 dari node-1.
  • Pilih Download Packages, dengan memilih parameter ini maka Luci akan yang akan mengatur packages-packages installer yang dibutuhkan untuk membuat cluster pada node-node yang kita daftarkan tersebut. Agar proses tidak gagal, maka pastikan juga node-node tersebut sudah terkoneksi dengan repository pendukungnya.
  • Checklist Reboot Nodes Before Joining Cluster, Luci akan melakukan reboot setelah package diinstall dan sebelum di insert kedalam cluster.
  • Ricci Port, adalah port yang digunakan oleh ricci untuk saling berkomunikasi antara node-node yang membentuk cluster. 
Setelah selesai semua maka pilih Create Cluster, tunggu beberapa saat sampai proses selesai karena lumayan lama. 

Setelah selesai maka harusnya node-node yang kita daftarkan tadi sudah ada dalam cluster, seperti dibawah ini.



BUAT FAILOVER DOMAINS
Pada tahap ini kita harus mendefinisikan node-node yang masuk kedalam Failover Domains di dalam cluster kita. Node-node yang kita daftarkan disini akan berbagi resource untuk menghandle services yang kita definisikan di services group pada tahap selanjutnya apabila terjadi problem seperti hardware failure, service stuck/hang, dsb.

Pilih Tab Manage Clusters lalu pilih hacluster, selanjutnya pilih Failover Domains - Add


Setelah itu isi form Add Failover Domain to Cluster dengan menyesuaikan parameter yang saya konfigurasikan seperti dibawah ini. 


Untuk option lainnya seperti prioritized, restricted, no failback bisa menyesuaikan dengan kebutuhan kita di lapangan.

Apabila tampilan seperti dibawah ini maka proses membuat failover domain telah berhasil.



DEFINISIKAN RESOURCE YANG AKAN DIMANAGE CLUSTER
Pada lab kita kali ini karena kita membuat cluster untuk webservices maka penerapannya mengikuti topologi yang saya buat diatas. 

Ada 2 resource yang harus kita definisikan, yaitu.
  • Virtual IP Address
  •  Apache

1) Buat Resource - Virtual IP Address
Pilih Tab Manage Clusters lalu pilih hacluster, selanjutnya pilih Resources - Add


Akan muncul banyak option, pilih IP Address dan isi form sesuai dengan yang topologi diatas, kita ingin membuat virtual IP Address dalam cluster dengan IP 192.168.227.100.


Setelah selesai submit.


2) Buat Resource - Apache
Pilih Tab Manage Clusters lalu pilih hacluster, selanjutnya pilih Resources - Add



Akan muncul banyak option, pilih Apache dan isi form konfigurasi sesuai dengan yang saya isi dibawah ini.



Setelah selesai submit.

Setelah selesai proses membuat kedua resource diatas, maka akan ada 2 resource yang akan menjadi global resource yang akan kita gunakan di services group seperti dibawah ini.


Notes
  • Parameter Name, adalah nama yang akan muncul dan kita gunakan di service groups pada tahap selanjutnya.
  • Parameter Server Root, adalah root direktori Apache. Apabila webservice yang kita gunakan adalah webserver lain seperti EngineX  maka kita bisa sesuaikan root direktoriknya.
  • Parameter Config file, adalah lokasi konfigurasi file untuk Apache. Apabila lokasi konfigurasi file yang kita gunakan terletak di direktori lainnya maka kita bisa sesuaikan dengan kebutuhan.

BUAT SERVICE GROUPS UNTUK WEB SERVICES DARI KUMPULAN RESOURCE YANG TELAH DIDEFINISIKAN
Pada tahap ini kita akan membuat resource web services tersebut berjalan dalam satu kesatuan, node-node di dalam cluster lain akan saling backup apabila node utama bermasalah. Dibawah ini langkah-langkah konfigurasinya.

Pilih Tab Manage Clusters lalu pilih hacluster, selanjutnya pilih Service Groups - Add


Lalu isi form Add Service Group to Cluster dan sesuaikan dengan parameter yang saya isi (kotak merah) seperti dibawah ini.


Apabila parameter yang dikotak merah sudah sesuai, klik Add Resource (kotak biru) lalu pilih IP Address 192.168.227.100 dari tab global resources yang telah kita konfigurasi di tahap sebelumnya. Seperti contoh dibawah ini.


Nah setelah langkah diatas selesai selanjutnya akan muncul tampilan dibawah ini. Pilih Add Child Resources

Lalu kita pilih dari tab global resource yaitu apache_webservices sesuai dengan name resource apache yang kita konfigurasi di tahap sebelumnya.


Setelah selesai akan muncul tampilan seperti dibawah ini, pilih Submit.


Jika sudah benar maka di list service groups akan ada tampilan seperti dibawah ini.


Dari informasi diatas maka seharusnya services groups webservices sudah berjalan didalam cluster dan dari informasi status terlihat informasi "Running on node-1". Hal ini sudah sesuai dengan konfigurasi karena kita menggunakan option Prioritized dan priority 1 pada node-1.


OK sekarang seluruh tahap konfigurasi telah selesai, maka kita masuk ke tahap selanjutnya yaitu testing.


TESTING CLUSTER

1) TESTING MELALUI VIRTUAL IP ADDRESS
Sesuai dengan topologi diatas dan konfigurasi yang telah kita lakukan, kita membuat resource virtual ip address 192.168.227.100 maka untuk testingnya apakah website bisa diakses atau tidak coba akses dari PC Anda melalui browser http://192.168.227.100. 


Apabila tampilan seperti diatas berarti webservices yang ada di node-node dalam cluster sudah bisa diakses melalui ip virtual yang telah kita buat.


2) TESTING FAILOVER
Untuk melakukan testing failover ini caranya mudah, seperti informasi yang kita dapatkan dari services groups ketika resource ini berjalan pada node-1


Untuk memastikan apakah failover berjalan coba shutdown node-1 dan lihat apakah service berjalan di node lain atau tidak.



Lalu akses lagi virtual IP address melalui browser http://192.168.227.100.


Apabila kita berhasil mengakses webserver seperti diatas berarti cluster berjalan dengan baik dan dalam hal ini ada node lain yang menggantikan tugas node-1 yang mati.

Untuk memastikan node mana yang menghandel resource tsb gunakan command clustat di node lain seperti node-2 atau node-3.


Dari hasil output diatas pada node-2 terlihat saat ini ketika node-1 mati maka node-2 yang mengantikan tugasnya menjalankan resource webservices. Hasil output ini juga menunjukan bahwa hasil output sudah sesuai dengan konfigurasi (node-2 sbg priority).



NOTES
Pada Implementasi Clustering HA di Linux terdapat beberapa command untuk pengecekan, command ini berguna untuk melakukan checklist pengecekan dan troubleshot. 
  • clustat
  • corosync-objctl | grep members
  • cman_tool nodes
  • cman_tool status
  • ccs_config_validate
  • cman_tool version -r
  • clusvcadm -r <namaservicegroups> -m <nodetujuan>
  • clusvcadm -s <namaservicegroups>
Dan masih banyak lagi apabila ingin mengetahui lebih banyak option command lengkap clusvcadm bisa gunakan man clusvcadm.


Sekian dulu catatan saya mengenai Centos High Availability dan semoga bermanfaat buat temen-temen yang baca.