Instal dan Konfigurasikan Perangkat Blok Ceph di Ubuntu 18.04

Dalam panduan ini, kita akan belajar tentang cara menginstal dan mengkonfigurasi Perangkat Blok Ceph di Ubuntu 18.04. Ceph Block Devices adalah salah satu opsi penerapan Ceph Storage Cluster. Penerapan lainnya termasuk   Ceph Object Storage  dan Ceph File System.

Perangkat blok Ceph juga dikenal sebagai Reliable Autonomic Distributed Object Store (RADOS) Block Device (RBD). Mereka berinteraksi dengan OSD Ceph menggunakan  librbd perpustakaan.

Ceph dapat dipasang sebagai perangkat blok seperti halnya hard drive biasa dipasang. Saat data ditulis ke perangkat blok Ceph, data tersebut dilucuti di beberapa Object Storage Devices (OSD) dalam cluster penyimpanan Ceph.

RBD terintegrasi dengan KVM dan karenanya, dapat digunakan untuk menyediakan perangkat penyimpanan blok untuk sistem komputasi awan seperti OpenStack

Instal dan Konfigurasikan Perangkat Blok Ceph di Ubuntu 18.04

Sebelum Anda dapat melanjutkan, pastikan Anda memiliki cluster penyimpanan Ceph yang sedang berjalan.

Ikuti panduan di bawah ini untuk mempelajari cara menginstal dan mengatur Ceph Storage Cluster di Ubuntu 18.04.

Siapkan Cluster Penyimpanan Tiga Node Ceph di Ubuntu 18.04

Arsitektur Penerapan

Konfigurasikan Perangkat Blok Ceph di Ceph Storage Cluster

Siapkan Client Ceph untuk Penerapan Ceph

Buat Pengguna Penerapan Ceph

On a Ceph client, buat user ceph dengan hak sudo tanpa password untuk menginstal paket dan konfigurasi ceph seperti yang dilakukan pada node Ceph OSD. Do not use the username ceph as it is reserved.

Ganti  cephadmin nama user yang sesuai.

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

Konfigurasikan Sinkronisasi Waktu

Untuk memastikan bahwa waktu disinkronkan antara cluster Ceph dan client Ceph, konfigurasikan client Ceph Anda untuk menggunakan server NTP yang sama dengan cluster Ceph Anda.

apt install chrony
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 dan aktifkan chronyd untuk berjalan pada boot sistem.

systemctl enable chronyd
systemctl restart chronyd

Instal Python 2

Python 2 diperlukan untuk menyebarkan Ceph di Ubuntu 18.04. Anda dapat menginstal Python 2 dengan menjalankan perintah di bawah ini;

apt install python-minimal

Atur login SSH tanpa password ke Ceph Client

Login sebagai user Ceph yang telah Anda buat di node Ceph Admin Anda, buat kunci SSH tanpa password dan copy ke client.

Kami telah melakukan ini dalam panduan kami tentang menyiapkan cluster Ceph di Ubuntu 18.04. Jika Anda mengikuti panduan ini, cukup perbarui file konfigurasi SSH user, ~/.ssh/config, dengan detail koneksi client Ceph.

su - cephadmin
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 Host ceph-client Hostname ceph-client User cephadmin

Perbarui file host, jika Anda tidak memiliki server DNS.

echo "192.168.2.118 ceph-client.kifarunix-demo.com ceph-client" >> /etc/hosts

Selanjutnya, copy kunci SSH ke client Ceph.

ssh-copy-id ceph-client

Instal Utilitas Ceph di Ceph Admin Node

Jalankan perintah di bawah ini pada node Ceph Admin untuk menginstal utilitas umum yang digunakan untuk memasang dan berinteraksi dengan cluster penyimpanan ceph. Ini disediakan oleh paket, ceph-common.

sudo apt install ceph-common

Instal Ceph di Client Ceph

