26.4. Utilisation de libStorageMgmt
libStorageMgmt
de manière interactive, exécutez la commande lsmcli
.
lsmcli
a besoin de deux choses pour fonctionner :
- Un URI (Uniform Resource Identifier) à utiliser pour identifier le plug-in auquel se connecter dans l'aire de stockage et toutes les options de configuration possibles nécessaires.
- Un nom d'utilisateur et un mot de passe pour l'aire de stockage.
Exemple 26.1. Exemples de prérequis de plug-in
sim://
ontap+ssl://root@filer.company.com/
smis+ssl://admin@provider.com:5989/?namespace=root/emc
- Passer l'URI comme partie de la commande.
lsmcli -u sim://...
$ lsmcli -u sim://...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Stocker l'URI dans une variable d'environnement.
export LSMCLI_URI=sim:// && lsmcli ...
$ export LSMCLI_URI=sim:// && lsmcli ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Mettre l'URI dans le fichier
~/.lsmcli
, qui contient les paires nom-valeur séparées par "=". La seule configuration actuellement prise en charge est 'uri'.
Exemple 26.2. Exemples de lsmcli
lsmcli list --type SYSTEMS
$ lsmcli list --type SYSTEMS
ID | Name | Status
-------+-------------------------------+--------
sim-01 | LSM simulated storage plug-in | OK
lsmcli volume-create --name volume_name --size 20G --pool POO1 -H
$ lsmcli volume-create --name volume_name --size 20G --pool POO1 -H
ID | Name | vpd83 | bs | #blocks | status | ...
-----+-------------+----------------------------------+-----+----------+--------+----
Vol1 | volume_name | F7DDF7CA945C66238F593BC38137BD2F | 512 | 41943040 | OK | ...
lsmcli --create-access-group example_ag --id iqn.1994-05.com.domain:01.89bd01 --type ISCSI --system sim-01
$ lsmcli --create-access-group example_ag --id iqn.1994-05.com.domain:01.89bd01 --type ISCSI --system sim-01
ID | Name | Initiator ID |SystemID
---------------------------------+------------+----------------------------------+--------
782d00c8ac63819d6cca7069282e03a0 | example_ag | iqn.1994-05.com.domain:01.89bd01 |sim-01
lsmcli access-group-create --name example_ag --init iqn.1994-05.com.domain:01.89bd01 --init-type ISCSI --sys sim-01
$ lsmcli access-group-create --name example_ag --init iqn.1994-05.com.domain:01.89bd01 --init-type ISCSI --sys sim-01
ID | Name | Initiator IDs | System ID
---------------------------------+------------+----------------------------------+-----------
782d00c8ac63819d6cca7069282e03a0 | example_ag | iqn.1994-05.com.domain:01.89bd01 | sim-01
lsmcli access-group-grant --ag 782d00c8ac63819d6cca7069282e03a0 --vol Vol1 --access RW
$ lsmcli access-group-grant --ag 782d00c8ac63819d6cca7069282e03a0 --vol Vol1 --access RW
-b
en ligne de commande. Si le code de sortie vaut 0, la commande est exécutée. Si le code de sortie est de 7, la commande est en cours et un identificateur de tâche s'inscrit sur la sortie standard. L’utilisateur ou le script peut alors prendre l'ID de la tâche et interroger l’état de la commande au besoin à l’aide de lsmcli--jobstatus JobID
. Si la tâche est terminée, la valeur de sortie sera 0 et les résultats seront inscrits dans la sortie standard. Si la commande est toujours en cours, la valeur de retour sera le 7 et le pourcentage complet sera imprimé sur la sortie standard.
Exemple 26.3. Exemple asynchrone
-b
pour que la commande renvoie immédiatement.
lsmcli volume-create --name async_created --size 20G --pool POO1 -b JOB_3
$ lsmcli volume-create --name async_created --size 20G --pool POO1 -b JOB_3
echo $?
$ echo $?
7
lsmcli job-status --job JOB_3
$ lsmcli job-status --job JOB_3
33
echo $?
$ echo $?
7
lsmcli job-status --job JOB_3
$ lsmcli job-status --job JOB_3
ID | Name | vpd83 | Block Size | ...
-----+---------------+----------------------------------+-------------+-----
Vol2 | async_created | 855C9BA51991B0CC122A3791996F6B15 | 512 | ...
-t SeparatorCharacters
. Cela facilitera l'analyse de la sortie.
Exemple 26.4. Exemples de scipt
lsmcli list --type volumes -t#
$ lsmcli list --type volumes -t#
Vol1#volume_name#049167B5D09EC0A173E92A63F6C3EA2A#512#41943040#21474836480#OK#sim-01#POO1
Vol2#async_created#3E771A2E807F68A32FA5E15C235B60CC#512#41943040#21474836480#OK#sim-01#POO1
lsmcli list --type volumes -t " | "
$ lsmcli list --type volumes -t " | "
Vol1 | volume_name | 049167B5D09EC0A173E92A63F6C3EA2A | 512 | 41943040 | 21474836480 | OK | 21474836480 | sim-01 | POO1
Vol2 | async_created | 3E771A2E807F68A32FA5E15C235B60CC | 512 | 41943040 | 21474836480 | OK | sim-01 | POO1
lsmcli
, voir les pages man ou la commande lsmcli --help
.