15.2. Tâches SSM courantes

Les sections suivantes développeront un certain nombre de cas d'utilisation sur la façon d'installer SSM, puis d'afficher les informations sur tous les périphériques, pools et volumes détectés. Ensuite, un pool sera créé comprenant deux volumes et un système de fichiers XFS. Le système de fichiers sera alors vérifié pour détecter les problèmes d'homogénéité, et un volume augmentera en taille. Puis, un cliché sera créé. Enfin, un des volumes sera supprimé.

15.2.1. Installation du Gestionnaire de stockage de système (SSM)

Pour installer SSM, utiliser la commande suivante :
# yum install system-storage-manager
Il y a plusieurs backends qui ne sont activés que si les packages suivants sont installés :
  • Le backend LVM requiert le package lvm2.
  • Le BTRFS requiert le package btrfs-progs.
  • Le backend de cryptage requiert les packages device-mapper et cryptsetup.

15.2.2. Afficher les informations sur tous les périphériques détectés

L'affichage des informations à propos des périphériques, pools, volumes, et clichés est effectué grâce à la commande list. Exécuter la commande ssm list sans options affichera ce qui suit :
~]# ssm list
----------------------------------------------------------
Device        Free      Used      Total  Pool  Mount point
----------------------------------------------------------
/dev/sda                        2.00 GB        PARTITIONED
/dev/sda1                      47.83 MB        /test      
/dev/vda                       15.00 GB        PARTITIONED
/dev/vda1                     500.00 MB        /boot      
/dev/vda2  0.00 KB  14.51 GB   14.51 GB  rhel             
----------------------------------------------------------
------------------------------------------------
Pool  Type  Devices     Free      Used     Total  
------------------------------------------------
rhel  lvm   1        0.00 KB  14.51 GB  14.51 GB  
------------------------------------------------
---------------------------------------------------------------------------------
Volume          Pool  Volume size  FS     FS size       Free  Type    Mount point
---------------------------------------------------------------------------------
/dev/rhel/root  rhel     13.53 GB  xfs   13.52 GB    9.64 GB  linear  /          
/dev/rhel/swap  rhel   1000.00 MB                             linear             
/dev/sda1                47.83 MB  xfs   44.50 MB   44.41 MB  part    /test      
/dev/vda1               500.00 MB  xfs  496.67 MB  403.56 MB  part    /boot      
------------------------------------------------------------------------t ---------
Cet affichage pourra être réduit davantage en utilisant des arguments qui spécifieront ce qui doit être afiché. La liste des options disponibles se trouve dans la commande ssm list --help.

Note

Selon l'argument qui sera donné, SSM risque de ne pas tout afficher.
  • Exécuter l'argument devices ou dev va ommettre certains périphériques. Les CDRom et DM/MD, par exemple, sont cachés intentionnellement car ils sont listés en tant que volumes.
  • Certains backends ne supportent pas les clichés et ne peut pas faire la distinction entre un cliché et un volume standard. Exécuter l'argument snapshot sur un de ces backends aménera SSM à tenter de reconnaître le nom de volume afin d’identifier un cliché. Si l’expression régulière de la SSM ne correspond pas au modèle du cliché, la capture du cliché ne sera pas reconnue.
  • À l'exception du volume BTRFS principal (le système de fichiers lui-même), les volumes BTRFS non montés n'apparaîtront pas.

15.2.3. Créer un nouveau pool, volume logique ou système de fichiers

