Siapkan Cluster Penyimpanan Tiga Node Ceph di Ubuntu 18.04

Selamat datang di tutorial kami tentang cara mengatur cluster penyimpanan tiga node ceph di Ubuntu 18.04. Ceph adalah sistem penyimpanan terdistribusi skalabel yang dirancang untuk infrastruktur cloud dan penyimpanan objek berskala web. Itu juga dapat digunakan untuk menyediakan Ceph Block Storage serta Ceph File System storage.

Siapkan Cluster Penyimpanan Tiga Node Ceph di Ubuntu 18.04

Pengaturan Ceph Storage Cluster membutuhkan setidaknya satu Ceph Monitor, Ceph Manager, dan Ceph OSD (Object Storage Daemon) dan mungkin Ceph Metadata Server untuk menyediakan Ceph File System Storage.

Arsitektur penerapan kami

Komponen Ceph yang berbeda digunakan di atas;

  • Ceph Object Storage Daemon (OSD, ceph-osd)
    • Ini menyediakan penyimpanan data objek ceph.
    • Itu juga melakukan replikasi data, pemulihan data, penyeimbangan kembali dan menyediakan informasi penyimpanan ke Ceph Monitor.
  • Ceph Monitor (ceph-mon)
    • Ini memelihara peta dari seluruh status cluster ceph termasuk peta monitor, peta manajer, peta OSD, dan peta CRUSH.
    • mengelola otentikasi antara daemon dan client
  • Ceph Deploy/Admin node (ceph-deploy)
    • Ini adalah node tempat skrip penerapan Ceph (ceph-deploy) diinstal.
  • Ceph Manager (ceph-mgr)
    • melacak metrik runtime dan status cluster Ceph saat ini, termasuk pemanfaatan penyimpanan, metrik kinerja saat ini, dan beban sistem.
    • mengelola dan mengekspos dasbor web dan API cluster Ceph.
    • Setidaknya dua manajer diperlukan untuk HA.

Siapkan Ceph Nodes untuk Ceph Storage Cluster Deployment di Ubuntu 18.04

Lampirkan Disk Penyimpanan ke Ceph OSD Nodes

Setiap node Ceph OSD dalam arsitektur kami di atas memiliki volume logis LVM yang tidak terisi masing-masing sebesar 4 GB.

lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lv01 vg01 -wi-a----- 3.99g

Jalankan Pembaruan Sistem

Di semua node, perbarui paket sistem Anda.

apt update

Perbarui File Host

Untuk memulainya, siapkan node Anda, tetapkan alamat dan pastikan bahwa mereka dapat berkomunikasi dengan memperbarui file host. Misalnya, dalam pengaturan kami, setiap file host node harus berisi baris di bawah ini;

less /etc/hosts
... 192.168.2.114 ceph-admin.kifarunix-demo.com ceph-admin 192.168.2.115 ceph-osd01.kifarunix-demo.com ceph-osd01 192.168.2.116 ceph-osd02.kifarunix-demo.com ceph-osd02 192.168.2.117 ceph-osd03.kifarunix-demo.com ceph-osd03

Atur Sinkronisasi Waktu

Pastikan bahwa waktu di semua node disinkronkan. Jadi instal Chrony di masing-masing dan atur sedemikian rupa sehingga semua node menggunakan server NTP yang sama.

apt install chrony

Edit konfigurasi Chrony dan atur server NTP Anda dengan mengganti kumpulan server NTP dengan alamat server NTP Anda.

vim /etc/chrony/chrony.conf
... # pool ntp.ubuntu.com iburst maxsources 4 # pool 0.ubuntu.pool.ntp.org iburst maxsources 1 # pool 1.ubuntu.pool.ntp.org iburst maxsources 1 # pool 2.ubuntu.pool.ntp.org iburst maxsources 2 pool ntp.kifarunix-demo.com iburst...

Mulai ulang Chronyd

systemctl restart chronyd

Instal Server SSH

Penyebaran Ceph melalui utilitas ceph-deploy mengharuskan server SSH diinstal pada semua node.

Ubuntu 18.04 hadir dengan server SSH yang sudah diinstal. Jika tidak, instal dan mulai sebagai berikut;

apt install openssh-server
systemctl enable --now sshd

Instal Python 2

