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