Dans cette section, un nouveau pool sera créé avec un nom par défaut. Il comprendra les périphériques /dev/vdb et /dev/vdc, un volume logique de 1G, et un système de fichiers XFS.
La commande pour créer ce scénario est la suivante : ssm create --fs xfs -s 1G /dev/vdb /dev/vdc. Les options suivantes sont utilisées :
  • L'option --fs indique le type de système de fichiers requis. Les types de systèmes de fichiers actuellement pris en charge sont les suivants :
    • ext3
    • ext4
    • xfs
    • btrfs
  • L'argument -s indique la taille du volume logique. Les suffixes suivants sont pris en charge pour définir les unités suivantes :
    • K or k pour kilooctets
    • M ou m pour megaoctets
    • G ou g pour gigaoctets
    • T ou t pour teraoctets
    • P ou p pour petaoctets
    • E ou e pour exaoctets
  • Les deux périphériques listés, /dev/vdb et /dev/vdc, sont les deux périphériques que je souhaite créer.
~]# ssm create --fs xfs -s 1G /dev/vdb /dev/vdc
  Physical volume "/dev/vdb" successfully created
  Physical volume "/dev/vdc" successfully created
  Volume group "lvm_pool" successfully created
  Logical volume "lvol001" created
Il existe deux autres options pour la ssm command pouvant s’avérer utiles. La première est la -p pool. Cela spécifie le pool, sur lequel le volume doit être créé. Si elle n’existe pas encore, SSM le créera. Cela a été omis dans l’exemple ci-dessus, ce qui a causé SSM à utiliser le nom par défaut lvm_pool. Toutefois, pour utiliser un nom spécifique qui puisse s’adapter à toute les conventions de nommage, l'option -p doit être utilisée.
La seconde option utile est -n name. Elle permet de nommer le volume logique nouvellement créé. Tout comme avec -p, elle est utile pour utiliser un nom spécifique qui devra convenir pour toutes les conventions de nommage existantes.
Voici un exemple d'utilisation de ces deux options :
~]# ssm create --fs xfs -p new_pool -n XFS_Volume /dev/vdd
  Volume group "new_pool" successfully created
  Logical volume "XFS_Volume" created
SSM a maintenant créé deux volumes physiques, un pool, et un volume logique confortablement en une seule commande.

15.2.4. Vérifier l'homogénéité du système de fichiers

La commande ssm check vérifie la consistence du système de fichiers sur le volume. Il est possible de spécifier plusieurs volumes à vérifier. S'il n'y a aucun système de fichiers sur le volume, alors on pourra éviter ce volume.
Pour vérifier tous les périphériques sur le volume lvol001, exécuter la commande ssm check /dev/lvm_pool/lvol001.
~]# ssm check /dev/lvm_pool/lvol001
Checking xfs file system on '/dev/mapper/lvm_pool-lvol001'.
Phase 1 - find and verify superblock...
Phase 2 - using internal log
        - scan filesystem freespace and inode maps...
        - found root inode chunk