Python 2 diperlukan untuk menyebarkan Ceph di Ubuntu 18.04. Anda dapat menginstal Python 2 dengan menjalankan perintah di bawah inion all the Ceph nodes;

apt install python-minimal

Buat Pengguna Penerapan Ceph

On all the ceph nodes, buat user ceph dengan sudo tanpa password yang diperlukan untuk menginstal paket dan konfigurasi ceph seperti yang ditunjukkan di bawah ini. Jangan gunakan nama user cephkarena sudah dipesan.

Ganti cephadminnama user yang sesuai.

useradd -m -s /bin/bash cephadmin
passwd cephadmin
echo "cephadmin ALL=(ALL:ALL) NOPASSWD:ALL" >> /etc/sudoers.d/cephadmin
chmod 0440 /etc/sudoers.d/cephadmin

Siapkan login SSH tanpa password

Agar dapat menjalankan konfigurasi ceph dengan mulus pada node ceph menggunakan utilitas ceph-deploy, Anda perlu mengatur login ssh tanpa password from the ceph admin node.

Pada ceph-admin node,beralih ke cephadminuser yang dibuat di atas;

su - cephadmin

Selanjutnya, buat kunci SSH tanpa password dengan membiarkan frasa sandi kosong.

ssh-keygen
Generating public/private rsa key pair. Enter file in which to save the key (/home/cephadmin/.ssh/id_rsa): Created directory '/home/cephadmin/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/cephadmin/.ssh/id_rsa. Your public key has been saved in /home/cephadmin/.ssh/id_rsa.pub. key fingerprint is: SHA256:hCX07NgcOmFx7gJrS8QCphNBqdjToPe73AtRNaC+f9k [email protected] key's randomart image is: +---[RSA 2048]----+ |=+..=.= | |o+... @. | |=o.o= = * | |+.++.= X. | |. o* = S | | o.+ o | | +. o | |..+ o E | | o.+o | +----[SHA256]-----+

Selanjutnya, copy kunci ke semua node lainnya. Untuk memudahkan penyalinan, perbarui file ~/.ssh/config Anda seperti yang ditunjukkan di bawah ini;

vim ~/.ssh/config
Host ceph-osd01 Hostname ceph-osd01 User cephadmin Host ceph-osd02 Hostname ceph-osd02 User cephadmin Host ceph-osd03 Hostname ceph-osd03 User cephadmin

Setelah itu, copy kunci SSH.

for i in ceph-osd01 ceph-osd02 ceph-osd03; do ssh-copy-id $i; done

Masukkan password pada setiap permintaan untuk menyalin kunci SSH yang dihasilkan untuk otentikasi tanpa password dari admin Ceph ke node Ceph.

Siapkan Cluster Penyimpanan Ceph di Ubuntu 18.04

Instal ceph-deployUtilitas di Ceph Admin Node

On the Ceph admin node, Anda perlu menginstal utilitas ceph-deploy. Untuk menginstal utilitas ceph-deploy dan paket Ceph lainnya, Anda perlu membuat repositori Ceph.

Buat repositori Ceph di Ubuntu 18.04

Instal kunci penandatanganan repositori Ceph. Jalankan perintah ini sebagai user root.

wget -q -O- 'https://download.ceph.com/keys/release.asc' | apt-key add -

Periksa versi rilis stabil terbaru dari ceph dan ganti{ceph-stable-release} dengan nama versi.

echo deb https://download.ceph.com/debian-{ceph-stable-release}/ $(lsb_release -sc) main | tee /etc/apt/sources.list.d/ceph.list 

Misalnya, untuk menginstal repo untuk Ceph Mimic di Ubuntu 18.04;

echo deb https://download.ceph.com/debian-mimic/ $(lsb_release -sc) main | tee /etc/apt/sources.list.d/ceph.list

Sinkronisasi ulang repo ke versi terbarunya.

apt update

Instal utilitas penyebaran Ceph.

apt install ceph-deploy

Siapkan Monitor Cluster Ceph

Node Anda sekarang siap untuk menerapkan cluster penyimpanan Ceph. Untuk mulai dengan, beralih ke cephadminuser yang dibuat di atas.

su – cephadmin

NOTE: Do not run ceph-deploy with sudo nor run it as root.

Buat direktori di direktori home admin Ceph untuk menyimpan file konfigurasi dan kunci yang dihasilkan oleh perintah ceph-deploy;

