Utilisation de VxVM

De Le wiki de Fred sur gantzer.eu

Sommaire

Introduction

Veritas Volume Manager est le LVM Veritas (Symantec). Il est disponible pour quasiment toutes les plateformes Unix.

Parmi les fonctionnalités principales:

  • Création de volumes logiques sur plusieurs disques
  • Amène des fonctionnalités haute disponibilité via le mirroring, RAID
  • Donne des possibilités de transfert de disques entre plusieurs systèmes (même différents unix)
  • Possibilité de reconfiguration Online du storage


Les objets du Volume Manager

  • Disk: c'est le device physique à proprement parler (ou device NAS)
  • Subdisk: c'est une portion du disque. C'est un peu l'équivalent du PP sur le LVM AIX
  • Plexes: un plex un ensemble de subdisks (ils peuvent être disséminés sur le/les disques). Il represente une copie des données d'un volume. C'est un miroir de la donnée
  • Volumes: un volume est composé d'un ou plusieurs plexes. C'est l'équivalent du logical Volume sur Linux ou AIX.

Fichier:ObjetsVxVM.jpg


Gestion des disques sous VxVM

Notes sur VxVM et PowerPath

Depuis la version 4.1, VxVM est capable de gérer des Foreign Devices via la couche TDP (Third Party Device). C'est à dire qu'il n'est plus obligatoire de gérer le multipathing via la couche DMP (Dynamic MultiPathing) intégrée à VCS.

Un device /dev/emcpowera est vue comme un disque Monopath et c'est powerpath qui gère le multipathing.

  • Information sur les devices "TDP" (third party driver):
  # vxdmpadm getsubpaths tpdnodename=emcpowera
  NAME         TPDNODENAME  PATH-TYPE[-] DMPNODENAME  ENCLR-TYPE   ENCLR-NAME
  ===============================================================================
  sdd          emcpowera        -        emcpowera    PP_EMC       pp_emc0
  sdb          emcpowera        -        emcpowera    PP_EMC       pp_emc0


  # vxdmpadm gettpdnode nodename=sdd
  NAME                  STATE     PATHS     ENCLR-TYPE   ENCLR-NAME
  =========================================================================
  emcpowera            ENABLED      2        PP_EMC       pp_emc0


Lister les contrôleurs existants

  # vxdmpadm listctlr all
  CTLR-NAME       ENCLR-TYPE      STATE      ENCLR-NAME
  =====================================================
  c360            OTHER_DISKS     ENABLED      other_disks
  emcp            PP_EMC          ENABLED      pp_emc0
  

Dans cet exemple, on voit apparaître le contrôleur scsi du DL360G6. De même la couche powerpath est vue comme un contrôleur (voir paragraphe précédent).

Afficher les disque détectés par VxVM

  # vxdisk path
  SUBPATH                     DANAME               DMNAME       GROUP        STATE
  cciss/c0d0                  cciss/c0d0           -            -            ENABLED
  emcpowera                   emcpowera            -            -            ENABLED
  emcpowerb                   emcpowerb            -            -            ENABLED

Détail d'un disque

  vxdisk list emcpowera


scanner des nouveaux disques

  # vxdctl -f enable
  # vxdisk -f scandisks

ou, si les disques sont pas reconnus (au pire un reboot...):

  # vxdctl enable
  # vxconfigd   

Ajouter un disque à VxVM

Pour qu'un disque soit visible et utilisable sous VxVM, il faut le faire reconnaître (initialisation de la partition). C'est l'équivalent d'un pvcreate sur le LVM Linux.

Sous Linux, pour que cette opération fonctionne, il faut qu'il y ait un label sur le disque. Si besoin, faire un:

  fdisk /dev/emcpowerx   (w pour écrire le label)

puis pour recharger la partition au niveau kernel:

  partprobe


Le plus simple est d'utiliser l'assitant vxdiskadm:

  vxdiskadm
  
  Volume Manager Support Operations
  Menu:: VolumeManager/Disk
  
  1      Add or initialize one or more disks
  2      Encapsulate one or more disks
  3      Remove a disk
  ...
  
  Select an operation to perform: 1
  
  Select disk devices to add: [<pattern-list>,list,q,?] list
  
  DEVICE       DISK         GROUP        STATUS
  cciss/c0d0   -            -            online invalid
  emcpowera    -            -            online invalid
  emcpowerb    -            -            online invalid
  
  Select disk devices to add: [<pattern-list>,list,q,?] emcpowera
  emcpowera
  Continue operation? [y,n,q,?] (default: y) y
  Which disk group [<group>,none,list,q,?] nomdg
  Create a new group named nomdg? [y,n,q,?] (default: y) y
  Create the disk group as a CDS disk group? [y,n,q,?] (default: y) y
  Use a default disk name for the disk? [y,n,q,?] (default: y) y
  Add disk as a spare disk for mmgdg? [y,n,q,?] (default: n) n
  Exclude disk from hot-relocation use? [y,n,q,?] (default: n) n
  Add site tag to disk? [y,n,q,?] (default: n) n
  Enter desired private region length
  [<privlen>,q,?] (default: 65536)
  VxVM  NOTICE V-5-2-120
  Creating a new disk group named nomdgcontaining the disk
  device emcpowera with the name nomdg01

