Ajout du format de chiffrement aux images et aux clones
Ajoutez le format de chiffrement aux images et aux clones à l'aide de la commande de format de chiffrement rbd. A l'aide d'une image LUKS2-formatted , vous pouvez créer à la fois un clone LUKS2-formatted et un clone LUKS1-formatted .
Le chiffrement côté client en couches est pris en charge. Les images clonées peuvent être chiffrées avec leur propre format et phrase passe, potentiellement différent de celui de l'image parent.
Prérequis
Une grappe d' IBM Storage Ceph s en cours d'exécution avec RADOS Block Device (RBD) configuré.
Accès de niveau racine au noeud.
Procédure
Créez une image LUKS2-formatted :
Syntaxe
rbd create --size SIZE POOL_NAME/LUKS_IMAGE rbd encryption format POOL_NAME/LUKS_IMAGE luks1|luks2 PASSPHRASE_FILE rbd resize --size 50G --encryption-passphrase-file PASSPHRASE_FILE POOL_NAME/LUKS_IMAGEExemple
[ceph: root@host01 /]# rbd create --size 50G mypool/myimage [ceph: root@host01 /]# rbd encryption format mypool/myimage luks2 passphrase.txt [ceph: root@host01 /]# rbd resize --size 50G --encryption-passphrase-file passphrase.txt mypool/myimageLa commande rbd resize augmente l'image pour compenser la surcharge associée à l'en-tête LUKS2 .
Avec l'image LUKS2-formatted , créez un clone LUKS2-formatted avec la même taille effective:
Syntaxe
rbd snap create POOL_NAME/IMAGE_NAME@SNAP_NAME rbd snap protect POOL_NAME/IMAGE_NAME@SNAP_NAME rbd clone POOL_NAME/IMAGE_NAME@SNAP_NAME POOL_NAME/CLONE_NAME rbd encryption format POOL_NAME/CLONE_NAME luks1 CLONE_PASSPHRASE_FILEExemple
[ceph: root@host01 /]# rbd snap create mypool/myimage@snap [ceph: root@host01 /]# rbd snap protect mypool/myimage@snap [ceph: root@host01 /]# rbd clone mypool/myimage@snap mypool/myclone [ceph: root@host01 /]# rbd encryption format mypool/myclone luks1 clone-passphrase.binAvec l'image LUKS2-formatted , créez un clone LUKS1-formatted avec la même taille effective:
Syntaxe
rbd snap create POOL_NAME/IMAGE_NAME@SNAP_NAME rbd snap protect POOL_NAME/IMAGE_NAME@SNAP_NAME rbd clone POOL_NAME/IMAGE_NAME@SNAP_NAME POOL_NAME/CLONE_NAME rbd encryption format POOL_NAME/CLONE_NAME luks1 CLONE_PASSPHRASE_FILE rbd resize --size SIZE --allow-shrink --encryption-passphrase-file CLONE_PASSPHRASE_FILE --encryption-passphrase-file PASSPHRASE_FILE POOL_NAME/CLONE_NAMEExemple
[ceph: root@host01 /]# rbd snap create mypool/myimage@snap [ceph: root@host01 /]# rbd snap protect mypool/myimage@snap [ceph: root@host01 /]# rbd clone mypool/myimage@snap mypool/myclone [ceph: root@host01 /]# rbd encryption format mypool/myclone luks1 clone-passphrase.bin [ceph: root@host01 /]# rbd resize --size 50G --allow-shrink --encryption-passphrase-file clone-passphrase.bin --encryption-passphrase-file passphrase.bin mypool/mycloneEtant donné que l'en-tête LUKS1 est généralement plus petit que l'en-tête LUKS2 , la commande de redimensionnement rbd à la fin réduit l'image clonée pour éliminer l'espace non utilisé.
Avec l'image LUKS-1-formatted , créez un clone LUKS2-formatted avec la même taille effective:
Syntaxe
rbd resize --size SIZE POOL_NAME/LUKS_IMAGE rbd snap create POOL_NAME/IMAGE_NAME@SNAP_NAME rbd snap protect POOL_NAME/IMAGE_NAME@SNAP_NAME rbd clone POOL_NAME/IMAGE_NAME@SNAP_NAME POOL_NAME/CLONE_NAME rbd encryption format POOL_NAME/CLONE_NAME luks2 CLONE_PASSPHRASE_FILE rbd resize --size SIZE --allow-shrink --encryption-passphrase-file PASSPHRASE_FILE POOL_NAME/LUKS_IMAGE rbd resize --size SIZE --allow-shrink --encryption-passphrase-file CLONE_PASSPHRASE_FILE --encryption-passphrase-file PASSPHRASE_FILE POOL_NAME/CLONE_NAMEExemple
[ceph: root@host01 /]# rbd resize --size 51G mypool/myimage [ceph: root@host01 /]# rbd snap create mypool/myimage@snap [ceph: root@host01 /]# rbd snap protect mypool/myimage@snap [ceph: root@host01 /]# rbd clone mypool/my-image@snap mypool/myclone [ceph: root@host01 /]# rbd encryption format mypool/myclone luks2 clone-passphrase.bin [ceph: root@host01 /]# rbd resize --size 50G --allow-shrink --encryption-passphrase-file passphrase.bin mypool/myimage [ceph: root@host01 /]# rbd resize --size 50G --allow-shrink --encryption-passphrase-file clone-passphrase.bin --encryption-passphrase-file passphrase.bin mypool/mycloneEtant donné que l'en-tête LUKS2 est généralement supérieur à l'en-tête LUKS1 , la commande de redimensionnement rbd au début augmente temporairement l'image parent afin de réserver de l'espace supplémentaire dans l'image instantanée parent et, par conséquent, dans l'image clonée. Cette opération est nécessaire pour rendre toutes les données parent accessibles dans l'image clonée. La commande rbd resize à la fin réduit l'image parent à sa taille d'origine et n'a pas d'impact sur l'image instantanée parent et l'image clonée pour se débarrasser de l'espace réservé inutilisé.
Il en est de même pour la création d'un clone formaté d'une image non formatée, car une image non formatée n'a pas d'en-tête du tout.