mkdir kifarunix-cluster

Arahkan ke direktori yang dibuat di atas.

cd kifarunix-cluster

Inisialisasi monitor cluster Ceph. Monitor cluster Ceph kami berjalan di Ceph OSD 01.

ceph-deploy new ceph-osd01
... [ceph_deploy.new][DEBUG ] Creating new cluster named ceph [ceph_deploy.new][INFO ] making sure passwordless SSH succeeds [ceph-osd01][DEBUG ] connected to host: ceph-admin.kifarunix-demo.com [ceph-osd01][INFO ] Running command: ssh -CT -o BatchMode=yes ceph-osd01 [ceph-osd01][DEBUG ] connection detected need for sudo [ceph-osd01][DEBUG ] connected to host: ceph-osd01 [ceph-osd01][DEBUG ] detect platform information from remote host [ceph-osd01][DEBUG ] detect machine type [ceph-osd01][DEBUG ] find the location of an executable [ceph-osd01][INFO ] Running command: sudo /bin/ip link show [ceph-osd01][INFO ] Running command: sudo /bin/ip addr show [ceph-osd01][DEBUG ] IP addresses found: [u'192.168.2.114', u'10.0.2.15'] [ceph_deploy.new][DEBUG ] Resolving host ceph-osd01 [ceph_deploy.new][DEBUG ] Monitor ceph-osd01 at 192.168.2.114 [ceph_deploy.new][DEBUG ] Monitor initial members are ['ceph-osd01'] [ceph_deploy.new][DEBUG ] Monitor addrs are ['192.168.2.114'] [ceph_deploy.new][DEBUG ] Creating a random mon key... [ceph_deploy.new][DEBUG ] Writing monitor keyring to ceph.mon.keyring... [ceph_deploy.new][DEBUG ] Writing initial config to ceph.conf

Instal Paket Ceph di Ceph Nodes

Selanjutnya, install paket Ceph di semua node dengan menjalankan ceph-deploy installperintah pada node Ceph Admin seperti gambar di bawah ini.

Secara default, ceph-deploy juga menginstal versi rilis stabil terbaru dari Ceph, yaitu Ceph Mimic terhitung sejak tulisan ini dibuat.

ceph-deploy install ceph-osd01 ceph-osd02 ceph-osd03

Terapkan Monitor Cluster Ceph

Monitor cluster Ceph telah diinisialisasi di atas. Untuk menyebarkannya, jalankan perintah di bawah ini pada node Ceph Admin.

ceph-deploy mon create-initial

Perintah ini akan menghasilkan sejumlah kunci pada direktori kerja saat ini.

... [ceph_deploy.gatherkeys][INFO ] Storing ceph.client.admin.keyring [ceph_deploy.gatherkeys][INFO ] Storing ceph.bootstrap-mds.keyring [ceph_deploy.gatherkeys][INFO ] Storing ceph.bootstrap-mgr.keyring [ceph_deploy.gatherkeys][INFO ] keyring 'ceph.mon.keyring' already exists [ceph_deploy.gatherkeys][INFO ] Storing ceph.bootstrap-osd.keyring [ceph_deploy.gatherkeys][INFO ] Storing ceph.bootstrap-rgw.keyring [ceph_deploy.gatherkeys][INFO ] Destroy temp directory /tmp/tmpIzZYbV

Copy file dan Kunci Konfigurasi Ceph

Selanjutnya, copy file konfigurasi dan kunci admin yang dikumpulkan di atas to all your Ceph nodesuntuk memungkinkan Anda menggunakan ceph CLI tanpa harus menentukan alamat monitor dan  ceph.client.admin.keyring setiap kali Anda menjalankan perintah.

