Showing posts with label Server. Show all posts
Showing posts with label Server. Show all posts

Monday, June 8, 2015

Web Server Di CentOS (DNS + HTTP + HTTPS) - Part 3 Web Server HTTPS


Masih kelanjutan dari part sebelumnya, kali ini kita akan membahas cara mengkonfigurasi di server httpsnya. Sebelum itu pastikan server https sudah terkonfigurasi denga address yang sudah di sesuaikan di tabel address part 1 sebelumnya. Jika sudah, langsung saja kita masuk ke materi kita.

Mounting Direktori Utama Web Server

Pada server http sebelumnya sudah kita setting direktori utama untuk web servernya. Sisanya, tinggal mengkonfigurasi direktori utama pada web server https. Untuk mempermudah dan mempercepat konfigurasi, langkah mudah yang bisa kita lakukan adalah memounting direktori utama diserver http ke server https. 

Sama seperti di server http sebelumnya yang telah menggunakan paket NFS untuk memounting direktori utama, di server https juga menggunakan aplikasi NFS untuk memounting direktori utama di server http. Pertama install dulu aplikasi NFSnya dengan menggunakan perintah berikut ini.

# yum -y install nfs-utils nfs-utils-lib
Jika sudah, kita buat direktori untuk tempat peletakan hasil mountingannya. Gunakan perintah berikut ini untuk membuat direktori.

# mkdir /web
Selanjutnya tinggal di mounting deh direktori /web di server http kearah direktori /web yang baru dibuat di server https. Untuk mountingnya kearah address server http dan perintah yang digunakan adalah perintah berikut ini.

# mount 192.168.1.2:/web/ /web

Install Aplikasi Web Server HTTPS 

Alat-alat yang dibutuhkan untuk membuat server https adalah aplikasi httpd, php, dan mod_ssl. Untuk menginstall ketiga aplikasi tersebut bisa menggunakan perintah berikut ini.

# yum -y install httpd php mod_ssl

Direktori Utama Https

Yang dilakukan selanjutnya adalah membuat direktori utama untuk httpsnya. Untuk peletakan direktori httpsnya bisa diletakkan di direktori httpd. Untuk membuat direktorinya dapat menggunakan perintah berikut ini.

# mkdir /etc/httpd/ssl

Keamanan Https

Sesuai dengan namanya, https (Hypertext Transfer Protocol Secure) adalah web server yang memiliki tingkat keamanan dalam mengakses. Didalam https, kita harus menyetting informasi untuk httpsnya. Sehingga hal ini akan menandakan kepunyaan siapa web https yang digunakan. untuk mengkonfigurasinya, kita bisa menggunakan perintah sesuai pada gambar dibawah ini.

Selain itu, dengan menggunakan perintah yang disebutkan. Kita juga memasukan kemanan untuk httpsnya. Keamanan tersebut berupa key yang disimpan didalam direktori yang diinginkan (dalam hal ini letak direktori untuk keynya berada di direktori utama https yang sudah dibuat  tadi).

Mengedit File Konfigurasi Https

Untuk menjalankan https, ada beberapa yang harus dikonfigurasi termasuk file konfigurasi khusus untuk tempat mengkonfigurasi https. File tersebut bernama ssl.conf yang terletak pda direktori /etc/httpd/conf.d. Untuk mengedit file tersebut, perintah yang dapat digunakan adalah sebagai berikut.

# vi /etc/httpd/conf.d/ssl.conf
Lalu pada baris Virtualhost, hilangkan tanda pagarnya dan diisi dengan 443 (port https). Lalu, dibawahnya (baris DocumentRoot) tambahkan letak direktori utama web server httpsnya. Dan untuk servernamenya masukan domain yang sudah disetting pada server dns untuk domain httpsnya dan pastikan tidak lupa menambahkan port httpsnya (443).


Masih berada di file yang sama, carilah baris sertificate SSL. Di sertifikat tersebut, masukan letak direktori yang sudah dijadikan tempat keamanan Https sebelumnya.
 

Mematikan Firewall

Seperti biasa, agar website server https bisa diakses oleh client. Kita harus, mematikan firewallnya terlebih dahulu. Caranya dengan mengedit file /etc/selinux/config. Untuk mengeditnya gunakan perintah berikut ini. Lalu edit baris selinux menjadi disabled.

# vi etc/selinux/config

Langkah terakhirnya menggunakan perintah setenforce 0 untuk mematikan firewallnya. Seperti contoh perintah berikut ini.

# setenforce 0

Restart Aplikasi HTTPD

Agar konfigurasi dapat berjalan sesuai dengan yang diinginkan, kita harus merestart aplikasi Httpnya. Untuk merestart aplikasi gunakan perintah berikut ini.

# service httpd restart

Pengecekkan Pada Client : Implementasi

Langkah terakhir untuk menyelesaikan material kita kali ini adalah pengecekkan pada client. Sebelum itu, pada client harus disetting address, netmask dan dns sesuai dengan tabel address yang sudah saya sediakan sebelumnya di part1. Jika sudah maka kita akan melanjutkan pengetestannya.

Bukalah web browser, lalu untuk pengecekkan pertama, bukalah nama domain server http sesuai dengan yang disetting pada server dns. Masih ingat bukan nama domain untuk server http? ya nama domainnya adalah alfafarhan.net. Jika website berhasil terbuka, maka proses autentikasi akan muncul. Kenapa? hal ini disebabkan karena sebelumnya pada server http sudah disetting autentikasi.


