Legal hold: Quoi faire avec mes VMs

Bon, un directeur vient te voir avec un air décrépit. Ça ne sent pas bon…

Bla bla bla bla Legal hold, bla bla bla au plus vite possible bla bla bla

Minute moumoute, c’est pas aussi facile que ça. Si tu as 5 VM à geler oui, si tu en as 200… C’est une autre ball game.
Qu’est-ce que ça implique un arrêt judiciaire dans un environnement virtuel en production?
Eh bien, il faut geler le data de la VM le plus vite possible.
Pour ce faire, on a besoin de faire des snapshots avec mémoire, de prendre les fichier délockés (vmdk et vmsn) et d’envoyer ca sur une plateforme exportable.

C’est surement possible de le faire de plein de manière, mais voici ma façon.
A: On doit créer un nouveau datastore, préférablement NFS.

  • Coté espace, il faut prévoir la taille des VMs + la mémoire assignée.
    On l’appellera DATASTORE_DE_DESTINATION

B: Créer les snapshots et créer l’arborescence dans le nouveau datastore

  • 1: Créer un fichier txt avec les noms de machines une par ligne
    • $newds = Get-Datastore -Name DATASTORE_DE_DESTINATION
      New-PSDrive -Location $newds -Name newds -PSProvider VimDatastore -Root « \ »
      Get-Content .\listevm.txt | ForEach-Object {new-item -Path newds:\$_ -ItemType Directory}
      Get-Content .\listevm.txt | ForEach-Object {get-vm $_ | New-Snapshot -name BLABLA -memory:$true }
  • C: Bouger le stock
    • 1: Sortir le path des machines (voir mon site pour la commande custom http://www.hoplawego.com/blog/mais-ou-sont-mes-vms/)
    • 2: créer un csv avec les header: vmname,ds,folder
      vmname: nom de la vm
      ds: le nom du datastore
      folder: le nom du dossier a l’interieur du dsvoici un exemple:

      vmname,ds,folder
      client1-p2-ma-vma-001,STO_005_L14_CLUSTERD_PRDSTG_DS004,client1-p2-ma-vma-001
      client1-p2-ma-vma-002,STO_005_L16_CLUSTERD_PRDSTG_DS006,client1-p2-ma-vma-002
      client1-p2-ma-vmb-001,STO_005_L16_CLUSTERD_PRDSTG_DS006,client1-p2-ma-vmb-001
      client1-p2-ma-vmb-002,STO_005_L16_CLUSTERD_PRDSTG_DS006,client1-p2-ma-vmb-002

    • 3: Lancer la job:import-csv listevm-fullfile.csv |
      ForEach {
      $ds = get-datastore -name $_.ds
      $folder = $_.folder
      $vmname = $_.vmname
      $newds = Get-Datastore -Name DATASTORE_DE_DESTINATION
      New-PSDrive -Location $newds -Name newds -PSProvider VimDatastore -Root « \ »
      New-PSDrive -Location $ds -Name oldds -PSProvider VimDatastore -Root « \ »
      copy-item « oldds:\$folder\* » « newds:\COPY-2\$vmname »
      get-psdrive oldds | remove-psdrive
      get-psdrive newds | remove-psdrive
      }

Voila… c’est excessivement lent, mais ca fonctionne.

Ensuite, il ne reste plus qu’a prendre le data du NFS et l’envoyer sur un disque USB, dropbox, box, peut importe.

À propos malabelle

Je suis spécialiste VMware, Linux et Microsoft depuis plus de 20 ans. Je travaille comme architecte à mon compte chez stockage.io. Mon temps est rempli principalement par ma super job, des jams de musique (je suis bassiste), des voyages et ma famille. J'écris de temps en temps sur des magazines en ligne et j'adore faire de la rénovation.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *