Aprovisionar recursos compartidos de archivos CIFS y NFS mediante API
Puede aprovisionar recursos compartidos CIFS y recursos compartidos de archivos NFS en sus máquinas virtuales de almacenamiento (SVM) mediante las API de aprovisionamiento proporcionadas como parte de Active IQ Unified Manager. Este flujo de trabajo de aprovisionamiento detalla los pasos para recuperar las claves de las SVM, los niveles de servicio de rendimiento y las políticas de eficiencia de almacenamiento antes de crear los recursos compartidos de archivos.
El siguiente diagrama ilustra cada paso en un flujo de trabajo de aprovisionamiento de recursos compartidos de archivos. Incluye el aprovisionamiento de recursos compartidos CIFS y de recursos compartidos de archivos NFS.
|
|
Asegúrese de lo siguiente:
|
-
Determine si los LIF de datos o los puntos finales de acceso están disponibles en el SVM en el que desea crear el recurso compartido CIFS. Obtenga la lista de puntos finales de acceso disponibles en la SVM:
Categoría verbo HTTP Camino proveedor de almacenamiento
CONSEGUIR
/storage-provider/access-endpoints/storage-provider/access-endpoints/{key}Ejemplo 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>"
-
Si su punto final de acceso está disponible en la lista, obtenga la clave del punto final de acceso; de lo contrario, cree el punto final de acceso.
Asegúrese de crear puntos finales de acceso que tengan el protocolo CIFS habilitado. El aprovisionamiento de recursos compartidos CIFS falla a menos que haya creado un punto final de acceso con el protocolo CIFS habilitado en él.
Categoría verbo HTTP Camino proveedor de almacenamiento
CORREO
/storage-provider/access-endpointsEjemplo de cURL
Debes ingresar los detalles del punto final de acceso que deseas crear, 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}"La salida JSON muestra una clave de objeto de trabajo que puede usar para verificar el punto final de acceso que creó.
-
Verificar el punto final de acceso:
Categoría verbo HTTP Camino servidor de administración
CONSEGUIR
/management-server/jobs/{key} -
Determine si debe crear un recurso compartido CIFS o un recurso compartido de archivos NFS. Para crear recursos compartidos CIFS, siga estos subpasos:
-
Determine si el servidor CIFS está configurado en su SVM, es decir, determine si se crea una asignación de Active Directory en el SVM.
Categoría verbo HTTP Camino proveedor de almacenamiento
CONSEGUIR
/storage-provider/active-directories-mappings -
Si se crea la asignación de Active Directory, tome la clave; de lo contrario, cree la asignación de Active Directory en la SVM.
Categoría verbo HTTP Camino proveedor de almacenamiento
CORREO
/storage-provider/active-directories-mappingsEjemplo de cURL
Debe ingresar los detalles para crear la asignación de 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 es una llamada sincrónica y puede verificar la creación de la asignación de Active Directory en la salida. En caso de error, se muestra el mensaje de error para que pueda solucionar el problema y volver a ejecutar la solicitud.
-
-
Obtenga la clave SVM para la SVM en la que desea crear el recurso compartido CIFS o el recurso compartido de archivos NFS, como se describe en el tema de flujo de trabajo Verificación de SVM en clústeres.
-
Obtenga la clave para el nivel de servicio de rendimiento ejecutando la siguiente API y recuperando la clave de la respuesta.
Categoría verbo HTTP Camino proveedor de almacenamiento
CONSEGUIR
/storage-provider/performance-service-levelsPuede recuperar los detalles de los niveles de servicio de rendimiento definidos por el sistema configurando
system_definedparámetro de entrada atrue. A partir de la salida, obtenga la clave del nivel de servicio de rendimiento que desea aplicar en el recurso compartido de archivos. -
De manera opcional, obtenga la clave de la Política de eficiencia de almacenamiento que desea aplicar en el recurso compartido de archivos ejecutando la siguiente API y recuperando la clave de la respuesta.
Categoría verbo HTTP Camino proveedor de almacenamiento
CONSEGUIR
/storage-provider/storage-efficiency-policies -
Crear el recurso compartido de archivos. Puede crear un recurso compartido de archivos que admita CIFS y NFS especificando la lista de control de acceso y la política de exportación. Los siguientes subpasos proporcionan información si desea crear un recurso compartido de archivos para admitir solo uno de los protocolos en el volumen. También puede actualizar un recurso compartido de archivos NFS para incluir la lista de control de acceso después de haber creado el recurso compartido NFS. Para obtener más información, consulte el tema Modificación de cargas de trabajo de almacenamiento.
-
Para crear solo un recurso compartido CIFS, recopile la información sobre la lista de control de acceso (ACL). Para crear el recurso compartido CIFS, proporcione valores válidos para los siguientes parámetros de entrada. Para cada grupo de usuarios que asigne, se crea una ACL cuando se aprovisiona un recurso compartido CIFS/SMB. En función de los valores que ingrese para ACL y la asignación de Active Directory, el control de acceso y la asignación se determinan para el recurso compartido CIFS cuando se crea.
Un comando cURL con valores de muestra
{ "access_control": { "acl": [ { "permission": "read", "user_or_group": "everyone" } ], "active_directory_mapping": { "key": "3b648c1b-d965-03b7-20da-61b791a6263c" }, -
Para crear solo un recurso compartido de archivos NFS, recopile la información sobre la política de exportación. Para crear el recurso compartido de archivos NFS, proporcione valores válidos para los siguientes parámetros de entrada. Según sus valores, la política de exportación se adjunta al recurso compartido de archivos NFS cuando se crea.
Al aprovisionar el recurso compartido NFS, puede crear una política de exportación proporcionando todos los valores necesarios o proporcionar la clave de la política de exportación y reutilizar una política de exportación existente. Si desea reutilizar una política de exportación para la máquina virtual de almacenamiento, debe agregar la clave de la política de exportación. A menos que conozca la clave, puede recuperar la clave de la política de exportación utilizando el
/datacenter/protocols/nfs/export-policiesAPI. Para crear una nueva política, debe ingresar las reglas como se muestran en el siguiente ejemplo. Para las reglas ingresadas, la API intenta buscar una política de exportación existente haciendo coincidir el host, la máquina virtual de almacenamiento y las reglas. Si existe una política de exportación, se utiliza. De lo contrario, se crea una nueva política de exportación.Un comando cURL con valores de muestra
"export_policy": { "key": "7d5a59b3-953a-11e8-8857-00a098dcc959:type=export_policy,uuid=1460288880641", "name_tag": "ExportPolicyNameTag", "rules": [ { "clients": [ { "match": "0.0.0.0/0" }
Después de configurar la lista de control de acceso y la política de exportación, proporcione los valores válidos para los parámetros de entrada obligatorios para los recursos compartidos de archivos CIFS y NFS:
-
|
|
La política de eficiencia de almacenamiento es un parámetro opcional para crear recursos compartidos de archivos. |
| Categoría | verbo HTTP | Camino |
|---|---|---|
proveedor de almacenamiento |
CORREO |
|
La salida JSON muestra una clave de objeto de trabajo que puede usar para verificar el recurso compartido de archivos que creó. . Verifique la creación del recurso compartido de archivos utilizando la clave del objeto de trabajo devuelta al consultar el trabajo:
| Categoría | verbo HTTP | Camino |
|---|---|---|
servidor de administración |
CONSEGUIR |
|
Al final de la respuesta, verá la clave del recurso compartido de archivos creado.
],
"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 la creación del recurso compartido de archivos ejecutando la siguiente API con la clave devuelta:
Categoría verbo HTTP Camino proveedor de almacenamiento
CONSEGUIR
/storage-provider/file-shares/{key}Ejemplo de salida JSON
Puedes ver que el método POST de
/storage-provider/file-sharesinvoca internamente todas las API necesarias para cada una de las funciones y crea el objeto. Por ejemplo, invoca la/storage-provider/performance-service-levels/API para asignar el nivel de servicio de rendimiento en el recurso compartido de archivos.{ "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" } } }