Isikan autentikasi sesuai dengan setingan pada server httpnya. Jika berhasil melewati proses autentikasi, maka tampilan website akan seperti gambar dibawah ini. Tampilan website ini berdasarkan settingan file html yang di konfigurasikan di server http.
 
   
Pengecekkan kedua adalah pengetestan terhadap server https. Buka website domain kedua alfafarhan.com (untuk server https yang disetting di server dns). Jika tampilan seperti gambar dibawah yang muncul, cukup klik tetap lanjutkan. Tampilan seperti ini muncul dikarenakan sifat dari web server https yang memiliki keamanan yang tinggi.
 

Jika sudah mengklik "tetap lanjutkan", maka tampilan dari isi website sama seperti tampilan website server http. Hal ini disebabkan karena sebelumnya direktori utama server http sudah dimounting oleh server https menggunakan aplikasi NFS.

Hanya beberapa konfigurasi dan settingan dns + web server http maupun https yang bisa saya jelaskan kali ini. Semoga bermanfaat untuk anda. Sekian dari saya, saran dan pertanyaan silahkan masukan dikomentar. Terima kasih sudah mau berkunjung, datang lain kali.

Web Server Di CentOS (DNS + HTTP + HTTPS) - Part 2 Web Server HTTP


Setelah kita membahas konfigurasi pada server dns di part sebelumnya, pada part kedua ini, kita akan mencoba mengkonfigurasi web server httpnya. Langsung saja, kita masuk materinya. Sebelum itu, konfigurasikan terlebih dahulu address dari server web httpnya sesuai dengan struktur address yang sudah disediakan pada part sebelumnya (di tabel address).


Install Aplikasi NFS 

Setelah menyetting ip, terlebih dahulu kita install aplikasi NFS sebelum menginstall aplikias untuk web servernya. Aplikasi NFS ini bertujuan untuk memounting direktori web server agar nantinya antara web server http dengan web server https memiliki tampilan konfigurasi web yang sama. Untuk menginstall aplikasi NFS, kita dapat menggunakan perintah berikut ini.


# yum -y install nfs nfs-utils

Menyetting Direktori Yang Di Mounting

Kita membutuhkan satu direktori utama yang menjadi letak direktori untuk web server kita. Dengan adanya direktori utama tersebut, kita bisa menjadikan direktori tersebut sebagai direktori yang akan di mounting agar nantinya direktori utama tersebut juga akan berada pada direktori di server https. Sebelum itu, kita buat terlebih dahulu direktori utamanya (bebas).

# mkdir /web 
Setelah direktori dibuat, kita bagikan direktori tersebut dengan menggunakan nfs. Fungsinya agar direktori tersebut bisa di mounting oleh server https. Untuk membagikan direktori tersebut dengan nfs kita harus mengedit file exports di direktori /etc. Perintah yang dapat digunakan adalah sebagai berikut.

# vi /etc/exports
Jika sudah masuk ke filenya, kita tambahkan beberapa sintaks seperti gambar dibawah ini. Yang ditambahkan adalah letak direktori yang ingin di share (dibagikan), Address server https (address server yang akan memounting), dan settingan nfs untuk pengaturan direktorinya. 

Restart Aplikasi NFS

Agar, konfigurasi NFS yang sudah kita lakukan dapat berjalan seperti yang dikonfigurasikan. Kita harus merestart aplikasi NFS. Perintah untuk merestart aplikasi NFS adalah sebagai berikut.


# service rpcbind restart
# service nfs restart
# exportfs -a 

Install Paket Web Server

Untuk mengkonfigurasi sebuah web server, kita membutuhkan beberapa aplikasi di CentOS seperti httpd, php. Perintah yang dapat kita gunakan adalah sebagai berikut.
# yum -y install httpd php 

Direktori Utama Web Server (direktori html dan password)

Untuk membuat web server pada suatu server, kita harus menyediakan direktori untuk web servernya. Yang disediakan adalah letak direktori untuk htmlnya dan letak direktori untuk passwordnya. Gunakan perintah berikut ini untuk membuat kedua direktori yang disebutkan.

# mkdir /web/password
# mkdir /web/public_html 

Mematikan Firewall

Agar nantinya website web server http dapat diakses oleh client, Kita harus mematikan firewall terlebih dahulu. Untuk mematikan firewall, settingan yang harus dilakukan pertama adalah mengedit file /etc/selinux/config. Gunakan perintah berikut ini untuk mengedit filenya, setelah itu ubah pengaturan selinuxnya menjadi disabled.

# vi /etc/selinux/config

Langkah akhir untuk mematikan firewall adalah dengan menggunakan perintah setenforce berikut ini.

# setenforce 0

Menambahkan Password Akses HTTP

Kita bisa menambahkan password agar saat client mengakses website server http kita dengan web browser, maka akan ada autentikasi untuk mengakses websitenya. Cara menambahkannya adalah menambahkan file terlebih dahulu untuk letak file aksesnya di direktori /web (direktori utama web servernya). Perintah yang dapat kita gunakan adalah sebagai berikut.

# cd /web
web]# vi .htaccess
Yang ditambahkan di file htaccess adalah perintah-perintah berikut ini. Perintah dibawah ini bertujuan agar saat client mengakses website server kita, akan muncul jendela authentikasi. Hal ini memerlukan fitur php untuk dapat menjalankan htaccess ini.


Setelah file htaccess ditambahkan, kita setting autentikasinya. Yaitu menyetting user dan password untuk login agar bisa mengakses website server http. User yang saya gunakan disini adalah user alfa dan password yang digunakan adalah (rahasia). Untuk menyettingnya kita dapat menggunakan perintah htpasswd seperti contoh gambar berikut ini.

