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
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