cs:navody:object_storage:cesnet_rbd:start

Toto je starší verze dokumentu!


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 nezbytné, 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.
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 40976EAF437D05B5
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 = 78.128.244.33,78.128.244.37,78.128.244.41

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:: 20.09.2019 10:38