Sedangkan konfigurasi htpasswd tersebut akan dimasukan ke direktori /web/password yang sudah ditambahkan sebelumnya.


Dengan begini setiap client yang hendak mengakses website server http akan langsung melakukan autentikasi.

Mengedit File HTTP (httpd.conf)

Sebelum dapat menggunakan hasil implementasi settingan server http, terlebih dahulu kita harus menyetting file httpd.conf yang merupakan file konfigurasi httpd. File tersebut berada di direktori /etc/httpd/conf/httpd.conf. Gunakan perintah berikut ini untuk mengedit file konfigurasi httpd.conf tersebut.

# vi /etc/httpd/conf/httpd.conf
Lalu pada baris <directory, tambahkan letak direktori utama untuk web servernya (/web). Dan juga tambahkan authconfig pada baris allowoverride yang bertujuan agar munculnya tampilan autentikasi (login).

 
Masih di file httpd.conf, cari baris name virtualhost, lalu edit file tersebut menjadi seperti gambar dibawah ini. Dan pada baris <virtualhostnya, masukan settingan yang berkaitan dengan web server httpnya.


Keterangan :
  • ServerAdmin : Email Admin untuk server httpnya (disesuaikan dengan domain yang disetting di server dns).
  • DocumentRoot : Letak direktori utama server http.
  • ServerName : Nama domain yang disesuaikan di server dns sebelumnya.
  • ServerAlias : Nama domain tanpa www (nantinya akan teredirect ke server namenya.
  • ErrorLog : Letak direktori untuk menyampaikan pesan eror di server http
  • CustomLog : Letak direktori untuk menyampaikan pesan akses di server http.

Mengedit File Html

Langkah akhir untuk menjalankan suatu website adalah mengedit file htmlnya. File html yang disetting haruslah berada di direktori utama web server http yaitu di didirektori /web lebih tepatnya harus berada di direktori /web/public_html. Untuk mengedit file html, kita bisa menggunakan perintah berikut ini.

# cd /web/public_html
# vi index.html
Dimulai dari sini, kita akan mengedit file html dan disinilah kekreatifitasan kalian dalam mengedit file html ditonjolkan. Untuk mengedit file ini, kalian harus menyesuaikan dengan struktur yang harus ada dalam mengkonfigurasi html. 

Restart Aplikasi HTTPD

Semua konfigurasi sudah dilakukan, sisanya tinggal restart untuk mengaktifkan konfigurasi yang sudah disetting sebelumnya. Gunakan perintah berikut ini untuk merestart aplikasi httpd.

# service httpd restart
Dengan begini, server http sudah selesai dikonfigurasi dan sudah bisa diakses oleh client nantinya. Namun, konfigurasi masih belum selesai. Masih ada server https yang harus dikonfigurasi. Dan hal ini akan berlanjut ke part selanjutnya yaitu part2. Berikut link klik disini untuk masuk kepart selanjutnya. 

Sekian dari saya, terima kasih sudah berkunjung. Salam perpisahan, bertemu lagi di part selanjutnya. Jangan lupa, saran dan pertanyaan silahkan masukan di komentar. Terima kasih. 

Web Server Di CentOS (DNS + HTTP + HTTPS) - Part 1 DNS Server

Topologi

Hai agan-agan, selamat datang kembali di blog yang sederhana ini yang tetap selalu berada di channel IT. Kali ini saya ingin mengajak agan-agan sekalian untuk belajar membuat web server http dan https yang dilengkapi dengan dns. Penasaran? berikut contoh topologi yang akan kita gunakan.


Tabel Address

Sepeti biasa, setelah perangkat di sediakan. Yang pertama yang harus dilakukan adalah menyetting alamat logika atau yang sering kita sebut IP. Untuk implementasi yang saya gunakan disini adalah menggunakan tabel address berikut ini.

 Server DNS (CentOS)Addess192.168.1.1 Web Server Https
(CentOS)
Address192.168.1.3
Netmask255.255.255.0Netmask 255.255.255.0
DNS192.168.1.1--
Web Server Http
(CentOS)
Address192.168.1.2Client (Windows)Address192.168.1.4
Netmask255.255.255.0Netmask 255.255.255.0
-
-DNS 192.168.1.1 

Tujuan 

  • Untuk mengetahui konsep dari implementasi DNS + Web Server
  • Untuk mengetahui perbedaan web server HTTP dengan HTTPS
  • Menguasai konfigurasi settingan server dns, http dan https sesuai dengan implementasi kita

Konsep Dasar

Pada dasarnya, setiap web server adalah server yang berfungsi sebagai pembuat situs-situs yang biasa kita buka. Untuk memanagement situs tersebut dibutuhkan keahlian seorang programmer yang menguasai settingan html, Css dan kodingan-kodingan lainnya ynag berkaitan dengan setting web.

Selain itu hal penting yang harus di ketahui adalah ketika kita mengakses web server tertentu, semisal facebook.com. Ketika mengakses web tersebut otomatis kita akan masuk kedalam konfigurasi-konfigurasi web yang sudah bertampilkan berdasarkan settingan servernya. 

Kenapa implementasi kita menggunakan server DNS? Hal tersebut adalah sebagai acuan yang harus kita ketahui. Pada dasarnya untuk mengakses suatu server web, yang harus kita tau adalah address / alamat web server yang ingin kita akses. Hal ini akan menyusahkan karena kita harus mengingat address dari suatu web server.

Karena problem tersebut, kita menggunakan DNS. DNS ini berfungsi sebagai penamaan untuk ip-ip server web yang nantinya akan diakses client. Sehingga dengan server dns ini, client tidak perlu menggunakan ip server untuk mengaskesnya melalui web browser. Tapi, cukup dengan nama domain yang sudah diberikan oleh server. 

Konfigurasi

Instalasi Paket DNS Di CentOS

Sesuai dengan judul, pada konfigurasi part pertama ini saya akan menyetting server Dnsnya terlebih dahulu. Langkah pertama yang harus disetting setelah menambahkan ip adalah menginstall aplikasi untuk settingan domainnya. Seperti biasa, kita akan gunakan aplikasi bind dan bind-utils. Untuk menginstall kedua aplikasi tersebut, kita bisa menggunakan perintah berikut ini.

# yum -y install bind bind-utils

Mengedit File Zona Domain (named.conf)

Selanjutnya kita edit file settingan peletakkan zona domain. File yang kita konfigurasi ini adalah file named.conf yang terletak didirektori /etc/named.conf. Selanjutnya tinggal kita edit filenya dengan text editor vi. Perintah yang dapat kita gunakan adalah perintah berikut ini.

# vi /etc/named.conf
Pada baris options, kita tambahkan ip dan network server dnsnya seperti contoh dibawah ini.


Masih didalam file yang sama, geser tampilan ke baris paling bawah, lalu tambahkan zona-zona seperti gambar berikut. Zona-zona yang kita tambahkan memiliki fungsi tersendiri dan juga berbeda-beda. Dan karena kita ingin membuat web server yang terdiri dari http dan https, maka diperlukan dua domain yang berbeda. Dalam hal ini saya menambahkan domain .net dan .com.

Sementara antara web server http dengan https berbeda domain. Namun nantinya, kita bisa menyamakan isi dari tampilan web server yang kita gunakan. Untuk zonanya, beberapa yang harus dikonfigurasi adalah sebagai berikut.
  • Tipe Domain : Master, karena server dns utama
  • File : Tempat / direktori peletakkan file konfigurasi domain
  • Allow update : pemilihan update, di none-kan saja

Membuat File Konfigurasi Domain

Masing-masing letak file konfigurasi domain yang sudah disetting sebelumnya, disesuaikan dengan letak direktori konfigurasi tersebut. Sebelumnya pada settingan, saya meletakkan letak file konfigurasi pada "file default" tempat mengkonfigurasi domain, yaitu pada direktori /var/named.  Jadi, kita masuk terlebih dahulu ke direktori tersebut dengan perintah berikut ini.


# cd /var/named
Untuk membuat file konfigurasi domain, kita cukup mengkopy-pastekan file yang sudah tersedia di direktori tersebut. Salah satu filenya named.localhost dan named.loopback. Untuk mengkopy paste file, kita bisa menggunakan perintah cp sebagai berikut.

named]# cp named.localhost nama-domain
named]# cp named.localhost nama-domain2
named]# cp named.loopback ip-domain