Instal paket Ceph pada client Ceph dengan menjalankan perintah di bawah ini. Jalankan penerapan Ceph dari direktori konfigurasi user ceph.

su - cephadmin
cd kifarunix-cluster/
ceph-deploy install ceph-client

Copy konfigurasi dan kunci Ceph ke client Ceph.

ceph-deploy admin ceph-client

Buat Blokir Kumpulan Perangkat

Untuk menggunakan client perangkat blok Ceph, Anda perlu membuat kumpulan untuk RBD Perangkat Blok RADOS) dan menginisialisasinya.

  • Pool adalah grup logis untuk menyimpan objek. Mereka mengelola grup penempatan, replika, dan aturan CRUSH untuk kumpulan.
  • Grup penempatan adalah fragmen kumpulan objek logis yang menempatkan objek sebagai grup ke dalam OSD. Client Ceph menghitung grup penempatan mana yang harus disimpan objek.

Untuk membuat kolam Ceph gunakan perintah di bawah ini;

ceph osd pool create {pool-name} pg_num pgp_num

Di mana:

  • {pool-name} adalah nama dari kumpulan Ceph yang Anda buat.
  • pg_numadalah jumlah total grup penempatan untuk kumpulan. Direkomendasikan agar pg_num diatur ke 128 saat menggunakan kurang dari 5 OSD di cluster Ceph Anda.
  • pgp_num menentukan jumlah total grup penempatan untuk tujuan penempatan. Should be equal to the total number of placement groups.

Oleh karena itu, pada Ceph Client, jalankan perintah di bawah ini untuk membuat kumpulan yang disebut kifarunixrbd.

[email protected]:~$ ssh ceph-ceph-client

Selanjutnya, buat kumpulan OSD dengan nomor grup penempatan 128

c[email protected]:~$ sudo ceph osd pool create kifarunixrdb 128 128

Kaitkan Pool yang dibuat dengan aplikasi masing-masing untuk mencegah jenis client yang tidak sah menulis data ke pool. Sebuah aplikasi dapat;

  • cephfs (Sistem File Ceph).
  • rbd (Perangkat Blok Ceph).
  • rgw (Gerbang Objek Ceph).

Untuk mengaitkan kumpulan yang dibuat di atas dengan RBD, cukup jalankan perintah di bawah ini. Ganti nama kolam yang sesuai.

[email protected]:~$ sudo ceph osd pool application enable kifarunixrdb rbd

Setelah Anda membuat dan mengaktifkan aplikasi untuk kumpulan, Anda dapat menginisialisasinya menggunakan perintah di bawah ini;

[email protected]:~$ sudo rbd pool init -p kifarunixrdb

Untuk daftar kolam yang tersedia;

sudo ceph osd lspools

Membuat Blokir Gambar Perangkat

Buat gambar untuk perangkat blok di cluster penyimpanan Ceph sebelum menambahkannya ke node menggunakan perintah di bawah ini di Ceph Client.

rbd create <image-name> --size <megabytes> --pool <pool-name>

Misalnya, untuk membuat gambar perangkat blok 1GB di kumpulan kami yang dibuat di atas, kifarunixrbd, cukup jalankan perintah;

[email protected]:~$ sudo rbd create disk01 --size 1G --pool kifarunixrbd

Untuk membuat daftar gambar di kolam Anda, misalnya kifarunixrbd;

sudo rbd ls -l kifarunixrbd
NAME SIZE PARENT FMT PROT LOCK disk01 1 GiB 2 

Untuk mengambil informasi tentang gambar yang dibuat, jalankan perintah;

sudo rbd --image disk01 -p kifarunixrbd info
rbd image 'disk01': 	size 1 GiB in 256 objects 	order 22 (4 MiB objects) 	id: 37886b8b4567 	block_name_prefix: rbd_data.37886b8b4567 	format: 2 	features: layering, exclusive-lock, object-map, fast-diff, deep-flatten 	op_features: 	flags: 	create_timestamp: Sat Mar 14 21:39:19 2020

