Senin, 08 Juni 2015

Konfigurasi Ceph Cluster (CentOS 6.6)

Tujuan
  • Untuk mengetahui apa itu Ceph Cluster.
  • Untuk mengetahui bagaimana konfigurasi pada ceph cluster.
Konsep Dasar

Ceph adalah perangkat lunak bebas platform penyimpanan yang dibuat untuk menyajikan objek, blok, dan penyimpanan file yang di distribusikan sebagai cluster komputer . Ceph Storage Cluster terdiri dari dua jenis daemon yaitu Ceph OSD Daemon (OSD) berfungsi untuk menyimpan data sebagai objek pada server penyimpanan dan Ceph Monitor (MON) berfungsi untuk menjaga atau memonitoring data master pada server cluster. Dalam membuat ceph storage, minimal harus mempunyai satu Ceph Monitor (MON) untuk memonitoring dan dua Ceph OSD Daemon (OSD) untuk menyimpan data replikasi.
Admin-node berfungsi untuk menginstalasi ceph ke node1, node2, node3, dan client. Karena, jika kita instalasi satu persatu keyringnya akan berbeda dan ceph sendiri tidak akan saling sinkronisasi. Untuk OSD, menggunakan node1, node2 dan node3 dengan menggunakan harddisk tambahan ke masing-masing node. MON dan MDS hanya perlu diinstal pada node1. Untuk kliennya sendiri harus di upgrade kernelnya, karena ceph tidak support menggunakan kernel 2.x.
Software Ceph berjalan pada perangkat keras komoditas .Sistem ini dirancang untuk menjadi penyembuhan diri dan self-managing dan berusaha untuk mengurangi beban administrator dan terjadinya overhead.

Topologi

Table Address
         Admin=172.16.11.212
         Node1=172.16.11.213
         Node2=172.16.11.214
         Node3=172.16.11.215
         Client=172.16.11.216