Setelah ditambahkan ketiga file tersebut, jangan lupa untuk di setting chgrpnya. Perintah yang dapat digunakan adalah sebagai berikut.

named]# chgrp nama.domain
named]# chgrp nama.domain2
named]# chgrp ip.domain 

Mengedit File Konfigurasi Domain (file forward dan reverse)

File konfigurasi domain yang sudah dibuat tadi, sekarang kita edit. Pertama edit file konfigurasi domain untuk server http yaitu domain .net yang sudah disediakan pada file nama.domain. Gunakan perintah berikut ini untuk mengedit file nama.domain

named]# vi nama-domain
Jika sudah, edit file nama.domain tersebut dengan konfigurasi-konfigurasi nama domain depan (yang nantinya akan digunakan) beserta ip dari server yang di tunjuk. Karena file nama-domain ini dikhususkan untuk server http, maka ip domain diarahkan ke address server httpnya.


Selesai di edit file nama-domain (untuk server http), sekarang kita edit file nama-domain2. Untuk mengedit file nama-domain2, gunakan perintah berikut ini.

named]# vi nama-domain 2
yang digunakan untuk domain server https. Dalam hal ini, saya memberikan domain untuk https berbeda dari domain untuk http. Domain untuk https yang saya gunakan disini adalah domain .com. Untuk ip domainnya diarahkan ke address server https.


File terakhir yang diedit adalah file reverse, yang merupakan file yang berisi konfigurasi address belakang web server http dan https yang diarahkan ke nama domainnya masing-masing. Untuk mengedit file reverse ini, kita dapat menggunakan perintah berikut ini. Lalu, isikan file tersebut seperti gambar yang tersedia di bawah ini.

named]# vi ip-domain

Restart Aplikasi Domain

Dengan begini, semua settingan domain sudah terselesaikan. Agar semua konfigurasi yang sudah kita lakukan sebelumnya dapat di imlementasikan, kita harus merestart service dnsnya dengan menggunakan perintah berikut ini.

# service named restart
# chkconfig named on

Pengecekkan Pada Server

Sebelum kita memberikan akses dns milik server kita ke client, terlebih dahulu kita harus mengecek pada server dns kita. Untuk mengecek, kita harus menambahkan dns terlebih dahulu pada server dnsnya. Caranya, kita edit file /etc/resolv.conf dengan menggunakan perintah berikut ini.

# vi /etc/resolv.conf
Setelah itu, tambahkan search dan nameserver seperti tampilan resolv.conf gambar dibawah ini. Untuk searchnya diarahkan ke nama-domain (milik server http) atau sebut saja domain utama milik sever dns. Dan name servernya diarahkan ke address server dns.



Setelah address dns pada server dns sudah ditambahkan, pastikan dengan menggunakan perintah nslookup, kita bisa mendeteksi nama dan ip domain untuk server dns milik kita.



