Provisionar recursos compartidos de archivos CIFS y NFS usando las API de Active IQ Unified Manager
Puedes aprovisionar recursos compartidos CIFS y recursos compartidos de archivos NFS en tus Storage Virtual Machines (SVMs) con las API de aprovisionamiento que se proporcionan como parte de Active IQ Unified Manager. Este flujo de trabajo de aprovisionamiento detalla los pasos para recuperar las claves de las SVMs, los Performance Service Levels y las Storage Efficiency Policies antes de crear los recursos compartidos de archivos.
El siguiente diagrama ilustra cada paso de un flujo de trabajo de aprovisionamiento de recursos compartidos de archivos. Incluye el aprovisionamiento tanto de recursos compartidos CIFS como de recursos compartidos de archivos NFS.
|
|
Asegúrate de lo siguiente:
|
-
Comprueba si hay LIF de datos o puntos de acceso disponibles en la SVM en la que deseas crear el recurso compartido CIFS. Obtén la lista de puntos de acceso disponibles en la SVM:
Categoría Verbo HTTP Ruta proveedor de almacenamiento
GET
/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 tu endpoint de acceso está disponible en la lista, obtén la clave del endpoint de acceso; de lo contrario, crea el endpoint de acceso.
Asegúrate de crear puntos de acceso que tengan habilitado el protocolo CIFS. El aprovisionamiento de recursos compartidos CIFS fallará a menos que hayas creado un punto de acceso con el protocolo CIFS habilitado.
Categoría Verbo HTTP Ruta proveedor de almacenamiento
POST
/storage-provider/access-endpointsEjemplo de cURL
Debes introducir los detalles del endpoint de acceso que quieres 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 Job que puedes usar para verificar el endpoint de acceso que has creado.
-
Comprueba el punto final de acceso:
Categoría Verbo HTTP Ruta servidor de gestión
GET
/management-server/jobs/{key} -
Determina si debes crear un recurso compartido CIFS o un recurso compartido de archivos NFS. Para crear recursos compartidos CIFS, sigue estos subpasos:
-
Comprueba si el servidor CIFS está configurado en tu SVM, es decir, si se ha creado una asignación de Active Directory en la SVM.
Categoría Verbo HTTP Ruta proveedor de almacenamiento
GET
/storage-provider/active-directories-mappings -
Si ya creaste la asignación de Active Directory, toma la clave; de lo contrario, crea la asignación de Active Directory en la SVM.
Categoría Verbo HTTP Ruta proveedor de almacenamiento
POST
/storage-provider/active-directories-mappingsEjemplo de cURL
Debes introducir los detalles para crear el mapeo 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\"}"+ Se trata de una llamada síncrona y puedes comprobar 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 puedas solucionar el problema y volver a ejecutar la solicitud.
-
-
Obtén la clave de SVM para la SVM en la que quieres crear el recurso compartido CIFS o el recurso compartido de archivos NFS, como se describe en el tema de flujo de trabajo Verifying SVMs on clusters.
-
Para obtener la clave del nivel de servicio de rendimiento, ejecuta la siguiente API y recupera la clave de la respuesta.
Categoría Verbo HTTP Ruta proveedor de almacenamiento
GET
/storage-provider/performance-service-levelsPuedes obtener los detalles de los niveles de servicio de rendimiento definidos por el sistema configurando el parámetro de entrada
system_definedentrue. En la salida, obtén la clave del nivel de servicio de rendimiento que deseas aplicar al recurso compartido de archivos. -
Si lo deseas, puedes obtener la clave de la directiva de eficiencia de almacenamiento que quieras aplicar al recurso compartido de archivos ejecutando la siguiente API y recuperando la clave de la respuesta.
Categoría Verbo HTTP Ruta proveedor de almacenamiento
GET
/storage-provider/storage-efficiency-policies -
Crea el recurso compartido de archivos. Puedes crear un recurso compartido de archivos compatible tanto con CIFS como con NFS especificando la lista de control de acceso y la política de exportación. Los siguientes subpasos proporcionan información si deseas crear un recurso compartido de archivos que admita solo uno de los protocolos en el volumen. También puedes 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, consulta el tema Modifying storage workloads.
-
Para crear únicamente un recurso compartido CIFS, recopila la información sobre la lista de control de acceso (ACL). Para crear el recurso compartido CIFS, introduce valores válidos para los siguientes parámetros de entrada. Por cada grupo de usuarios que asignes, se crea una ACL al aprovisionar un recurso compartido CIFS/SMB. En función de los valores que introduzcas para la ACL y la asignación de Active Directory, se determinan el control de acceso y la asignación del recurso compartido CIFS cuando se crea.
Un comando cURL con valores de ejemplo
{ "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, recopila la información sobre la política de exportación. Para crear el recurso compartido de archivos NFS, introduce valores válidos para los siguientes parámetros de entrada. Según los valores que introduzcas, la política de exportación se adjunta al recurso compartido de archivos NFS cuando se crea.
Mientras aprovisionas el recurso compartido NFS, puedes 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 quieres reutilizar una política de exportación para la máquina virtual de almacenamiento, tienes que añadir la clave de la política de exportación. A menos que conozcas la clave, puedes recuperar la clave con la
/datacenter/protocols/nfs/export-policiesAPI. Para crear una política nueva, tienes que introducir las reglas como se muestra en el siguiente ejemplo. Para las reglas introducidas, 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 hay una política de exportación existente, se utiliza. De lo contrario, se crea una política de exportación nueva.Un comando cURL con valores de ejemplo
"export_policy": { "key": "7d5a59b3-953a-11e8-8857-00a098dcc959:type=export_policy,uuid=1460288880641", "name_tag": "ExportPolicyNameTag", "rules": [ { "clients": [ { "match": "0.0.0.0/0" }
Una vez configuradas la lista de control de acceso y la política de exportación, introduce los valores válidos para los parámetros de entrada obligatorios tanto para los recursos compartidos de archivos CIFS como para los de NFS:
-
|
|
Storage Efficiency Policy es un parámetro opcional para crear recursos compartidos de archivos. |
| Categoría | Verbo HTTP | Ruta |
|---|---|---|
proveedor de almacenamiento |
POST |
|
La salida JSON muestra una clave del objeto Job que puedes utilizar para verificar el recurso compartido de archivos que has creado. . Verifica la creación del recurso compartido de archivos utilizando la clave del objeto Job devuelta al consultar el trabajo:
| Categoría | Verbo HTTP | Ruta |
|---|---|---|
servidor de gestión |
GET |
|
Al final de la respuesta, verás 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"
}
}
}
-
Comprueba la creación del recurso compartido de archivos ejecutando la siguiente API con la clave devuelta:
Categoría Verbo HTTP Ruta proveedor de almacenamiento
GET
/storage-provider/file-shares/{key}Ejemplo de salida en formato JSON
Como puedes ver, 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 Performance Service Level 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" } } }