cephx
Este capítulo apresenta uma lista de configurações importantes do cluster do Ceph e a respectiva descrição. As configurações são classificadas por tópico.
A Seção 2.13, “Ajustando o ceph.conf
com configurações personalizadas” descreve como fazer mudanças no arquivo de configuração do Ceph ceph.conf
. Entretanto, o comportamento real do cluster não é determinado pelo estado atual do arquivo ceph.conf
, mas sim pela configuração dos daemons Ceph em execução, que são armazenados na memória.
É possível consultar determinada configuração em um daemon Ceph usando o soquete de admin no nó em que o daemon está em execução. Por exemplo, o seguinte comando obtém o valor do parâmetro de configuração osd_max_write_size
do daemon denominado osd.0
:
cephadm@adm >
ceph --admin-daemon /var/run/ceph/ceph-osd.0.asok \
config get osd_max_write_size
{
"osd_max_write_size": "90"
}
Você também pode mudar as configurações dos daemons em tempo de execução. Lembre-se de que essa mudança é temporária e será perdida após a reinicialização do próximo daemon. Por exemplo, o seguinte comando muda o parâmetro osd_max_write_size
para “50” em todos os OSDs no cluster:
cephadm@adm >
ceph tell osd.* injectargs --osd_max_write_size 50
injectargs
Não é Confiável
Mudar as configurações do cluster com o comando injectargs
não é 100% confiável. Se você precisa ter certeza de que o parâmetro mudado está ativo, mude-o nos arquivos de configuração em todos os nós do cluster e reinicie todos os daemons no cluster.
É 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.
Ajusta automaticamente os índices atribuídos aos diferentes caches do BlueStore respeitando os valores mínimos. O padrão é True
(Verdadeiro).
Quando tc_malloc
e bluestore_cache_autotune
estão habilitados, tenta manter essa quantidade de bytes mapeada na memória.
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.
Quando tc_malloc
e bluestore_cache_autotune
estão habilitados, define a quantidade mínima de memória usada para os caches.
Se for definido um valor muito baixo, o resultado poderá ser uma ultrapaginação do cache.
É possível influenciar o comportamento do Object Gateway usando várias opções no arquivo /etc/ceph/ceph.conf
abaixo das seções denominadas
[client.radosgw.INSTANCE_NAME]
Se uma opção não for especificada, seu valor padrão será usado. Veja a seguir uma lista completa das opções do Object Gateway:
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 é
rgw_frontends = beast port=7480
Define o local dos arquivos de dados para o Object Gateway. O padrão é /var/lib/ceph/radosgw/CLUSTER_ID
.
Habilita as APIs especificadas. O padrão é “s3, swift, swift_auth, admin All APIs”.
Habilita ou desabilita o cache do Object Gateway. O padrão é “true”.
O número de entradas no cache do Object Gateway. O padrão é 10000.
O caminho do soquete de domínio. FastCgiExternalServer
usa esse soquete. Se você não especificar um caminho de soquete, o Object Gateway não será executado como um servidor externo. O caminho que você especifica aqui precisa ser o mesmo especificado no arquivo rgw.conf
.
A lista de pendências do soquete para o fcgi. O padrão é 1024.
O host para a instância do Object Gateway. Pode ser um endereço IP ou um nome de host. O padrão é 0.0.0.0
O número da porta que a instância usa para escutar as solicitações. Se não for especificado, o Object Gateway executará o FastCGI externo.
O nome DNS do domínio atendido.
O valor alternativo para o SCRIPT_URI, se não for definido na solicitação.
O valor alternativo para o REQUEST_URI, se não for definido na solicitação.
Habilite 100-continue se for operacional. O padrão é “true”.
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.
O tempo de espera em segundos para threads abertos. O padrão é 600.
O tempo de espera em segundos para o processo do Object Gateway ser encerrado. Desabilitado se definido como 0 (padrão).
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.
O número de manipuladores do cluster RADOS para o Object Gateway. Agora, cada thread do worker do Object Gateway 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.
O número de objetos de notificação usados para sincronização de cache entre diferentes instâncias do rgw. O padrão é 8.
O número de segundos até o Object Gateway desistir da inicialização. O padrão é 30.
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
.
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.
O tempo mínimo de espera antes que o objeto possa ser removido e processado pela coleta de lixo. O padrão é 2*3600.
O tempo máximo entre o início dos dois ciclos consecutivos de processamento da coleta de lixo. O padrão é 3600.
O tempo do ciclo para o processamento da coleta de lixo. O padrão é 3600.
A resposta alternativa de status de êxito para create-obj
. O padrão é 0.
Se o Object Gateway 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 Object Gateway). O padrão é “false” (falso).
O tamanho de uma faixa de objetos do Object Gateway. O padrão é 4 << 20.
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”.
Por quantos segundos esperar por um processo antes de sair incondicionalmente. O padrão é 120.
O tamanho da janela em bytes para uma solicitação única de objeto. O padrão é “16 << 20”.
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.
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” (falso).
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.
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
.
O tempo de espera em milissegundos para determinadas chamadas curl
. O padrão é 1000.
Habilita a saída do progresso do objeto durante operações longas de cópia. O padrão é “true”.
O mínimo de bytes entre a saída do progresso da cópia. O padrão é 1024*1024.
O ponto de entrada para um URL de solicitação de admin. O padrão é “admin”.
Habilita o processamento de compatibilidade de solicitações FCGI com os dois comandos CONTENT_LENGTH e HTTP_CONTENT_LENGTH definidos. O padrão é “false” (falso).
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.
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 Object Gateway 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.
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 Object Gateway 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.
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.
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.
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.
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.
Verificar os certificados SSL ao fazer as solicitações. O padrão é “true”.
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).
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
.
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
.
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
.
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”.
As janelas de entradas de registro de dados em segundos. O padrão é 30.
O número de entradas na memória a serem armazenadas para o registro de mudanças de dados. O padrão é 1000.
O prefixo do nome do objeto para o registro de dados. O padrão é “data_log”.
O número de fragmentos (objetos) nos quais manter o registro de mudanças de dados. O padrão é 128.
O número máximo de fragmentos para o registro de metadados. O padrão é 64.
Impõe as configurações da Lista de Controle de Acesso (ACL, Access Control List) do Swift. O padrão é “true”.
O tempo em segundos para expirar um token Swift. O padrão é 24*3600.
O URL para a API Swift do Ceph Object Gateway.
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.
Se essa opção for definida como “/”, ela não funcionará se a API S3 estiver habilitada. Saiba que a desabilitação do S3 impossibilita a implantação do Object Gateway na configuração multissite!
URL padrão para verificar os tokens de autenticação v1 quando a autenticação interna do Swift não é usada.
O ponto de entrada para um URL de autenticação do Swift. O padrão é “auth”.
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” (falso).
Permite que o Object Gateway registre uma solicitação para um compartimento de memória não existente. O padrão é “false” (falso).
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”.
Se um nome de objeto registrado inclui horário UTC. Se definido como "false" (padrão), será usado o horário local.
O número máximo de fragmentos para registro de uso. O padrão é 32.
O número máximo de fragmentos usados para registro de uso de um único usuário. O padrão é 1.
Habilitar o registro para cada operação bem-sucedida do Object Gateway. O padrão é “false” (falso).
Habilitar o registro de uso. O padrão é “false” (falso).
Se o registro de operações deve ser gravado no back end do Cluster de Armazenamento do Ceph. O padrão é “true”.
O soquete de domínio do Unix para gravação de registros de operações.
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.
O número de entradas fundidas modificadas no registro de uso antes do descarregamento sincronizado. O padrão é 1024.
Descarregar os dados de registro de uso pendentes a cada “n” segundos. O padrão é 30.
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”.
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”.
Se o nome do objeto de registro de intenções inclui horário UTC. Se definido como "false" (padrão), será usado o horário local.
O URL para o servidor Keystone.
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.
O nome do domínio do OpenStack com o privilégio de administrador ao usar a API OpenStack Identity v3.
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.
O token de administrador do Keystone (segredo compartilhado). No Object Gateway, 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.
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.
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.
A senha para o usuário administrador do OpenStack ao usar a API OpenStack Identity v2.
As funções necessárias para atender às solicitações. O padrão é “Member, admin”.
O número máximo de entradas em cada cache de token do Keystone. O padrão é 10000.
O número de segundos entre as verificações de revogação de token. O padrão é 15*60.
Verificar os certificados SSL ao fazer as solicitações de token para o Keystone. O padrão é “true”.
Se o parâmetro rgw dns name
for adicionado a ceph.conf
, verifique se o cliente S3 foi configurado para direcionar as solicitações no endpoint especificado por rgw dns name
.
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.
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
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.
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).
/etc/ceph/ceph.conf
#rgw_frontends = beast port=8000 ssl_port=443 ssl_certificate=/etc/ssl/ssl.crt error_log_file=/var/log/radosgw/civetweb.error.log
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.
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
.
Por quanto tempo em milissegundos o Civetweb aguardará por mais dados recebidos antes de desistir.
O padrão é de 30.000 milissegundos.
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.
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
#rgw_frontends = civetweb port=8000+443s request_timeout_ms=30000 error_log_file=/var/log/radosgw/civetweb.error.log
Caminho para o arquivo de certificado SSL usado para endpoints habilitados para SSL.
Uma string de prefixo que é inserida no URI de todas as solicitações. Por exemplo, um front end apenas Swift pode fornecer um prefixo de URI “/swift”.