Selasa, 09 Juni 2015


Tabel Addressing



Admin-node (CentOS 6.6)
172.16.11.151/24
Node1 (CentOS 6.6)
172.16.11.152/24
Node2 (CentOS 6.6)
172.16.11.153/24
Node3 (CentOS 6.6)
172.16.11.154/24
Client (CentOS 6.6)
172.16.11.155/24


Tujuan

1. Dapat mengetahui bagaimana cara kerja dari Ceph Cluster
2. Dapat mengetahui bagaimana konfigurasi Ceph Cluster di CentOS

3. Dapat mengetahui apa maksud dari Ceph Cluster

Konsep Dasar



Ceph Cluster adalah sebuah software yang berbasis opensource yang berfungsi sebagai storage server atau server penyimpanan seperti google drive. Ceph Cluster terdiri dari dua jenis daemon yaitu Ceph OSD Daemon (OSD) yang berfungsi untuk menyimpan data sebagai objek pada server penyimpanan dan Ceph Monitor (MON) yang 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.
Untuk kali ini, saya akan membuat satu Ceph Monitor (MON), satu Metadata Server (MDS), dan tiga Ceph OSD Daemon (OSD). Berikut masing-masing dari fungsi yang ada di ceph


  1. MON berfungsi untuk memonitoring data pada cluster
  2. OSD berfungsi untuk menyimpan data sebagai objek pada server
  3. MDS berfungsi sebagai file system ceph


Admin-node berfungsi untuk menginstalasi ceph ke node1, node2, node3, dan client. Karena, jika kita menginstall 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.

Konfigurasi

1. Yang pertama, kita edit file selinux dengan perintah # vi /etc/selinux/config


2. Setelah itu, ubah pada bagian "selinux=enforcing" menjadi "selinux=disabled"



3. Setelah itu, kita matikan firewall dengan perintah # setenforce 0, lalu # iptables -F, dan # chkconfig iptables off.



4. Lalu, kita install ssh dengan perintah # yum -y install openssh-clients, fungsinya agar si admin-node tersebut bisa melakukan ssh



5. Kemudian, kita tambahkan IP Address dari node1 sampai node 3 dan client kemudian berikan nama pada masing-masing IP tersebut dengan perintah # vi /etc/hosts. Fungsinya, agar kita tidak perlu mengetik IP Address lagi, hanya perlu mengetik nama yang sudah didaftarkan untuk masing-masing IP.. 



6. Setelah itu, kita jalankan perintah ssh keygen di admin-node dengan perintah # ssh-keygen, yang berfungsi untuk membuat rsa public key baru



7. Kemudian, kita jalankan perintah ssh-copy-id di admin-node dengan perintah # ssh-copy-id -i ~/.ssh/id_rsa.pub "nama node", fungsinya agar kita bisa ssh tanpa harus menggunakan password







8. Lalu, kita install wget di admin-node dengan perintah # yum -y install wget, fungsinya untuk mendownload paket repositori epel dan ceph


  9. Setelah itu, kita download paket epel dan ceph denhan 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




10. Lalu, kita install paket epel dan ceph yang sudah di download sebelumnya



11. Sebelum kita menginstall ceph, terlebih dahulu kita tambahkan “priority=1” pada repositori ceph dan instal paket yum-plugin-priorities






  12. Setelah itu, kita install paket ceph dan juga paket ceph deploy di admin-node dengan perintah # yum -y install ceph ceph-deploy





13. Lalu, kita buat direktori untuk menyimpan konfigurasi dari ceph dengan perintah # mkdir /etc/ceph-cluster dan masuk ke direktori yang kita buat dengan perintah # cd /etc/ceph-cluster/


14. Setelah itu, kita buat ceph mon untuk node 1 di admin-node dengan perintah # ceph-deploy new node1


15. Kemudian, kita install ceph ke node1 sampai node3, agar lebih mudah dalam melakukan instalasi, kita cukup membuka port ssh pada masing-masing node, yaitu dengan perintah # ceph-deploy install admin-node node1 node2 node3.


16. Lalu, kita buat admin-keyring pada admin node dengan perintah # ceph-deploy mon create-initial.







17. Setelah itu, kita buat partisi untuk Node1, Node2 dan Node3. Tetapi, partisi tersebut harus dibuat ke dalam type xfs dan labelnya harus gpt. Dalam memformat partisi tersebut menggunakan parted, karena lebih simple.