Berikut penjelasan mengenai setting dns server pada implementasi konfigurasi web server http + https. Untuk konfigurasi web servernya, dilanjutkan pada postingan selanjutnya di part2 (http) dan part3 (https). Untuk part selanjutnya bisa mengklik pada link berikut ini

Sekian dari saya, semoga postingan ini bermanfaan untuk anda. Sekian dari saya, kurang lebihnya mohon maaf. Saran dan pertanyaan silahkan masukan di komentar. Terima kasih.

Saturday, June 6, 2015

Ceph Cluster Di CentOS - Part 3


Tinggal sedikit lagi konfigurasi yang harus kita lakukan. Karena part ketiga dari mengkonfigurasi ceph cluster ini adalah part konfigurasi terakhir. Semoga anda dapat lebih sabar dalam mengkonfigurasi. Dan lebih tabah jika ada kendala ataupun kesalahan dalam mengkonfigurasi ceph. Berikut langkah terakhirnya.

Membuat Ceph File System

Langkah terakhir yang harus dilakukan di client adalah membuat file system khusus untuk penggunaan cephnya. Hal pertama yang harus dikonfigurasi untuk membuat ceph file sistem adalah membuat pool pada ceph osd. Berikut perintah yang dapat kita gunakan untuk membuat poolnya.

# ceph osd pool create data 100
# ceph osd pool create metadata 100
Setelah dibuat dicek osd poolnya dengan menggunakan perintah ls.


Selanjutnya, kita buat deh file system cephnya. Perintah yang dapat kita gunakan adalah sebagai berikut.

# ceph fs new fsdata metadata data
Lalu, kita buat secret file dengan cara menyalin keyring yang sudah diberikan dari admin-node sebelumnya. Dan meletakkan keyring tersebut ke file baru. Sebelum itu kita cek dulu keyring yang sudah didapatkan dari admin-node dengan perintah cat ke direktori keyringnya.


Jika sudah tinggal kita mounting deh driver ceph yang sebelumnya sudah disetting pada server admin-node dan node lainnya. Mountingnya kearah server MON (yang disetting di server node1) dan di mounting kearah direktori yang baru saja. Untuk perintahnya bisa menggunakan perintah berikut ini.

# mkdir /mnt/ceph
# mount -t ceph 172.16.11.3:6789:/ /mnt/cephfs/ -o name=admin,secretfile=/etc/ceph/admin.secret
Jika sudah di mounting, kita cek dulu hasil mountingannya dengan menggunakan eprintah df -h.


kita install paket terakhir yaitu paket ceph-fuse. Perintah yang dapat kita gunakan adalah sebagai berikut.

# yum -y install ceph-fuse
Setelah itu, dimounting lagi. Jika sebelumnya kita mounting driver ceph, sekarang yang dimounting adalah filesystem cephnya. Arah mountingannya dari server MON ke direktori baru yang akan dibuat. Gunakan perintah berikut ini untuk melakukan perintahnya.

# mkdir mycephfs
# ceph-fuse -m 172.16.11.3:6789 mycephfs/ 
Selesai dimounting seperti biasa, cek dulu hasil mountingannya.

Pengecekkan Di Client

Langkah terakhir pada part ini adalah pengecekkan. Yang dicek pertama adalah ujicoba. Lakukan ujicoba pada ceph filesystemnya. Ujicoba yang dilakukan bisa seperti contoh gambar dibawah ini.


Pengecekkan terakhir yang harus dilakukan adalah melihat hasil mountingan pada ceph filesystemnya. Perintah yang dapat digunakan adalah perintah df -h.


Sekian perjumpaan kita dalam membahas konfigurasi dan settingan Ceph Cluster Di CentOS. Semoga anda dapat memahami konsep yang sudah saya jelaskan dan paham konfigurasinya. Terima kasih sudah mau berkunjung, jangan lupa saran dan pertanyaan silahkan masukan di komentar. Terima kasih.
 

Ceph Cluster Di CentOS - Part 2

Membuat Ceph Object Storage atau OSD di Admin-Node

Masih kelanjutan dari part sebelumnya, setelah memformat disk yang sudah dilakukan di setiap node (node1, node2, node3). Sekarang tinggal pemasangan ceph-nya. Pertama kita siapkan dulu OSD yang akan digunakan ceph. OSD yang disiapkan berdasarkan settingan pemformatan harddisk menjadi tipe xfs pada ketiga node yang sudah disetting sebelumnya. Gunakan perintah berikut ini untuk menyiapkan OSDnya.

# ceph-deploy osd prepare node1:/ceph-osd node2:/ceph-osd node3:/ceph-osd
Selanjutnya OSD yang sudah disiapkan kita aktifkan. Gunakan perintah berikut ini untuk mengaktifkan OSDnya.

# ceph-deploy osd activate node1:/ceph-osd node2:/ceph-osd node3:/ceph-osd

Menyalin File Konfigurasi dan Key Ceph Ke Node1 - 3 Di Admin-Node

File konfigurasi ceph harus kita salin ke Node-node lainnya. Gunakan perintah berikut ini untuk menyalin file konfigurasinya.

# ceph-deploy admin admin-node node1 node2 node3
Jika sudah, langkah selanjutnya adalah memberikan hak akses read pada file ceph.client.admin.keyring di direktori /etc/ceph-cluster

# chmod +r /etc/ceph-cluster/ceph.client.admin.keyring

Membuat Metadata Server Ke Node1 Di Admin-Node

Langkah terakhir yang harus disetting pada server-server node maupun admin-node adalah membuat metadata server untuk Node1. Konfigurasi yang bisa kita gunakan adalah sebagai berikut.


