Projet

Général

Profil

Ceph-Sharing-Disk » Historique » Version 2

« Précédent - Version 2/48 (diff) - Suivant » - Version actuelle
Laurent GUERBY, 03/10/2014 10:22


Ceph-Sharing-Disk

Sur le cluster ceph:

Création de l'utilisateur et du pool ceph pour cette utilisateur

http://chiliproject.tetaneutral.net/projects/git-tetaneutral-net/repository/openstack-tools/revisions/master/entry/ceph-create-ext-pool.sh

$ # ./ceph-create-ext-pool.sh <username> <auid> <size en giga> 
$ ./ceph-create-ext-pool.sh sileht 100 100 
creating ceph.client.sileht.keyring
imported keyring
pool 'sileht-pool' created
set pool 70 size to 2
set pool 70 min_size to 2
set pool 70 auid to 100
set-quota max_bytes = 107374182400 for pool sileht-pool

Sur le client rbd:

La machine machine doit être configuré avec une ip sur le vlan3199

apt-get install ceph

Le membre récupére sont keyring (ceph.client.sileht.keyring ici) et le copie dans /etc/ceph/

Il peut ensuite créer le fichier /etc/ceph/ceph.conf

[global]
fsid = 1fe74663-8dfa-486c-bb80-3bd94c90c967
auth_supported = cephx
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
mon_host = 192.168.99.251,192.168.99.252,192.168.99.253

[client.sileht]
keyring = /etc/ceph/ceph.client.sileht.keyring

On vérifie que cela marchine:

$ rbd --id sileht -p sileht-pool ls

Si il n'y a pas d'erreur c'est bon, maintenant on créé un volume rbd

$ rbd --id sileht --pool sileht-pool create --size 100000 backup
$ rbd --id sileht -p sileht-pool ls
backup

On configure le mapping automatique du volume rbd

$ echo sileht-pool/backup  id=sileht >> /etc/ceph/rbdmap
$ service rbdmap restart
RBD Mapping: 'sileht-pool/backup'...done.

le disque est prêt, on peut soit le formater directement:

$ mkfs.ext4 /dev/rbd/sileht-pool/backup 
$ mount /dev/rbd/sileht-pool/backup  /backup

soit le chiffrer:

$ sudo cryptsetup luksFormat /dev/rbd/sileht-pool/backup

WARNING!
========
This will overwrite data on /dev/rbd/sileht-pool/backup irrevocably.

Are you sure? (Type uppercase yes): YES
Enter passphrase:
Verify passphrase:
$ cryptsetup luksOpen /dev/rbd/sileht-pool/backup backup1
$ mkfs.ext4 /dev/mapper/backup1
$ mount /dev/mapper/backup1 /backup

Attention : ne pas remplir le device de données aleatoires comme suggéré dans les tutoriaux luks cela ferait perdre le provisionning progressif de ceph (utilisation effective uniquement sur les blocks non zero)

Ajout de la configuration persistante via un keyfile (attention: c'est une clé privée qui permet d'ouvrir le volume cryptfs sans passphrase):

$ dd if=/dev/urandom of=/etc/luks.key bs=1024 count=4
$ chmod 0400 /etc/luks.key
$ cryptsetup luksAddKey /dev/rbd/sileht-pool/backup /etc/luks.key

$ sudo blkid | grep -e rbd0 -e backup1
/dev/rbd0: UUID="1a268f70-6f6d-41f7-9216-43ba0bd0750b" TYPE="crypto_LUKS" 
/dev/mapper/backup1: UUID="51db13d9-4ac4-4e47-bb7a-b111994cdefd" TYPE="ext4" 

$ echo "backup1 UUID=1a268f70-6f6d-41f7-9216-43ba0bd0750b /etc/luks.key luks" >> /etc/crypttab 
$ echo "UUID=51db13d9-4ac4-4e47-bb7a-b111994cdefd  /backup ext4   defaults,noatime       0       2" >> /etc/fstab