Phase 3 - for each AG...
        - scan (but don't clear) agi unlinked lists...
        - process known inodes and perform inode discovery...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
        - agno = 4
        - agno = 5
        - agno = 6
        - process newly discovered inodes...
Phase 4 - check for duplicate blocks...
        - setting up duplicate extent list...
        - check for inodes claiming duplicate blocks...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
        - agno = 4
        - agno = 5
        - agno = 6
No modify flag set, skipping phase 5
Phase 6 - check inode connectivity...
        - traversing filesystem ...
        - traversal finished ...
        - moving disconnected inodes to lost+found ...
Phase 7 - verify link counts...
No modify flag set, skipping filesystem flush and exiting.

15.2.5. Augmenter une taille de volume

La commande ssm resize change la taille du volume et du système de fichiers spécifiés. S'il n'y a pas de système de fichiers, alors seule la taille du volume sera ajustée.
Dans cet exemple, nous avons actuellement un volume logique dans /dev/vdb de 900Mo nommé lvol001.
~]# ssm list
-----------------------------------------------------------------
Device          Free       Used      Total  Pool      Mount point
-----------------------------------------------------------------
/dev/vda                          15.00 GB            PARTITIONED
/dev/vda1                        500.00 MB            /boot      
/dev/vda2    0.00 KB   14.51 GB   14.51 GB  rhel                 
/dev/vdb   120.00 MB  900.00 MB    1.00 GB  lvm_pool             
/dev/vdc                           1.00 GB                       
-----------------------------------------------------------------
---------------------------------------------------------
Pool      Type  Devices       Free       Used       Total  
---------------------------------------------------------
lvm_pool  lvm   1        120.00 MB  900.00 MB  1020.00 MB  
rhel      lvm   1          0.00 KB   14.51 GB    14.51 GB  
---------------------------------------------------------
--------------------------------------------------------------------------------------------
Volume                 Pool      Volume size  FS     FS size       Free  Type    Mount point
--------------------------------------------------------------------------------------------
/dev/rhel/root         rhel         13.53 GB  xfs   13.52 GB    9.64 GB  linear  /          
/dev/rhel/swap         rhel       1000.00 MB                             linear             
/dev/lvm_pool/lvol001  lvm_pool    900.00 MB  xfs  896.67 MB  896.54 MB  linear             
/dev/vda1                          500.00 MB  xfs  496.67 MB  403.56 MB  part    /boot      
--------------------------------------------------------------------------------------------
Le volume logique a besoin d'augmenter de 500Mo supplémentaires. Pour cela, nous devons ajouter un nouveau périphérique au pool :
~]# ssm resize -s +500M /dev/lvm_pool/lvol001 /dev/vdc
  Physical volume "/dev/vdc" successfully created
  Volume group "lvm_pool" successfully extended
Phase 1 - find and verify superblock...
Phase 2 - using internal log
        - scan filesystem freespace and inode maps...
        - found root inode chunk
Phase 3 - for each AG...
        - scan (but don't clear) agi unlinked lists...
        - process known inodes and perform inode discovery...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
        - process newly discovered inodes...
Phase 4 - check for duplicate blocks...
        - setting up duplicate extent list...
        - check for inodes claiming duplicate blocks...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
No modify flag set, skipping phase 5
Phase 6 - check inode connectivity...
        - traversing filesystem ...
        - traversal finished ...
        - moving disconnected inodes to lost+found ...
Phase 7 - verify link counts...
No modify flag set, skipping filesystem flush and exiting.
  Extending logical volume lvol001 to 1.37 GiB
  Logical volume lvol001 successfully resized
meta-data=/dev/mapper/lvm_pool-lvol001 isize=256    agcount=4, agsize=57600 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=230400, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 230400 to 358400
SSM exécute un contrôle sur le périphérique, puis l'étend au volume à hauteur du montant spécifié. Cela peut être vérifié par la commande ssm list.
~]# ssm list
------------------------------------------------------------------
Device          Free        Used      Total  Pool      Mount point
------------------------------------------------------------------
/dev/vda                           15.00 GB            PARTITIONED
/dev/vda1                         500.00 MB            /boot      
/dev/vda2    0.00 KB    14.51 GB   14.51 GB  rhel                 
/dev/vdb     0.00 KB  1020.00 MB    1.00 GB  lvm_pool             
/dev/vdc   640.00 MB   380.00 MB    1.00 GB  lvm_pool             
------------------------------------------------------------------
------------------------------------------------------
Pool      Type  Devices       Free      Used     Total  
------------------------------------------------------
lvm_pool  lvm   2        640.00 MB   1.37 GB   1.99 GB  
rhel      lvm   1          0.00 KB  14.51 GB  14.51 GB  
------------------------------------------------------
----------------------------------------------------------------------------------------------
Volume                 Pool      Volume size  FS      FS size        Free  Type    Mount point
----------------------------------------------------------------------------------------------
/dev/rhel/root         rhel         13.53 GB  xfs    13.52 GB     9.64 GB  linear  /          
/dev/rhel/swap         rhel       1000.00 MB                               linear             
/dev/lvm_pool/lvol001  lvm_pool      1.37 GB  xfs     1.36 GB     1.36 GB  linear             
/dev/vda1                          500.00 MB  xfs   496.67 MB   403.56 MB  part    /boot       
----------------------------------------------------------------------------------------------