# ceph-deploy mds create node1

Pengecekkan Status Ceph

Pengecekkan pertama adalah mengecek kesehatan ceph di admin-node. Jika sudah ok, maka konfigurasi sebelumnya berhasil dan berjalan mulus.


Setelah itu, pengecekkan status quorumnya.

 
Selanjutnya pengecekkan status ceph pada node1, node2 dan node3. Dan juga jangan lupa untuk mengecek OSD yang aktif atau tidak dengan perintah tree.
 

Pengecekkan terakhir yaitu melihat kapasitas harddisk ceph. Sebelumnya saat penambahan harddisk, saya menambahkan harddisk sebesar 6 Gb di setiap node. Sesuai dengan pengecekkan total harddisk (penyimpanan) sebesar 18 gb dari 3 server node.

Instalasi CentOS Release Xen dan Upgrade Kernel Di Client

Masuk ke konfigurasi pada client. Agar ceph lebih stabil pada client, kita bisa menginstall Xen pada clientnya. Gunakan perintah berikut ini untuk menginstall xen.

# yum -y install centos-release-xen
Selanjutnya, adalah mengupgrade kernel. Kernel pada client adalah kernel 2.x sedangkan ceph support ke kernel 3.x. Karena itu, pada client harus kita upgrade kernelnya. Dalam hal ini, mengupgrade kernel membutuhkan waktu yang lama. Jika upgrade sudah selesai, jangan lupa di reboot.

# yum -y update kernel 
Jika kernel sudah berhasil di upgrade, kita cek dulu kernel pada clientnya.

Menginstall Ceph dan Menyalin Keyring File ke Client Di Admin Node

Sementara, di Admin-node harus kita install dulu cephnya si client. Gunakan perintah berikut ini untuk menginstall ceph ke client.


# ceph-deploy install client
Jika sudah tinggal kita salin keyring file yang ada di admin-node. Gunakan perintah berikut ini untuk menyalin file keyring ke client.


# ceph-deploy admin client

Membuat Blok Device Di Client

Untuk membuat blok device, kita harus membuat disk baru terlebih dahulu. Disk yang dibuat di sini adalah disk model rbd. Jika sudah dibuat jangan lupa disknya dimapping. Perintah yang dapat digunakan adalah sebagai berikut.


# rbd create disk1 --size 5012
# rbd map disk

Disk baru yang sudah dibuat dan di mapping, harus kita format agar tipenya menjadi ext4. Fungsinya, agar nanti bisa digunakan oleh client saat dimounting ke sistem file client yang sudah menggunakan tipe file ext4. Gunakan perintah berikut ini untuk memformat tipe sistem filenya.

# mkfs.ext4 /dev/rbd1
Terakhir tinggal di mounting antara disk baru dengan salah satu direktori. Untuk direktorinya, kita buat saja terlebih dahulu.

# mkdir /ceph-bl-dv
# mount /dev/rbd1 /ceph-bl-dv
Jika sudah di cek dulu hasil mountingannya dengan menggunakan perintah df -h.


Part2 berakhir disini semoga anda puas dengan konfigurasinya. Sekian dari saya, konfigurasi ceph cluster akan dilanjutkan di part selanjutnya yang sudah saya sediakan pada link berikut ini. Terima kasih sudah mau mampir.

Ceph Cluster Di CentOS - Part 1

Topologi

Untuk mempermudah dalam mengkonfigurasi ceph pada CentOS, kita akan menggunakan topologi berikut ini.


Tabel Address

Implementasi yang digunakan kali ini adalah dengan menggunakan switch untuk menghubungkan seluruh perangkat. Sehingga kita bisa menggunakan network yang sama disetiap perangkat agar dapat terhubung. Selain itu, setiap fitur dan aplikasi di setiap perangkat (yang berkaitan dengan ceph), harus di dapatkan dari internet.

Agar setiap perangkat dapat terhubung ke internet. Maka, Settingan address yang digunakan adalah address yang satu network dengan internet yang diberikan ISP kita. Karena address ISP adalah 172.16.11.1/24, maka susunan address yang dapat kita setting adalah sebagai berikut.

InternetAddress172.16.11.1Node2Address172.16.11.4
Netmask255.255.255.0Netmask 255.255.255.0
Gateway-Gateway172.16.11.1
DNS-DNS172.16.11.1
Admin-NodeAddress172.16.11.2Node3Address172.16.11.5
Netmask255.255.255.0Netmask 255.255.255.0
Gateway172.16.11.1Gateway172.16.11.1
DNS172.16.11.1DNS172.16.11.1
Node1Address172.16.11.3ClientAddress172.16.11.6
Netmask255.255.255.0Netmask 255.255.255.0
Gateway172.16.11.1Gateway172.16.11.1
DNS172.16.11.1DNS172.16.11.1

Tujuan

  • Memahami konsep dari Ceph Cluster
  • Mengetahui cara mengkonfigurasi Ceph Cluster
  • Meningkatkan skill di bidang Storage Area Network

Konsep Dasar

Ceph Cluster adalah suatu software yang berbasis opensource yang berfungsi sebagai storage server seperti server penyimpanan milik google drive. Dalam hal ini, Ceph cluster memiliki 2 jenis daemon yaitu :
  • Ceph OSD Daemon (OSD) : berfungsi sebagai media penyimpanan data yang merupakan objek dari server penyimpanannya.
  • Ceph Monitor (MON) : berfungsi untuk memonitoring data master pada server cluster.
