Système de fichier de Ceph : XFS, BTRFS ou ext4.
Optionnel :
Attention : la perte d’un disque implique la répartition des PG (groupe de blocks) sur tous les OSD restant dans le cluster.
Pool : groupe logique d’objets
Placement group (PG) : groupe d’objets, c’est ça qui est répliqué et associé à un ensemble d’OSD.
Calcul du nombre de PG : pgcalc
Les données sont d’abord écrites sur le journal puis sur l’OSD. Deux modes sont disponibles :
Le cache tiering permet d’avoir des pools de disque SSD dédiés au cache.
Deux modes :
ceph-deploy disk zap ceph1:sda # Prépare le disque pour Ceph
ceph osd auth list # Liste les clés d'authentification
ceph auth del osd.0 # Supprime l'authentification
ceph osd rm osd.0 # Supprime l'OSD
ceph osd tree # Liste les OSD
ceph osd cruch rm osd.0 # Supprime l'OSD de la crush map
ceph-deploy osd prepare ceph1:sda # Redéploie l'OSD sur le disque
Le mode maintenance permet d’empêcher Ceph de redistribuer les PG en cas de problème sur le cluster. Cette commande agit sur tout le cluster.
ceph osd set noout # Mise en maintenance du noeud
ceph osd unset noout # On sort du mode maintenance
Pour créer un fichier de keyring :
ceph-authtool -C -n client.my_user --gen-key /etc/ceph/ceph.client.my_user.keyring
Importer la clé dans Ceph : ceph auth import -i /etc/ceph/ceph.client.my_user.keyring
Lister les pools : rados lspools
Créer un pool : rados mkpool my_pool ou ceph osd pool create my_pool 4
Ajouter les droits sur un utilisateur (attention ça supprime la configuration des ACL existantes) :
ceph auth caps client.my_user mon 'allow r' osd 'allow rw pool=my_pool'
Afficher les volumes d’un pool : rbd -p my_pool list
Ce composant permet de mettre à disposition des API Amazon S3 ou Swift.
Création d’un utilisateur :
$ radosgw-admin user create --uid=gnocchi --display-name="Gnocchi"
{
"user_id": "gnocchi",
"display_name": "Gnocchi",
"email": "",
"suspended": 0,
"max_buckets": 1000,
"auid": 0,
"subusers": [],
"keys": [
{
"user": "gnocchi",
"access_key": "REBGC723WML2HUCNGZSZ",
"secret_key": "3Bg8Nk9HAjogNK5qW1hqDSnIIo5LSddySBPvaLIC"
}
],
"swift_keys": [],
"caps": [],
"op_mask": "read, write, delete",
"default_placement": "",
"placement_tags": [],
"bucket_quota": {
"enabled": false,
"max_size_kb": -1,
"max_objects": -1
},
"user_quota": {
"enabled": false,
"max_size_kb": -1,
"max_objects": -1
},
"temp_url_keys": []
}
La partie keys contient les informations de connexion à Amazon S3. Pour ajouter un accès à Swift, il faut enter cette commande :
# radosgw-admin subuser create --uid=gnocchi --subuser=gnocchi:swift --access=full
{
"user_id": "gnocchi",
"display_name": "Gnocchi",
"email": "",
"suspended": 0,
"max_buckets": 1000,
"auid": 0,
"subusers": [
{
"id": "gnocchi:swift",
"permissions": "full-control"
}
],
"keys": [
{
"user": "gnocchi",
"access_key": "REBGC723WML2HUCNGZSZ",
"secret_key": "3Bg8Nk9HAjogNK5qW1hqDSnIIo5LSddySBPvaLIC"
}
],
"swift_keys": [
{
"user": "gnocchi:swift",
"secret_key": "pxw6Y7Hc3Y6AvaM8g4O1VnEOKAcf9taMudpAMDFJ"
}
],
"caps": [],
"op_mask": "read, write, delete",
"default_placement": "",
"placement_tags": [],
"bucket_quota": {
"enabled": false,
"max_size_kb": -1,
"max_objects": -1
},
"user_quota": {
"enabled": false,
"max_size_kb": -1,
"max_objects": -1
},
"temp_url_keys": []
}
http://10.8.100.12:7480/authhttp://10.8.100.12:7480/swift/v1