Sunday, December 21, 2014

Best Practice NFS dan Konfigurasinya pada OS RHEL/Centos 6.4

NFS, Network File System adalah protokol unix yang umumnya digunakan oleh NAS yang memungkinkan Multiple Clients untuk menshare akses ke file tersebut melalui network.

Protokol ini sangat sering digunakan apalagi untuk sistem yang redudansi seperti contohnya web server untuk CMS misalnya apabila ingin dibuat redundan maka ada baiknya memakai NFS agar ada sinkronisasi.

Terdapat beberapa versi untuk NFS yaitu NFSv2, NFSv3, NFSv4. Namun yang akan kita bahas kali ini adalah NFSv4.

Note : Pada lab kali ini firewall/iptables dan selinux tidak aktif di kedua server baik itu NFS Server maupun Client.

Skenario :
NFS Server = web1 - 192.168.99.21
NFS Client = web2 - 192.168.99.22

KONFIGURASI
Untuk menconfigure NFS server anda harus menginstall nfs-file-server package group yang juga include nfs-utils package

- Install NFS Package
[root@web1 ~]# yum install nfs-utils

- Nyalakan Service NFS dan Buat Persistent
[root@web1 ~]# /etc/init.d/nfs start
[root@web1 ~]# chkconfig nfs on

- Buat Shared Direktori di NFS Server agar bisa diakses oleh network 192.168.99.0/24
[root@web1 ~]# mkdir /shared

Buat group shared sebagai penanda aja agar semua file yg terbuat nanti otomatis owner groupnya adalah shared

[root@web1 ~]# groupadd -g 1000 shared 
[root@web1 ~]# chgrp shared /shared
[root@web1 ~]# chmod g+s /shared
[root@web1 ~]# chmod -R 777 /shared

Edit File /etc/exports
Sedikit penjelasan, file /etc/exports merupakan kumpulan list kemana shared direktori di server anda akan di shared. File ini berisi kontrol network atau server mana saja yang dapat mengakses direktori NFS yang sudah dibuat.

[root@web1 ~]# vim /etc/exports
#Tambahkan direktori /shared kedalam list.
/shared 192.168.99.0/24(sync,rw)

- Reload Konfigurasi
[root@web1 ~]# exportfs -ra

- Verifikasi apakah folder /shared sudah tershared 
[root@web1 ~]# showmount -e 192.168.99.21
#Outputnya seharusnya seperti dibawah ini
Export list for 192.168.99.21:
/shared 192.168.99.0/24

Apabila sudah sesuai seperti di atas maka kita coba melakukan mounting dari NFS Clients.

- Pastikan cek di server web1 (NFS Server) direktori /shared masih kosong.
[root@web1 ~]# ll /shared
total 0

- Pastikan juga NFS-Utils Package Sudah Terinstall
[root@web2 ~]# yum install nfs-utils -y

- Di NFS Client (WEB2 - 192.168.99.22) buat direktori lalu mounting ke arah NFS Server (WEB1-192.168.99.21)
[root@web2 ~]# mkdir /arif
[root@web2 ~]# mount -t nfs -o rw 192.168.99.21:/shared /arif

- Verifikasi
* Testing Buat File dari NFS Client WEB2 192.168.99.22
[root@web2 arif]# cd /arif/
[root@web2 arif]# touch filearif.txt
[root@web2 arif]# ll
total 0
-rw-r--r-- 1 nfsnobody nobody 0 Dec 21 22:26 filearif.txt

* Cek di dalam direktori /shared pada NFS Server WEB1 192.168.99.1
[root@web1 shared]# cd /shared/
[root@web1 shared]# ll
total 0
-rw-r--r-- 1 nfsnobody shared 0 Dec 21 22:26 filearif.txt


Kesimpulan :
- Apabila anda membuat file didalam direktori /arif pada server WEB2(192.168.99.21) maka file tersebut akan otomatis ada di direktori /shared server WEB1(192.168.99.22)
- Kapanpun anda melakukan edit konfigurasi pada file /etc/exports dalam keadaan service running gunakan command exportfs -ra

Gampang kan? Selamat Mencoba. ^^

Friday, December 19, 2014

Tips and Trick Menginstall VMware ESX 5.5 dengan NIC Realtek 8111/8168/8169