Minimal pembuatan Ceph Storage adalah Satu Ceph Monitor (MON) dan dua Ceph OSD Daemon (OSD). Namun, implementasi kita kali ini adalah menggunakan :
  • 1 Ceph Monitor (MON) : Untuk monitoring data
  • 1 Ceph Metadata Server (MDS) : Untuk File System Ceph-nya
  • 3 Ceph OSD Daemon (OSD) : Untuk server penyimpanan data

Review Settingan

Sesuai dengan implementasi kita, maka saya akan membuat struktur yang nantinya akan seperti ringkasan berikut ini.
  • Yang dibutuhkan disini adalah 4 server dan 1 client yang semuanya menggunakan OS CentOS. 4 server tersebut adalah admin-node, node1, node2, dan node3.
  • Admin-Node dibutuhkan untuk menyetting ceph ke node1, node2 dan node3 menggunakan fitur ssh. Sehingga kita hanya akan menggunakan Admin-Node sebagai pusat konfigurasi.
  • Admin-Node juga berfungsi sebagai tempat instalasi keyring di setiap node. Agar disetiap node memiliki keyring yang sama. Keyring yang berbeda disetiap node akan membuat ceph tidak bisa saling sinkronisasi.
  • Untuk Ceph OSDnya, akan diletakkan di server node1, node2 dan node3. Dimana disetiap node ditambah harddisk tambahan.
  • MON dan MDS kita setting pada node1 saja.
  • Sedangkan pada client, kernel harus diupgrade. 

Konfigurasi

Mematikan Firewall Dan Selinux Di Setiap Perangkat

Langkah pertama yang harus dilakukan adalah mematikan firewall dan selinux disetiap perangkat server maupun client (admin-node, node1, node2, node3 dan client). Caranya, pertama kita edit file config di direktori /etc/selinux. Gunakan perintah berikut ini untuk mengedit file tersebut.

# vi /etc/selinux/config

Setelah di disabled, kita harus menjalankan perintah setenforce 0 dan juga kita harus mematikan firewall iptablesnya. Perintah yang harus digunakan adalah sebagai berikut.

# setenforce 0
# iptables -F
# chkconfig iptables off 

Install Paket SSH Client Di Admin-Node

Ingat, untuk memudahkan kita dalam mengkonfigurasi ceph, kita bisa menjadikan admin-node sebagai pusat konfigurasi. Sehingga, kita bisa mengkonfigurasi node-node lainnya termasuk client pada admin-node ini. Salah satu caranya adalah dengan mengunakan fitur ssh. 

Ssh server memang sudah terpasang semua pada server dan clientnya.  Sisanya tinggal menginstall ssh client pada admin-node agar admin-node bisa meremote ssh ke server node atau client. Perintah menginstall ssh client adalah sebagai berikut.

# yum -y install openssh-clients

Merubah Hostname Di Setiap Perangkat

Hostname setiap perangkat CentOS memiliki keadaan default "localhost". Hal ini akan mempersulit kita dalam mengetahui "server apa yang sedang digunakan" saat kita sedang meremote ssh ke node1, node2, node3 atau client di admin-node. Untuk itu, agar mempermudah kita mengetahui server mana yang sedang diremote kita bisa menyetting hostname di setiap perangkat.

Selain itu, mengganti hostname ini juga bertujuan agar saat meremote ssh kita tidak perlu lagi meremote menggunakan ip servernya. Tetapi langsung bisa meremote ssh dengan menggunakan nama hostnamenya. Seperti contoh berikut ini.

# ssh 172.16.11.3    | meremote ssh menggunakan ip si node3  
# ssh node3 | meremote ssh menggunakan hostname si node3 
Untuk menyetting hostname, kita bisa merubah file hosts pada file /etc/. Gunakan perintah berikut ini untuk merubah settingan hostname.

#vi /etc/hosts
Setelah masuk kedalam file tersebut. Hapus seluruh konfigurasi yang ada sampai benar-benar kosong. Setelah itu, tambakan beberapa hostname seperti gambar dibawah ini. Settingan hostname dibawah ini disesuaikan address perangkat yang tersedia.


Ingat, settingan hostname harus dilakukan disetiap perangkat. Konfigurasinya juga sama seperti yang sudah dijelaskan. Setelah hostname disetting jangan lupa untuk di reboot. Tujuannya agar hostname di perangkat tersebut berubah menjadi hostname yang sudah disetting sebelumnya.

# reboot

Setting SSH Keygen dan Ssh Copy Id Di Admin-Node

Sebelum ssh client pada admin-node bisa digunakan, kita harus menjalankan perintah ssh-keygen. Hal ini bertujuan untuk memberikan password pada koneksi ssh yang sedang kita lakukan. Untuk menyetting ssh-keygen tinggal menggunakan perintah sebagai berikut.

# ssh-keygen
Untuk direktori keynya biarkan default, jadi tinggal klik enter. Untuk melanjutkan klik y. Dan terakhir isikan passwordnya (bebas). Dalam hal ini saya tidak memberikan password untuk keygennya. 


Langkah terakhir agar kita bisa melakukan remote ssh ke setiap perangkat dari admin-node adalah menyetting Ssh Copy ID. Perintah ini digunakan untuk mempercepat remote ssh. Sehingga kita tidak perlu lagi memasukan password si server yang kita remote saat hendak melakukan koneksi ssh. Gunakan perintah dibawah ini untuk mengaktifkan ssh copy ID di setiap perangkat.

