Skip to main content
Active IQ Unified Manager
Uma versão mais recente deste produto está disponível.
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.

Provisione compartilhamentos de arquivos CIFS e NFS usando as APIs do Active IQ Unified Manager

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 das SVMs, os Níveis de Serviço de Desempenho e as 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. Ele inclui o provisionamento de compartilhamentos CIFS e compartilhamentos de arquivos NFS.

Um diagrama que mostra um fluxo de trabalho de provisionamento de compartilhamento de arquivos CIFS e NFS
Observação

Certifique-se do seguinte:

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

  • As SVMs foram criadas nos clusters.

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

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

  1. Verifique se as LIFs de dados ou os endpoints de acesso estão disponíveis na SVM na qual você deseja criar o compartilhamento CIFS. Obtenha a lista de endpoints de acesso disponíveis na SVM:

    Categoria Verbo HTTP Caminho

    provedor de armazenamento

    GET

    /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 endpoint de acesso estiver disponível na lista, obtenha a chave do endpoint de acesso, caso contrário, crie o endpoint de acesso.

    Observação

    Certifique-se de criar endpoints de acesso com o protocolo CIFS habilitado. O provisionamento de compartilhamentos CIFS falhará, a menos que você tenha criado um endpoint de acesso com o protocolo CIFS habilitado.

    Categoria Verbo HTTP Caminho

    provedor de armazenamento

    POST

    /storage-provider/access-endpoints

    Exemplo de cURL

    Você deve inserir, como parâmetros de entrada, os detalhes do endpoint de acesso que deseja criar.

    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 do objeto Job que você pode usar para verificar o endpoint de acesso que você criou.

  3. Verifique o endpoint de acesso:

    Categoria Verbo HTTP Caminho

    servidor de gerenciamento

    GET

    /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. Verifique se o servidor CIFS está configurado na sua SVM, ou seja, verifique se há um mapeamento do Active Directory criado na SVM.

      Categoria Verbo HTTP Caminho

      provedor de armazenamento

      GET

      /storage-provider/active-directories-mappings

    2. Se o mapeamento do Active Directory estiver criado, use a chave; caso contrário, crie o mapeamento do Active Directory na SVM.

      Categoria Verbo HTTP Caminho

      provedor de armazenamento

      POST

      /storage-provider/active-directories-mappings

      Exemplo de cURL

      Você deve inserir os detalhes para criar o mapeamento do Active Directory nos 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 é exibida para que você possa solucionar o problema e executar a solicitação novamente.

  5. Obtenha a chave da SVM na qual você deseja criar o compartilhamento CIFS ou o compartilhamento de arquivos NFS, conforme descrito no tópico do fluxo de trabalho Verifying SVMs on clusters.

  6. Obtenha a chave do nível de serviço de desempenho executando a seguinte API e recuperando a chave da resposta.

    Categoria Verbo HTTP Caminho

    provedor de armazenamento

    GET

    /storage-provider/performance-service-levels

    Observação

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

  7. Opcionalmente, obtenha a chave da Política de eficiência de storage que você deseja aplicar ao compartilhamento de arquivos executando a seguinte API e recuperando a chave da resposta.

    Categoria Verbo HTTP Caminho

    provedor de armazenamento

    GET

    /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 após criar o compartilhamento NFS. Para obter informações, consulte o tópico Modifying storage workloads.

    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 que você atribuir, uma ACL é criada quando um compartilhamento CIFS/SMB é provisionado. Com base nos valores inseridos para ACL e mapeamento do Active Directory, o controle de acesso e o mapeamento são definidos para o compartilhamento CIFS quando ele é criado.

      Um comando cURL com valores de exemplo

      {
        "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 nos 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 você quiser reutilizar uma política de exportação para a VM de storage, precisará adicionar a chave da política de exportação. A menos que você conheça a chave, pode recuperar a chave da política de exportação usando a /datacenter/protocols/nfs/export-policies API. Para criar uma nova política, você deve inserir as regras conforme mostrado no exemplo a seguir. Para as regras inseridas, a API tenta procurar uma política de exportação existente correspondendo ao host, à VM de storage 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 exemplo

      "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 Storage Efficiency Policy é um parâmetro opcional para criar compartilhamentos de arquivos.

Categoria Verbo HTTP Caminho

provedor de armazenamento

POST

/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 de objeto Job retornada na consulta ao job:

Categoria Verbo HTTP Caminho

servidor de gerenciamento

GET

/management-server/jobs/{key}

Ao final da resposta, você vê a chave do compartilhamento de arquivos 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

    GET

    /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, ele invoca a /storage-provider/performance-service-levels/ API para atribuir o Nível de Serviço de Desempenho ao 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"
            }
        }
    }