ceph-deploy admin ceph-osd01 ceph-osd02 ceph-osd03
... [ceph_deploy.admin][DEBUG ] Pushing admin keys and conf to ceph-osd01 [ceph-osd01][DEBUG ] connection detected need for sudo [ceph-osd01][DEBUG ] connected to host: ceph-osd01 [ceph-osd01][DEBUG ] detect platform information from remote host [ceph-osd01][DEBUG ] detect machine type [ceph-osd01][DEBUG ] write cluster configuration to /etc/ceph/{cluster}.conf [ceph_deploy.admin][DEBUG ] Pushing admin keys and conf to ceph-osd02 [ceph-osd02][DEBUG ] connection detected need for sudo [ceph-osd02][DEBUG ] connected to host: ceph-osd02 [ceph-osd02][DEBUG ] detect platform information from remote host [ceph-osd02][DEBUG ] detect machine type [ceph-osd02][DEBUG ] write cluster configuration to /etc/ceph/{cluster}.conf [ceph_deploy.admin][DEBUG ] Pushing admin keys and conf to ceph-osd03 [ceph-osd03][DEBUG ] connection detected need for sudo [ceph-osd03][DEBUG ] connected to host: ceph-osd03 [ceph-osd03][DEBUG ] detect platform information from remote host [ceph-osd03][DEBUG ] detect machine type [ceph-osd03][DEBUG ] write cluster configuration to /etc/ceph/{cluster}.conf

Terapkan Daemon Manajer Ceph

Setelah Anda menyalin file dan kunci konfigurasi Ceph ke semua node, gunakan daemon manajer Ceph Cluster dengan menjalankan perintah di bawah ini.

Note that our Ceph Manager resides on Ceph node 01, osd01.

ceph-deploy mgr create ceph-osd01

Lampirkan Volume Penyimpanan Logis ke Ceph OSD Nodes

Dalam pengaturan kami, kami memiliki volume logis yang tidak terisi sebesar 4 GB pada setiap node OSD untuk digunakan sebagai backstore untuk daemon OSD.

Untuk melampirkan volume logis ke node OSD, jalankan perintah di bawah ini. Replace vg01/lv01 dengan grup Volume dan volume logis yang sesuai.

ceph-deploy osd create --data vg01/lv01 ceph-osd01
... [ceph-osd01][WARNIN] --> ceph-volume lvm activate successful for osd ID: 0 [ceph-osd01][WARNIN] --> ceph-volume lvm create successful for: vg01/lv01 [ceph-osd01][INFO ] checking OSD status... [ceph-osd01][DEBUG ] find the location of an executable [ceph-osd01][INFO ] Running command: sudo /usr/bin/ceph --cluster=ceph osd stat --format=json [ceph_deploy.osd][DEBUG ] Host ceph-osd01 is now ready for osd use.

Ulangi hal yang sama untuk node OSD lainnya.

ceph-deploy osd create --data vg01/lv01 ceph-osd02
ceph-deploy osd create --data vg01/lv01 ceph-osd03

Ceph Node sekarang siap untuk digunakan OSD.

Periksa Kesehatan Cluster Ceph

Untuk memverifikasi status kesehatan cluster ceph, cukup jalankan perintah ceph healthpada setiap node OSD.

Untuk memeriksa status kesehatan cluster Ceph dari node admin;

[email protected]:~$ ssh ceph-osd01 sudo ceph health
HEALTH_OK

Ulangi hal yang sama untuk node lainnya.

Anda juga dapat memeriksa status kesehatan Cluster dari node ceph.

[email protected]:~$ sudo ceph health
HEALTH_OK

Untuk memeriksa status kesehatan Cluster lengkap, jalankan ceph -s, ceph –statusatau ceph status.

Dari simpul Admin Ceph;

[email protected]:~$ ssh ceph-osd01 sudo ceph -s
 cluster: id: ecc4e749-830a-4ec5-8af9-22fcb5cadbca health: HEALTH_OK services: mon: 1 daemons, quorum ceph-osd01 mgr: ceph-osd01(active) osd: 3 osds: 3 up, 3 in data: pools: 0 pools, 0 pgs objects: 0 objects, 0 B usage: 3.0 GiB used, 9.0 GiB / 12 GiB avail pgs:

Untuk memeriksa Cluster kesehatan lengkap dari node Ceph;

[email protected]:~$ sudo ceph -s
 cluster: id: ecc4e749-830a-4ec5-8af9-22fcb5cadbca health: HEALTH_OK services: mon: 1 daemons, quorum ceph-osd01 mgr: ceph-osd01(active) osd: 3 osds: 3 up, 3 in data: pools: 0 pools, 0 pgs objects: 0 objects, 0 B usage: 3.0 GiB used, 9.0 GiB / 12 GiB avail pgs:

Menghapus Instalasi Paket Ceph