# ssh-copy-id -i .ssh/id_rsa.pub node1
# ssh-copy-id -i .ssh/id_rsa.pub node2
# ssh-copy-id -i .ssh/id_rsa.pub node3
# ssh-copy-id -i .ssh/id_rsa.pub client 
Contoh cara yang harus dilakukan saat melakukan perintah Ssh Copy ID adalah sebagai berikut. Jika semua konfigurasi ssh client sudah dijalankan, maka sekarang kita sudah bisa mengkonfigurasi node1, node2 node3 dan client menggunakan admin-node. Untuk meremote ssh,  kita tinggal meremote menggunakan hostname dari perangkatnya seperti contoh berikut ini.

root@admin-node ~]# ssh node1    | meremote ssh ke node1
root@node1 ~]# exit                     | keluar dari remote ssh server node1
root@admin-node ~]# ssh node2    | meremote ssh ke node2

Menginstall Fitur Wget di Admin-Node

Paket-paket yang berisi fitur untuk ceph nantinya akan kita download dari salah satu situs penyedia paket ceph. Untuk dapat mendownload paket tersebut, kita harus menginstall paket wget. Paket wget adalah paket yang berfungsi sebagai pendownload paket-paket dari situs-situs di internet. Untuk menginstall paket wget, kita bisa menggunakan perintah dibawah ini.

# yum -y install wget

Download dan Install Paket Ceph Di Admin Node

Setelah itu, kita download paketnya dari beberapa situs penyedia paket ceph dengan menggunakan perintah berikut ini.

# wget -c http://ceph.com/rpm-firefly/el6/noarch/ceph-release-1-0.el6.noarch.rpm http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 
Pastikan setelah didownload, terdapat nama paket yang sudah di download tersebut. Berikut nama paket yang sudah saya download.


Jika paket yang di download ada pada direktori, maka tinggal kita install paketnya. Gunakan perintah berikut ini untuk menginstall paket ceph yang sudah di download tadi.

# rpm -ivh ceph-release-1-0.e16.noarch.rpm 
# rpm -ivh epel-release-6-8.noarch.rpm

Install Ceph Di Admin-Node

Sebelum menginstall, hal yang harus dilakukan terlebih dahulu adalah menambahkan priority dan enablednya pada repositori ceph. Setelah itu install paket yum-plugin-priorities

# sed -i -e "s/enabled=1/enabled=1\npriority=1/g" /etc/yum.repos.d/ceph.repo
# yum -y install yum-plugin-priorities
Setelah itu, baru kita install paket ceph dan paket ceph deploynya. Gunakan perintah berikut ini untuk menginstall kedua paket tersebut.

# yum -y install ceph ceph-deploy

Membuat Ceph MON, Menginstall Setiap Node Ke Ceph-Deploy dan Membuat File admin-keyring di Admin-Node

Pertama-tama, kita buat direktori yang nantinya akan dijadikan tempat file konfigurasi ceph-deploy. Ketika, konfigurasi mengenai ceph-deploy dijalankan. Maka, konfigurasi ceph-deploy tersebut akan masuk kedalam direktori yang sedang kita gunakan. Karena hal tersebut, setiap kita ingin mengkonfigurasi ceph-deploy, kita harus selalu berada di direktori yang akan kita buat ini. Berikut, perintah membuat direktori dan masuk ke direktori tersebut.

# mkdir /etc/ceph-cluster
# cd /etc/ceph-cluster
Jika sudah berada didirektori yang kita buat (/etc/ceph-cluster), sekarang kita gunakan konfigurasi ceph-deploynya. Yang pertama disetting disini adalah membuat ceph MON ke Node1 (seperti implementasi). Gunakan perintah berikut ini untuk membuat ceph MON dengan perintah ceph-deploy.

# ceph-deploy new node1
Jika sudah, selanjutnya kita install ceph ke setiap node (node1, node2, node3) termasuk admin-node. Gunakan perintah berikut ini untuk menginstall ceph kesetiap nodenya. 

# ceph-deploy install admin-node node1 node2 node3
Dan terakhir adalah membuat admin-keyringnya. Perintah yang digunakan adalah sebagai berikut.

# ceph-deploy mon create-initial

Memformat Harddisk Untuk Object Storage Menjadi Tipe Ceph OSD Di Node1, Node2 dan Node3

Sebelumnya, kita harus menambahkan harddisk terlebih dahulu pada setiap server node yang ada (node1, node2, node3). Untuk memformatnya, kita bisa menggunakan parted karena lebih simple. Partisi yang diformat harus menjadi tipe xfs dan labelnya adalah gpt. Maka perintah yang dapat digunakan adalah sebagai berikut.


Setelah itu, buat direktori untuk tempat mounting ke harddisk tambahannya yang sudah disetting. Gunakan perintah sebagai berikut untuk mountingnya.

# mkdir /ceph-osd
# mount -t xfs /dev/sbd1 /ceph-osd
Jika sudah, kita edit file fstab di direktori /etc/. Fungsinya untuk menjaga keutuhan mountingan harddsik tambahan yang sudah disetting. Sehingga saat direstart, konfigurasi mounting akan langsung dijalankan sistem. Yang diedit disini adalah pada baris paling bawah di file fstab.


Untuk part1 cukup sekian, bertemu lagi di part2 yang sudah saya sediakan pada link berikut ini. Sekian dari saya, terima kasih sudah berkunjung. Jangan lupa, saran dan pertanyaan silahkan masukan di komentar, terima kasih. 
 

Kenal Saya

Follow My Twitter

Profil



Nama saya Alfa Farhan Syarief, web ini ada berdasarkan nama saya sendiri. Saya sendiri masih duduk tingkat SMK. Lebih lengkapnya saya masih bersekolah di SMKN 1

More »

Blog Archive

Recent Comment