L’objectif de cette page est de recenser la liste (non exhaustive) des commandes et procédures les plus utiles au quotidien sur VPlex CLI. La présentation se veut simple et explicite : sont indiqués à chaque fois, le contexte de la commande, son usage, la façon dont on peut l’appeler. Evidemment, ce petit memento ne se substitue pas à la documentation officielle d’EMC, disponible dans votre portail Support :)
Procédure: recréer les perpetual monitors d'un cluster VPlex
Description: voir ce billet pour plus d’information
Procédure: ajouter des logging volumes à VPlex
Description: Comment ajouter des logging volumes lorsque VPlex vous en demande, voir ce billet pour plus d’information
Procédure: set port::enabled false|true
Description: Permet de débloquer un port FibreChannel, voir ce billet pour plus d’information
Commande: forget -u *
Description: Permet en une seule fois de forcer VPlex à supprimer de son inventaire des anciennes LUNs dé-présentées depuis les baies back-end. Bien pratique quand vous faites une campagne de ménage sur vos clusters.
Contexte: /clusters/*/storage-elements/storage-arrays
Exemple:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
VPlexcli:/clusters/cluster-1/storage-elements/storage-arrays> ll Name Connectivity Auto Ports Logical ------------------------------- Status Switch ------------------- Unit ------------------------------- ------------ ------ ------------------- Count ------------------------------- ------------ ------ ------------------- ------- EMC-CLARiiON-APM00xxxxxxxxx degraded true 0x500601603ea06f33, 138 0x500601613ea06f33, 0x500601683ea06f33, 0x500601693ea06f33 EMC-CLARiiON-CKM000xxxxxxxxx ok true 0x500601603ce0208a, 9 0x500601613ce0208a, 0x500601683ce0208a, 0x500601693ce0208a XtremIO-XtremApp-CKM00xxxxxxxxxx ok - 0x21000024ff57ee34, 71 0x21000024ff57ee35, 0x21000024ff580824, 0x21000024ff580825 VPlexcli:/clusters/cluster-1/storage-elements/storage-arrays> cd EMC-CLARiiON-APM00xxxxxxxxx/logical-units/ VPlexcli:/clusters/cluster-1/storage-elements/storage-arrays/EMC-CLARiiON-APM00xxxxxxxxx/logical-units> forget -u * 4 of 138 logical-units were forgotten. 134 logical-units have associated storage-volumes and were not forgotten. |
Commande: drill-down
Description: Cette commande vous présente l’ensemble de la hiérarchie d’un device, virtual volume ou storage view.
Contexte: n’importe où
Exemple:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
VPlexcli:/> drill-down -r dd_tier2vmfs0 distributed-device: dd_tier2vmfs0 distributed-device-component: device_vnx4_tier2vmfs0 (cluster-2) extent: extent_vnx4_tier2vmfs0 storage-volume: vnx4_tier2vmfs0 (blocks: 0 - 1073741823) distributed-device-component: device_vnx5_tier2vmfs0 (cluster-1) extent: extent_vnx5_tier2vmfs0 storage-volume: vnx5_tier2vmfs0 (blocks: 0 - 1073741823) VPlexcli:/> drill-down -o vv_tier2vmfs0 virtual-volume: vv_tier2vmfs0 (cluster-1) virtual-volume: vv_tier2vmfs0 (cluster-2) distributed-device: dd_tier2vmfs0 distributed-device-component: device_vnx4_tier2vmfs0 (cluster-2) extent: extent_vnx4_tier2vmfs0 storage-volume: vnx4_tier2vmfs0 (blocks: 0 - 1073741823) distributed-device-component: device_vnx5_tier2vmfs0 (cluster-1) extent: extent_vnx5_tier2vmfs0 storage-volume: vnx5_tier2vmfs0 (blocks: 0 - 1073741823) |
Commande: device collapse
Description: Permet de réduire au minimum la hiérarchie de device après des opérations de suppression de mirroirs (locaux ou distribués). En effet, lors de ce type de d’opération, VPlex vous laisse des devices encapsulés qui n’ont plus forcément de raison d’être.
Contexte: n’importe où
Commande: device detach-mirror
Description: Cette commande vous permet de détacher un mirroir VPlex (local ou distant) d’un device existant. Attention à bien supprimer le device du consistency-group dans lequel il se trouve éventuellement avant de réaliser ce type d’opération. Vérifiez également la politique de failover par défaut : il faut qu’elle soit cohérente par rapport à la localisation du device (cluster-1-detaches, cluster-2-detaches etc. …).
Contexte: n’importe où
Exemple:
1 2 3 |
VPlexcli:/> device detach-mirror -m device_vnx5_rdm_msgprd4_F dd_rdm_msgprd4_f Detached mirror device_vnx5_rdm_msgprd4_F. Mirror device_vnx5_rdm_msgprd4_F is below /clusters/cluster-1/devices. |
Commande: set device_name::rule-set-name
Description: Cette commande permet de changer le type de politique de failover sur un device donné, s’il n’est pas déjà dans un consistency-group qui force ce type de comportement.
Contexte: n’importe où
Exemple:
1 |
VPlexcli:/>set dd_rdm_msgprd4_f::rule-set-name cluster-2-detaches |
Procédure: une petite session de suppression complète d'un distributed device
Description: C’est un canevas que nous utilisons souvent, vous avez juste à remplacer les noms des devices, virtual volumes etc via un FIND/REPLACE. Plus exactement, nous utilisons de petits scripts shell pour réaliser ça automatiquement, c’est artisanal mais ça fonctionne :)
Canevas:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
cd /clusters/cluster-1/exports/storage-views storage-view removevirtualvolume -f -v STORAGEVIEW_LEFT VIRTUALVOLUME cd /clusters/cluster-2/exports/storage-views storage-view removevirtualvolume -f -v STORAGEVIEW_RIGHT VIRTUALVOLUME cd /clusters/cluster-1/consistency-groups consistency-group remove-virtual-volumes -g CONSISTENCYGROUP VIRTUALVOLUME cd /clusters/cluster-1/virtual-volumes virtual-volume destroy -f VIRTUALVOLUME cd /distributed-storage/distributed-devices/ destroy -f DD cd /clusters/cluster-1/devices destroy -f DEVICELEFT cd /clusters/cluster-2/devices destroy -f DEVICERIGHT cd /clusters/cluster-1/storage-elements/extents destroy -f EXTENTLEFT cd /clusters/cluster-2/storage-elements/extents destroy -f EXTENTRIGHT cd /clusters/cluster-1/storage-elements/storage-volumes unclaim STOVOLLEFT cd /clusters/cluster-2/storage-elements/storage-volumes unclaim STOVOLRIGHT |
Procédure: une session de création d'un virtual volume
Description: Ce canevas est généré par un petit script qui permet de ne rien oublier des étapes de création d’un virtual volume en CLI. On notera qu’il reste à intégrer le virtual volume à un consistency group au besoin, ainsi que le publier dans le ou les storage views cibles.
Canevas:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
cd /clusters/cluster-1/storage-elements/extents create vnx5_appvol1 set extent_vnx5_appvol1_1::name extent_vnx5_appvol1 cd /clusters/cluster-1/devices create device_vnx5_appvol1 raid-0 extent_vnx5_appvol1 cd /clusters/cluster-2/storage-elements/extents create vnx4_appvol1 set extent_vnx4_appvol1_1::name extent_vnx4_appvol1 cd /clusters/cluster-2/devices create device_vnx4_appvol1 raid-0 extent_vnx4_appvol1 cd /distributed-storage/distributed-devices/ create -f dd_appvol1 device_vnx5_appvol1,device_vnx4_appvol1 set dd_appvol1::transfer-size 2M cd /clusters/cluster-1/virtual-volumes create dd_appvol1 set dd_appvol1_vol::name vv_appvol1 |