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://...
- Stocker l'URI dans une variable d'environnement.
$ export LSMCLI_URI=sim:// && lsmcli ...
- 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 ID | Name | Status -------+-------------------------------+-------- sim-01 | LSM simulated storage plug-in | OK
$ lsmcli list --type POOLS -H ID | Name | Total space | Free space | System ID -----+---------------+----------------------+----------------------+----------- POO2 | Pool 2 | 18446744073709551616 | 18446744073709551616 | sim-01 POO3 | Pool 3 | 18446744073709551616 | 18446744073709551616 | sim-01 POO1 | Pool 1 | 18446744073709551616 | 18446744073709551616 | sim-01 POO4 | lsm_test_aggr | 18446744073709551616 | 18446744073709551616 | sim-01
$ 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 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 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
-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
$ echo $? 7
$ lsmcli job-status --job JOB_3 33
$ echo $? 7
$ 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# 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 " | " Vol1 | volume_name | 049167B5D09EC0A173E92A63F6C3EA2A | 512 | 41943040 | 21474836480 | OK | 21474836480 | sim-01 | POO1 Vol2 | async_created | 3E771A2E807F68A32FA5E15C235B60CC | 512 | 41943040 | 21474836480 | OK | sim-01 | POO1
$ lsmcli list --type volumes -s --------------------------------------------- ID | Vol1 Name | volume_name VPD83 | 049167B5D09EC0A173E92A63F6C3EA2A Block Size | 512 #blocks | 41943040 Size | 21474836480 Status | OK System ID | sim-01 Pool ID | POO1 --------------------------------------------- ID | Vol2 Name | async_created VPD83 | 3E771A2E807F68A32FA5E15C235B60CC Block Size | 512 #blocks | 41943040 Size | 21474836480 Status | OK System ID | sim-01 Pool ID | POO1 ---------------------------------------------
lsmcli
, voir les pages man ou la commande lsmcli --help
.