Hari ini saya mendapat teknik bermanfaat dari salah satu jagoan cloud indonesia untuk menginstall ESX 5.5 dengan NIC Realtek. Haha
Saya tulis siapa tau bermanfaat juga dan sebagai catatan kaki.

Diantara kita mungkin pernah ngalamin termasuk saya sendiri bahwa ESX versi 5.5 sangat rewel terutama apabila kita menginstall Hypervisor ini diatas perangkat yang NIC nya realtek.
Pasti gak support alias muncul notifikasi "NIC is Not Detected" karna memang di versi 5.5 ini sepertinya hypervisor VMware ini tidak bisa mendeteksi NIC Realtek entah karna apa.

Langsung aja berikut tips n tricknya, secara gak langsung teknik ini simpel. Yaitu mengedit ISO Hypervisor ESXi 5.5 dengan tambahan vib file dengan tools yang bernama ESXi-Customizer.

Sebelum memulai 3 komponen yang harus dipersiapkan yaitu,
- Hypervisor ESX 5.5 -> Download di situs resmi vmware
- VIB File -> Download di situs VMware_bootbank_net-r8168_8.013.00-3vmw.510.0.0.799733.vib dan https://www.dropbox.com/s/vr4ftwoewk9c5lt/VMware_bootbank_net-r8169_6.011.00-2vmw.510.0.0.799733.vib
- ESX Customizer -> Download di situs http://vibsdepot.v-front.de/tools/ESXi-Customizer-v2.7.2.exe

NOTES
PASTIKAN ANTIVIRUS ANDA MATI, SEBAB ESXi CUSTOMIZER AKAN DIDETEKSI SEBAGAI VIRUS

Langkah-Langkahnya adalah sebagai berikut.

- Jalankan ESX-Customizer.















- Klik Run.




















- Pilih di direktori mana anda mau mengextract file install tersebut.













- Masuk kedalam folder ESXi-Customizer-v2.7.2.
















- Run ESXi-Customizer seperti gambar print screen dibawah. (Box Merah)















- Setelah running akan muncul tampilan seperti dibawah ini.
















  Notes.
  * Tab Browse pertama adalah untuk iso yang mau di convert dengan vib file.
  * Tab Browse kedua adalah untuk vib file yang mau di convert dengan iso file.
  * Tab Browse ketiga adalah lokasi iso akan disimpan dimana setelah diconvert.

- Pilih File ISO Hypervisor ESX 5.5 yang mau diconvert.

















- Pilih File VIB 


















- Di tab browse ketiga, pilih di direktori mana hasil file convert dalam bentuk iso nanti akan disimpan, sebagai contoh saya simpan di direktori desktop saya dengan folder ESXConvert+VIB.

Setelah itu klik run!
















- Done, Cek direktori destination (pada case ini saya di direktori ESXConvert+VIB).
  Akan ada 2 file yaitu
 * ESXi-5.x-Custom -> ISO yang sudah dicustom dan dapat mendeteksi NIC Realtek
 * ESXi-Customizer -> Hanya Log installer proses ketika convert (Ga penting juga kayanya haha).















Silahkan install iso ESXi5x-Custom tersebut. Selamat Mencoba, Semoga bermanfaat ^^

Sumber http://www.vladan.fr/realtek-8169-nics-not-detected-under-esxi-5-5/

Thursday, December 18, 2014

Best Practice VMware Enhanced vMotion Melalui vCenter.

Udah lama gak nulis lagi hehe. Kali ini kita akan bermain sedikit sama fitur VMWare paling powerful.
Kenapa saya bilang powerful?
Simpel, karna fitur ini merupakan cikal bakal terlahirnya fitur2 VMware lainnya seperti HA (High Availability), FT (Fault Tolerance) dan DRS (Distributed Resource Scheduler).

Sebelum mencoba fitur VMotion, hal-hal yang harus diperhatikan antara lain.

1) Menggunakan shared datastore (untuk opsi Change Host & Change Datastore).
2) Label VM Kernel Port harus sama persis dan sifatnya case sensitif. Port inilah yang berkomunikasi dengan host lainnya untuk melakukan migrasi VM dengan VMotion.
3) Tidak ada binding beberapa Driver seperti misalnya CD/DVD Drive yang masih termounting, lalu Driver RDM (Raw Disk Manager) yang masih ter-connected ke VM, USB/Floppy Disk.
4) Affinity pada CPU Parameter harus blank. Apabila terisi maka ini akan menyebabkan sebuah VM tidak mau pindah dari host tersebut.