Konfigurasi
  • Edit file hosts pada setiap node dengan sintaks "vi /etc.hosts"
  • Disable selinux dengan perintah "vi /etc/selinux/config"

  • Matikan firewall dan buat setenforce menjadi 0

  • pada "admin" kita buat ssh-copy-id yang berfungsi agar ketika kita ssh ke node lain, maka tidak diperlukan lagi password untuk login dengan menginstall openssh-client
  • Lalu jalankan perintah "ssh-keygen"
  • jalankan perintah ssh-copy-id yang fungsinya untuk menyimpan password dari server yang kita remote dengan perintah "ssh-copy-id -i -/.ssh/id_rsa.pub node1(node2-node3-client)
  • Install wget untuk mendownload repository ceph dengan perintah "yum install -y wget"
  • Jika sudah, kita harus menginstall repository epel dan ceph. Install terlebih dahulu wget lalu download paket epel dan ceph dengan perintah "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"
  • Sekarang install paket menggunakan perintah rpm -ivh
  • setelah itu tambahkan priority=1 pada admin-node sebelum kita menginstall ceph dan ceph-deploy dengan perintah"sed -i -e “s/enabled=1/enabled=1\npriority=1/g” /etc/yum.repos.d/ceph.repo" dan langsung install yum plugin 
  • Selanjutnya install ceph ceph-deploy nya
  • buat direktory dengan nama ceph-cluster pada /etc untuk penyimpanan konfigurasi ceph. Jika sudah, masuk ke directory tersebut dengan perintah cd dan buatlah ceph MON ke node 1 dengan perintah"ceph-deploy new node_1"
  • sekarang kita akan menginstal ceph ke node1 sampai node3 dengan perintah "ceph-deploy install admin-node node_1 node_2 node_3"
  • Lalu buat admin-keyring dengan perintah "ceph-deploy mon create-initial"
  • Memformat harddisk dengan perintah"parted -s /dev/sdb mklabel gpt
    " "parted -s /dev/sdb mkpart primary xfs 0% 100%" "
    mkfs.xfs /dev/sdb1 -f"
  • Kemudian, buat direktori /ceph-osd untuk mountingan partisi yang sudah diformat dan mounting partisi tersebut denagn perintah "mount -t xfs /dev/sdb1 /ceph-osd/"
  • tambahkan script pada file "vi /etc/fstab" dengan script"/dev/sdb1 /ceph-osd xfs defaults 0 0"
  • buat ceph object atau OSD pada admin dengan perintah"ceph-deploy osd prepare node_1:/ceph-osd node_2:/ceph-osd node_3:/ceph-osd"
  • Sekarang aktifkan ceph object dengan perintah"ceph-deploy osd activate node_1:/ceph-osd node_2:/ceph-osd node_3:/ceph-osd"
  • copykan file konfigurasi ceph dari admin ke node_1 sampai 3 dengan perintah "ceph-deploy admin admin-node node_1 node_2 node_3"
  • berikan hak akses read pada file ceph.client.admin.keyring dengan menggunakan perintah "chmod +r /etc/ceph-cluster/ceph.client.admin.keyring"
  • Lalu buat metadata server ke node 1 dengan perintah "ceph-deploy mds create node1"
  • cek status kesehatan ceph yang berfungsi sebagai active + clean dengan menjalankan perintah"ceph health"
  • Cek juga quorum status dengan perintah "ceph quorum_status –format=json-pretty"
  • Beralih ke client, install xen agar ceph lebih stabil karena kita menggunakan virtual
  • update kernel dengan perintah "yum update kernel -y"

  • Jika sudah, pada admin install ceph ke client dengan perintah "ceph-deploy install client" dan "ceph-deploy admin client"

  • buat disk baru dengan menggunakan rbd dan membuat mapping dari disk yang sudah dibuat dengan perintah "rbd create disk1 –size 5012" "rbd map disk1" "rbd showmapped"

  • Berikutnya adalah memformat disk yang sudah dimapping
  • Setelah diformat kita mountingkan partisi tersebut
  • buat pool pada ceph OSD dan buat secret file dengan menyalin key dari file ceph.client.admin.keyring. Kemudian salin key tersebut dan buat file baru untuk menyimpan key tersebut
  • Selanjutnya buat directory untuk memounting driver ceph dengan perintah"mkdir /mnt/cephfs" "mount -t ceph 192.168.100.213:6789:/ /mnt/cephfs -o name=admin,secretfile=/etc/ceph/admin.secret"
  • berikutnya menginstal paket ceph-fuse
  • Selanjutnya jika proses instalasi sudah selesai buat directory dan mounting dengan filesystem dengan perintah "mkdir mycephfs" "ceph-fuse -m 192.168.100.213:6789 mycephfs/"
  • Lalu uji coba pada ceph filesystem
  • cek hasil mounting filesystem dengan perintah "ceph df"


Konfigurasi WebServer (CentOS 6,6)

Tujuan

  • mengetahui pengertian dari web server
  • Mengetahui perbedaan HTTP dan HTTPS
  • Mengetahui konfigursai web server dengan HTTP dan HTTPS

Konsep Dasar

Pengertian Web server adalah sebuah software yang memberikan layanan berbasis data dan berfungsi menerima permintaan dari HTTP atau HTTPS pada klien yang dikenal dan biasanya kita kenal dengan nama web browser dan untuk mengirimkan kembali yang hasilnya dalam bentuk beberapa halaman web dan pada umumnya akan berbentuk dokumen HTML.

HTTPS adalah versi aman dari HTTP, protokol komunikasi dari World Wide Web. Ditemukan oleh Netscape Communications Corporation untuk menyediakan autentikasi dan komunikasi tersandi dan penggunaan dalam komersi elektris.

HTTPS singkatan dari Hyper Text Transport Protocol Secure, yaitu protokol transmisi data secara aman, memiliki pengertian sama dengan HTTP tetapi dengan alasan keamanan (security), HTTPS memberi tambahan Secure Socket Layer (SSL). Umumnya website yang menggunakan HTTPS ini adalah website yang memiliki tingkat kerawanan tinggi yang berhubungan dengan masalah keuangan dan privacy dari pelanggannya seperti website perbankan dan investasi.

