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
O nível de consistência faz uma troca entre a disponibilidade dos objetos e a consistência desses objetos em diferentes nós e sites de storage. 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 |
---|---|
|
Especifica o token de autenticação Swift para a conta a ser usada para a solicitação. |
|
Especifica o tipo de solicitação, onde |
|
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 |
---|---|
|
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. |
|
O nível de controle de consistência que está sendo aplicado ao recipiente. Os seguintes valores são suportados:
|
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 |
---|---|
|
O token de autenticação Swift para a conta a ser usada para a solicitação. |
|
O nível de controle de consistência a aplicar às operações no recipiente. Os seguintes valores são suportados:
|
|
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 de 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 o comportamento de ingestão selecionado 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.
Os seguintes comportamentos de ingestão estão disponíveis para regras ILM:
-
Strict: Todas as cópias especificadas na regra ILM devem ser feitas antes que o sucesso seja devolvido ao cliente.
-
Balanced: O StorageGRID tenta fazer todas as cópias especificadas na regra ILM no ingest; se isso não for possível, cópias provisórias são feitas e o sucesso é retornado ao cliente. As cópias especificadas na regra ILM são feitas quando possível.
-
* Commit duplo*: O StorageGRID faz imediatamente cópias provisórias do objeto e retorna sucesso ao cliente. Cópias especificadas na regra ILM são feitas quando possível.
Antes de selecionar o comportamento de ingestão para uma regra ILM, leia a descrição completa dessas configurações nas instruções para gerenciar objetos com gerenciamento do ciclo de vida das informações. |
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