28 Configuration de la grappe Ceph #
Ce chapitre décrit comment configurer la grappe Ceph à l'aide des options de configuration.
28.1 Configuration du fichier ceph.conf
#
cephadm utilise un fichier ceph.conf
de base qui ne contient qu'un ensemble minimal d'options pour la connexion aux instances MON, l'authentification et la récupération des informations de configuration. Dans la plupart des cas, cela se limite à l'option mon_host
(bien que cela puisse être évité en utilisant des enregistrements DNS SRV).
Le fichier ceph.conf
ne fait plus office d'emplacement central pour stocker la configuration de la grappe, et est remplacé par la base de données de configuration (voir Section 28.2, « Base de données de configuration »).
Si vous devez encore modifier la configuration de la grappe avec le fichier ceph.conf
(par exemple, parce que vous utilisez un client qui ne prend pas en charge les options de lecture de la base de données de configuration), vous devez exécuter la commande suivante et veiller à gérer et distribuer le fichier ceph.conf
sur l'ensemble de la grappe :
cephuser@adm >
ceph config set mgr mgr/cephadm/manage_etc_ceph_ceph_conf false
28.1.1 Accès à ceph.conf
dans des images de conteneur #
Même si les daemons Ceph s'exécutent au sein de conteneurs, vous pouvez toujours accéder à leur fichier de configuration ceph.conf
. Il est monté en liaison en tant que fichier suivant sur le système hôte :
/var/lib/ceph/CLUSTER_FSID/DAEMON_NAME/config
Remplacez CLUSTER_FSID par le FSID unique de la grappe en cours d'exécution tel que renvoyé par la commande ceph fsid
, et DAEMON_NAME par le nom du daemon spécifique répertorié par la commande ceph orch ps
. Par exemple :
/var/lib/ceph/b4b30c6e-9681-11ea-ac39-525400d7702d/osd.2/config
Pour modifier la configuration d'un daemon, éditez son fichier config
et redémarrez-le :
#
systemctl restart ceph-CLUSTER_FSID-DAEMON_NAME
Par exemple :
#
systemctl restart ceph-b4b30c6e-9681-11ea-ac39-525400d7702d-osd.2
Tous les paramètres personnalisés seront perdus après le redéploiement du daemon par cephadm.
28.2 Base de données de configuration #
Les instances Ceph Monitor gèrent une base de données centrale d'options de configuration qui affectent le comportement de l'ensemble de la grappe.
28.2.1 Configuration des sections et des masques #
Les options de configuration stockées par l'instance MON peuvent résider dans une section globale, une section type de daemon ou une section daemon spécifique. En outre, les options peuvent également être associées à un masque afin de limiter davantage les daemons ou clients auxquels l'option s'applique. Les masques ont deux formes :
TYPE:LOCATION où TYPE est une propriété CRUSH telle que
rack
ouhost
, tandis que LOCATION est une valeur pour cette propriété.Par exemple,
host:example_host
limitera l'option aux daemons ou aux clients s'exécutant sur un hôte particulier.CLASS:DEVICE_CLASS où DEVICE_CLASS est le nom d'une classe de périphérique CRUSH telle que
hdd
oussd
. Par exemple,class:ssd
limitera l'option aux OSD sauvegardés par des disques SSD. Ce masque n'a aucun effet sur les daemons ou clients non-OSD.
28.2.2 Définition et lecture des options de configuration #
Utilisez les commandes suivantes pour définir ou lire les options de configuration de la grappe. Le paramètre WHO peut être un nom de section, un masque ou une combinaison des deux, séparés par une barre oblique (/). Par exemple, osd/rack:foo
représente tous les daemons OSD dans le rack appelé foo
.
ceph config dump
Vide l'ensemble de la base de données de configuration pour l'ensemble d'une grappe.
ceph config get WHO
Vide la configuration d'un daemon ou d'un client spécifique (par exemple,
mds.a
), telle que stockée dans la base de données de configuration.ceph config set WHO OPTION VALUE
Définit l'option de configuration sur la valeur spécifiée dans la base de données de configuration.
ceph config show WHO
Affiche la configuration en cours d'exécution signalée pour un daemon en cours d'exécution. Ces paramètres peuvent différer de ceux stockés par les moniteurs si des fichiers de configuration locaux sont également utilisés ou si des options ont été remplacées sur la ligne de commande ou lors de l'exécution. La source des valeurs d'option est signalée comme faisant partie de la sortie.
ceph config assimilate-conf -i INPUT_FILE -o OUTPUT_FILE
Importe un fichier de configuration spécifié comme INPUT_FILE et stocke toutes les options valides dans la base de données de configuration. Tous les paramètres qui ne sont pas reconnus, qui ne sont pas valides ou qui ne peuvent pas être contrôlés par le moniteur sont renvoyés dans un fichier abrégé stocké comme OUTPUT_FILE. Cette commande est utile pour la transition des fichiers de configuration hérités vers la configuration centralisée basée sur le moniteur.
28.2.3 Configuration des daemons lors de l'exécution #
Dans la plupart des cas, Ceph vous permet de modifier la configuration d'un daemon lors de l'exécution. Cela est utile, par exemple, lorsque vous devez augmenter ou réduire la quantité de sortie de consignation ou lors de l'optimisation de la grappe d'exécution.
Vous pouvez mettre à jour les valeurs des options de configuration avec la commande suivante :
cephuser@adm >
ceph config set DAEMON OPTION VALUE
Par exemple, pour ajuster le niveau de consignation de débogage sur un OSD spécifique, exécutez :
cephuser@adm >
ceph config set osd.123 debug_ms 20
Si la même option est également personnalisée dans un fichier de configuration local, le paramètre du moniteur est ignoré car sa priorité est inférieure à celle du fichier de configuration.
28.2.3.1 Remplacement de valeurs #
Vous pouvez modifier temporairement la valeur d'une option à l'aide des sous-commandes tell
ou daemon
. Cette modification affecte uniquement le processus en cours d'exécution et est ignorée après le redémarrage du daemon ou du processus.
Il existe deux façons de remplacer des valeurs :
Utilisez la sous-commande
tell
pour envoyer un message à un daemon spécifique à partir de n'importe quel noeud de grappe :cephuser@adm >
ceph tell DAEMON config set OPTION VALUEPar exemple :
cephuser@adm >
ceph tell osd.123 config set debug_osd 20AstuceLa sous-commande
tell
accepte les caractères joker comme identificateurs de daemon. Par exemple, pour régler le niveau de débogage sur tous les daemons OSD, exécutez :cephuser@adm >
ceph tell osd.* config set debug_osd 20Utilisez la sous-commande
daemon
pour vous connecter à un processus daemon spécifique via un socket dans/var/run/ceph
à partir du noeud sur lequel le processus est en cours d'exécution :cephuser@adm >
cephadm enter --name osd.ID -- ceph daemon DAEMON config set OPTION VALUEPar exemple :
cephuser@adm >
cephadm enter --name osd.4 -- ceph daemon osd.4 config set debug_osd 20
Lorsque vous affichez les paramètres d'exécution avec la commande ceph config show
(voir Section 28.2.3.2, « Affichage des paramètres d'exécution »), les valeurs temporairement remplacées sont affichées avec un remplacement
de source.
28.2.3.2 Affichage des paramètres d'exécution #
Pour afficher toutes les options définies pour un daemon :
cephuser@adm >
ceph config show-with-defaults osd.0
Pour afficher toutes les options non définies par défaut pour un daemon :
cephuser@adm >
ceph config show osd.0
Pour inspecter une option spécifique :
cephuser@adm >
ceph config show osd.0 debug_osd
Vous pouvez également vous connecter à un daemon en cours d'exécution à partir du noeud sur lequel son processus est exécuté et observer sa configuration :
cephuser@adm >
cephadm enter --name osd.0 -- ceph daemon osd.0 config show
Pour afficher uniquement les paramètres non définis par défaut :
cephuser@adm >
cephadm enter --name osd.0 -- ceph daemon osd.0 config diff
Pour inspecter une option spécifique :
cephuser@adm >
cephadm enter --name osd.0 -- ceph daemon osd.0 config get debug_osd
28.3 config-key
stocker #
config-key
est un service général proposé par les instances Ceph Monitor. Il simplifie la gestion des clés de configuration en stockant de façon permanente des paires clé/valeur. config-key
est principalement utilisé par les outils et les daemons Ceph.
Après avoir ajouté une nouvelle clé ou modifié une clé existante, redémarrez le service concerné pour que les modifications prennent effet. Pour plus d'informations sur le fonctionnement des services Ceph, reportez-vous au Chapitre 14, Exécution des services Ceph.
Utilisez la commande pour utiliser la zone de stockage
config-key
config-key. La commande config-key
utilise les sous-commandes suivantes :
ceph config-key rm KEY
Supprime la clé spécifiée.
ceph config-key exists KEY
Vérifie l'existence de la clé spécifiée.
ceph config-key get KEY
Récupère la valeur de la clé spécifiée.
ceph config-key ls
Répertorie toutes les clés.
ceph config-key dump
Vide toutes les clés et leurs valeurs.
ceph config-key set KEY VALUE
Stocke la clé spécifiée avec la valeur donnée.
28.3.1 Passerelle iSCSI #
La passerelle iSCSI utilise la zone de stockage config-key
pour enregistrer ou lire ses options de configuration. Toutes les clés liées à la passerelle iSCSI sont précédées de la chaîne iscsi
, par exemple :
iscsi/trusted_ip_list iscsi/api_port iscsi/api_user iscsi/api_password iscsi/api_secure
Si vous avez besoin, par exemple, de deux ensembles d'options de configuration, étendez le préfixe avec un autre mot-clé descriptif, par exemple datacenterA
et datacenterB
:
iscsi/datacenterA/trusted_ip_list iscsi/datacenterA/api_port [...] iscsi/datacenterB/trusted_ip_list iscsi/datacenterB/api_port [...]
28.4 Ceph OSD et BlueStore #
28.4.1 Configuration du dimensionnement automatique du cache #
BlueStore peut être configuré pour redimensionner automatiquement ses caches lorsque tc_malloc
est configuré comme option d'allocation de mémoire et que le paramètre bluestore_cache_autotune
est activé. Cette option est actuellement activée par défaut. BlueStore tente alors de maintenir l'utilisation de la mémoire de segment OSD sous une taille cible désignée via l'option de configuration osd_memory_target
. Il s'agit d'un algorithme du meilleur d'effort (« Best Effort ») ; les caches ne passeront pas en dessous de la quantité minimale spécifiée par la valeur osd_memory_cache_min
. Les ratios de cache seront choisis en fonction d'une hiérarchie de priorités. Si l'information de priorité n'est pas disponible, les options bluestore_cache_meta_ratio
et bluestore_cache_kv_ratio
sont utilisées à la place.
- bluestore_cache_autotune
Aligne automatiquement les ratios assignés à différents caches BlueStore tout en respectant les valeurs minimales. La valeur par défaut est
True
.- osd_memory_target
Lorsque
tc_malloc
etbluestore_cache_autotune
sont activés, essayez de garder ces nombreux octets assignés en mémoire.NoteCela peut ne pas correspondre exactement à l'utilisation de la mémoire RSS du processus. Bien que la quantité totale de mémoire de segment assignée par le processus devrait généralement rester proche de cette cible, il n'y a aucune garantie que le kernel va effectivement récupérer la mémoire dont l'assignation a été annulée.
- osd_memory_cache_min
Lorsque
tc_malloc
etbluestore_cache_autotune
sont activés, définissez la quantité minimale de mémoire utilisée pour les caches.NoteSi vous définissez cette option sur une valeur trop faible, cela peut entraîner un débordement considérable des caches.
28.5 Ceph Object Gateway #
Vous pouvez influencer le comportement d'Object Gateway avec plusieurs options. Si une option n'est pas spécifiée, sa valeur par défaut est utilisée. Vous trouverez ci-dessous une liste complète des options Object Gateway.
28.5.1 Paramètres généraux #
- rgw_frontends
Configure l'interface client HTTP. Pour en spécifier plusieurs, définissez-les dans une liste séparée par des virgules. Chaque configuration d'interface client peut inclure une liste d'options séparées par des espaces, dans laquelle chaque option se présente sous la forme « clé=valeur » ou « clé ». La valeur par défaut est
beast port=7480
.- rgw_data
Définit l'emplacement des fichiers de données pour Object Gateway. La valeur par défaut est
/var/lib/ceph/radosgw/ID_GRAPPE
.- rgw_enable_apis
Active les API spécifiées. Par défaut, il s'agit de « s3, swift, swift_auth, admin All APIs ».
- rgw_cache_enabled
Active ou désactive le cache Object Gateway. La valeur par défaut est
true
.- rgw_cache_lru_size
Nombre d'entrées dans le cache Object Gateway. La valeur par défaut est 10000.
- rgw_socket_path
Chemin du socket du domaine.
FastCgiExternalServer
utilise ce socket. Si vous ne spécifiez pas de chemin de socket, Object Gateway ne s'exécutera pas en tant que serveur externe. Le chemin que vous spécifiez ici doit être le même que celui indiqué dans le fichierrgw.conf
.- rgw_fcgi_socket_backlog
Backlog de socket pour fcgi. La valeur par défaut est 1024.
- rgw_host
Hôte de l'instance Object Gateway. Il peut s'agir d'une adresse IP ou d'un nom hôte. La valeur par défaut est
0.0.0.0
.- rgw_port
Numéro de port sur lequel l'instance écoute les requêtes. S'il n'est pas spécifié, Object Gateway exécute la fonction externe FastCGI.
- rgw_dns_name
Nom DNS du domaine desservi.
- rgw_script_uri
Valeur alternative pour le SCRIPT_URI si elle n'est pas définie dans la requête.
- rgw_request_uri
Valeur alternative pour REQUEST_URI si elle n'est pas définie dans la requête.
- rgw_print_continue
Permet d'activer le code 100-continue s'il est opérationnel. La valeur par défaut est
true
.- rgw_remote_addr_param
Paramètre de l'adresse distante. Par exemple, le champ HTTP contenant l'adresse distante ou l'adresse X-Forwarded-For si un proxy inverse est opérationnel. La valeur par défaut est
REMOTE_ADDR
.- rgw_op_thread_timeout
Timeout en secondes pour les threads ouverts. La valeur par défaut est 600.
- rgw_op_thread_suicide_timeout
Timeout en secondes avant la mort du processus Object Gateway. Il est désactivé s'il est défini sur 0 (valeur par défaut).
- rgw_thread_pool_size
Nombre de threads pour le serveur Beast. Définissez une valeur plus élevée si vous devez servir plus de demandes. La valeur par défaut est de 100 threads.
- rgw_num_rados_handles
Nombre d'identificateurs de grappe RADOS pour Object Gateway. Désormais, chaque thread de travail Object Gateway sélectionne un identificateur RADOS pour toute sa durée de vie. Cette option est à présent obsolète et pourra être supprimée dans les versions futures. La valeur par défaut est 1.
- rgw_num_control_oids
Nombre d'objets de notification utilisés pour la synchronisation des caches entre différentes instances d'Object Gateway. La valeur par défaut est 8.
- rgw_init_timeout
Nombre de secondes avant qu'Object Gateway renonce à l'initialisation. La valeur par défaut est 30.
- rgw_mime_types_file
Chemin et emplacement des types MIME. Utilisés pour détection automatique des types d'objets par Swift. La valeur par défaut est
/etc/mime.types
.- rgw_gc_max_objs
Nombre maximal d'objets pouvant être gérés par la récupération d'espace mémoire au cours d'un cycle de traitement. La valeur par défaut est 32.
- rgw_gc_obj_min_wait
Délai d'attente minimal avant que l'objet puisse être retiré et géré par le processus de récupération d'espace mémoire. La valeur par défaut est 2 * 3600.
- rgw_gc_processor_max_time
Durée maximale entre le début de deux cycles consécutifs de récupération d'espace mémoire. La valeur par défaut est 3600.
- rgw_gc_processor_period
Temps de cycle pour la récupération d'espace mémoire. La valeur par défaut est 3600.
- rgw_s3_success_create_obj_status
Autre réponse de statut de réussite pour
create-obj
. La valeur par défaut est 0.- rgw_resolve_cname
Indique si Object Gateway doit utiliser l'enregistrement DNS CNAME du champ de nom d'hôte de la requête (si le nom d'hôte est différent du nom DNS d'Object Gateway). La valeur par défaut est
false
.- rgw_obj_stripe_size
Taille d'un segment d'objet pour les objets Object Gateway. La valeur par défaut est
4 << 20
.- rgw_extended_http_attrs
Ajoutez un nouvel ensemble d'attributs qui peuvent être définis sur une entité (par exemple, un utilisateur, un compartiment ou un objet). Ces attributs supplémentaires peuvent être configurés via les champs d'en-tête HTTP lors de la spécification de l'entité ou de sa modification à l'aide de la méthode POST. S'ils sont définis, ces attributs sont renvoyés sous forme de champs HTTP en cas de demande GET/HEAD sur l'entité. La valeur par défaut est
content_foo, content_bar, x-foo-bar
.- rgw_exit_timeout_secs
Nombre de secondes à attendre un processus avant de quitter sans condition. La valeur par défaut est 120.
- rgw_get_obj_window_size
Taille de la fenêtre en octets pour une seule requête d'objet. La valeur par défaut est
16 << 20
.- rgw_get_obj_max_req_size
Taille maximale de requête pour une seule opération GET envoyée à la grappe de stockage Ceph. La valeur par défaut est
4 << 20
.- rgw_relaxed_s3_bucket_names
Active les règles souples de nom de compartiment S3 pour les compartiments de la région des États-Unis. La valeur par défaut est
false
.- rgw_list_buckets_max_chunk
Nombre maximal de compartiments à récupérer en une seule opération lors du listage des compartiments utilisateur. La valeur par défaut est 1000.
- rgw_override_bucket_index_max_shards
Représente le nombre de partitions pour l'objet d'index de compartiment. Définir ce paramètre sur 0 (valeur par défaut) indique qu'il n'y a pas de partitionnement. Il est déconseillé de définir une valeur trop élevée (par exemple 1000), car cela augmente le coût du listage des compartiments. Cette variable doit être définie dans les sections de client ou globales afin qu'elle soit automatiquement appliquée aux commandes
radosgw-admin
.- rgw_curl_wait_timeout_ms
Timeout en millisecondes pour certains appels
curl
. La valeur par défaut est 1000.- rgw_copy_obj_progress
Active la sortie de la progression d'objet lors des longues opérations de copie. La valeur par défaut est
true
.- rgw_copy_obj_progress_every_bytes
Nombre minimal d'octets entre la sortie de progression de copie. La valeur par défaut est 1024 * 1024.
- rgw_admin_entry
Point d'entrée pour une URL de requête d'administration. La valeur par défaut est
admin
.- rgw_content_length_compat
Permet d'activer le traitement de la compatibilité des requêtes FCGI avec les options CONTENT_LENGTH et HTTP_CONTENT_LENGTH définies. La valeur par défaut est
false
.- rgw_bucket_quota_ttl
Délai en secondes pour lequel les informations de quota mises en cache sont approuvées. Une fois ce temps écoulé, les informations de quota sont à nouveau récupérées auprès de la grappe. La valeur par défaut est 600.
- rgw_user_quota_bucket_sync_interval
Délai en secondes pendant lequel les informations de quota de compartiment sont accumulées avant d'effectuer une synchronisation avec la grappe. Pendant ce temps, les autres instances Object Gateway ne voient pas les modifications dans les statistiques de quota de compartiment associées aux opérations sur cette instance. La valeur par défaut est 180.
- rgw_user_quota_sync_interval
Délai en secondes pendant lequel les informations de quota d'utilisateur sont accumulées avant d'effectuer une synchronisation avec la grappe. Pendant ce temps, les autres instances Object Gateway ne voient pas les modifications dans les statistiques de quota d'utilisateur associées aux opérations sur cette instance. La valeur par défaut est 180.
- rgw_bucket_default_quota_max_objects
Nombre maximal d'objets par compartiment par défaut. Ce paramètre est défini pour les nouveaux utilisateurs si aucun autre quota n'est spécifié, et n'a aucun effet sur les utilisateurs existants. Cette variable doit être définie dans les sections de client ou globales afin qu'elle soit automatiquement appliquée aux commandes
radosgw-admin
. La valeur par défaut est -1.- rgw_bucket_default_quota_max_size
Capacité maximale par défaut par compartiment (en octets). Ce paramètre est défini pour les nouveaux utilisateurs si aucun autre quota n'est spécifié, et n'a aucun effet sur les utilisateurs existants. La valeur par défaut est -1.
- rgw_user_default_quota_max_objects
Nombre maximal d'objets par défaut pour un utilisateur. Il inclut tous les objets dans tous les compartiments appartenant à l'utilisateur. Ce paramètre est défini pour les nouveaux utilisateurs si aucun autre quota n'est spécifié, et n'a aucun effet sur les utilisateurs existants. La valeur par défaut est -1.
- rgw_user_default_quota_max_size
Valeur du quota de taille maximale de l'utilisateur (en octets) défini pour les nouveaux utilisateurs si aucun autre quota n'est spécifié. Ce paramètre n'a aucun effet sur les utilisateurs existants. La valeur par défaut est -1.
- rgw_verify_ssl
Permet de vérifier les certificats SSL lors de requêtes. La valeur par défaut est
true
.- rgw_max_chunk_size
Taille maximale d'une tranche de données qui sera lue en une seule opération. L'augmentation de la valeur à 4 Mo (4194304) permet d'améliorer les performances de traitement des objets volumineux. La valeur par défaut est 128 Ko (131072).
- rgw_zone
Nom de la zone pour l'instance de passerelle. Si aucune zone n'est définie, il est possible de configurer une valeur par défaut à l'échelle de la grappe à l'aide de la commande
radosgw-admin zone default
.- rgw_zonegroup
Nom du groupe de zones pour l'instance de passerelle. Si aucune zone de groupes n'est définie, il est possible de configurer une valeur par défaut à l'échelle de la grappe à l'aide de la commande
radosgw-admin zonegroup default
.- rgw_realm
Nom du domaine pour l'instance de passerelle. Si aucun domaine n'est défini, il est possible de configurer une valeur par défaut à l'échelle de la grappe à l'aide de la commande
radosgw-admin realm default
.- rgw_run_sync_thread
S'il y a d'autres zones dans le domaine à partir desquelles il faut effectuer une synchronisation, ce paramètre permet de générer des threads pour gérer la synchronisation des données et des métadonnées. La valeur par défaut est
true
.- rgw_data_log_window
Fenêtre des entrées de journal de données en secondes. La valeur par défaut est 30.
- rgw_data_log_changes_size
Nombre d'entrées dans la mémoire à conserver pour le journal des modifications de données. La valeur par défaut est 1000.
- rgw_data_log_obj_prefix
Préfixe du nom d'objet pour le journal des données. Il s'agit par défaut de « data_log ».
- rgw_data_log_num_shards
Nombre de partitions (objets) sur lesquelles conserver le journal des modifications de données. La valeur par défaut est 128.
- rgw_md_log_max_shards
Nombre maximal de partitions pour le journal des métadonnées. La valeur par défaut est 64.
- rgw_enforce_swift_acls
Applique les paramètres de la liste de contrôle d'accès (ACL) Swift. La valeur par défaut est
true
.- rgw_swift_token_expiration
Délai d'expiration d'un jeton Swift en secondes. La valeur par défaut est 24 * 3600.
- rgw_swift_url
URL de l'API Swift de Ceph Object Gateway.
- rgw_swift_url_prefix
Préfixe de l'URL du stockage Swift qui précède la partie '/v1'. Il permet d'exécuter plusieurs instances de passerelle sur le même hôte. Pour des raisons de compatibilité, si vous définissez cette variable de configuration sur une valeur vide, le système utilise la valeur par défaut '/swift'. Utilisez le préfixe explicite '/' pour démarrer l'URL de stockage à la racine.
AvertissementLa définition de cette option sur '/' ne fonctionnera pas si l'API S3 est activée. N'oubliez pas que la désactivation de S3 rendra impossible le déploiement d'Object Gateway dans la configuration multisite.
- rgw_swift_auth_url
URL par défaut pour vérifier les jetons d'authentification v1 lorsque l'authentification Swift interne n'est pas utilisée.
- rgw_swift_auth_entry
Point d'entrée d'une URL d'authentification Swift. La valeur par défaut est
auth
.- rgw_swift_versioning_enabled
Active le contrôle de version des objets de l'API de stockage d'objets OpenStack. Ce paramètre permet aux clients de définir l'attribut
X-Versions-Location
sur les conteneurs devant être soumis au contrôle de version. L'attribut spécifie le nom du conteneur stockant les versions archivées. Son propriétaire doit être identique à celui du conteneur soumis au contrôle de version pour des raisons de vérification du contrôle d'accès ; les ACL ne sont pas prises en considération. Le contrôle de version de ces conteneurs ne peut pas être assuré par le mécanisme de contrôle de version des objets S3. La valeur par défaut estfalse
.
- rgw_log_nonexistent_bucket
Permet à Object Gateway de consigner une requête pour un compartiment inexistant. La valeur par défaut est
false
.- rgw_log_object_name
Format de consignation d'un nom d'objet. Reportez-vous à la page de manuel
man 1 date
pour plus de détails sur les spécificateurs de format. La valeur par défaut est%Y-%m-%d-%H-%i-%n
.- rgw_log_object_name_utc
Indique si un nom d'objet consigné inclut une heure UTC. Si ce paramètre est défini sur
false
(valeur par défaut), il utilise l'heure locale.- rgw_usage_max_shards
Nombre maximal de partitions pour la consignation de l'utilisation. La valeur par défaut est 32.
- rgw_usage_max_user_shards
Nombre maximal de partitions utilisées pour la consignation de l'utilisation d'un seul utilisateur. La valeur par défaut est 1.
- rgw_enable_ops_log
Permet d'activer la consignation pour chaque opération Object Gateway réussie. La valeur par défaut est
false
.- rgw_enable_usage_log
Permet d'activer le journal d'utilisation. La valeur par défaut est
false
.- rgw_ops_log_rados
Définit si le journal des opérations doit être écrit dans l'interface dorsale de la grappe de stockage Ceph. La valeur par défaut est
true
.- rgw_ops_log_socket_path
Socket du domaine Unix pour l'écriture des journaux d'opérations.
- rgw_ops_log_data_backlog
Taille maximale des données du blacklog de données pour les journaux d'opérations écrits dans un socket du domaine Unix. La valeur par défaut est 5 << 20.
- rgw_usage_log_flush_threshold
Nombre d'entrées fusionnées altérées dans le journal d'utilisation avant le vidage synchrone. La valeur par défaut est 1024.
- rgw_usage_log_tick_interval
Permet de vider les données de journal d'utilisation en attente toutes les « n » secondes. La valeur par défaut est 30.
- rgw_log_http_headers
Liste (séparée par des virgules) des en-têtes HTTP à inclure dans les entrées de journal. Les noms d'en-tête ne sont pas sensibles à la casse et utilisent le nom d'en-tête complet avec les mots séparés par des traits de soulignement. Par exemple : « http_x_forwarded_for », « http_x_special_k ».
- rgw_intent_log_object_name
Format de consignation du nom d'objet du journal d'intentions (« intent log »). Reportez-vous à la page de manuel
man 1 date
pour plus de détails sur les spécificateurs de format. Il s'agit par défaut de « %Y-%m-%d-%i-%n ».- rgw_intent_log_object_name_utc
Indique si le nom d'objet du journal d'intentions inclut une heure UTC. Si ce paramètre est défini sur
false
(valeur par défaut), il utilise l'heure locale.
- rgw_keystone_url
URL du serveur Keystone.
- rgw_keystone_api_version
Version (2 ou 3) de l'API Identity OpenStack qui doit être utilisée pour la communication avec le serveur Keystone. La valeur par défaut est 2.
- rgw_keystone_admin_domain
Nom du domaine OpenStack avec le privilège d'administration lors de l'utilisation de l'API Identity OpenStack v3.
- rgw_keystone_admin_project
Nom du projet OpenStack avec le privilège d'administration lors de l'utilisation de l'API Identity OpenStack v3. Si ce paramètre n'est pas défini, le système utilise la valeur de
rgw keystone admin tenant
.- rgw_keystone_admin_token
Jeton de l'administrateur Keystone (secret partagé). Dans Object Gateway, l'authentification avec le jeton d'administrateur prime sur l'authentification avec les informations d'identification de l'administrateur (options
rgw keystone admin user
,rgw keystone admin password
,rgw keystone admin tenant
,rgw keystone admin project
etrgw keystone admin domain
). La fonction de jeton d'administrateur est considérée comme obsolète.- rgw_keystone_admin_tenant
Nom du locataire OpenStack avec le privilège d'administration (locataire du service) en cas d'utilisation de l'API Identity OpenStack v2.
- rgw_keystone_admin_user
Nom de l'utilisateur OpenStack avec le privilège d'administration pour l'authentification Keystone (utilisateur du service) en cas d'utilisation de l'API Identity OpenStack v2.
- rgw_keystone_admin_password
Mot de passe de l'administrateur OpenStack en cas d'utilisation de l'API Identity OpenStack v2.
- rgw_keystone_accepted_roles
Rôles nécessaires pour répondre aux requêtes. Il s'agit par défaut de « Member, admin ».
- rgw_keystone_token_cache_size
Nombre maximal d'entrées dans chaque cache de jetons Keystone. La valeur par défaut est 10000.
- rgw_keystone_revocation_interval
Nombre de secondes entre les vérifications de révocation de jeton. La valeur par défaut est 15 * 60.
- rgw_keystone_verify_ssl
Permet de vérifier les certificats SSL lors de requêtes de jeton auprès de Keystone. La valeur par défaut est
true
.
28.5.1.1 Remarques supplémentaires #
- rgw_dns_name
Permet aux clients d'utiliser des compartiments de type
vhost
.L'accès de type
vhost
fait référence à l'utilisation de bucketname.s3-endpoint/object-path. En comparaison à l'accès de typepath
: s3-endpoint/bucket/objectSi le nom
rgw dns name
est défini, vérifiez que le client S3 est configuré pour diriger les requêtes vers le noeud d'extrémité spécifiée par le nomrgw dns name
.
28.5.2 Configuration des interfaces clients HTTP #
28.5.2.1 Beast #
- port, ssl_port
Numéros de port d'écoute IPv4 et IPv6. Vous pouvez spécifier plusieurs numéros de port :
port=80 port=8000 ssl_port=8080
La valeur par défaut est 80.
- endpoint, ssl_endpoint
Adresses d'écoute au format « adresse[:port] », où l'adresse est une chaîne d'adresse IPv4 au format décimal avec points ou une adresse IPv6 en notation hexadécimale entourée de crochets. Si vous spécifiez un noeud d'extrémité IPv6, le système écoutera uniquement le protocole IPv6. Le numéro de port facultatif est défini par défaut sur 80 pour
endpoint
et sur 443 pourssl_endpoint
. Vous pouvez spécifier plusieurs adresses :endpoint=[::1] endpoint=192.168.0.100:8000 ssl_endpoint=192.168.0.100:8080
- ssl_private_key
Chemin facultatif du fichier de clé privée utilisé pour les noeuds d'extrémité compatibles SSL. Si ce paramètre n'est pas spécifié, le fichier
ssl_certificate
est utilisé comme clé privée.- tcp_nodelay
Si ce paramètre est spécifié, l'option de socket désactive l'algorithme de Nagle sur la connexion. Cela signifie que les paquets seront envoyés dès que possible au lieu d'attendre un timeout ou une saturation du tampon.
« 1 » désactive l'algorithme de Nagle pour tous les sockets.
« 0 » garde l'algorithme de Nagle activé (valeur par défaut).
cephuser@adm >
ceph config set rgw.myrealm.myzone.ses-min1.kwwazo \
rgw_frontends beast port=8000 ssl_port=443 \
ssl_certificate=/etc/ssl/ssl.crt \
error_log_file=/var/log/radosgw/beast.error.log
28.5.2.2 CivetWeb #
- port
Numéro du port d'écoute. Pour les ports compatibles SSL, ajoutez un suffixe « s » (par exemple, « 443s »). Pour lier une adresse IPv4 ou IPv6 spécifique, utilisez le format « adresse:port ». Vous pouvez spécifier plusieurs noeuds d'extrémité en les joignant avec le caractère « + » ou en fournissant différentes options :
port=127.0.0.1:8000+443s port=8000 port=443s
La valeur par défaut est 7480.
- num_threads
Nombre de threads générés par CivetWeb pour gérer les connexions HTTP entrantes. Cela limite efficacement le nombre de connexions simultanées que l'interface client peut desservir.
La valeur par défaut est celle spécifiée par l'option
rgw_thread_pool_size
.- request_timeout_ms
Délai en millisecondes pendant lequel CivetWeb attend davantage de données entrantes avant d'abandonner.
La valeur par défaut est de 30000 millisecondes.
- access_log_file
Chemin du fichier journal des accès. Vous pouvez spécifier un chemin complet ou un chemin par rapport au répertoire de travail actuel. Si ce paramètre n'est pas spécifié (situation par défaut), les accès ne sont pas consignés.
- error_log_file
Chemin du fichier journal des erreurs. Vous pouvez spécifier un chemin complet ou un chemin par rapport au répertoire de travail actuel. Si ce paramètre n'est pas spécifié (situation par défaut), les erreurs ne sont pas consignées.
/etc/ceph/ceph.conf
#cephuser@adm >
ceph config set rgw.myrealm.myzone.ses-min2.ingabw \
rgw_frontends civetweb port=8000+443s request_timeout_ms=30000 \
error_log_file=/var/log/radosgw/civetweb.error.log
28.5.2.3 Options communes #
- ssl_certificate
Chemin du fichier de certificat SSL utilisé pour les noeuds d'extrémité compatibles SSL.
- prefix
Chaîne de préfixe insérée dans l'URI de toutes les requêtes. Par exemple, une interface client Swift uniquement pourrait fournir un préfixe URI
/swift
.