Untuk menghapus gambar dari kumpulan;

sudo rbd rm disk01 -p kifarunixrbd

Untuk memindahkannya ke sampah untuk dihapus nanti;

sudo rbd trash move kifarunixrbd/disk01

Untuk memulihkan gambar dari sampah ke kolam, dapatkan ID gambar seperti yang ditetapkan di toko sampah lalu pulihkan gambar menggunakan ID;

sudo rbd trash list kifarunixrbd
37986b8b4567 image01

Di mana kifarunixrbd adalah nama kolam.

sudo rbd trash restore kifarunixrbd/37986b8b4567

Untuk mengosongkan gambar dari sampah untuk penghapusan permanen;

rbd trash remove kifarunixrbd/37986b8b4567

Memetakan Gambar untuk Memblokir Perangkat

Setelah membuat Gambar, Anda dapat memetakannya untuk memblokir perangkat yang menggunakan. Namun, sebelum Anda dapat memetakan gambar, nonaktifkan semua fitur yang tidak didukung oleh kernel dengan menjalankan perintah di bawah ini.Replace the pool and image names.

[email protected]:~$ sudo rbd feature disable kifarunixrbd/disk01 object-map fast-diff deep-flatten

Modul kernel RBD akan dimuat oleh rdb jika belum dimuat.

Selanjutnya, petakan gambar untuk memblokir perangkat.

sudo rbd map disk01 --pool kifarunixrbd
/dev/rbd0

Untuk menampilkan gambar perangkat blok yang dipetakan ke modul kernel dengan  rbd perintah;

[email protected]:~$ sudo rbd showmapped
id pool image snap device 0 kifarunixrbd disk01 - /dev/rbd0

Untuk membuka peta gambar perangkat blok, gunakan perintah, r bd unmap /dev/rbd/{poolname}/{imagename}misalnya;

sudo rbd unmap /dev/rbd/kifarunixrbd/disk01

Buat Sistem File di Perangkat Blok Ceph

Perangkat blok yang dipetakan Ceph sekarang siap. Yang tersisa hanyalah membuat sistem file di dalamnya dan memasangnya agar bisa digunakan.

Misalnya, untuk membuat sistem file XFS di dalamnya;

sudo mkfs.xfs /dev/rbd0 -L cephbd
meta-data=/dev/rbd0 isize=512 agcount=9, agsize=31744 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=0, rmapbt=0, reflink=0 data = bsize=4096 blocks=262144, imaxpct=25 = sunit=1024 swidth=1024 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=8 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0

Memasang Perangkat Blok Ceph di Ubuntu 18.04

Anda sekarang dapat memasang perangkat blok. Misalnya, untuk memasangnya di bawah /media/cephdirektori;

sudo mkdir /media/ceph
sudo mount /dev/rbd0 /media/ceph

Anda juga dapat memasangnya sebagai berikut;

sudo mount /dev/rbd/kifarunixrbd/disk01 /media/ceph/

Periksa Sistem File yang terpasang;

df -hT -P /dev/rbd0
Filesystem Type Size Used Avail Use% Mounted on /dev/rbd0 xfs 1014M 34M 981M 4% /media/ceph

Ini dia.

Jika Anda memeriksa kesehatan cluster Ceph;

[email protected]:~# ceph --status
 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: 1 pools, 128 pgs objects: 18 objects, 14 MiB usage: 3.1 GiB used, 8.9 GiB / 12 GiB avail pgs: 128 active+clean

Itu menandai akhir dari panduan kami tentang cara menginstal dan Mengonfigurasi Perangkat Blok Ceph di Ubuntu 18.04.

Referensi

Blokir Mulai Cepat Perangkat

Tutorial lainnya

Instal dan Atur GlusterFS di Ubuntu 18.04

Cara Menginstal dan Mengonfigurasi Server NFS di RHEL/CentOS 7