Provisionar compartilhamentos de arquivos CIFS e NFS usando APIs
Você pode provisionar compartilhamentos CIFS e compartilhamentos de arquivos NFS em suas Máquinas Virtuais de Armazenamento (SVMs) usando as APIs de provisionamento fornecidas como parte do Active IQ Unified Manager. Este fluxo de trabalho de provisionamento detalha as etapas para recuperar as chaves dos SVMs, Níveis de Serviço de Desempenho e Políticas de Eficiência de Armazenamento antes de criar os compartilhamentos de arquivos.
O diagrama a seguir ilustra cada etapa em um fluxo de trabalho de provisionamento de compartilhamento de arquivos. Inclui o provisionamento de compartilhamentos CIFS e compartilhamentos de arquivos NFS.

|
Garanta o seguinte:
|
-
Determine se os LIFs de dados ou os pontos de extremidade de acesso estão disponíveis no SVM no qual você deseja criar o compartilhamento CIFS. Obtenha a lista de pontos de extremidade de acesso disponíveis no SVM:
Categoria verbo HTTP Caminho provedor de armazenamento
PEGAR
/storage-provider/access-endpoints
/storage-provider/access-endpoints/{key}
Exemplo de cURL
curl -X GET "https://<hostname>/api/storage-provider/access-endpoints?resource.key=7d5a59b3-953a-11e8-8857-00a098dcc959" -H "accept: application/json" -H "Authorization: Basic <Base64EncodedCredentials>"
-
Se o seu ponto de extremidade de acesso estiver disponível na lista, obtenha a chave do ponto de extremidade de acesso; caso contrário, crie o ponto de extremidade de acesso.
Certifique-se de criar pontos de extremidade de acesso que tenham o protocolo CIFS habilitado. O provisionamento de compartilhamentos CIFS falha, a menos que você tenha criado um ponto de extremidade de acesso com o protocolo CIFS habilitado.
Categoria verbo HTTP Caminho provedor de armazenamento
PUBLICAR
/storage-provider/access-endpoints
Exemplo de cURL
Você deve inserir os detalhes do ponto de extremidade de acesso que deseja criar, como parâmetros de entrada.
curl -X POST "https://<hostname>/api/storage-provider/access-endpoints" -H "accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic <Base64EncodedCredentials>" { \"data_protocols\": \"nfs\", \"fileshare\": { \"key\": \"cbd1757b-0580-11e8-bd9d-00a098d39e12:type=volume,uuid=f3063d27-2c71-44e5-9a69-a3927c19c8fc\" }, \"gateway\": \"10.132.72.12\", \"ip\": { \"address\": \"10.162.83.26\", \"ha_address\": \"10.142.83.26\", \"netmask\": \"255.255.0.0\" }, \"lun\": { \"key\": \"cbd1757b-0580-11e8-bd9d-00a098d39e12:type=lun,uuid=d208cc7d-80a3-4755-93d4-5db2c38f55a6\" }, \"mtu\": 15000, \"name\": \"aep1\", \"svm\": { \"key\": \"cbd1757b-0580-11e8-bd9d-00a178d39e12:type=vserver,uuid=1d1c3198-fc57-11e8-99ca-00a098d38e12\" }, \"vlan\": 10}"
A saída JSON exibe uma chave de objeto Job que você pode usar para verificar o ponto de extremidade de acesso que você criou.
-
Verifique o ponto de extremidade de acesso:
Categoria verbo HTTP Caminho servidor de gerenciamento
PEGAR
/management-server/jobs/{key}
-
Determine se você precisa criar um compartilhamento CIFS ou um compartilhamento de arquivos NFS. Para criar compartilhamentos CIFS, siga estas subetapas:
-
Determine se o servidor CIFS está configurado no seu SVM, ou seja, determine se um mapeamento do Active Directory foi criado no SVM.
Categoria verbo HTTP Caminho provedor de armazenamento
PEGAR
/storage-provider/active-directories-mappings
-
Se o mapeamento do Active Directory for criado, pegue a chave; caso contrário, crie o mapeamento do Active Directory no SVM.
Categoria verbo HTTP Caminho provedor de armazenamento
PUBLICAR
/storage-provider/active-directories-mappings
Exemplo de cURL
Você deve inserir os detalhes para criar o mapeamento do Active Directory como parâmetros de entrada.
curl -X POST "https://<hostname>/api/storage-provider/active-directories-mappings" -H "accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic <Base64EncodedCredentials>" { \"_links\": {}, \"dns\": \"10.000.000.000\", \"domain\": \"example.com\", \"password\": \"string\", \"svm\": { \"key\": \"9f4ddea-e395-11e9-b660-005056a71be9:type=vserver,uuid=191a554a-f0ce-11e9-b660-005056a71be9\" }, \"username\": \"string\"}"
+ Esta é uma chamada síncrona e você pode verificar a criação do mapeamento do Active Directory na saída. Em caso de erro, a mensagem de erro será exibida para você solucionar o problema e executar a solicitação novamente.
-
-
Obtenha a chave SVM para o SVM no qual você deseja criar o compartilhamento CIFS ou o compartilhamento de arquivos NFS, conforme descrito no tópico de fluxo de trabalho Verificando SVMs em clusters.
-
Obtenha a chave para o Nível de Serviço de Desempenho executando a seguinte API e recuperando a chave da resposta.
Categoria verbo HTTP Caminho provedor de armazenamento
PEGAR
/storage-provider/performance-service-levels
Você pode recuperar os detalhes dos Níveis de Serviço de Desempenho definidos pelo sistema definindo o
system_defined
parâmetro de entrada paratrue
. Na saída, obtenha a chave do Nível de Serviço de Desempenho que você deseja aplicar no compartilhamento de arquivos. -
Opcionalmente, obtenha a chave da Política de Eficiência de Armazenamento que você deseja aplicar no compartilhamento de arquivos executando a seguinte API e recuperando a chave da resposta.
Categoria verbo HTTP Caminho provedor de armazenamento
PEGAR
/storage-provider/storage-efficiency-policies
-
Crie o compartilhamento de arquivos. Você pode criar um compartilhamento de arquivos que suporte CIFS e NFS especificando a lista de controle de acesso e a política de exportação. As subetapas a seguir fornecem informações caso você queira criar um compartilhamento de arquivos para oferecer suporte a apenas um dos protocolos no volume. Você também pode atualizar um compartilhamento de arquivos NFS para incluir a lista de controle de acesso depois de criar o compartilhamento NFS. Para obter informações, consulte o tópico Modificando cargas de trabalho de armazenamento.
-
Para criar apenas um compartilhamento CIFS, reúna as informações sobre a lista de controle de acesso (ACL). Para criar o compartilhamento CIFS, forneça valores válidos para os seguintes parâmetros de entrada. Para cada grupo de usuários atribuído, uma ACL é criada quando um compartilhamento CIFS/SMB é provisionado. Com base nos valores inseridos para o mapeamento de ACL e do Active Directory, o controle de acesso e o mapeamento são determinados para o compartilhamento CIFS quando ele é criado.
Um comando cURL com valores de amostra
{ "access_control": { "acl": [ { "permission": "read", "user_or_group": "everyone" } ], "active_directory_mapping": { "key": "3b648c1b-d965-03b7-20da-61b791a6263c" },
-
Para criar apenas um compartilhamento de arquivos NFS, reúna as informações sobre a política de exportação. Para criar o compartilhamento de arquivos NFS, forneça valores válidos para os seguintes parâmetros de entrada. Com base em seus valores, a política de exportação é anexada ao compartilhamento de arquivos NFS quando ele é criado.
Ao provisionar o compartilhamento NFS, você pode criar uma política de exportação fornecendo todos os valores necessários ou fornecer a chave da política de exportação e reutilizar uma política de exportação existente. Se quiser reutilizar uma política de exportação para a VM de armazenamento, você precisará adicionar a chave da política de exportação. A menos que você saiba a chave, você pode recuperar a chave da política de exportação usando o
/datacenter/protocols/nfs/export-policies
API. Para criar uma nova política, você deve inserir as regras conforme exibido no exemplo a seguir. Para as regras inseridas, a API tenta procurar uma política de exportação existente correspondendo ao host, à VM de armazenamento e às regras. Se houver uma política de exportação existente, ela será usada. Caso contrário, uma nova política de exportação será criada.Um comando cURL com valores de amostra
"export_policy": { "key": "7d5a59b3-953a-11e8-8857-00a098dcc959:type=export_policy,uuid=1460288880641", "name_tag": "ExportPolicyNameTag", "rules": [ { "clients": [ { "match": "0.0.0.0/0" }
Após configurar a lista de controle de acesso e a política de exportação, forneça os valores válidos para os parâmetros de entrada obrigatórios para compartilhamentos de arquivos CIFS e NFS:
-
|
A Política de Eficiência de Armazenamento é um parâmetro opcional para criar compartilhamentos de arquivos. |
Categoria | verbo HTTP | Caminho |
---|---|---|
provedor de armazenamento |
PUBLICAR |
|
A saída JSON exibe uma chave de objeto Job que você pode usar para verificar o compartilhamento de arquivos que você criou. . Verifique a criação do compartilhamento de arquivos usando a chave do objeto Job retornada na consulta do job:
Categoria | verbo HTTP | Caminho |
---|---|---|
servidor de gerenciamento |
PEGAR |
|
No final da resposta, você vê a chave do compartilhamento de arquivo criado.
], "job_results": [ { "name": "fileshareKey", "value": "7d5a59b3-953a-11e8-8857-00a098dcc959:type=volume,uuid=e581c23a-1037-11ea-ac5a-00a098dcc6b6" } ], "_links": { "self": { "href": "/api/management-server/jobs/06a6148bf9e862df:-2611856e:16e8d47e722:-7f87" } } }
-
Verifique a criação do compartilhamento de arquivos executando a seguinte API com a chave retornada:
Categoria verbo HTTP Caminho provedor de armazenamento
PEGAR
/storage-provider/file-shares/{key}
Exemplo de saída JSON
Você pode ver que o método POST de
/storage-provider/file-shares
invoca internamente todas as APIs necessárias para cada uma das funções e cria o objeto. Por exemplo, invoca o/storage-provider/performance-service-levels/
API para atribuição do Nível de Serviço de Desempenho no compartilhamento de arquivos.{ "key": "7d5a59b3-953a-11e8-8857-00a098dcc959:type=volume,uuid=e581c23a-1037-11ea-ac5a-00a098dcc6b6", "name": "FileShare_377", "cluster": { "uuid": "7d5a59b3-953a-11e8-8857-00a098dcc959", "key": "7d5a59b3-953a-11e8-8857-00a098dcc959:type=cluster,uuid=7d5a59b3-953a-11e8-8857-00a098dcc959", "name": "AFFA300-206-68-70-72-74", "_links": { "self": { "href": "/api/datacenter/cluster/clusters/7d5a59b3-953a-11e8-8857-00a098dcc959:type=cluster,uuid=7d5a59b3-953a-11e8-8857-00a098dcc959" } } }, "svm": { "uuid": "b106d7b1-51e9-11e9-8857-00a098dcc959", "key": "7d5a59b3-953a-11e8-8857-00a098dcc959:type=vserver,uuid=b106d7b1-51e9-11e9-8857-00a098dcc959", "name": "RRT_ritu_vs1", "_links": { "self": { "href": "/api/datacenter/svm/svms/7d5a59b3-953a-11e8-8857-00a098dcc959:type=vserver,uuid=b106d7b1-51e9-11e9-8857-00a098dcc959" } } }, "assigned_performance_service_level": { "key": "1251e51b-069f-11ea-980d-fa163e82bbf2", "name": "Value", "peak_iops": 75, "expected_iops": 75, "_links": { "self": { "href": "/api/storage-provider/performance-service-levels/1251e51b-069f-11ea-980d-fa163e82bbf2" } } }, "recommended_performance_service_level": { "key": null, "name": "Idle", "peak_iops": null, "expected_iops": null, "_links": {} }, "space": { "size": 104857600 }, "assigned_storage_efficiency_policy": { "key": null, "name": "Unassigned", "_links": {} }, "access_control": { "acl": [ { "user_or_group": "everyone", "permission": "read" } ], "export_policy": { "id": 1460288880641, "key": "7d5a59b3-953a-11e8-8857-00a098dcc959:type=export_policy,uuid=1460288880641", "name": "default", "rules": [ { "anonymous_user": "65534", "clients": [ { "match": "0.0.0.0/0" } ], "index": 1, "protocols": [ "nfs3", "nfs4" ], "ro_rule": [ "sys" ], "rw_rule": [ "sys" ], "superuser": [ "none" ] }, { "anonymous_user": "65534", "clients": [ { "match": "0.0.0.0/0" } ], "index": 2, "protocols": [ "cifs" ], "ro_rule": [ "ntlm" ], "rw_rule": [ "ntlm" ], "superuser": [ "none" ] } ], "_links": { "self": { "href": "/api/datacenter/protocols/nfs/export-policies/7d5a59b3-953a-11e8-8857-00a098dcc959:type=export_policy,uuid=1460288880641" } } } }, "_links": { "self": { "href": "/api/storage-provider/file-shares/7d5a59b3-953a-11e8-8857-00a098dcc959:type=volume,uuid=e581c23a-1037-11ea-ac5a-00a098dcc6b6" } } }