amCLI est une interface de ligne de commande pour ServerView RAID Manager. Celle-ci peut être utilisée pour créer, supprimer ou gérer des matrices RAID ou pour gérer ServerView RAID Manager à partir de la ligne de commande ou d'un script.
La version haut de gamme d'amCLI comprend les options de commande suivantes :
-c|--create : créer un lecteur logique
-d|--delete : supprimer le dernier lecteur logique
-e|--exec : exécuter une commande spécifique à un périphérique
-g|--get : obtenir la propriété d'une cible
-i|--import : importer un certificat
-l|--list : recenser des informations
-m|--migrate : migrer une matrice RAID vers un autre niveau RAID
-r|--restore : restaurer l'état d'un fichier
-s|--set : définir la propriété d'une cible sur une valeur donnée
-w|--write : écrire l'état actuel d'un fichier
-Z|--zap : supprimer une cible
-?|--help : donner une aide succincte
Seule l'une d'entre elles peut être spécifiée, -? étant la valeur par défaut.
Tous les objets pouvant être manipulés à l'aide de cette commande (l'intégralité du sous-système ServerView RAID Manager, des adaptateurs, des lecteurs physiques et des lecteurs logiques, c'est-à-dire les matrices RAID) sont identifiés par deux numéros séparés par une barre oblique (/) : le premier numéro représente un module et le second un index (basé sur 0) : <mod/idx>. Dans ce document, le terme utilisé pour désigner cette combinaison de numéros est l'adresse d'un objet.
Actuellement, sont pris en charge les numéros de module suivants :
mod | Module |
21 | ServerView RAID Manager |
32 | Adaptateur Avago MegaRAID SAS, Adaptateur SAS/SAS2/SAS3 IT/IR, MegaSR |
36 | Adaptateur Fujitsu Aries SAS |
39 | Logiciel Linux RAID |
40 | Adaptateur Avago MegaRAID SAS, Adaptateur SAS/SAS2/SAS3 IT/IR (via CIM) |
47 | Chipset AMD RAID |
48 | Fusion-io PCIe SSD's |
53 | Intel PCIe SSD's |
Remarque : les valeurs d'index ne sont pas obligatoirement consécutives (par exemple, si 27/5 et 27/7 existent, 27/6 peut ne pas exister), sont associées à un module (par exemple, 26/5 et 27/5 peuvent exister simultanément) et la numérotation continue entre les adaptateurs, les lecteurs logiques et physiques (par exemple, 27/5 et 27/10 peuvent être des adaptateurs, 27/6 et 27/7 peuvent être des lecteurs physiques et 27/8 et 27/9 peuvent être des lecteurs logiques).
Dans les exemples suivants,
Utilisez amCLI -l pour rechercher les adresses des objets que vous souhaitez utiliser.
Pour le script, il est possible de supprimer toutes les demandes de confirmation à l'aide de l'option -quiet.
Avant la création d'un lecteur logique, vous devez décider du niveau RAID à utiliser, des paramètres requis pour le niveau RAID choisi et des lecteurs (physiques et/ou logiques) qui constitueront ce lecteur logique. La compréhension des concepts RAID et différents niveaux RAID exposés dans ce document nécessite une bonne connaissance du sujet.
amCLI [-c|--create] <mod/AdpIdx> raid=<niveauRaid> paramètres <mod/LPIdx>+
Utilisez amCLI --help create <mod/AdpIdx> pour rechercher les paramètres et niveaux RAID pris en charge par l'adaptateur spécifié.
Pour créer une matrice RAID-5 constituée de lecteurs physiques 32/5, 32/6 et 32/7 sur l'adaptateur Avago MegaRAID 32/1 avec les paramètres par défaut, la commande suivante peut être utilisée :
# amCLI -c 32/1 raid=5 32/5 32/6 32/7
Une confirmation est ensuite requise pour l'exécution de cette commande (la saisie n'est pas sensible à la casse) :
Are you sure to create a new Logical Drive on Adapter '32/1'? (Souhaitez-vous vraiment créer un nouveau lecteur logique sur l'adaptateur « 32/1 » ?)
Type YES to confirm _ (Tapez YES -OUI- pour confirmer _)
ServerView RAID Manager attribuera une adresse au nouveau lecteur logique. Utilisez amCLI -l pour déterminer l'adresse.
Cette commande supprime le lecteur logique dont l'ID de lecteur logique est le plus élevé sur un adaptateur donné (cela correspond en général au lecteur logique le plus récemment créé).
amCLI [-d|--delete] <mod/AdpIdx>
Pour supprimer immédiatement après sa création le lecteur logique créé ci-dessus, utilisez
# amCLI -d 32/1
A nouveau, une confirmation explicite est requise pour l'exécution de cette commande :
Are you sure to delete the last Logical Drive on Adapter '32/1'? (Souhaitez-vous vraiment supprimer le lecteur logique le plus récent sur l'adaptateur « 32/1 » ?)
Type YES to confirm _ (Tapez YES -OUI- pour confirmer _)
Cette commande lance l'exécution d'une commande spécifique à un périphérique sur un périphérique donné.
amCLI [-e|--exec] <mod/idx> <opération> <param>*
Pour savoir quelles sont les opérations prises en charge par un objet donné et quels sont les paramètres supplémentaires nécessaires, utilisez
amCLI [-?|--help] exec <mod/idx>
# amCLI -? exec 32/26
amCLI v5.7.0
Usage:
-e | --exec <32/LPIdx> locate
-e | --exec <32/LPIdx> stop_location
-e | --exec <32/LPIdx> create_global_hot_spare
-e | --exec <32/LPIdx> delete_global_hot_spare
-e | --exec <32/LPIdx> create_dedicated_hot_spare <mod/LLIdx>
-e | --exec <32/LPIdx> delete_dedicated_hot_spare
-e | --exec <32/LPIdx> make_online
-e | --exec <32/LPIdx> make_offline
-e | --exec <32/LPIdx> make_ready
-e | --exec <32/LPIdx> replace_missing_disk <mod/LLIdx>
# amCLI -e 32/26 locate
Cette commande récupère la valeur d'une propriété donnée d'un objet précis.
amCLI [-g|--get] <mod/idx> <propriété>
Utilisez amCLI -? get pour connaître les propriétés généralement prises en charge en fonction des classes d'objet ou amCLI -? get <mod/idx> pour savoir quelles propriétés sont prises en charge par un objet spécifique.
# amCLI -? get 32/2
amCLI v5.7.0
Usage:
-g | --get <32/LLIdx> activity
-g | --get <32/LLIdx> status
-g | --get <32/LLIdx> disk_cache_mode
-g | --get <32/LLIdx> bgi
...
# amCLI -g 32/2 status
Operational
Cette commande importer un certificat.
amCLI [-i|--import] <certificate file> <private key file>
# amCLI -i cert.pem key.pem [intermediate.pem]
Cette commande répertorie les informations disponibles à propos d'un objet donné.
amCLI [-l|--list] [all|struct|<mod/idx>]
# amCLI -l struct
21/3: System, 'hostname'
32/1: SAS Adapter 0, 'Avago MegaRAID SAS PCI Express(TM) ROMB (0)'
32/2: Logical Drive 0, 'LogicalDrive_0', RAID-0, 69472MB
32/3: SAS Port 0
32/11: Physical Drive 0, 'SEAGATE ST373454SS (0)', 69472MB
32/4: SAS Port 1
32/12: Physical Drive 1, 'SEAGATE ST336754SS (1)', 34464MB
...
Cette commande modifie le niveau RAID d'un lecteur logique, si cela est possible dans la configuration actuelle et pris en charge par l'adaptateur qui contrôle le lecteur logique.
amCLI [-m|--migrate] <mod/LLIdx> [raid=<niveauRaid>] paramètres <mod/LPIdx>*
Pour savoir vers quels niveaux RAID un lecteur logique peut être migré et si des lecteurs physiques supplémentaires peuvent s'avérer nécessaires, utilisez
# amCLI -l 32/2
32/2: Logical Drive 0, 'LogicalDrive_0', RAID-0, 69472MB
Parents: 1
Children: -
Containers: 1
Drives: 1 --> ( 32/11 )
Propriétés :
Unique ID: PCI:Bus=2&Device=14&Function=0&ID=0
Logical Drive Number: 0
Name: LogicalDrive_0, settable
Logical Size: 69472 MB
Physical Size: 69472 MB
RAID Level: RAID-0
...
# amCLI -? migrate 32/2
amCLI v5.7.0
Usage:
-m | --migrate 32/2
[raid=(0|1|5)]
(<LPIdx>)+
Cela signifie que le lecteur logique 32/2 (un lecteur logique RAID-0) peut uniquement être migré vers les niveaux RAID 0, 1 ou 5 et il est possible d'intégrer des lecteurs physiques supplémentaires (dans ce cas précis, il peut être nécessaire de migrer vers des niveaux RAID 1 ou 5).
# amCLI -m 32/2 raid=1 32/8
Une confirmation est également demandée :
Are you sure to modify Logical Drive '32/2' on Adapter '32/1'? (Voulez-vous vraiment modifier le lecteur logique « 32/2 » sur l'adaptateur « 32/1 » ?)
Type YES to confirm _ (Tapez YES -OUI- pour confirmer _)
Cette commande restaure l'état d'une configuration RAID à partir d'un fichier précédemment créé par amCLI -w.
amCLI [-r|--restore] <nomFichier>
# amCLI -r OldState
A nouveau, une confirmation explicite est requise :
Are you sure to restore the configuration? (Voulez-vous vraiment restaurer la configuration ?)
Type YES to confirm _ (Tapez YES -OUI- pour confirmer _)
Restaurer l’état de l’adaptateur gérant le disque système pourrait rendre le système inutilisable!
Cette commande définit la propriété donnée d'un objet précis sur une nouvelle valeur spécifique.
amCLI [-s|--set] <mod/idx> <propriété> <valeur>
Utilisez amCLI -? set pour connaître les propriétés généralement prises en charge en fonction des classes de périphérique ou amCLI -? set <mod/idx> pour savoir quelles propriétés sont prises en charge par un périphérique donné.
# amCLI -? set 32/2
amCLI v5.7.0
Usage:
-s | --set <32/LLIdx> name <chaîne>
...
# amCLI -g 32/2 name
LogicalDrive_0
# amCLI -s 32/2 name 'OS disk'
# amCLI -g 32/2 name
OS disk
Cette commande enregistre l'état interne d'un objet spécifique dans un fichier donné ou l'imprime sur la sortie standard.
amCLI [-w|--write] <mod/SysIdx> [<fichier>]
amCLI [-w|--write] <mod/AdpIdx> [<fichier>]
# amCLI -w 32/1
<ServerViewRAIDManager Version="5.7.0">
<SASAdapter UniqueID="PCI:Bus=2&Device=14&Function=0" AdapterNumber="0
...
Cette commande efface la configuration existante d'un adaptateur (elle supprime par exemple tous les lecteurs logiques, les disques de secours, etc.).
amCLI [-Z|--zap] [<mod/idx>]
(Veillez à respecter la casse du Z majuscule.)
# amCLI -Z 32/17
Une confirmation est ensuite requise pour l'exécution de cette commande (la saisie n'est pas sensible à la casse) :
Are you sure to zap Adapter '32/17'? (Voulez-vous vraiment supprimer l'adaptateur « 32/17 » ?)
Type YES to confirm _ (Tapez YES -OUI- pour confirmer _)
La commande d'aide répond à deux objectifs :
amCLI [-?|--help] [[create | get | set | exec | migrate] [<mod/idx>]]
Sans paramètre supplémentaire, amCLI -?
dirigera la syntaxe de toutes les commandes amCLI vers la sortie. -?
étant la valeur par défaut, en saisissant amCLI,
on obtient le même résultat.
Des paramètres supplémentaires peuvent être définis pour récupérer des informations spécifiques sur les paramètres d'une commande donnée lors de l'application à un objet précis :
Si aucun périphérique n'est précisé, la syntaxe de la commande est affichée. Si l'adresse d'un objet est précisée, les informations spécifiques à l'exécution de la commande sur cet objet sont affichées.
# amCLI -?
amCLI v5.7.0
Usage:
-c <mod/AdpIdx> raid=<niveauRaid> [span=<nombExtension>] [stripe=<tailleBande>]
[<indicateurRaid>=<indicateur>] [size=<mégaoctets>] (<mod/LPIdx>)+
--create <mod/AdpIdx> raid=<niveauRaid> [span=<nombExtension>]
[stripe=<tailleBande>] [<indicateurRaid>=<indicateur>] [size=<mégaoctets>]
(<mod/LPIdx>)+
-d <AdpIdx>
--delete <AdpIdx>
...
# amCLI -? create
amCLI v5.7.0
Usage:
-c <mod/AdpIdx> raid=<niveauRaid> [span=<nombExtension>] [stripe=<tailleBande>]
[<indicateurRaid>=<indicateur>] [size=<mégaoctets>] (<mod/LPIdx>)+
--create <mod/AdpIdx> raid=<niveauRaid> [span=<nombExtension>]
[stripe=<tailleBande>] [<indicateurRaid>=<indicateur>] [size=<mégaoctets>]
(<mod/LPIdx>)+
# amCLI --help create 32/17
amCLI v5.7.0
Usage:
-c | --create 32/17
raid=(0|1|5|6|10|50|60|1e)
[span=<(RAID-0:1)|
(RAID-1:1)|
(RAID-5:1)|
(RAID-6:1)|
(RAID-10:2..8)|
(RAID-50:2..8)|
(RAID-60:2..8)|
(RAID-1E:1)>]
[stripe=<(RAID-0:(8kb|16kb|32kb|64kb|128kb|256kb|512kb|1mb)|
(RAID-1:(8kb|16kb|32kb|64kb|128kb|256kb|512kb|1mb)|
(RAID-5:(8kb|16kb|32kb|64kb|128kb|256kb|512kb|1mb)|
(RAID-6:(8kb|16kb|32kb|64kb|128kb|256kb|512kb|1mb)|
(RAID-10:(8kb|16kb|32kb|64kb|128kb|256kb|512kb|1mb)|
(RAID-50:(8kb|16kb|32kb|64kb|128kb|256kb|512kb|1mb)|
(RAID-60:(8kb|16kb|32kb|64kb|128kb|256kb|512kb|1mb)|
(RAID-1E:(8kb|16kb|32kb|64kb|128kb|256kb|512kb|1mb)>]
[init_mode=(no_initialization|fast_initialization|normal_initialization)]
[read_mode=(readahead|no_readahead)]
[write_mode=(writeback|always_writeback|writethrough)]
[cache_mode=(cached|direct)]
[disk_cache_mode=(disabled|enabled)]
[cache_settings=(data_protection|performance|advanced)]
[name=<chaîne>]
[size=<mégaoctets>]
(<LPIdx>)+
L'état de sortie (ou niveau d'erreur) correspond approximativement aux conditions d'erreur définies par ServerView RAID Manager et reprend les valeurs suivantes :
État de sortie | Description |
0 | Normal ; aucune erreur ou aucun avertissement détecté(e) |
1 | Erreur interne |
2 | Syntaxe non valide |
3 | Objet non valide |
4 | Défaillance de la mémoire |
5 | Opération non prise en charge |
6 | Propriété non prise en charge |
7 | Opération impossible à exécuter pour le moment |
8 | Échec de la communication avec le service principal |
10 | Échec de l'initialisation du service principal |
11 | Échec de la base de données du service principal |
12 | Échec de l'opération |
13 | Valeur de paramètre non valide |
14 | Échec de la connexion |
15 | Arrêt en cours |
16 | Aucun droit administrateur octroyé |
17 | Ouverture du fichier impossible |
18 | Lecture du fichier impossible |
19 | Écriture du fichier impossible |
20 | Initialisation du service principal |