Lors d’une opération d’ajout récente de nouveaux distributed devices sur notre VPlex metro, nous sommes tombés sur un message d’erreur concernant un pb de place sur nos logging volumes. En voulant créer le DD en question, l’erreur suivante s’est produite :
1 2 3 4 5 |
VPlexcli:/distributed-storage/distributed-devices> create -f dd_prdvmfsvnx18 device_vnx5_prdvmfsvnx18,device_vnx4_prdvmfsvnx18 ds dd create: Evaluation of <<create -f dd_prdvmfsvnx18 [device_vnx5_prdvmfsvnx18, device_vnx4_prdvmfsvnx18]>> failed. cause: Failed to create distributed device 'dd_prdvmfsvnx18'. cause: Unable to create distributed Device 'dd_prdvmfsvnx18'. cause: Unable to find a logging volume at cluster 'cluster-1' with enough free space to create logging segments for distributed device 'dd_prdvmfsvnx18'. |
L’erreur en question ... with enough free space to create logging segments ...
est due au fait que les espaces disques dédiés aux logging volumes initialement provisionnés n’ont plus suffisamment de place pour héberger le tracking du nouveau device distribué.
Pour rappel, les logging volumes de VPlex metro assurent le change block tracking des segments de 4K des distributed device en cas de perte de connexion entre les deux clusters ; ainsi, lors de la reconnexion, seuls les les modifications effectuées pendant cette perte de connectivité sont répliqués, garantissant une reconstruction des volumes beaucoup plus rapide qu’une full-synchro.
Dans le suite, je vous propose de vous détailler, si cela vous arrive un jour, la procédure pour ajouter des logging volumes suplémentaires à vos clusters. Pour information, un logging volume de 10 Go vous permet de protéger environ 160 To de distributed devices.
Il s’agit donc d’ajouter un logging-volume sur chaque membre de notre ensemble VPlex Metro. La première étape consiste à préparer et présenter des luns à partir de vos baies back-end. Les best pratices d’EMC recommandent chaudement que les logging volumes soient au moins en mirroir sur deux baies différentes. Dans la pratique, cela n’est pas forcément possible si vous ne disposez que d’une baie sur chaque site (vous pouvez allors croiser ces volumes entre les deux sites, à voir avec votre support local). De notre coté, nous avons deux baies de productions de chaque coté, une brique XtremIO et une VNX7500. Nous allons donc créer des logging volumes en mode mirroir, sur chaque cluster.
Pour le cluster 1, une fois les deux LUNs (une via XtremIO et une via VNX7500) présentées, il faut “claimer” (quel beau mot …) les LUNs :
1 2 3 4 |
VPlexcli:/clusters/cluster-1/storage-elements/storage-volumes> claim -n vnx5_loggingvol2 VPD83T3:6006016028c03500a779cxxxxxxxxx Claimed 1 of 1 storage-volumes. VPlexcli:/clusters/cluster-1/storage-elements/storage-volumes> claim -n falcontu_loggingvol2 VPD83T3:514f0c5xxxxxxxxxxx Claimed 1 of 1 storage-volumes. |
Une fois attachés logiquement, on créé les extents 1-1 correspondants :
1 2 3 4 5 |
VPlexcli:/clusters/cluster-1/storage-elements/storage-volumes> cd ../extents/ VPlexcli:/clusters/cluster-1/storage-elements/extents> create vnx5_loggingvol2 VPlexcli:/clusters/cluster-1/storage-elements/extents> create falcontu_loggingvol2 VPlexcli:/clusters/cluster-1/storage-elements/extents> set extent_vnx5_loggingvol2_1::name extent_vnx5_loggingvol2 VPlexcli:/clusters/cluster-1/storage-elements/extents> set extent_falcontu_loggingvol2_1::name extent_falcontu_loggingvol2 |
Enfin, on va se place dans la section “system-volumes” et créer le nouveau logging-volume :
1 2 3 4 5 6 7 8 9 10 11 12 |
VPlexcli:/clusters/cluster-1/storage-elements/extents> cd ../../system-volumes/ VPlexcli:/clusters/cluster-1/system-volumes> logging-volume create -n krakentu_loggingvol2 -g raid-1 -e extent_vnx5_loggingvol2,extent_falcontu_loggingvol2 Logging-volume 'krakentu_loggingvol2_vol' is created at /clusters/cluster-1/system-volumes. VPlexcli:/clusters/cluster-1/system-volumes> ll Name Volume Type Operational Health Active Ready Geometry Component Block Block Capacity Slots ------------------------------------------ -------------- Status State ------ ----- -------- Count Count Size -------- ----- ------------------------------------------ -------------- ----------- ------ ------ ----- -------- --------- -------- ----- -------- ----- krakentu_loggingvol2_vol logging-volume ok ok - - raid-1 2 5242880 4K 20G - krakentu_loggingvol_vol logging-volume ok ok - - raid-1 2 2621440 4K 10G - meta_vnx5_falcontu meta-volume ok ok true true raid-1 2 20971264 4K 80G 32000 meta_vnx5_falcontu_backup_2015May03_040007 meta-volume ok ok false true raid-1 1 20971264 4K 80G 64000 meta_vnx5_falcontu_backup_2015May04_040009 meta-volume ok ok false true raid-1 1 20971264 4K 80G 64000 |
Après le cluster-1, en route pour le cluster 2 : même procédure, aux noms près évidemment :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
VPlexcli:/clusters/cluster-2/storage-elements/storage-volumes> claim -n falconhn_loggingvol2 VPD83T3:514f0c5eb5a00033 Claimed 1 of 1 storage-volumes. VPlexcli:/clusters/cluster-2/storage-elements/storage-volumes> claim -n vnx4_loggingvol2 VPD83T3:6006016068403400318299893df2e411 Claimed 1 of 1 storage-volumes. VPlexcli:/clusters/cluster-2/storage-elements/storage-volumes> cd ../extents/ VPlexcli:/clusters/cluster-2/storage-elements/extents> create falconhn_loggingvol2 VPlexcli:/clusters/cluster-2/storage-elements/extents> create vnx4_loggingvol2 VPlexcli:/clusters/cluster-2/storage-elements/extents> set extent_falconhn_loggingvol2_1::name extent_falconhn_loggingvol2 VPlexcli:/clusters/cluster-2/storage-elements/extents> set extent_vnx4_loggingvol2_1::name extent_vnx4_loggingvol2 VPlexcli:/clusters/cluster-2/storage-elements/extents> cd ../../system-volumes/ VPlexcli:/clusters/cluster-2/system-volumes> logging-volume create -n krakenhn_loggingvol2 -g raid-1 -e extent_vnx4_loggingvol2,extent_falconhn_loggingvol2 Logging-volume 'krakenhn_loggingvol2_vol' is created at /clusters/cluster-2/system-volumes. VPlexcli:/clusters/cluster-2/system-volumes> ll Name Volume Type Operational Health Active Ready Geometry Component Block Block Capacity Slots ------------------------------------------ -------------- Status State ------ ----- -------- Count Count Size -------- ----- ------------------------------------------ -------------- ----------- ------ ------ ----- -------- --------- -------- ----- -------- ----- krakenhn_loggingvol2_vol logging-volume ok ok - - raid-1 2 5242880 4K 20G - krakenhn_loggingvol_vol logging-volume ok ok - - raid-1 2 2621440 4K 10G - meta_vnx4_falconhn meta-volume ok ok true true raid-1 2 20971264 4K 80G 32000 meta_vnx4_falconhn_backup_2015May03_040007 meta-volume ok ok false true raid-1 1 20971264 4K 80G 64000 meta_vnx4_falconhn_backup_2015May04_040009 meta-volume ok ok false true raid-1 1 20971264 4K 80G 64000 |
C’est terminé, on peut désormais rajouter notre distributed device, les deux clusters vont utiliser automatiquement les nouveaux logging volumes pour les futurs créations.