Skip to main content
Active IQ Unified Manager
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

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.

criar compartilhamentos de arquivos
Observação

Garanta o seguinte:

  • Os clusters ONTAP foram adicionados ao Unified Manager e a chave do cluster foi obtida.

  • SVMs foram criadas nos clusters.

  • Os SVMs suportam serviços CIFS e NFS. O provisionamento de compartilhamentos de arquivos pode falhar se as SVMs não suportarem os serviços necessários.

  • A porta FCP está online para provisionamento de porta.

  1. 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>"
  2. 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.

    Observação

    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.

  3. Verifique o ponto de extremidade de acesso:

    Categoria verbo HTTP Caminho

    servidor de gerenciamento

    PEGAR

    /management-server/jobs/{key}

  4. Determine se você precisa criar um compartilhamento CIFS ou um compartilhamento de arquivos NFS. Para criar compartilhamentos CIFS, siga estas subetapas:

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

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

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

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

    Observação

    Você pode recuperar os detalhes dos Níveis de Serviço de Desempenho definidos pelo sistema definindo o system_defined parâmetro de entrada para true . Na saída, obtenha a chave do Nível de Serviço de Desempenho que você deseja aplicar no compartilhamento de arquivos.

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

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

    1. 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"
          },
    2. 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.

      Observação

      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:

Observação

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

/storage-provider/file-shares

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

/management-server/jobs/{key}

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"
        }
    }
}
  1. 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"
            }
        }
    }