Jika karena alasan tertentu, Anda ingin memulai kembali penyebaran Ceph, menghapus paket Ceph, menghapus data konfigurasi Ceph di semua node dengan menjalankan perintah di bawah ini pada node Ceph Admin.

Ganti node Ceph yang sesuai.

ceph-deploy purge ceph-osd01 ceph-osd02 ceph-osd03 ceph-deploy purgedata ceph-osd01 ceph-osd02 ceph-osd03 ceph-deploy forgetkeys rm ceph.*

Memperluas Ceph Cluster di Ubuntu 18.04

Setelah klaster Ceph dasar Anda aktif dan berjalan, Anda dapat memperluasnya untuk memastikan keandalan dan ketersediaan tinggi klaster Ceph.

Menyebarkan Monitor
Ceph Tambahan di Ceph Cluster

Anda dapat menambahkan lebih banyak daemon monitor Ceph (ceph-mon) ke node cluster Ceph Anda.

Misalnya, untuk menambahkan Ceph Monitor ke Ceph Node 02,ceph-osd02, Anda dapat menjalankan perintah di bawah ini dari node Ceph Admin.

su - cephadmin
cd kifarunix-cluster/

Tambahkan jaringan Publik Anda ke ceph.conffile konfigurasi meskipun node Anda hanya memiliki satu interface jaringan.

Perhatikan barisnya; public network = 192.168.2.0/24

vim ceph.conf
[global] fsid = ecc4e749-830a-4ec5-8af9-22fcb5cadbca mon_initial_members = ceph-osd01 mon_host = 192.168.2.114 auth_cluster_required = cephx auth_service_required = cephx auth_client_required = cephx public network = 192.168.2.0/24

Selanjutnya, tambahkan monitor Ceph ke node Ceph Anda.

ceph-deploy mon add ceph-osd02

Anda dapat memeriksa status kuorum monitor Ceph dengan menjalankan perintah di bawah ini dari node Ceph OSD.

ceph quorum_status --format json-pretty

Menyebarkan Manajer Ceph Tambahan di Cluster Ceph

Ceph manager daemon ( ceph-mgr) berjalan bersama daemon monitor, untuk menyediakan pemantauan dan interface tambahan ke sistem manajemen dan pemantauan eksternal. Mereka beroperasi dalam keadaan aktif/siaga sehingga jika satu daemon atau host gagal, yang lain dapat mengambil alih tanpa mengganggu service.

Anda dapat menambahkan lebih banyak manajer Ceph ke Cluster dengan menjalankan perintah;

ceph-deploy mgr create {ceph-node1} {ceph-node2}

Misalnya, untuk menyebarkan Ceph Manger ekstra pada Ceph node 2 kami, ceph-osd02 dari Ceph Admin node;

su - cephadmin
cd kifarunix-cluster/
ceph-deploy mgr create ceph-osd02

Jika Anda memeriksa status cluster Ceph, Anda akan melihat bahwa salah satu pengelola aktif sementara yang lain dalam keadaan Siaga.

[email protected]:~/kifarunix-cluster$ ssh ceph-osd01 sudo ceph -s
 cluster: id: ecc4e749-830a-4ec5-8af9-22fcb5cadbca health: HEALTH_OK services: mon: 2 daemons, quorum ceph-osd01,ceph-osd02 mgr: ceph-osd01(active), standbys: ceph-osd02 osd: 3 osds: 3 up, 3 in data: pools: 0 pools, 0 pgs objects: 0 objects, 0 B usage: 3.0 GiB used, 9.0 GiB / 12 GiB avail pgs: 

Ini dia. Cluster penyimpanan Ceph Anda sekarang siap untuk menyediakan, Penyimpanan Objek, Penyimpanan Blok, atau penyimpanan Sistem File.

Instal dan Konfigurasikan Perangkat Blok Ceph di Ubuntu 18.04

Itu menandai akhir dari panduan Anda tentang cara menginstal dan mengatur tiga node Ceph Storage Cluster di Ubuntu 18.04.

Tutorial Terkait

Instal dan Atur GlusterFS di Ubuntu 18.04

Cara menginstal dan Mengonfigurasi Server Penyimpanan iSCSI di Ubuntu 18.04

Cara Menginstal dan Mengonfigurasi Server NFS di RHEL/CentOS 7