Operações da API REST do StorageGRID Swift
Há operações adicionadas à API REST do Swift que são específicas do sistema StorageGRID.
OBTER solicitação de consistência de contêiner
"Controles de consistência" Forneça um equilíbrio entre a disponibilidade dos objetos e a consistência desses objetos em diferentes nós de storage e locais. A solicitação GET Container Consistency permite que você determine o nível de consistência que está sendo aplicado a um contentor específico.
Pedido
Solicitar cabeçalho HTTP | Descrição |
---|---|
X-Auth-Token |
Especifica o token de autenticação Swift para a conta a ser usada para a solicitação. |
consistência x-ntap-sg |
Especifica o tipo de solicitação, onde |
Host |
O nome do host para o qual a solicitação é direcionada. |
Exemplo de solicitação
GET /v1/28544923908243208806/Swift container X-Auth-Token: SGRD_3a877009a2d24cb1801587bfa9050f29 x-ntap-sg-consistency: true Host: test.com
Resposta
Cabeçalho HTTP de resposta | Descrição |
---|---|
Data |
A data e a hora da resposta. |
Ligação |
Se a conexão com o servidor está aberta ou fechada. |
X-Trans-ID |
O identificador de transação exclusivo para a solicitação. |
Comprimento do conteúdo |
O comprimento do corpo de resposta. |
consistência x-ntap-sg |
O nível de controle de consistência que está sendo aplicado ao recipiente. Os seguintes valores são suportados: Todos: Todos os nós recebem os dados imediatamente ou a solicitação falhará. Strong-global: Garante consistência de leitura após gravação para todas as solicitações de clientes em todos os sites.
Read-after-novo-write: (Padrão) fornece consistência de leitura-após-gravação para novos objetos e eventual consistência para atualizações de objetos. Oferece alta disponibilidade e garantias de proteção de dados. Recomendado para a maioria dos casos. Disponível: Fornece consistência eventual para novos objetos e atualizações de objetos. Para buckets do S3, use somente conforme necessário (por exemplo, para um bucket que contém valores de log raramente lidos, ou para operações HEAD ou GET em chaves que não existem). Não compatível com buckets do FabricPool S3. |
Exemplo de resposta
HTTP/1.1 204 No Content Date: Sat, 29 Nov 2015 01:02:18 GMT Connection: CLOSE X-Trans-Id: 1936575373 Content-Length: 0 x-ntap-sg-consistency: strong-site
COLOQUE o pedido de consistência do recipiente
A solicitação de consistência de contentor PUT permite especificar o nível de consistência a ser aplicado às operações realizadas em um contentor. Por padrão, novos contentores são criados usando o nível de consistência "read-after-new-write".
Pedido
Solicitar cabeçalho HTTP | Descrição |
---|---|
X-Auth-Token |
O token de autenticação Swift para a conta a ser usada para a solicitação. |
consistência x-ntap-sg |
O nível de controle de consistência a aplicar às operações no recipiente. Os seguintes valores são suportados: Todos: Todos os nós recebem os dados imediatamente ou a solicitação falhará. Strong-global: Garante consistência de leitura após gravação para todas as solicitações de clientes em todos os sites.
Read-after-novo-write: (Padrão) fornece consistência de leitura-após-gravação para novos objetos e eventual consistência para atualizações de objetos. Oferece alta disponibilidade e garantias de proteção de dados. Recomendado para a maioria dos casos. Disponível: Fornece consistência eventual para novos objetos e atualizações de objetos. Para buckets do S3, use somente conforme necessário (por exemplo, para um bucket que contém valores de log raramente lidos, ou para operações HEAD ou GET em chaves que não existem). Não compatível com buckets do FabricPool S3. |
|
O nome do host para o qual a solicitação é direcionada. |
Como os controles de consistência e as regras de ILM interagem para afetar a proteção de dados
Tanto a sua escolha "controle de consistência" quanto a sua regra ILM afetam a forma como os objetos são protegidos. Essas configurações podem interagir.
Por exemplo, o controle de consistência usado quando um objeto é armazenado afeta o posicionamento inicial dos metadados do objeto, enquanto a "comportamento de ingestão"regra selecionada para a regra ILM afeta o posicionamento inicial das cópias do objeto. Como o StorageGRID exige acesso aos metadados de um objeto e aos dados para atender às solicitações do cliente, selecionar níveis de proteção correspondentes para o nível de consistência e comportamento de ingestão pode fornecer melhor proteção inicial de dados e respostas do sistema mais previsíveis.
Exemplo de como o controle de consistência e a regra ILM podem interagir
Suponha que você tenha uma grade de dois locais com a seguinte regra ILM e a seguinte configuração de nível de consistência:
-
Regra ILM: Crie duas cópias de objeto, uma no local e outra em um local remoto. O comportamento de ingestão estrita é selecionado.
-
Nível de consistência: "Trong-global" (metadados de objetos são imediatamente distribuídos para todos os sites.)
Quando um cliente armazena um objeto na grade, o StorageGRID faz cópias de objeto e distribui metadados para ambos os sites antes de retornar sucesso ao cliente.
O objeto é totalmente protegido contra perda no momento da mensagem de ingestão bem-sucedida. Por exemplo, se o local for perdido logo após a ingestão, cópias dos dados do objeto e dos metadados do objeto ainda existem no local remoto. O objeto é totalmente recuperável.
Se, em vez disso, você usou a mesma regra ILM e o nível de consistência "site-trong", o cliente poderá receber uma mensagem de sucesso depois que os dados do objeto forem replicados para o site remoto, mas antes que os metadados do objeto sejam distribuídos lá. Nesse caso, o nível de proteção dos metadados de objetos não corresponde ao nível de proteção dos dados de objeto. Se o site local for perdido logo após a ingestão, os metadados do objeto serão perdidos. O objeto não pode ser recuperado.
A inter-relação entre níveis de consistência e regras de ILM pode ser complexa. Contacte a NetApp se necessitar de assistência.
Exemplo de solicitação
PUT /v1/28544923908243208806/_Swift container_ X-Auth-Token: SGRD_3a877009a2d24cb1801587bfa9050f29 x-ntap-sg-consistency: strong-site Host: test.com
Resposta
Cabeçalho HTTP de resposta | Descrição |
---|---|
|
A data e a hora da resposta. |
|
Se a conexão com o servidor está aberta ou fechada. |
|
O identificador de transação exclusivo para a solicitação. |
|
O comprimento do corpo de resposta. |
Exemplo de resposta
HTTP/1.1 204 No Content Date: Sat, 29 Nov 2015 01:02:18 GMT Connection: CLOSE X-Trans-Id: 1936575373 Content-Length: 0