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
etcryptsetup
.
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
oudev
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
ork
pour kilooctetsM
oum
pour megaoctetsG
oug
pour gigaoctetsT
out
pour teraoctetsP
oup
pour petaoctetsE
oue
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