Node1


Node2



Node3



 18. Kemudian, buat direktori untuk mountingan partisi yang telah diformat sebelumnya dan mounting partisi tersebut

Node1



Node2



Node3



 19. Lalu, edit file /etc/fstab dengan perintah # vi /etc/fstab dan tambahkan script mounting otomatis untuk partisi yang sudah dimounting yang berfungsi ketika kita akan restart server tersebut, akan langsung memounting otomatis partisi tersebut

Node1



Node2




Node3



20. Kemudian, kita siapkan OSD untuk pembuatan Ceph dengan perintah # ceph-deploy osd prepare node1:/ceph-osd node2:/ceph-osd node3:/ceph-osd



21. Setelah itu, kita aktifkan OSD untuk pembuatan Ceph dengan perintah # ceph-deploy osd activate node1:/ceph-osd node2:/ceph-osd node3:/ceph-osd.



22. Kemudian, kita copy file konfigurasi ceph dari admin-node ke node1, node2 dan node3 dengan perintah # ceph-deploy admin admin-node node1 node2 node3.



23. Setelah itu, kita beri hak akses read untuk file ceph.client.admin.keyring dengan perintah # chmod +r /etc/ceph/ceph.client.admin.keyring.



24. Lalu, kita buat metadata server untuk ke node 1 dengan perintah # ceph-deploy mds create node1



25. Setelah itu, kita cek kesehatan ceph di admin-node dengan perintah # ceph health. Jika sehat, akan muncul tulisan "HEALTH OK".



26. Kemudian, kita cek quorum status di admin-node dengan perintah # ceph quorum_status --format=json-pretty



27. Lalu, kita cek status OSD di admin-node dan node1

Admin-node





Node1








28. Kemudian, kita cek service ceph di node1, node2 dan node3

Node1


Node2


Node3


29. Setelah itu, kita lihat OSD ceph pada node1 apakah aktif atau tidak dengan perintah #ceph osd tree.



30. Lalu, kita coba lihat kapasitas harddisk ceph dengan perintah # ceph df



Pada Client

31. Kemudian, kita install centos-release-xen di client dengan perintah # yum install centos-release-xen. Instalasi xen berfungsi agar ceph yang kita gunakan lebih stabil karena dalam kasus ini, kita menggunakan virtualisasi bukan real device.



32. Lalu, kita upgrade kernel centos di client dengan perintah # yum update kernel, ini dimaksudkan karena ceph tidak bisa mensupport dengan kernel 2.x dan lebih support menggunakan kernel 3.x



33. Setelah itu, kita reboot client karena kita akan mengupdate kernel yang sudah diupgrade

34. Kemudian, kita cek kernel yang sudah di upgrade dengan perintah # uname -a



35. Lalu, kita install ceph untuk client dengan perintah # ceph-deploy install client


36. Setelah itu, kita salin file keyring untuk client dari admin-node dengan perintah # ceph-deploy admin client



37. Lalu, kita buat disk baru dengan menggunakan system rbd



38. Kemudian, kita buat mapping untuk disk yang sudah dibuat sebelumnya



39. Setelah itu, kita format disk yang sudah dibuat sebelumnya



40. Lalu, kita mounting disk yang sudah diformat sebelumnya. Terlebih dahulu kita buat direktori untuk menyimpan hasil disk yang sudah diformat tadi



41. Selanjutnya, kita buat pool pada ceph osd di client


42. Setelah itu, kita buat filesystem ceph untuk pool yang sudah dibuat sebelumnya



43. Kemudian, kita buat secret file di client dengan menyalin key dari file ceph client.admin.keyring. Lalu, salin key tersebut dan buat file baru untuk menyimpan key tersebut


44. Selanjutnya, kita mounting driver ceph di client


45. Setelah itu, kita install ceph-fuse di client



46. Lalu, kita mounting filesystem yang kita buat sebelumnya



47. Kemudian, kita ujicoba filesystem ceph yang dibuat sebelumnya di client



48. Lalu, kita lihat hasil mountingan ceph filesystem di client



Selesai

Mohon maaf jika ada penulisan kata yang kurang menarik 

Sekian dan terima kasih
Categories:

0 komentar:

Posting Komentar

Subscribe to RSS Feed Follow me on Twitter!