Dalam Lab ini saya akan coba simulasikan menggunakan Enhanced vMotion, yaitu memindahkan VM meskipun datastorenya berbeda.

Dibawah ini adalah skenario dan langkah-langkahnya.

SKENARIO.

Ada 2 Server/Host yang masing2 IP Addressnya ialah.
- ESX01 -> 192.168.99.9
- ESX02 -> 192.168.99.10

Lalu 1 Buah Label dan 2 buah IP Address yang digunakan untuk VMotion yaitu.
Label VM Kernel Port -> VMotion.
IP Address VM Kernel Port ESX01 -> 192.168.99.69 (Di Assign di Virtual Switch ESX01)
IP Address VM Kernel Port ESX02 -> 192.168.99.70 (Di Assign di Virtual Switch ESX02)

Langkah-Langkahnya.

1) Buat Virtual Switch & VMKernel Port Group untuk VMotion.

BUAT UNTUK HOST ESX02 - 192.168.99.10.

-> Select Home > vCenter > Host and Clusters
-> Lalu klik Datacenter Training (Training adalah nama data center yg saya buat) seperti dibawah ini. Setelah itu pilih Host (192.168.99.10) -> Manage -> Networking -> Add Host Networking seperti gambar dibawah ini.















-> Untuk Connection Type, Pilih VMKernel Network Adapter, Lalu klik Next.
















-> Setelah itu buat Standar Switch baru, lalu klik Next.



-> Lalu Assign Adapter Network Pyhsical yang akan digunakan, lalu next.
















-> Assign vmnic2 (Optional boleh juga vmnic3 namun pada lab ini pake vmnic2), lalu OK.



-> Jadikan vmnic2 yang ditambahkan tadi sebagai Active Adapters.



-> Bagian ini merupakan bagian paling penting, isi Network Label dengan VMotion lalu ceklist service vMotion traffic. Setelah itu klik Next.


Notes :
Perhatikan disini bahwa Network Label yang digunakan adalah VMotion label ini sifatnya case sensitive, maka pada host yang satunya lagi 192.168.99.9 Network Label yang digunakan juga harus VMotion.

-> Assign IP Address lalu klik OK. Di Host 192.168.99.10 - ESX02 ini Port VM Kernel menggunakan IP Address 192.168.99.70. Setelah itu klik Next.


-> Setelah itu klik Finish.
















ULANGI LANGKAH DIATAS PADA HOST 192.168.99.9


2) Jalankan fitur Vmotion untuk migrasi VM dari HOST 192.168.99.10 ke HOST 192.168.99.9

-> Select Home > vCenter > Host and Clusters
-> Expand vmware datacenter inventory lalu pilih host 192.168.99.10, expand lagi sampai anda menemukan VM anda. Di lab ini VM yang digunakan yaitu Arif02-1.

























-> Klik pada VM Arif02-1 lalu pilih opsi Migrate...

























-> Pada langkah ini pilih change both host and datastore. Apabila anda memilih opsi ini, anda sudah secara otomatis menggunakan fitur Enhanced vMotion.
















-> Lalu pilih host tujuan kemana VM akan di migrasikan, pada lab ini kita akan memindahkan VM dari Host 192.168.99.10 ke 192.168.99.9
















-> Pilih datastore yang akan digunakan untuk menyimpan VM, di lab ini kita akan migrasikan VM dari Datastore2 di host 192.168.99.10 ke Datastore1 di host 192.168.99.9.
















-> Gunakan vMotion priority yang recommended agar CPU usage optimal saat proses migrasi.
















-> Klik Finish.
















Semoga berguna buat teman-teman sekalian. ^^

Best Practice Menghitung High Availability

Rumus matematika yang bisa dipake untuk menghitung Availability sebuah perangkat SPOF (Single Point of Failure) untuk menjamin High Availability.

Misal kita sudah tahu Availability pertahun resource kita yaitu dari masing2 .
Link Internet -> 95% (satu link)
Listrik -> 93% (satu sumber listrik)
Databases -> 95% (satu databases)

Notes :
Menghitung Rata-Rata Availability bukan rata2 dari semua perangkat tersebut melainkan satu persatu.

