28 Configuração do cluster do Ceph #
Este capítulo descreve como configurar o cluster do Ceph por meio das opções de configuração.
28.1 Configurar o arquivo ceph.conf
#
O cephadm usa um arquivo ceph.conf
básico que contém apenas um conjunto mínimo de opções para conexão com MONs, autenticação e busca de informações de configuração. Na maioria dos casos, ele está limitado à opção mon_host
(embora isso possa ser evitado com o uso de registros DNS SRV).
O ceph.conf
não serve mais como um local central para armazenar a configuração do cluster, sendo preferível o banco de dados de configuração (consulte o Seção 28.2, “Banco de dados de configuração”).
Se você ainda precisa mudar a configuração do cluster por meio do arquivo ceph.conf
, por exemplo, porque usa um cliente que não suporta opções de leitura do banco de dados de configuração, você precisa executar o comando a seguir e cuidar da manutenção e da distribuição do arquivo ceph.conf
em todo o cluster:
cephuser@adm >
ceph config set mgr mgr/cephadm/manage_etc_ceph_ceph_conf false
28.1.1 Acessando o ceph.conf
dentro das imagens de container #
Embora os daemons do Ceph sejam executados dentro de containers, você ainda pode acessar o arquivo de configuração ceph.conf
deles. Ele é montado por vínculo como o seguinte arquivo no sistema host:
/var/lib/ceph/CLUSTER_FSID/DAEMON_NAME/config
Substitua CLUSTER_FSID pelo FSID exclusivo do cluster em execução, conforme retornado pelo comando ceph fsid
, e DAEMON_NAME pelo nome do daemon específico, conforme listado pelo comando ceph orch ps
. Por exemplo:
/var/lib/ceph/b4b30c6e-9681-11ea-ac39-525400d7702d/osd.2/config
Para modificar a configuração de um daemon, edite seu arquivo config
e reinicie-o:
#
systemctl restart ceph-CLUSTER_FSID-DAEMON_NAME
Por exemplo:
#
systemctl restart ceph-b4b30c6e-9681-11ea-ac39-525400d7702d-osd.2
Todas as configurações personalizadas serão perdidas depois que o cephadm implantar o daemon novamente.
28.2 Banco de dados de configuração #
Os Ceph Monitors gerenciam um banco de dados central de opções de configuração que afetam o comportamento de todo o cluster.
28.2.1 Configurando seções e máscaras #
As opções de configuração armazenadas pelo MON podem residir em uma seção global, de tipo de daemon ou de daemon específico. Além disso, as opções também podem ter uma máscara associada a elas para restringir ainda mais os daemons ou clientes aos quais a opção é aplicada. As máscaras têm dois formatos:
TYPE:LOCATION, em que TYPE é uma propriedade CRUSH, como
rack
ouhost
, e LOCATION é o valor dessa propriedade.Por exemplo,
host:example_host
limitará a opção apenas aos daemons ou clientes executados em um host específico.CLASS:DEVICE_CLASS, em que DEVICE_CLASS é o nome de uma classe de dispositivo CRUSH, como
hdd
oussd
. Por exemplo,class:ssd
limitará a opção apenas aos OSDs suportados por SSDs. Essa máscara não tem efeito para daemons ou clientes não OSD.
28.2.2 Definindo e lendo as opções de configuração #
Use os comandos a seguir para definir ou ler as opções de configuração do cluster. O parâmetro WHO pode ser um nome de seção, uma máscara ou uma combinação dos dois, separados por uma barra (/). Por exemplo, osd/rack:foo
representa todos os daemons OSD no rack chamado foo
.
ceph config dump
Despeja todo o banco de dados de configuração de um cluster inteiro.
ceph config get WHO
Despeja a configuração de um daemon ou cliente específico (por exemplo,
mds.a
), conforme armazenado no banco de dados de configuração.ceph config set WHO OPTION VALUE
Define a opção de configuração como o valor especificado no banco de dados de configuração.
ceph config show WHO
Mostra a configuração de execução relatada para um daemon em execução. Essas configurações poderão ser diferentes das armazenadas pelos monitores se também houver arquivos de configuração locais em uso ou se as opções tiverem sido anuladas na linha de comando ou em tempo de execução. A origem dos valores de opção é relatada como parte da saída.
ceph config assimilate-conf -i INPUT_FILE -o OUTPUT_FILE
Importa um arquivo de configuração especificado como INPUT_FILE e armazena todas as opções válidas no banco de dados de configuração. Quaisquer configurações não reconhecidas, inválidas ou que não possam ser controladas pelo monitor serão retornadas em um arquivo abreviado armazenado como OUTPUT_FILE. Esse comando é útil para a transição de arquivos de configuração legados para a configuração centralizada baseada no monitor.
28.2.3 Configurando daemons em tempo de execução #
Na maioria dos casos, o Ceph permite que você faça mudanças na configuração de um daemon em tempo de execução. Isso é útil, por exemplo, quando você precisa aumentar ou diminuir a quantidade de saída de registro ou para executar a otimização do cluster em tempo de execução.
Você pode atualizar os valores das opções de configuração com o seguinte comando:
cephuser@adm >
ceph config set DAEMON OPTION VALUE
Por exemplo, para ajustar o nível de registro de depuração em um OSD específico, execute:
cephuser@adm >
ceph config set osd.123 debug_ms 20
Se a mesma opção também for personalizada em um arquivo de configuração local, a configuração do monitor será ignorada porque tem prioridade mais baixa do que o arquivo de configuração.
28.2.3.1 Anulando valores #
Você pode modificar temporariamente o valor de uma opção usando os subcomandos tell
ou daemon
. Essa modificação afeta apenas o processo em execução e é descartada após a reinicialização do daemon ou do processo.
Há duas maneiras de anular valores:
Usar o subcomando
tell
para enviar uma mensagem a um daemon específico de qualquer nó do cluster:cephuser@adm >
ceph tell DAEMON config set OPTION VALUEPor exemplo:
cephuser@adm >
ceph tell osd.123 config set debug_osd 20DicaO subcomando
tell
aceita curingas como identificadores de daemons. Por exemplo, para ajustar o nível de depuração em todos os daemons OSD, execute:cephuser@adm >
ceph tell osd.* config set debug_osd 20Usar o subcomando
daemon
para se conectar a um processo de daemon específico por meio de um soquete em/var/run/ceph
do nó onde o processo está sendo executado:cephuser@adm >
cephadm enter --name osd.ID -- ceph daemon DAEMON config set OPTION VALUEPor exemplo:
cephuser@adm >
cephadm enter --name osd.4 -- ceph daemon osd.4 config set debug_osd 20
Ao ver as configurações de tempo de execução com o comando ceph config show
(consulte o Seção 28.2.3.2, “Visualizando as configurações de tempo de execução”), os valores temporariamente anulados serão mostrados com a origem override
.
28.2.3.2 Visualizando as configurações de tempo de execução #
Para ver todas as opções definidas para um daemon:
cephuser@adm >
ceph config show-with-defaults osd.0
Para ver todas as opções não padrão definidas para um daemon:
cephuser@adm >
ceph config show osd.0
Para inspecionar uma opção específica:
cephuser@adm >
ceph config show osd.0 debug_osd
Você também pode se conectar a um daemon em execução do nó onde seu processo está sendo executado e observar sua configuração:
cephuser@adm >
cephadm enter --name osd.0 -- ceph daemon osd.0 config show
Para ver apenas as configurações não padrão:
cephuser@adm >
cephadm enter --name osd.0 -- ceph daemon osd.0 config diff
Para inspecionar uma opção específica:
cephuser@adm >
cephadm enter --name osd.0 -- ceph daemon osd.0 config get debug_osd
28.3 config-key
armazenar #
config-key
é um serviço de finalidade geral oferecido pelos Ceph Monitors. Ele simplifica o gerenciamento de chaves de configuração armazenando pares de chave-valor permanentemente. O serviço config-key
é usado principalmente pelas ferramentas e daemons do Ceph.
Após adicionar uma nova chave ou modificar uma existente, reinicie o serviço afetado para que as mudanças entrem em vigor. Encontre mais detalhes sobre a operação dos serviços do Ceph no Capítulo 14, Operação de serviços do Ceph.
Use o comando para operar o armazenamento
config-key
config-key. O comando config-key
usa os seguintes subcomandos:
ceph config-key rm KEY
Apaga a chave especificada.
ceph config-key exists KEY
Verifica a existência da chave especificada.
ceph config-key get KEY
Recupera o valor da chave especificada.
ceph config-key ls
Lista todas as chaves.
ceph config-key dump
Despeja todas as chaves e seus valores.
ceph config-key set KEY VALUE
Armazena a chave especificada com o valor fornecido.
28.3.1 iSCSI Gateway #
O Gateway iSCSI usa o armazenamento config-key
para gravar ou ler suas opções de configuração. Todas as chaves relacionadas ao Gateway iSCSI recebem a string iscsi
como prefixo, por exemplo:
iscsi/trusted_ip_list iscsi/api_port iscsi/api_user iscsi/api_password iscsi/api_secure
Por exemplo, se você precisar de dois conjuntos de opções de configuração, estenda o prefixo com outra palavra-chave descritiva, como datacenterA
e datacenterB
:
iscsi/datacenterA/trusted_ip_list iscsi/datacenterA/api_port [...] iscsi/datacenterB/trusted_ip_list iscsi/datacenterB/api_port [...]
28.4 Ceph OSD e BlueStore #
28.4.1 Configurando o dimensionamento automático do cache #
É possível configurar o BlueStore para redimensionar automaticamente os caches quando tc_malloc
está configurado como o alocador de memória e a configuração bluestore_cache_autotune
está habilitada. Por padrão, essa opção está habilitada atualmente. O BlueStore tentará manter o uso de memória heap OSD abaixo de um tamanho de destino designado por meio da opção de configuração osd_memory_target
. Esse é um algoritmo de melhor esforço, e os caches não terão um tamanho menor do que o valor especificado por osd_memory_cache_min
. Os índices do cache serão escolhidos com base em uma hierarquia de prioridades. Se as informações de prioridade não estiverem disponíveis, as opções bluestore_cache_meta_ratio
e bluestore_cache_kv_ratio
serão usadas como fallbacks.
- bluestore_cache_autotune
Ajusta automaticamente os índices atribuídos aos diferentes caches do BlueStore respeitando os valores mínimos. O padrão é
True
(Verdadeiro).- osd_memory_target
Quando
tc_malloc
ebluestore_cache_autotune
estão habilitados, tenta manter essa quantidade de bytes mapeada na memória.NotaTalvez esse valor não corresponda exatamente ao uso de memória RSS do processo. Embora a quantidade total de memória heap mapeada pelo processo deva geralmente ficar próxima a esse destino, não há garantia de que o kernel recuperará de fato a memória que não foi mapeada.
- osd_memory_cache_min
Quando
tc_malloc
ebluestore_cache_autotune
estão habilitados, define a quantidade mínima de memória usada para os caches.NotaSe for definido um valor muito baixo, o resultado poderá ser uma ultrapaginação do cache.
28.5 Gateway de Objetos do Ceph #
Você pode influenciar o comportamento do Gateway de Objetos por meio de várias opções. Se uma opção não for especificada, seu valor padrão será usado. Veja a seguir uma lista completa das opções do Gateway de Objetos:
28.5.1 Configurações gerais #
- rgw_frontends
Configura o(s) front end(s) HTTP. Especifique vários front ends em uma lista delimitada por vírgula. Cada configuração de front end pode incluir uma lista de opções separadas por espaços, com cada opção no formato “chave=valor” ou “chave”. O padrão é
beast port=7480
.- rgw_data
Define o local dos arquivos de dados para o Gateway de Objetos. O padrão é
/var/lib/ceph/radosgw/CLUSTER_ID
.- rgw_enable_apis
Habilita as APIs especificadas. O padrão é “s3, swift, swift_auth, admin All APIs”.
- rgw_cache_enabled
Habilita ou desabilita o cache do Gateway de Objetos. O padrão é
true
.- rgw_cache_lru_size
O número de entradas no cache do Gateway de Objetos. O padrão é 10000.
- rgw_socket_path
O caminho do soquete de domínio.
FastCgiExternalServer
usa esse soquete. Se você não especificar um caminho de soquete, o Gateway de Objetos não será executado como um servidor externo. O caminho que você especifica aqui precisa ser o mesmo especificado no arquivorgw.conf
.- rgw_fcgi_socket_backlog
A lista de pendências do soquete para o fcgi. O padrão é 1024.
- rgw_host
O host para a instância do Gateway de Objetos. Pode ser um endereço IP ou um nome de host. O padrão é
0.0.0.0
.- rgw_port
O número da porta que a instância usa para escutar as solicitações. Se não for especificado, o Gateway de Objetos executará o FastCGI externo.
- rgw_dns_name
O nome DNS do domínio atendido.
- rgw_script_uri
O valor alternativo para o SCRIPT_URI, se não for definido na solicitação.
- rgw_request_uri
O valor alternativo para o REQUEST_URI, se não for definido na solicitação.
- rgw_print_continue
Habilite 100-continue se for operacional. O padrão é
true
.- rgw_remote_addr_param
O parâmetro de endereço remoto. Por exemplo, o campo HTTP com o endereço remoto ou o endereço X-Forwarded-For, se um proxy reverso for operacional. O padrão é
REMOTE_ADDR
.- rgw_op_thread_timeout
O tempo de espera em segundos para threads abertos. O padrão é 600.
- rgw_op_thread_suicide_timeout
O tempo de espera em segundos para o processo do Gateway de Objetos ser encerrado. Desabilitado se definido como 0 (padrão).
- rgw_thread_pool_size
Número de threads para o servidor Beast. Aumente para um valor mais alto se você precisa atender a mais solicitações. O padrão é 100 threads.
- rgw_num_rados_handles
O número de manipuladores do cluster RADOS para o Gateway de Objetos. Agora, cada thread do worker do Gateway de Objetos precisa selecionar um manipulador do RADOS para sua vida útil. Essa opção pode ser descontinuada e removida em versões futuras. O padrão é 1.
- rgw_num_control_oids
O número de objetos de notificação usados para sincronização de cache entre instâncias diferentes do Gateway de Objetos. O padrão é 8.
- rgw_init_timeout
O número de segundos até o Gateway de Objetos desistir da inicialização. O padrão é 30.
- rgw_mime_types_file
O caminho e o local dos tipos MIME. Usado para detecção automática de tipos de objeto do Swift. O padrão é
/etc/mime.types
.- rgw_gc_max_objs
O número máximo de objetos que podem ser processados pela coleta de lixo em um ciclo de processamento de coleta de lixo. O padrão é 32.
- rgw_gc_obj_min_wait
O tempo mínimo de espera antes que o objeto possa ser removido e processado pela coleta de lixo. O padrão é 2*3600.
- rgw_gc_processor_max_time
O tempo máximo entre o início dos dois ciclos consecutivos de processamento da coleta de lixo. O padrão é 3600.
- rgw_gc_processor_period
O tempo do ciclo para o processamento da coleta de lixo. O padrão é 3600.
- rgw_s3_success_create_obj_status
A resposta alternativa de status de êxito para
create-obj
. O padrão é 0.- rgw_resolve_cname
Se o Gateway de Objetos deve usar o registro DNS CNAME do campo de nome de host da solicitação (se o nome de host não for igual ao nome name DNS do Gateway de Objetos). O padrão é
false
.- rgw_obj_stripe_size
O tamanho de uma faixa de objetos do Gateway de Objetos. O padrão é
4 << 20
.- rgw_extended_http_attrs
Adicione um novo conjunto de atributos que podem ser definidos em uma entidade (por exemplo, um usuário, um compartimento de memória ou um objeto). Esses atributos extras podem ser definidos por meio de campos de cabeçalho HTTP ao especificar a entidade ou modificá-la usando o método POST. Se definidos, esses atributos serão retornados como campos HTTP ao solicitar GET/HEAD na entidade. O padrão é
content_foo, content_bar, x-foo-bar
.- rgw_exit_timeout_secs
Por quantos segundos esperar por um processo antes de sair incondicionalmente. O padrão é 120.
- rgw_get_obj_window_size
O tamanho da janela em bytes para uma solicitação única de objeto. O padrão é
16 << 20
.- rgw_get_obj_max_req_size
O tamanho máximo da solicitação de uma única operação GET enviada para o Cluster de Armazenamento do Ceph. O padrão é
4 << 20
.- rgw_relaxed_s3_bucket_names
Habilita regras de nome de compartimento de memória S3 flexíveis para compartimentos de memória na região EUA. O padrão é
false
.- rgw_list_buckets_max_chunk
O número máximo de compartimentos de memória a serem recuperados em uma única operação ao listar compartimentos de memória de usuário. O padrão é 1000.
- rgw_override_bucket_index_max_shards
Representa o número de fragmentos para o objeto Índice do compartimento de memória. A configuração 0 (padrão) indica que não há fragmentação. Não é recomendado definir um valor muito grande (por exemplo, 1000), pois isso aumenta o custo para listagem de compartimentos de memória. Essa variável deve ser definida no cliente ou nas seções globais para ser automaticamente aplicada aos comandos
radosgw-admin
.- rgw_curl_wait_timeout_ms
O tempo de espera em milissegundos para determinadas chamadas
curl
. O padrão é 1000.- rgw_copy_obj_progress
Habilita a saída do progresso do objeto durante operações longas de cópia. O padrão é
true
.- rgw_copy_obj_progress_every_bytes
O mínimo de bytes entre a saída do progresso da cópia. O padrão é 1024*1024.
- rgw_admin_entry
O ponto de entrada para um URL de solicitação de admin. O padrão é
admin
.- rgw_content_length_compat
Habilita o processamento de compatibilidade de solicitações FCGI com os dois comandos CONTENT_LENGTH e HTTP_CONTENT_LENGTH definidos. O padrão é
false
.- rgw_bucket_quota_ttl
Por quanto tempo em segundos as informações de cota armazenadas em cache são confiáveis. Após esse tempo, as informações de cota serão buscadas novamente do cluster. O padrão é 600.
- rgw_user_quota_bucket_sync_interval
Por quanto tempo em segundos as informações de cota de compartimento de memória são acumuladas antes da sincronização com o cluster. Durante esse tempo, outras instâncias do Gateway de Objetos não verão as mudanças nas estatísticas de cota de compartimento de memória relacionadas às operações nesta instância. O padrão é 180.
- rgw_user_quota_sync_interval
Por quanto tempo em segundos as informações de cota de usuário são acumuladas antes da sincronização com o cluster. Durante esse tempo, outras instâncias do Gateway de Objetos não verão as mudanças nas estatísticas de cota de usuário relacionadas às operações nesta instância. O padrão é 180.
- rgw_bucket_default_quota_max_objects
Número máximo padrão de objetos por compartimento de memória. Ele será definido com base nos novos usuários, se nenhuma outra cota for especificada, e não terá efeito sobre os usuários existentes. Essa variável deve ser definida no cliente ou nas seções globais para ser automaticamente aplicada aos comandos
radosgw-admin
. O padrão é -1.- rgw_bucket_default_quota_max_size
Capacidade máxima padrão por compartimento de memória em bytes. Ela será definida com base nos novos usuários, se nenhuma outra cota for especificada, e não terá efeito sobre os usuários existentes. O padrão é -1.
- rgw_user_default_quota_max_objects
Número máximo padrão de objetos para um usuário. Isso inclui todos os objetos em todos os compartimentos de memória de propriedade do usuário. Ele será definido com base nos novos usuários, se nenhuma outra cota for especificada, e não terá efeito sobre os usuários existentes. O padrão é -1.
- rgw_user_default_quota_max_size
O valor da cota de tamanho máximo do usuário em bytes definido com base nos novos usuários, se nenhuma outra cota for especificada. Ele não tem efeito sobre os usuários existentes. O padrão é -1.
- rgw_verify_ssl
Verificar os certificados SSL ao fazer as solicitações. O padrão é
true
.- rgw_max_chunk_size
Tamanho máximo de um pacote de dados que será lido em uma única operação. Aumentar o valor para 4 MB (4194304) proporcionará um melhor desempenho ao processar objetos grandes. O padrão é 128 KB (131072).
- rgw_zone
O nome da zona para a instância do gateway. Se nenhuma zona for definida, um padrão do tamanho do cluster poderá ser configurado com o comando
radosgw-admin zone default
.- rgw_zonegroup
O nome do grupo de zonas para a instância do gateway. Se nenhum grupo de zonas for definido, um padrão do tamanho do cluster poderá ser configurado com o comando
radosgw-admin zonegroup default
.- rgw_realm
O nome do domínio Kerberos para a instância do gateway. Se nenhum domínio Kerberos for definido, um padrão do tamanho do cluster poderá ser configurado com o comando
radosgw-admin realm default
.- rgw_run_sync_thread
Se houver outras zonas no domínio Kerberos das quais sincronizar, gere threads para processar a sincronização dos dados e metadados. O padrão é
true
.- rgw_data_log_window
As janelas de entradas de registro de dados em segundos. O padrão é 30.
- rgw_data_log_changes_size
O número de entradas na memória a serem armazenadas para o registro de mudanças de dados. O padrão é 1000.
- rgw_data_log_obj_prefix
O prefixo do nome do objeto para o registro de dados. O padrão é “data_log”.
- rgw_data_log_num_shards
O número de fragmentos (objetos) nos quais manter o registro de mudanças de dados. O padrão é 128.
- rgw_md_log_max_shards
O número máximo de fragmentos para o registro de metadados. O padrão é 64.
- rgw_enforce_swift_acls
Impõe as configurações da Lista de Controle de Acesso (ACL, Access Control List) do Swift. O padrão é
true
.- rgw_swift_token_expiration
O tempo em segundos para expirar um token Swift. O padrão é 24*3600.
- rgw_swift_url
O URL para a API Swift do Gateway de Objetos do Ceph.
- rgw_swift_url_prefix
O prefixo de URL para o StorageURL do Swift que fica na frente da parte "/v1". Isso permite executar várias instâncias do Gateway no mesmo host. Para compatibilidade, se essa variável de configuração for definida como vazia, o "/swift" padrão será usado. Use o prefixo "/" explícito para iniciar o StorageURL na raiz.
AtençãoSe essa opção for definida como "/”, ela não funcionará se a API do S3 estiver habilitada. Saiba que a desabilitação do S3 impossibilita a implantação do Gateway de Objetos na configuração multissite.
- rgw_swift_auth_url
URL padrão para verificar os tokens de autenticação v1 quando a autenticação interna do Swift não é usada.
- rgw_swift_auth_entry
O ponto de entrada para um URL de autenticação do Swift. O padrão é
auth
.- rgw_swift_versioning_enabled
Habilita o Controle de Versão de Objeto da API de Armazenamento de Objetos do OpenStack. Isso permite que os clientes insiram o atributo
X-Versions-Location
nos containers que devem ter o controle de versão. O atributo especifica o nome do container que armazena as versões arquivadas. Ele deve ser de propriedade do mesmo usuário que o container com controle de versão, por motivos de verificação de controle de acesso. As ACLs não são levadas em consideração. Não é possível controlar a versão desses containers usando o mecanismo de controle de versão de objetos do S3. O padrão éfalse
.
- rgw_log_nonexistent_bucket
Permite que o Gateway de Objetos registre uma solicitação para um compartimento de memória não existente. O padrão é
false
.- rgw_log_object_name
O formato de registro para um nome de objeto. Consulte a página de manual
man 1 date
para obter detalhes sobre especificadores de formato. O padrão é%Y-%m-%d-%H-%i-%n
.- rgw_log_object_name_utc
Se um nome de objeto registrado inclui horário UTC. Se definido como
false
(padrão), o horário local será usado.- rgw_usage_max_shards
O número máximo de fragmentos para registro de uso. O padrão é 32.
- rgw_usage_max_user_shards
O número máximo de fragmentos usados para registro de uso de um único usuário. O padrão é 1.
- rgw_enable_ops_log
Habilitar o registro para cada operação bem-sucedida do Gateway de Objetos. O padrão é
false
.- rgw_enable_usage_log
Habilitar o registro de uso. O padrão é
false
.- rgw_ops_log_rados
Se o registro de operações deve ser gravado no back end do Cluster de Armazenamento do Ceph. O padrão é
true
.- rgw_ops_log_socket_path
O soquete de domínio do Unix para gravação de registros de operações.
- rgw_ops_log_data_backlog
O tamanho máximo dos dados da lista de pendências para registros de operações gravados em um soquete de domínio do Unix. O padrão é 5 << 20.
- rgw_usage_log_flush_threshold
O número de entradas fundidas modificadas no registro de uso antes do descarregamento sincronizado. O padrão é 1024.
- rgw_usage_log_tick_interval
Descarregar os dados de registro de uso pendentes a cada “n” segundos. O padrão é 30.
- rgw_log_http_headers
Lista delimitada por vírgula de cabeçalhos HTTP para incluir nas entradas de registro. Os nomes de cabeçalho não diferenciam maiúsculas de minúsculas e usam o nome completo do cabeçalho com palavras separadas por sublinhados. Por exemplo, “http_x_forwarded_for”, “http_x_special_k”.
- rgw_intent_log_object_name
O formato de registro para o nome do objeto de registro de intenções. Consulte a página de manual
man 1 date
para obter detalhes sobre especificadores de formato. O padrão é “%Y-%m-%d-%i-%n”.- rgw_intent_log_object_name_utc
Se o nome do objeto de registro de intenções inclui horário UTC. Se definido como
false
(padrão), o horário local será usado.
- rgw_keystone_url
O URL para o servidor Keystone.
- rgw_keystone_api_version
A versão (2 ou 3) da API OpenStack Identity que deve ser usada para comunicação com o servidor Keystone. O padrão é 2.
- rgw_keystone_admin_domain
O nome do domínio do OpenStack com o privilégio de administrador ao usar a API OpenStack Identity v3.
- rgw_keystone_admin_project
O nome do projeto do OpenStack com o privilégio de administrador ao usar a API OpenStack Identity v3. Se não for definido, o valor de
rgw keystone admin tenant
será usado.- rgw_keystone_admin_token
O token de administrador do Keystone (segredo compartilhado). No Gateway de Objetos, a autenticação com o token de administrador tem prioridade em relação à autenticação com as credenciais de administrador (opções
rgw keystone admin user
,rgw keystone admin password
,rgw keystone admin tenant
,rgw keystone admin project
ergw keystone admin domain
). O recurso de token de administrador é considerado descontinuado.- rgw_keystone_admin_tenant
O nome do locatário do OpenStack com o privilégio de administrador (Locatário de Serviço) ao usar a API OpenStack Identity v2.
- rgw_keystone_admin_user
O nome do usuário do OpenStack com o privilégio de administrador para autenticação do Keystone (Usuário de Serviço) ao usar a API OpenStack Identity v2.
- rgw_keystone_admin_password
A senha para o usuário administrador do OpenStack ao usar a API OpenStack Identity v2.
- rgw_keystone_accepted_roles
As funções necessárias para atender às solicitações. O padrão é “Member, admin”.
- rgw_keystone_token_cache_size
O número máximo de entradas em cada cache de token do Keystone. O padrão é 10000.
- rgw_keystone_revocation_interval
O número de segundos entre as verificações de revogação de token. O padrão é 15*60.
- rgw_keystone_verify_ssl
Verificar os certificados SSL ao fazer as solicitações de token para o Keystone. O padrão é
true
.
28.5.1.1 Notas adicionais #
- rgw_dns_name
Permite que os clientes usem compartimentos de memória no estilo
vhost
.O acesso no estilo
vhost
indica o uso de bucketname.s3-endpoint/object-path. Esta é uma comparação com o acesso no estilopath
: s3-endpoint/bucket/objectSe
rgw dns name
for definido, verifique se o cliente S3 está configurado para direcionar as solicitações ao endpoint especificado porrgw dns name
.
28.5.2 Configurando front ends HTTP #
28.5.2.1 Beast #
- porta, ssl_port
Números de porta de escuta IPv4 e IPv6. Você pode especificar vários números de porta:
port=80 port=8000 ssl_port=8080
O padrão é 80.
- endpoint, ssl_endpoint
Os endereços de escuta no formato “endereço[:porta]”, em que o endereço é uma string de endereço IPv4 no formato decimal com pontos ou um endereço IPv6 na notação hexadecimal entre colchetes. Se for especificado um endpoint IPv6, a escuta será apenas no IPv6. O número da porta opcional considera o padrão de 80 para
endpoint
e 443 parassl_endpoint
. Você pode especificar vários endereços:endpoint=[::1] endpoint=192.168.0.100:8000 ssl_endpoint=192.168.0.100:8080
- ssl_private_key
Caminho opcional para o arquivo de chave privada usado para endpoints habilitados para SSL. Se não for especificado, o arquivo
ssl_certificate
será usado como uma chave privada.- tcp_nodelay
Se especificado, a opção de soquete desabilitará o algoritmo Nagle na conexão. Isso significa que os pacotes serão enviados o mais rápido possível, em vez de esperar por um buffer completo ou o tempo de espera se esgotar.
“1” desabilita o algoritmo Nagle para todos os soquetes.
“0” mantém o algoritmo Nagle habilitado (padrão).
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
O número da porta de escuta. Para as portas habilitadas para SSL, adicione um sufixo "s" (por exemplo, “443s”). Para vincular um endereço IPv4 ou IPv6 específico, use o formato “endereço:porta”. Você pode especificar vários endpoints adicionando “+” ou inserindo várias opções:
port=127.0.0.1:8000+443s port=8000 port=443s
O padrão é 7480.
- num_threads
O número de threads gerados pelo Civetweb para processar as conexões HTTP recebidas. Efetivamente, isso limita o número de conexões simultâneas que o front end pode atender.
O padrão é o valor especificado pela opção
rgw_thread_pool_size
.- request_timeout_ms
Por quanto tempo em milissegundos o Civetweb aguardará por mais dados recebidos antes de desistir.
O padrão é de 30.000 milissegundos.
- access_log_file
Caminho para o arquivo de registro de acessos. Você pode especificar um caminho completo ou um caminho relativo ao diretório de trabalho atual. Se não for especificado (padrão), os acessos não serão registrados.
- error_log_file
Caminho para o arquivo de registro de erros. Você pode especificar um caminho completo ou um caminho relativo ao diretório de trabalho atual. Se não for especificado (padrão), os erros não serão registrados.
/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 Opções comuns #
- ssl_certificate
Caminho para o arquivo de certificado SSL usado para endpoints habilitados para SSL.
- prefix
Uma string de prefixo que é inserida no URI de todas as solicitações. Por exemplo, um front end apenas Swift pode inserir um prefixo de URI
/swift
.