Ir para o conteúdoIr para navegação de página: página anterior [tecla de acesso p]/próxima página [tecla de acesso n]
documentation.suse.com / Documentação do SUSE Enterprise Storage 7.1 / Guia de Administração e Operações / Configurando um cluster / Configuração do cluster do Ceph
Aplica-se a SUSE Enterprise Storage 7.1

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).

Importante
Importante

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
Importante
Importante

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 ou host, 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 ou ssd. 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
Nota
Nota

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 VALUE

    Por exemplo:

    cephuser@adm > ceph tell osd.123 config set debug_osd 20
    Dica
    Dica

    O 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 20
  • Usar 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 VALUE

    Por exemplo:

    cephuser@adm > cephadm enter --name osd.4 -- ceph daemon osd.4 config set debug_osd 20
Dica
Dica

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.

Dica
Dica

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-keyconfig-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 e bluestore_cache_autotune estão habilitados, tenta manter essa quantidade de bytes mapeada na memória.

Nota
Nota

Talvez 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 e bluestore_cache_autotune estão habilitados, define a quantidade mínima de memória usada para os caches.

Nota
Nota

Se 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 arquivo rgw.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).

Configurações multissite
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.

Configurações do Swift
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ção
Atenção

Se 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.

Configurações de registro
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.

Configurações do Keystone
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 e rgw 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 estilo path: s3-endpoint/bucket/object

Se rgw dns name for definido, verifique se o cliente S3 está configurado para direcionar as solicitações ao endpoint especificado por rgw 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 para ssl_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).

Exemplo 28.1: Exemplo de configuração do Beast
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.

Exemplo 28.2: Exemplo de configuração do Civetweb em /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.