Monday, September 3, 2018

CARA INSTALL CEPH LUMINOUS MENGGUNAKAN 2 NODE PADA CENTOS




Halo sobat blogger, kali ini saya ingin membagikan CARA INSTALL CEPH MENGGUNAKAN 2 NODE PADA CENTOS

Pengertian Ceph

Ceph Storage Cluster adalah sebuah software yang berbasis opensource yang berfungsi sebagai storage server atau server penyimpanan seperti google drive. 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.

Instalasi

Pertama yang harus disiapkan adalah:
  • 3 Instance pod1, pod2, dan pod3
  • Spesifikasi masing - masing instance adalah = 2 vCPU dan 4 GB vRAM dan images CentOS-7-x86_64-GenericCloud
  • Buat 4 Volume sebesar 2 GB dengan nama vol0-pod2, vol1-pod2, vol2-pod3, dan vol3-pod3 lalu attach sesuai nama node
 Setelah itu, Ikuti instruksi berikut untuk memulai proses instalasi:

1. Pastikan IP, Gateway, dan Hostname Sesuai. 
 


### Node pod1 ###
Interface: eth0
IP Address: 10.X.X.30/24
Gateway: 10.X.X.1
Hostname: pod1

### Node pod2 ###
Interface: eth0
IP Address: 10.X.X.31/24
Gateway: 10.X.X.1
Hostname: pod2

### Node pod3 ###
Interface: eth0
IP Address: 10.X.X.32/24
Gateway: 10.X.X.1
Hostname: pod3


 *Nb: untuk ip address bisa di sesuaikan dengan interface kalian.

2. Tambahkan Name Resolution dengan menjalankan perintah berikut:
 
vi /etc/hosts
....
10.X.X.30 pod1
10.X.X.31 pod2
10.X.X.32 pod3

3. Selanjutnya update dan install repository kalian dengan menjalankan perintah berikut:
 
##### Repositori #####
[ ! -d /etc/yum.repos.d.orig ] && cp -vR /etc/yum.repos.d /etc/yum.repos.d.orig
yum -y install epel-release yum-plugin-priorities https://download.ceph.com/rpm-luminous/el7/noarch/ceph-release-1-1.el7.noarch.rpm
yum repolist
yum -y update 


4. Lalu Install NTP Server.
 
yum -y install chrony
systemctl enable chronyd.service
systemctl restart chronyd.service
systemctl status chronyd.service
chronyc sources


5. Selanjutnya install Packet Utillitas
 
yum -y install vim wget screen crudini

6. Selanjutnya tambahkan user root di setiap server
 
cat << EOF >/etc/sudoers.d/root
root ALL = (root) NOPASSWD:ALL
Defaults:root !requiretty
EOF

.........

useradd -d /home/root -m root
passwd root

chmod 0440 /etc/sudoers.d/root

.........

setenforce 0
getenforce
sed -i 's/SELINUX\=enforcing/SELINUX\=permissive/g' /etc/selinux/config
cat /etc/selinux/config 

7. Selanjutnya eksekusi perintah berikut pada node pod1 untuk menginstall ceph-deploy:
 
#0. Pasang paket ceph-deploy versi 1.5.39-0
yum -y install http://mirror.centos.org/centos/7/os/x86_64/Packages/python-setuptools-0.9.8-7.el7.noarch.rpm
yum -y install http://download.ceph.com/rpm-luminous/el7/noarch/eph-deploy-1.5.39-0.noarch.rpm

Pastikan Ceph-Deploy Versi 1.5.39-0 yang terpasang
8. Generate ssh key dari user root ke semua server dengan mengeksekusi perintah:
 
su - root
ssh-keygen
ls -la ~/.ssh/
...........

##salin SSH key ke semua node
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.x.x.30 #pod1
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.x.x.31 #pod2
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.x.x.32 #pod3



9. lalu edit file konfigurasi ssh user ceph-deploy:
 
vi ~/.ssh/config
............

Host node1
   Hostname pod1
   User [username]
Host node2
   Hostname pod2
   User [username]
Host node3
   Hostname pod3
   User [username]

save
............

chmod 644 ~/.ssh/config



10. masih di server ceph-mon,
 
#Login sebagai [username]
su - [username]

#Buat folder konfigurasi
mkdir deploy-ceph
cd deploy-ceph

#Buat cluster
ceph-deploy new pod1
ls -lh


11. set jumlah replika sebanyak 2 sehingga data yang tersimpan pada cluster ceph akan di replica sebanyak 2
 
echo "osd pool default size = 2" >> ceph.conf
echo "rbd default features = 1" >> ceph.conf



12. Membuat Initial Monitor
 
ceph-deploy mon create-initial
ls -lh
.........

-rw-------. 1 root root 113 Apr 22 13:42 ceph.bootstrap-mds.keyring
-rw-------. 1 root root 71 Apr 22 13:42 ceph.bootstrap-mgr.keyring
-rw-------. 1 root root 113 Apr 22 13:42 ceph.bootstrap-osd.keyring
-rw-------. 1 root root 113 Apr 22 13:42 ceph.bootstrap-rgw.keyring
-rw-------. 1 root root 129 Apr 22 13:42 ceph.client.admin.keyring
-rw-rw-r--. 1 root root 310 Apr 22 13:19 ceph.conf
-rw-rw-r--. 1 root root 173K Apr 22 13:42 ceph-deploy-ceph.log
-rw-------. 1 root root 73 Apr 22 13:19 ceph.mon.keyring



13. Menambahkan OSD
 
ceph-deploy disk list node2
ceph-deploy disk list node3
........
ceph-deploy disk zap node2:vdx node2:vdx
ceph-deploy disk zap node3:vdx node3:vdx
.........
ceph-deploy osd create node2:sdb node2:sdc 
ceph-deploy osd create node3:sdb node3:sdc



14. Deploy Manager Daemon
 
ceph-deploy mgr create node1



15. Copy konfigurasi dan key admin ke semua node
 
ceph-deploy admin node1 node2 node3



16. Set Permission ke semua node
 
sudo chmod +r /etc/ceph/ceph.client.admin.keyring
ssh node2 "sudo chmod +r /etc/ceph/ceph.client.admin.keyring"
ssh node3 "sudo chmod +r /etc/ceph/ceph.client.admin.keyring"



17. Verifikasi Ceph
 
ceph health
ceph -w
ceph df
ceph status

Verifikasi Ceph Health_OK


18. Test operasi object data
 
ceph osd pool create pool-[username] 128
rbd pool init pool-[username]
echo test > filetest1.txt


19. Isi File
 
rados put object-test1 test1.txt --pool=pool-root
rados ls --pool=pool-root



20. Hapus File
 
rados rm object-test1 --pool=pool-root
rados ls --pool=pool-root
......
#hapus_mon
ceph daemon /var/run/ceph/ceph-mon.$(hostname -s).asok config show | grep mon_allow_pool_delete





21. Aktifkan Ceph Dasboard untuk monitoring Ceph Storage Cluster
 
ceph mgr module enable dashboard
.......
akses dashboard http://localhost:7000/


0 comments

Post a Comment