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.
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.
Internet | Address | 172.16.11.1 | Node2 | Address | 172.16.11.4 |
---|---|---|---|---|---|
Netmask | 255.255.255.0 | Netmask | 255.255.255.0 | ||
Gateway | - | Gateway | 172.16.11.1 | ||
DNS | - | DNS | 172.16.11.1 | ||
Admin-Node | Address | 172.16.11.2 | Node3 | Address | 172.16.11.5 |
Netmask | 255.255.255.0 | Netmask | 255.255.255.0 | ||
Gateway | 172.16.11.1 | Gateway | 172.16.11.1 | ||
DNS | 172.16.11.1 | DNS | 172.16.11.1 | ||
Node1 | Address | 172.16.11.3 | Client | Address | 172.16.11.6 |
Netmask | 255.255.255.0 | Netmask | 255.255.255.0 | ||
Gateway | 172.16.11.1 | Gateway | 172.16.11.1 | ||
DNS | 172.16.11.1 | DNS | 172.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 |
#vi /etc/hostsSetelah 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-keygenUntuk 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 node1Contoh 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.
# 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
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
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-prioritiesSetelah itu, baru kita install paket ceph dan paket ceph deploynya. Gunakan perintah berikut ini untuk menginstall kedua paket tersebut.# sed -i -e "s/enabled=1/enabled=1\npriority=1/g" /etc/yum.repos.d/ceph.repo# yum -y install yum-plugin-priorities
# 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-clusterJika 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.
# cd /etc/ceph-cluster
# ceph-deploy new node1Jika 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 node3Dan 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-osdJika 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.
# mount -t xfs /dev/sbd1 /ceph-osd
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.
0 komentar:
Post a Comment