Obsah
Toto je starší verze dokumentu!
Obsah
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ávod na připojení RBD pomocí Linux 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
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
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
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/