Untuk menambah Availability tidak ada cara lain selain menambah redundansi (nambah satu perangkat lagi atau lebih), sbg contoh karna Listrik pertahun availabilitynya paling kecil jadi ditambah satu lagi.

Maka dengan pertimbangan tersebut, assurance/proyeksi availability setaun kedepan perhitungannya adalah sbb.

93% + [ ( (1 - 0,93) * 0,93 ) * 100 ]
93% + [ (0,07 * 0,93) * 100 ]
93% + [ 0, 651 * 100 ]
93% + 6,51% = 99,51%

Maka nilai 99,51% adalah nilai yang seharusnya bisa kita proyeksikan ke user seandainya kita memasang 2 perangkat listrik secara redundan.

Semoga berguna ^^ :)
       &&&&&
#CorrectmeifIwrong

Tuesday, December 2, 2014

Konsep dan Implementasi Automatisasi Periodic Tasks Linux Menggunakan Crontab

Kali ini sedikit diulas pembahasan materi yang sangat sering digunakan oleh sistim administrator.
Tulisan ini akan membahas salah satu fitur cron di linux mulai dari konsep dan penggunaannya.

Definisi
======
Cron merupakan sebuah program/fitur di linux yang mampu mengeksekusi sebuah program lain dalam periodik waktu tertentu. Daemon crond mampu menjalankan task/program setiap menit, jam, minggu, bulan, dsb. Fitur yang sangat berguna bukan?

Konsep & Implementasi
==================
Pada dasarnya setiap user di atas OS Linux bisa menjalankan fitur ini. Beberapa command yang harus diperhatikan oleh administrator antara lain.

crontab -l ->  Mendisplay list crontab yang sedang digunakan.
crontab -r -> Menghapus semua list crontab yang sedang digunakan. (Not Recommended)
crontab -e -> Mengedit, Menambahkan, Menghapus list crontab yang akan dijalankan.

Konsep utama yang harus dipahami administrator dalam menjalankan crontab sebenarnya sangat simpel, anda harus tau rules daripada crontab itu sendiri. Anda dapat melihat rulesnya dengan menggunakan command cat /etc/crontab
Dibawah ini rules yang harus dipahami.


# .---------------- menit (0 - 59)
# |  .------------- jam (0 - 23)
# |  |  .---------- hari keberapa dalam sebulan (1 - 31)
# |  |  |  .------- bulan (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- hari keberapa dalam seminggu (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command yang akan di execute


Sudah paham? Apabila belum saya akan sertakan contoh penggunaan paling sering dilapangan pada tabel dibawah ini.

Cron Sintaks
Command Berjalan Setiap
05 * * * *
Berjalan setiap 1 jam sekali lewat 5 menit, Contoh: Pukul 00.05, 01.05, 02.05, dst.
05 02 * * *
Berjalan setiap hari pukul 02:05 AM
30 20 01 * *
Berjalan pukul 08:30 PM tiap awal bulan. (Hanya hari pertama di tiap bulan)
00 07 25 12 *
Berjalan pada tiap tanggal 25 Desember, pukul 07:00 AM
30 16 * * 5
Berjalan setiap jumat pada pukul 4:30 PM
*/5 * * * *
Berjalan setiap 5 menit sekali (0,5,10,15,….,45,50,55)
*/10 9-16 1,15 * *
Berjalan setiap 10 menit antara 9am dan 4pm (Instance terakhir akan berjalan pada jam 3.50pm) di hari pertama dan hari ke lima belas setiap bulan.
Nah dari contoh tabel diatas seharusnya sudah mengerti dong? Saya sertakan lagi contoh implementasinya.

1) Cek List Crontab 
[root@localhost ~]# crontab -l
no crontab for root

Terlihat tidak ada list cron yang digunakan oleh user root.

2) Tambakan Sebuah Task ke Crontab
[root@localhost ~]# crontab -e
# Tekan tombol esc+i, lalu tambahkan contoh task dibawah ini
*/1 * * * * echo arif >> /root/arif.txt

#Setelah selesai tekan tombol (shift + :) + q

Note : Penggunaan crontab -e sama seperti menggunakan vi ataupun vim

Dari contoh diatas maka secara otomatis setiap satu menit sekali linux akan menulis text arif kedalam file yang bernama arif.txt
Untuk penggunaan ataupun pengaturan waktu selanjutnya bisa kustom sendiri yah. 

Mudah kan? Selamat mencoba ^^