pour supprimer le controle VxVm d'un disque

  # vxdiskunsetup emcpowerx


Les DiskGroups

Le DiskGroup, c'est l'équivalent du VG sur les LVM Linux et AIX

Lister les disk groups

  # vxdg list
  NAME         STATE           ID
  nom1dg        enabled,cds          1255514600.8.host1
  nom2dg        enabled,cds          1255514702.12.host1

ou avec les détails:

  # vxdg list nom1dg        
  
  Group:     nom1dg        
  dgid:      1255514600.8.host1
  import-id: 1024.7
  flags:     cds
  version:   140
  alignment: 8192 (bytes)
  ssb:            on
  autotagging:    on
  detach-policy: global
  dg-fail-policy: dgdisable
  copies:    nconfig=default nlog=default
  config:    seqno=0.1027 permlen=51360 free=51357 templen=2 loglen=4096
  config disk emcpowera copy 1 len=51360 state=clean online
  log disk emcpowera copy 1 len=4096


Espace disponible dans un diskgroup

C'est des blocs de 512K.... ! comme sous AIX.

  # vxdg free
  GROUP        DISK         DEVICE       TAG          OFFSET    LENGTH    FLAGS
  nom1dg       nom1dg01      emcpowera    emcpowera    0         104954368 -
  nom2dg       nom1dg01      emcpowerb    emcpowerb    0         104954368 -

ou

  # vxdg -g nom1dg free
  DISK         DEVICE       TAG          OFFSET    LENGTH    FLAGS
  nom1dg01      emcpowera    emcpowera    0         104954368 -


afficher le contenu d'un diskgroup

  # vxprint
  Disk group: nom1dg
  
  TY NAME        ASSOC        KSTATE   LENGTH   PLOFFS   STATE    TUTIL0  PUTIL0
  dg nom1        nom1        -        -        -        -        -       -
  
  dm nom101      emcpowerb    -        104954368 -       -        -       -
  
  v  nom1vol       fsgen        ENABLED  52428800 -        ACTIVE   -       -
  pl nom1vol-01    nom1vol      ENABLED  52428800 -        ACTIVE   -       -
  sd nom1dg01-01   nom1vol-01   ENABLED  52428800 0        -        -       -
  


Ajouter un disque à un diskgroup

  # vxdiskadd -g nomdg emcpowerx

Supprimer un disque d'un diskgroup

  # vxdg -g nomdg rmdisk nomdg 01

Exporter un diskgroup

# vxdg deport diskgroup


Importer un diskgroup

  # vxdg import diskgroup

Renommer un diskgroup

  • sur un import
  # vxdg -n newdg import diskgroup
  • sur un export
  # vxdg -n newdg deport diskgroup

Supprimer un diskgroup

  # vxdg destroy slsdg

Déplacer un diskgroup d'une machine à l'autre

  • Sur la source
  # vxdg deport diskgroup
  • Sur la cible
    • reconnaissance disques si besoin:
  vxdctl enable
  vxconfigd
  vxdg import diskgroup
    • start des volumes dans le diskgroup
  vxrecover -g diskgroup -sb   

En cas d'erreur sur les imports (attention, à utiliser intelligemment):

  • clear des locks sur un device:
  # vxdisk clearimport devicename
  • clear des locks sur un import
  # vxdg -C import diskgroup


Les Volumes

Les volumes sont l'équivalent des LV sous AIX et Linux


Créer un volume

Pour créer un volume sans se prendre la tête avec les subdisks et les plexes --> vxassist

Création d'un volume de 25g sur le groupdisk nom1dg

  # vxassist -g nom1dg make nom1vol 25g
  

Vérifier avec vxprint


Augmenter la taille d'un volume

  #vxassist -g nom1dg growto nom1vol 30g
  

Réduire la taille d'un volume

ATTENTION: ne jamais reduire la taille d'un volume en dessous de la taille du FS !!

  # vxassist -f -g mondg shrinkto monvol 25g


Supprimer un volume

  • Arrêt du volume
  # vxvol -g mondg stop monvol
  • remove du vol
  # vxedit -g mondg -rf rm monvol


Afficher les infos d'un vol

  # vxinfo -g mondg
  monvol         fsgen    Started
Outils personnels
Navigation