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
- MON berfungsi untuk memonitoring data pada cluster
- OSD berfungsi untuk menyimpan data sebagai objek pada server
- 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/
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.
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
0 komentar:
Posting Komentar