cs:navody:object_storage:cesnet_rbd:start

Připojení a konfigurace Cesnet RBD pomocí Linux klienta

Ceph RBD (RADOS Block Device) ukládá obrazy blokového zařízení jako objekty v systému objektového úložiště. RBD je postaveno na systému librados, tudíž je možné v rámci RBD využívat funkcionality poskytované systémem librados, například read-only snapshoty, revertování snapshotů. Ceph se dále stará o distribuci obrazu blokového zařízení po cephovém clusteru, což značně zrychluje čtení obrazů velkých blokových zařízení.

Výhody RBD

  • možnost zvětšení obrazu blokového zařízení
  • import/export obrazu blokového zařízení
  • stripping a replikace napříč clusterem
  • možnost vytváření read-only snapshotů; obnovení snapshotů
  • možnost připojení pomocí Linux nebo QEMU KVM klienta

Následující návod je RBD si můžete s podporou kernelových modulů do systému připojit jako standardní blokové zařízení.

Příprava pro připojení RBD

Pro připojení RBD je doporučené, abyste na vašem systému měli verzi jádra alespoň 5.0 a vyšší. V nižšších verzích jádra jsou zastaralé příslušné moduly pro připojení RBD a nejsou podoprovány všechny rozšířené funkce.
Pro správnou funkčnost je vysoce žádoucí používat stejnou verzi Ceph nástrojů, jako je aktuální verze provozovaná na našich clusterech, aktuálně se jedná o verzi 14 s krycím názvem Nautilus. Níže tedy provedeme nastavení příslušných repozitářů.

Následující návod se vztahuje k distribuci CENTOS/RHEL. Návod pro UBUNTU/DEBIAN naleznete na konci této sekce.

Nejdříve nainstalujeme release.asc klíč pro Ceph repozitáře.

sudo rpm --import 'https://download.ceph.com/keys/release.asc'

V adresáři /etc/yum.repos.d/ vytvoříme textový soubor ceph.repo a do něho vyplníme záznam pro Ceph nástroje.

Některé balíčky z Ceph repozitáře vyžadují pro správnou funkčnost rovněž knihovny třetích stran, proto ještě přidáme repozitář EPEL.

sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Nakonec si nainstalujeme základní nástroje pro Ceph, které rovněž obsahují podporu RBD.

sudo yum install ceph-common

Instalace ceph nástrojů v Debian/Ubuntu

Instalace ceph nástrojů v Debian/Ubuntu

Nejdříve je nezbytné přidat příslušné repozítáře do balíčkovače, do /etc/apt/sources.list přidáme následující řádky.

deb https://eu.ceph.com/debian-nautilus/ bionic main
deb http://cz.archive.ubuntu.com/ubuntu/ bionic main  (potreba pro jeden balik potrebny pri instalaci)

Nainstalujeme potřebné balíky z buster repozitáře.

 sudo apt install -t buster x11-common libevent-core-2.1-6 libevent-pthreads-2.1-6 python-scgi

Přidáme Ubuntu PGP klíče.

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E84AC2C0460F3994
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32

Nainstalujeme balíček ceph.

sudo apt install ceph


Konfigurace RBD a jeho namapování

Pro konfiguraci a připojení RBD využijeme údaje, které jste obdrželi od správce systému. Jedná se o následující:

  • název poolu: rbd_vo_catch_all_replicated
  • název image: vo_name_username
  • keyring: [client.rbd_user] key = key_hash==

V adresáři /etc/ceph/ vytvoříme textový soubor ceph.conf s následujícím obsahem.

[global]
fsid = 19f6785a-70e1-45e8-a23a-5cff0c39aa54
mon initial members = mon001-cl1-aba-jihl1,mon002-cl1-aba-jihl1,mon003-cl1-aba-jihl1
mon host = [v2:78.128.244.33:3300,v1:78.128.244.33:6789],[v2:78.128.244.37:3300,v1:78.128.244.37:6789],[v2:78.128.244.41:3300,v1:78.128.244.41:6789]

Dále v adresáři /etc/ceph/ vytvoříme textový soubor ceph.keyring, do kterého uložíme zaslaný keyring, viz příklad níže.

[client.rbd_user]
	key = sdsaetdfrterp+sfsdM3iKY5teisfsdXoZ5==

Nyní můžeme provést namapování RBD (rbd_user je string pocházející z keyringu, po oříznutí stringu client..

sudo rbd --user rbd_user device map nazev_poolu/nazev_image
Pokud změníte umístění souborů ceph.conf a username.keyring z výchozího adresáře /etc/ceph/, budete muset při mapování zadat příslušné cesty.
sudo rbd -c /home/username/ceph/ceph.conf -k /home/username/ceph/username.keyring --user rbd_user device map nazev_poolu/nazev_image

Následně prověříme připojení ve zprávách od kernelu.

dmesg

Nyní můžeme zkontrolovat stav RBD.

sudo rbd device list | grep "nazev_image"

Šifrování a vytvoření souborového systému

Dalším krokem je zašifrování namapovaného image. Pro šifrování využijeme program cryptsetup-luks

sudo yum install cryptsetup-luks

Následně provedeme zašifrování příslušného zařízení.

sudo cryptsetup -s 512 luksFormat --type luks2 /dev/rbdX

Na konec zkontrolujeme nastavení.

sudo cryptsetup luksDump /dev/rbdX

Abychom mohli provádět s daným zařízením další akce, musíme jej nejdříve dešifrovat.

sudo cryptsetup luksOpen /dev/rbd0 luks_rbdX

Nyní na daném zařízení vytvoříme souborový systém, zde příklad ext4.

sudo mkfs.ext4 /dev/mapper/luks_rbdX

Jakmile máme připravený souborový systém, můžeme zařízení připojit do předem vytvořené složky v /mnt/.

sudo mount /dev/mapper/luks_rbdX /mnt/rbd

Ukončení práce s RBD

Odpojení svazku.

sudo umount /mnt/rbd/

Uzamknutí svazku.

sudo cryptsetup luksClose /dev/mapper/luks_rbdX

Odmapování svazku.

sudo rbd --user rbd_user device unmap /dev/rbdX/
Poslední úprava: 14.04.2020 12:52