Cep gratis dan open source penyimpanan terdistribusi solusi di mana kami dapat dengan mudah menyediakan dan mengelola penyimpanan blok, penyimpanan objek, dan penyimpanan file. Solusi penyimpanan Ceph dapat digunakan dalam infrastruktur TI tradisional untuk menyediakan penyimpanan terpusat, selain itu juga digunakan di cloud pribadi (OpenStack &Cloudstack ). Di Red Hat OpenStack Ceph digunakan sebagai cinder backend.
Pada artikel ini, kami akan mendemonstrasikan cara menginstal dan mengkonfigurasi Ceph Cluster(Mimic) di Server CentOS 7.
Di Ceph Cluster berikut adalah komponen utama:
- Monitor (ceph-mon) :Seperti namanya, node monitor ceph mengawasi status cluster, Peta OSD, dan peta Hancurkan
- OSD ( Ceph-osd) :Ini adalah node yang merupakan bagian dari cluster dan menyediakan penyimpanan data, replikasi data, dan fungsi pemulihan. OSD juga menyediakan informasi untuk memantau node.
- MDS (Ceph-mds) :Ini adalah server meta-data ceph dan menyimpan data meta dari sistem file ceph seperti penyimpanan blok.
- Node Penerapan Ceph :Digunakan untuk men-deploy cluster Ceph, disebut juga sebagai Ceph-admin atau Ceph-utility node.
Detail penyiapan Lab Saya :
- Node Penerapan Ceph :(Minimal CentOS 7, RAM:4 GB, vCPU:2, IP:192.168.1.30, Hostname:ceph-controller)
- OSD atau Ceph Compute 1 :(Minimal CentOS 7, RAM:10 GB, vCPU:4, IP:192.168.1.31, Hostname:ceph-compute01)
- OSD atau Ceph Compute 2 :(Minimal CentOS 7, RAM:10 GB, vCPU:4, IP:192.168.1.32, Hostname:ceph-compute02)
- Pemantau Ceph :(Minimal CentOS 7, RAM:10 GB, vCPU:4, IP:192.168.1.33, Hostname:ceph-monitor)
Catatan: Di semua node kami telah melampirkan dua nics (eth0 ð1), pada eth0 IP dari VLAN 192.168.1.0/24 ditetapkan . Pada eth1 IP dari VLAN 192.168.122.0/24 ditetapkan dan akan menyediakan akses internet.
Mari Langsung ke langkah instalasi dan konfigurasi:
Langkah:1) Perbarui file /etc/hosts, NTP, Buat Pengguna &Nonaktifkan SELinux di semua Node
Tambahkan baris berikut di file /etc/hosts dari semua node sehingga seseorang dapat mengakses node ini melalui nama hostnya juga.
192.168.1.30 ceph-controller192.168.1.31 ceph-compute01192.168.1.32 ceph-compute02192.168.1.33 ceph-monitor
Konfigurasi semua node Ceph dengan NTP Server sehingga semua node memiliki waktu yang sama dan tidak ada penyimpangan waktu,
~]# yum install ntp ntpdate ntp-doc -y~]# ntpdate europe.pool.ntp.org~]# systemctl start ntpd~]# systemctl enable ntpd
Buat pengguna dengan nama “cephadm ” di semua node dan kami akan menggunakan pengguna ini untuk penerapan dan konfigurasi ceph
~]# useradd cephadm &&echo "[email protected]#" | passwd --stdin cephadm
Sekarang tetapkan hak admin untuk cephadm pengguna melalui sudo, jalankan perintah berikut,
~]# echo "cephadm ALL =(root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephadm~]# chmod 0440 /etc/sudoers.d/cephadm
Nonaktifkan SELinux di semua node menggunakan perintah di bawah sed, bahkan situs resmi ceph merekomendasikan untuk menonaktifkan SELinux ,
~]# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
Reboot semua node sekarang menggunakan perintah di bawah,
~]# reboot
Langkah:2 Konfigurasikan otentikasi tanpa kata sandi dari admin Ceph ke semua OSD dan monitor node
Dari node Ceph-admin kita akan menggunakan utilitas yang dikenal sebagai “ceph-deploy “, itu akan masuk ke setiap node ceph dan akan menginstal paket ceph dan akan melakukan semua konfigurasi yang diperlukan. Saat mengakses node Ceph, kita tidak akan diminta untuk memasukkan kredensial node ceph. Oleh karena itu, kita perlu mengonfigurasi otentikasi tanpa kata sandi atau berbasis kunci dari node ceph-admin ke semua node ceph.
Jalankan perintah berikut sebagai pengguna ceph dari node Ceph-admin (ceph-controller). Biarkan frasa sandi kosong.
[[email protected] ~]$ ssh-keygenMenghasilkan pasangan kunci rsa publik/pribadi.Masukkan file untuk menyimpan kunci (/home/cephadm/.ssh/id_rsa):Direktori yang dibuat '/home/cephadm/. ssh'.Masukkan frasa sandi (kosongkan tanpa frasa sandi):Masukkan kembali frasa sandi yang sama:Identifikasi Anda telah disimpan di /home/cephadm/.ssh/id_rsa.Kunci publik Anda telah disimpan di /home/cephadm/.ssh/id_rsa. pub.Sidik jari kuncinya adalah:93:01:16:8a:67:34:2d:04:17:20:94:ad:0a:58:4f:8a [dilindungi email]Gambar kunci acak adalah:+- -[ RSA 2048]----+|o.=+*o+. || o.=o+.. ||.oo++. . ||E..o. o ||o S ||. . || || || |+-----------------+[[email protected] ~]$
Sekarang salin kunci ke semua node ceph menggunakan perintah ssh-copy-id
[[email protected] ~]$ ssh-copy-id [email protected][[email protected] ~]$ ssh-copy-id [email protected][[email protected] ~]$ ssh-copy-id [dilindungi email]
Disarankan untuk menambahkan yang berikut ini di file “~/.ssh/config”
[[email protected] ~]$ vi ~/.ssh/configHost ceph-compute01 Hostname ceph-compute01 Pengguna cephadmHost ceph-compute02 Hostname ceph-compute02 Pengguna cephadmHost ceph-monitor Hostname ceph-monitorSimpan dan keluar dari file.
[email protected] ~]$ chmod 644 ~/.ssh/config[[email protected] ~]$Catatan: Pada perintah di atas, ganti nama pengguna dan nama host yang sesuai dengan pengaturan Anda.
Langkah:3) Konfigurasi aturan firewall untuk OSD dan monitor node
Jika firewall OS diaktifkan dan berjalan di semua node ceph maka kita perlu mengonfigurasi aturan firewall di bawah ini, jika tidak, Anda dapat melewati langkah ini.
Pada node Ceph-admin, konfigurasikan aturan firewall berikut menggunakan perintah di bawah,
[[email protected] ~]$ sudo firewall-cmd --zone=public --add-port=80/tcp --permanentsuccess[[email protected] ~]$ sudo firewall-cmd --zone=public - -add-port=2003/tcp --permanentsuccess[[email protected] ~]$ sudo firewall-cmd --zone=public --add-port=4505-4506/tcp --permanentsuccess[[email protected] ~]$ sudo firewall-cmd --reloadsuccess[[email protected] ~]$Masuk ke OSD atau Ceph Compute Nodes dan konfigurasikan aturan firewall menggunakan perintah firewall-cmd,
[[email protected] ~]$ sudo firewall-cmd --zone=public --add-port=6800-7300/tcp --permanentsuccess[[email protected] ~]$ sudo firewall-cmd --reloadsuccess[ [email protected] ~]$[[email protected] ~]$ sudo firewall-cmd --zone=public --add-port=6800-7300/tcp --permanentsuccess[[email protected] ~]$ sudo firewall-cmd --reloadsuccess[[email protected] ~]$Masuk ke node Ceph Monitor dan jalankan perintah firewalld untuk mengonfigurasi aturan firewall,
[[email protected] ~]$ sudo firewall-cmd --zone=public --add-port=6789/tcp --permanentsuccess[[email protected] ~]$ sudo firewall-cmd --reloadsuccess[[email dilindungi] ~]$Langkah:4) Instal dan Konfigurasi Ceph Cluster dari Ceph Admin node
Login ke node Ceph-admin Anda sebagai pengguna “cephadm” dan aktifkan versi terbaru dari repositori Ceph yum. Saat artikel ini ditulis, Mimic adalah versi terbaru dari Ceph,
[[email protected] ~]$ sudo rpm -Uvh https://download.ceph.com/rpm-mimic/el7/noarch/ceph-release-1-1.el7.noarch.rpmAktifkan juga repositori EPEL,
[[email protected] ~]$ sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmInstal utilitas Ceph-deploy menggunakan perintah yum berikut,
[[email protected] ~]$ sudo yum update -y &&sudo yum install ceph-deploy python2-pip -yBuat direktori dengan nama “ceph_cluster “, direktori ini akan memiliki semua konfigurasi Cluster
[[email protected] ~]$ mkdir ceph_cluster[[email protected] ~]$ cd ceph_cluster/[[email protected] ceph_cluster]$Sekarang buat konfigurasi cluster dengan menjalankan utilitas ceph-deploy pada node ceph-admin, kita mendaftarkan node ceph-monitor sebagai node monitor di cluster ceph. Utilitas Ceph-deploy juga akan menghasilkan “ceph.conf ” di direktori kerja saat ini.
[[email protected] ceph_cluster]$ ceph-deploy new ceph-monitorOutput dari perintah di atas akan menjadi seperti di bawah ini:
Perbarui alamat Jaringan (jaringan publik) di bawah arahan global di ceph.conf file, Di sini Jaringan publik adalah jaringan tempat node Ceph akan berkomunikasi satu sama lain dan klien eksternal juga akan menggunakan jaringan ini untuk mengakses penyimpanan ceph,
[[email protected] ceph_cluster]$ vi ceph.conf[global]fsid =b1e269f0-03ea-4545-8ffd-4e0f79350900mon_initial_members =ceph-monitormon_host =192.168.1.33auth_cluster_required =cephrequiredpublic_service =. 24Simpan dan keluar dari file.
Sekarang Install ceph pada semua node dari node ceph-admin, jalankan “ceph-deploy install ” perintah
[[email protected] ~]$ ceph-deploy install ceph-controller ceph-compute01 ceph-compute02 ceph-monitorPerintah di atas akan menginstal ceph bersama dengan dependensi lainnya secara otomatis di semua node, mungkin perlu beberapa saat tergantung pada kecepatan internet di node ceph.
Output dari “ceph-deploy install . di atas ” output perintah akan menjadi seperti di bawah ini:
Jalankan “ceph-deploy mon create-initial ” perintah dari ceph-admin node, ia akan menyebarkan monitor awal dan mengumpulkan kunci.
[[email protected] ~]$ cd ceph_cluster/[[email protected] ceph_cluster]$ ceph-deploy mon create-initialJalankan “ceph-deploy admin ” perintah untuk menyalin file konfigurasi dari node ceph-admin ke semua node ceph sehingga seseorang dapat menggunakan perintah ceph cli tanpa menentukan alamat monitor.
[[email protected] ceph_cluster]$ ceph-deploy admin ceph-controller ceph-compute01 ceph-compute02 ceph-monitorInstal daemon Manajer dari Ceph-admin node pada Ceph Compute Nodes (OSD) menggunakan perintah berikut
[[email protected] ceph_cluster]$ ceph-deploy mgr create ceph-compute01 ceph-compute02Langkah:5) Tambahkan disk OSD ke Cluster
Dalam pengaturan saya, saya telah memasang dua disk /dev/vdb &/dev/vdc pada kedua node komputasi, saya akan menggunakan keempat disk ini dari node komputasi sebagai disk OSD.
Mari kita verifikasi apakah utilitas ceph-deploy dapat melihat disk ini atau tidak. Jalankan “daftar disk ceph-deploy ” perintah dari ceph-admin node,
[[email protected] ceph_cluster]$ ceph-deploy disk list ceph-compute01 ceph-compute02Output dari perintah di atas:
Catatan: Pastikan disk ini tidak digunakan di mana pun dan tidak berisi data apa pun
Untuk membersihkan dan menghapus data dari disk, gunakan perintah berikut,
[[email protected] ceph_cluster]$ ceph-deploy disk zap ceph-compute01 /dev/vdb[[email protected] ceph_cluster]$ ceph-deploy disk zap ceph-compute01 /dev/vdc[[email protected] ceph_cluster] $ ceph-deploy disk zap ceph-compute02 /dev/vdb[[email protected] ceph_cluster]$ ceph-deploy disk zap ceph-compute02 /dev/vdcSekarang Tandai disk ini sebagai OSD menggunakan perintah berikut
[[email protected] ceph_cluster]$ ceph-deploy osd create --data /dev/vdb ceph-compute01[[email protected] ceph_cluster]$ ceph-deploy osd create --data /dev/vdc ceph-compute01[ [email protected] ceph_cluster]$ ceph-deploy osd create --data /dev/vdb ceph-compute02[[email protected] ceph_cluster]$ ceph-deploy osd create --data /dev/vdc ceph-compute02Langkah:6) Verifikasi Status Cluster Ceph
Verifikasi status cluster Ceph Anda menggunakan “ceph health ” &“ceph -s “, jalankan perintah ini dari node monitor
[[email protected] ~]# ceph healthHEALTH_OK[[email protected] ~]#[[email protected] ~]# ceph -s cluster: id: 4f41600b-1c5a-4628-a0fc-2d8e7c091aa7 health:HE mon:1 daemon, quorum ceph-monitor mgr:ceph-compute01(active), standbys:ceph-compute02 osd:4 osd:4 ke atas, 4 dalam data: kumpulan: 0 kumpulan, 0 pgs objek:0 objek, 0 B penggunaan : Digunakan 4,0 GiB, info detail 76 GiB / 80 GiB hal:[[email protected] ~]#Seperti yang dapat kita lihat pada output di atas bahwa kesehatan cluster ceph baik-baik saja dan kami memiliki 4 OSD , semua OSD ini aktif dan aktif, selain itu kami dapat melihat bahwa ruang disk 80 GB tersedia di cluster kami.
Ini Konfirmasi bahwa kami telah berhasil menginstal dan mengonfigurasi Ceph Cluster di Sistem CentOS 7, jika langkah-langkah ini membantu Anda menginstal ceph di lingkungan Anda, silakan bagikan umpan balik dan komentar Anda.
Dalam artikel mendatang kita akan membahas cara menetapkan penyimpanan blok dari cluster Ceph ke klien dan akan melihat bagaimana klien dapat mengakses penyimpanan blok.
Cara Menginstal PHP 7.4, 7.3, 7.2 di Server CentOS 7 dan RHEL 7 Penerapan OpenStack menggunakan Devstack pada Sistem CentOS 7 / RHEL 7Cent OS