Provisionnez des partages de fichiers CIFS et NFS à l'aide des API d'Active IQ Unified Manager
Vous pouvez provisionner des partages CIFS et des partages de fichiers NFS sur vos Storage Virtual Machines (SVM) à l’aide des API de provisionnement fournies dans le cadre d’Active IQ Unified Manager. Ce workflow de provisionnement décrit en détail les étapes permettant de récupérer les clés des SVM, des Performance Service Levels et des Storage Efficiency Policies avant de créer les partages de fichiers.
Le diagramme suivant illustre chaque étape d’un processus de provisionnement de partage de fichiers. Il inclut le provisionnement des partages CIFS et des partages de fichiers NFS.
|
|
Assurez-vous de ce qui suit :
|
-
Déterminez si des LIF de données ou des points de terminaison d'accès sont disponibles sur la SVM sur laquelle vous souhaitez créer le partage CIFS. Obtenez la liste des points de terminaison d'accès disponibles sur la SVM :
Catégorie Verbe HTTP Chemin fournisseur de stockage
GET
/storage-provider/access-endpoints/storage-provider/access-endpoints/{key}Exemple 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 votre point de terminaison d'accès figure dans la liste, obtenez la clé du point de terminaison d'accès, sinon créez le point de terminaison d'accès.
Veillez à créer des points d'accès sur lesquels le protocole CIFS est activé. Le provisionnement des partages CIFS échoue si vous n'avez pas créé de point d'accès avec le protocole CIFS activé.
Catégorie Verbe HTTP Chemin fournisseur de stockage
POST
/storage-provider/access-endpointsExemple de cURL
Vous devez saisir, en tant que paramètres d'entrée, les détails du point de terminaison d'accès que vous souhaitez créer.
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 sortie JSON affiche une clé d'objet Job que vous pouvez utiliser pour vérifier le point de terminaison d'accès que vous avez créé.
-
Vérifiez le point de terminaison d'accès :
Catégorie Verbe HTTP Chemin serveur de gestion
GET
/management-server/jobs/{key} -
Déterminez si vous devez créer un partage CIFS ou un partage de fichiers NFS. Pour créer un partage CIFS, suivez les étapes suivantes :
-
Déterminez si le serveur CIFS est configuré sur votre SVM, c'est-à-dire si un mappage Active Directory est créé sur le SVM.
Catégorie Verbe HTTP Chemin fournisseur de stockage
GET
/storage-provider/active-directories-mappings -
Si le mappage Active Directory est créé, prenez la clé, sinon, créez le mappage Active Directory sur la SVM.
Catégorie Verbe HTTP Chemin fournisseur de stockage
POST
/storage-provider/active-directories-mappingsExemple de cURL
Vous devez saisir les détails nécessaires à la création du mappage Active Directory, en tant que paramètres d'entrée.
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\"}"+ Il s'agit d'un appel synchrone et vous pouvez vérifier la création du mappage Active Directory dans le résultat. En cas d'erreur, le message d'erreur s'affiche afin de vous permettre de résoudre le problème et de relancer la requête.
-
-
Obtenez la clé SVM de la SVM sur laquelle vous souhaitez créer le partage CIFS ou le partage de fichiers NFS, comme décrit dans la rubrique du flux de travail Vérification des SVM sur les clusters.
-
Obtenez la clé du Performance Service Level en exécutant l'API suivante et en récupérant la clé dans la réponse.
Catégorie Verbe HTTP Chemin fournisseur de stockage
GET
/storage-provider/performance-service-levelsVous pouvez récupérer les détails des niveaux de service de performance définis par le système en définissant le paramètre d'entrée
system_definedsurtrue. À partir de la sortie, obtenez la clé du niveau de service de performance que vous souhaitez appliquer au partage de fichiers. -
Si vous le souhaitez, obtenez la clé de la stratégie d'efficacité du stockage que vous souhaitez appliquer au partage de fichiers en exécutant l'API suivante et en récupérant la clé dans la réponse.
Catégorie Verbe HTTP Chemin fournisseur de stockage
GET
/storage-provider/storage-efficiency-policies -
Créez le partage de fichiers. Vous pouvez créer un partage de fichiers qui prend en charge à la fois CIFS et NFS en spécifiant la liste de contrôle d'accès et les règles d'export. Les sous-étapes suivantes fournissent des informations si vous souhaitez créer un partage de fichiers pour prendre en charge un seul des protocoles sur le volume. Vous pouvez également mettre à jour un partage de fichiers NFS pour inclure la liste de contrôle d'accès après avoir créé le partage NFS. Pour plus d'informations, consultez la rubrique Modifying storage workloads.
-
Pour créer uniquement un partage CIFS, rassemblez les informations relatives à la liste de contrôle d'accès (ACL). Pour créer le partage CIFS, fournissez des valeurs valides pour les paramètres d'entrée suivants. Pour chaque groupe d'utilisateurs que vous attribuez, une ACL est créée lorsqu'un partage CIFS/SMB est provisionné. Selon les valeurs que vous saisissez pour l'ACL et le mappage Active Directory, le contrôle d'accès et le mappage sont déterminés pour le partage CIFS lors de sa création.
Une commande cURL avec des valeurs d'exemple
{ "access_control": { "acl": [ { "permission": "read", "user_or_group": "everyone" } ], "active_directory_mapping": { "key": "3b648c1b-d965-03b7-20da-61b791a6263c" }, -
Pour créer uniquement un partage de fichiers NFS, rassemblez les informations relatives aux règles d'export. Pour créer le partage de fichiers NFS, veuillez fournir des valeurs valides pour les paramètres d'entrée suivants. En fonction des valeurs que vous fournissez, les règles d'export sont associées au partage de fichiers NFS lors de sa création.
Lors du provisionnement du partage NFS, vous pouvez soit créer des règles d'export en fournissant toutes les valeurs requises, soit fournir la clé des règles d'export et réutiliser des règles d'export existantes. Si vous souhaitez réutiliser des règles d'export pour la machine virtuelle de stockage, vous devez ajouter la clé des règles d'export. Si vous ne connaissez pas cette clé, vous pouvez récupérer la clé des règles d'export à l'aide de l' `/datacenter/protocols/nfs/export-policies`API. Pour créer de nouvelles règles, vous devez saisir les règles comme indiqué dans l'exemple suivant. Pour les règles saisies, l'API tente de rechercher des règles d'export existantes en faisant correspondre l'hôte, la machine virtuelle de stockage et les règles. S'il existe des règles d'export, elles sont utilisées. Sinon, de nouvelles règles d'export sont créées.
Une commande cURL avec des valeurs d'exemple
"export_policy": { "key": "7d5a59b3-953a-11e8-8857-00a098dcc959:type=export_policy,uuid=1460288880641", "name_tag": "ExportPolicyNameTag", "rules": [ { "clients": [ { "match": "0.0.0.0/0" }
Après avoir configuré la liste de contrôle d'accès et les règles d'export, indiquez les valeurs valides pour les paramètres d'entrée obligatoires des partages de fichiers CIFS et NFS :
-
|
|
Storage Efficiency Policy est un paramètre facultatif pour la création de partages de fichiers. |
| Catégorie | Verbe HTTP | Chemin |
|---|---|---|
fournisseur de stockage |
POST |
|
La sortie JSON affiche une clé d'objet Job que vous pouvez utiliser pour vérifier le partage de fichiers que vous avez créé . Vérifiez la création du partage de fichiers en utilisant la clé d'objet Job renvoyée lors de l'interrogation de la tâche :
| Catégorie | Verbe HTTP | Chemin |
|---|---|---|
serveur de gestion |
GET |
|
À la fin de la réponse, vous verrez la clé du partage de fichiers créé.
],
"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"
}
}
}
-
Vérifiez la création du partage de fichiers en exécutant l'API suivante avec la clé renvoyée :
Catégorie Verbe HTTP Chemin fournisseur de stockage
GET
/storage-provider/file-shares/{key}Exemple de sortie JSON
Vous pouvez constater que la méthode POST
/storage-provider/file-sharesappelle en interne toutes les API nécessaires à chacune des fonctions et crée l'objet. Par exemple, elle appelle l' `/storage-provider/performance-service-levels/`API permettant d'attribuer le niveau de service de performance au partage de fichiers.{ "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" } } }