Note

Il est seulement possible de diminuer la taille d'un volume LVM ; non supporté pour les autres types de volumes. On y parvient en exécutant - au lieu de +. Ainsi, pour augmenter la taille d'un volume LVM de 50M, la commande sera :
 
~]# ssm resize -s-50M /dev/lvm_pool/lvol002
  Rounding size to boundary between physical extents: 972.00 MiB
  WARNING: Reducing active logical volume to 972.00 MiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lvol002? [y/n]: y
  Reducing logical volume lvol002 to 972.00 MiB
  Logical volume lvol002 successfully resized
Sans + ou -, la valeur sera considérée comme une valeur absolue.

15.2.6. Cliché

Pour prendre un cliché d'un volume existant, exécuter la commande ssm snapshot.

Note

Cette opération échouera si le backend auquel le volume appartient ne supporte pas les clichés.
Pour créer un cliché de lvol001, exécuter la commande suivante :
~]# ssm snapshot /dev/lvm_pool/lvol001
  Logical volume "snap20150519T130900" created
Pour vérifier ceci, exécuter la commande ssm list, et noter la section de cliché supplémentaire.
~]# ssm list
----------------------------------------------------------------
Device        Free        Used      Total  Pool      Mount point
----------------------------------------------------------------
/dev/vda                         15.00 GB            PARTITIONED
/dev/vda1                       500.00 MB            /boot      
/dev/vda2  0.00 KB    14.51 GB   14.51 GB  rhel                 
/dev/vdb   0.00 KB  1020.00 MB    1.00 GB  lvm_pool             
/dev/vdc                          1.00 GB                        
----------------------------------------------------------------
--------------------------------------------------------
Pool      Type  Devices     Free        Used       Total  
--------------------------------------------------------
lvm_pool  lvm   1        0.00 KB  1020.00 MB  1020.00 MB  
rhel      lvm   1        0.00 KB    14.51 GB    14.51 GB  
--------------------------------------------------------
----------------------------------------------------------------------------------------------
Volume                 Pool      Volume size  FS      FS size        Free  Type    Mount point
----------------------------------------------------------------------------------------------
/dev/rhel/root         rhel         13.53 GB  xfs    13.52 GB     9.64 GB  linear  /          
/dev/rhel/swap         rhel       1000.00 MB                               linear             
/dev/lvm_pool/lvol001  lvm_pool    900.00 MB  xfs   896.67 MB   896.54 MB  linear             
/dev/vda1                          500.00 MB  xfs   496.67 MB   403.56 MB  part    /boot                   
----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Snapshot                           Origin   Pool      Volume size     Size  Type  
----------------------------------------------------------------------------------
/dev/lvm_pool/snap20150519T130900  lvol001  lvm_pool    120.00 MB  0.00 KB  linear
----------------------------------------------------------------------------------

15.2.7. Enlever un élément

La commande ssm remove est utilisée pour supprimer un élément, comme un périphérique, un pool ou un volume.

Note

Si un périphérique est utilisé par un pool, s'il est supprimé, il échouera. On peut forcer ce comportement en utilisant l'argument -f.
Si le volume est monté, puis supprimé, il échouera. À la différence du périphérique, le comportement pourra être forcé par l'argument -f.
Pour supprimer lvm_pool et tout ce qui se trouve à l'intérieur, exécuter la commande suivante :
~]# ssm remove lvm_pool
Do you really want to remove volume group "lvm_pool" containing 2 logical volumes? [y/n]: y
Do you really want to remove active logical volume snap20150519T130900? [y/n]: y
  Logical volume "snap20150519T130900" successfully removed
Do you really want to remove active logical volume lvol001? [y/n]: y
  Logical volume "lvol001" successfully removed
  Volume group "lvm_pool" successfully removed