HTTP (Hypertext Transfer Protocol) suatu protokol yang digunakan oleh WWW (World Wide Web). HTTP mendefinisikan bagaimana suatu pesan bisa diformat dan dikirimkan dari server ke client. HTTP juga mengatur aksi-aksi apa saja yang harus dilakukan oleh web server dan juga web browser sebagai respon atas perintah-perintah yang ada pada protokol HTTP ini. Contohnya bila kita mengetikkan suatu alamat atau URL pada internet browser maka web browser akan mengirimkan perintah HTTP ke web server. Web server kemudian akan menerima perintah ini dan melakukan aktivitas sesuai dengan perintah yang diminta oleh web browser. Hasil aktivitas tadi akan dikirimkan kembali ke web browser untuk ditampilkan kepada kita.

Sementara HTTPS (Secure HTTP) merupakan bentuk protokol yang aman karena segala perintah dan data yang lewat protokol ini akan diacak dengan berbagai format sehingga sulit untuk dibajak isinya maupun dilihat perintah-perintah yang dieksekusi.

Table address

             DNS = 172.16.11.50
             HTTP = 172.16.11.51
             HTTPS = 172.16.11.52
             Client = 172.16.11.207


Konfigurasi
  • Pertama, konfigurasi terlebih dahulu DNSnya dengan perintah"yum install bind bind-utils"
  • Edit file "vi /etc/named.conf" lalu ubah menjadi seperti ini

  • Lalu copy file named.localhosts menjadi nama file 1 dan ke 2 serta named.loopback yang menjadi nama file ke 3
  • Edit file dengan perintah "vi /var/named/rifki.com" dan edit seperti ini
  • lalu edit file yang satunya dengan perintah "vi /var/named/rifki.net" dan edit seperti ini
  • Edit lagi file reversenya dengan perintah "vi /var/named/reverse" dan edit seperti ini
  • Lalu ubah group file tersebut menjadi named
  • Restart DNS
  • Coba gunakan "nslookup"untuk memeriksa hasil konfigurasinya
  • Lalu,kita pindah ke HTTP. install NFS terlebih dahulu untuk mensingkronisasi HTTP dan HTTPS dengan perintah "yum install nfs-utils nfs-utils-lib"
  • buat direktori root web servernya
  • Edit file "vi /etc/exports" dan tambahkan script seperti ini
  • Sekarang restart NFSnya
  • jalankan perintah "exportfs-a"
  • Disable selinux dengan perintah "vi /etc/selinux/config"
  • Ubah setenforce menjadi 0
  • Sekarang install  httpd dan phpnya dengan sintaks "yum install httpd php"
  • pada directory root web server kita tambahkan directory untuk tempat penyimpanan file html serta directory tempat penyimpanan password web server. mkdir /web/public_html mkdir /web/password
  • Sekarang kita masuk ke direktori web dan buat file .htaccess
  • Pada file htaccess buat script seperti ini
  • Jalankan perintah ini untuk mebuat user login pada user rifki
  • Lalu edit file "vi /etc/httpd/conf/httpd.conf" lalu ubah direktori dan Allow override agar saat ada yang mengakses harus login dahulu
  • Lalu cari virtualhosts, dan ubah seperti ini
  • Selanjutnya kita buat file html dengan nama index.html pada /web/public_html sebagai tampilan web server kita dengan perintah "vi /web/public_html/index.html"
  • jalankan httpd nya dengan menggunakan perintah service httpd start
  • Sekarang pindah ke HTTPS. install lagi NFS dengan sintaks yang sama seperti tadi
  • Buat direktori untuk memounting NFSnya dan mount langsung NFSnya
  • Disable selinux dengan perintah yang sama
  • Ubah setenforce menjadi 0
  • sekarang install httpd php dan mod_sslnya
  • Buat direktori untuk menyimpan ssl
  • Lalu generate sslnya denga perintah dibawah ini
  • edit file ssl.confnya dengan perintah "vi /etc/httpd/conf.d/ssl.conf" ubah pada bagian ini
  • masih di file tersebut,ubah ssl sertificate seperti ini
  • Jalankan httpdnya
  • Coba akses di client. terutama,atur IP terlebih dahulu
  • Buka web browser, coba akses web tanpa ssl. yaitu rifki.com. pasti diminta memasukkan password sebelum dikunjungi
  • inilah penampakan sesudah diisi passwordnya
  • percobaan kedua, coba akses web yang menggunakan ssl, yaitu"https://rifki.net"
  • Tetap lanjutkan (not recommended)