Rappelez-vous, en GeoSynchrony 5.1, l’extension de volumes virtuels sur devices distribués était pour le moins laborieuse. Une des avancées majeures de VPlex 5.2 est donc de permettre l’extension, à chaud, de virtual volumes, basés sur des distributed devices. Voici la procédure détaillée, en VPlex CLI.
Le cas d’usage sur lequel je m’appuie est un virtual volume typique “VPlex métro”, reposant sur un distributed device composé lui-même de deux devices hébergés chacun sur une baie différente (et sur un cluster différent, a priori). Un drill-down vous donne un détail du type suivant :
VPlexcli:/clusters/cluster-2/virtual-volumes> drill-down -o vv_basvmfs2
virtual-volume: vv_basvmfs2 (cluster-2)
distributed-device: dd_basvmfs2
distributed-device-component: device_fcx1_basvmfs2 (cluster-1)
extent: extent_fcx1_basvmfs2
storage-volume: fcx1_basvmfs2 (blocks: 0 - 268435455)
distributed-device-component: device_vnx1_basvmfs2 (cluster-2)
extent: extent_vnx1_basvmfs2
storage-volume: vnx1_basvmfs2 (blocks: 0 - 268435455)
Première chose, ajoutez la même quantité de volumétrie sur vos “deux pattes” sur chacune des baies hébergeant le DD. Une fois ceci fait, il faut demander au VPlex de mettre à jour les tailles des LUNs depuis chaque baie via un array re-discover :
VPlexcli:/clusters> cd /clusters/cluster-1/storage-elements/storage-arrays/
VPlexcli:/clusters/cluster-1/storage-elements/storage-arrays/>array re-discover EMC-CLARiiON-CKMxxxxxxxx
VPlexcli:/clusters/cluster-1/storage-elements/storage-arrays/> cd /clusters/cluster-2/storage-elements/storage-arrays/
VPlexcli:/clusters/cluster-2/storage-elements/storage-arrays/>array re-discover EMC-CLARiiON-APMxxxxxxx
Vous pouvez vérifier la nouvelle taille dans la foulée en vous plaçant sous chaque hiérarchie “storage-volume” en consultant la liste des LUNs et leur taille respective (pour le cluster-1, par exemple, la commande ll /clusters/cluster-1/storage-elements/storage-volumes/ fait parfaitement l’affaire)
Ensuite, vérifiez que le virtual-volume peut désormais être étendu :
VPlexcli:/clusters/cluster-2/virtual-volumes> ll /clusters/cluster-1/virtual-volumes/vv_basvmfs2
/clusters/cluster-1/virtual-volumes/vv_basvmfs2:
Name Value
------------------- --------------
block-count 268435456
block-size 4K
cache-mode synchronous
capacity 1T
consistency-group cg_dd_bas
expandable true
expandable-capacity 476G
expansion-method storage-volume
expansion-status -
health-indications []
health-state ok
locality distributed
operational-status ok
recoverpoint-usage -
scsi-release-delay 0
service-status running
storage-tier -
supporting-device dd_basvmfs2
system-id vv_basvmfs2
volume-type virtual-volume
Vous notez que le list du virtual volume indique que le volume est désormais extensible et de combien. C’est quasiment terminé ;)
Procédez enfin à l’extension du virtual-volume via la commande expand :
VPlexcli:/clusters/cluster-2/virtual-volumes>expand -f vv_basvmfs2
Vous pouvez suivre l’état de l’extension (qui peut prendre plusieurs minutes) via un listing sur le virtual-volume et en consultant le paramètre “expansion-status” :
VPlexcli:/clusters/cluster-2/virtual-volumes> ll vv_basvmfs2
/clusters/cluster-2/virtual-volumes/vv_basvmfs2:
Name Value
------------------- --------------
block-count 268435456
block-size 4K
cache-mode synchronous
capacity 1T
consistency-group cg_dd_bas
expandable true
expandable-capacity 476G
expansion-method storage-volume
expansion-status in-progress
health-indications []
health-state ok
locality distributed
operational-status ok
recoverpoint-usage -
scsi-release-delay 0
service-status running
storage-tier -
supporting-device dd_basvmfs2
system-id vv_basvmfs2
volume-type virtual-volume
N’oubliez pas de consulter la doc de référence pour avoir plus de détail, surtout au niveau des limitations de cette fonction, suivant le type de set-up sur lequel vous voulez travailler. Une fois la phase d’extension terminée, vous pouvez vous occuper de vos serveurs (refresh des LUNs et utilisation de la nouvelle volumétrie).
A votre disposition pour toute précision ou remarque.
Si j’ai bien compris t’étend les luns vnx tu redécouvres les luns sur le vplex après expand et zou tu travailles directement sur le distributed volume pour l’étendre (ca fait quoi exactement ca créé un extend supplémentaire sur chaque lun du vnx ?) décidément c’est vachement plus simple qu’avant :) surtout que tu gardes le mapping 1:1 entre les vnx et les vplex sans passer par deux étapes comme avant
C’est exactement ça ;)