\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{dim. mai 22 21:14:57 CEST 2016}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={lvm},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Outils lvm2},
CreationDate={D:20160522211457},
ModDate={D:20160522211457},
Keywords={storages;raid;lvm}
}}
\begin{document}
 
\begin{center}
{\Huge lvm }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Outils lvm2}
 
\vspace{10mm}
 
\hspace{1mm}  lvm fournis les outils en ligne de commande pour LVM2. Si lvm est invoqué sans arguments, affiche un prompt. Les commandes LVM peuvent être entrées directement.
\vspace{5mm} \\
 
 
\hspace{1mm}  Si lvm est invoqué avec argv[0] définis au nom d'une commande spécifique, il agit comme cette commande
\vspace{5mm} \\
 
 
\hspace{1mm}  À l'invocation, lvm nécessite seulement que les descripteurs de fichier stdin, stdout et stderr soient disponible. Si d'autres sont trouvés, ils sont fermés et des messages l'alerte sont émis.
\vspace{5mm} \\
 
 
\hspace{1mm}  Là où les commandes prennent des noms VG ou LV en argument, le chemin complet est optionnel. Un LV appelé lvol0 dans un VG appelé vg0 peuvent être spécifiés sous la forme vg0/lvol0. Quand une liste de VG est requise mais laissée vide, une liste de tous les VG sera substituée. Quand une liste de LV est requise main un VG est donné, une liste de tous les LV dans ce VG est subsitué.
\vspace{5mm} \\
 
 
\hspace{1mm}  Un avantage d'utiliser le shell intégré est que les informations de configuration sont mis en cache en interne entre les commandes.
\vspace{5mm} \\
 
 
\hspace{1mm}  Un fichier contenant un simple script avec une commande par ligne peut également être donné sur la ligne de commande. Le script peut également être exécuté directement si la première ligne est \#! suivie par le chemin de lvm.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Commandes intégrées }
 
\
 
\hspace{1mm}  Les commandes suivantes sont intégrées dans lvm sans liens créés dans le système de fichier.
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} config]{=lvmconfig}
\item[\hspace{1mm} devtypes]{Affiche les types de périphériques block intégrés reconnus}
\item[\hspace{1mm} formats]{Affiche les formats de métadonnées reconnus}
\item[\hspace{1mm} help]{Affiche l'aide}
\item[\hspace{1mm} lvpoll]{Opérations lvmpolld complet}
\item[\hspace{1mm} pvdata]{Non encore implémenté}
\item[\hspace{1mm} segtypes]{Affiche les types de segments LVM reconnus}
\item[\hspace{1mm} systemid]{Affiche tout system ID actuellement définis dans cet hôte}
\item[\hspace{1mm} tags]{Affiche tous les tags définis dans cet hôte}
\item[\hspace{1mm} version]{Affiche la version}
\end{description}
 
\vspace{1cm}{\huge Commandes }
 
\
 
\hspace{1mm}  Les commandes suivantes implémentent les fonctionnalité de cœur de LVM
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} pvchange]{Change les attributs d'un volume physique}
\item[\hspace{1mm} pvck]{Vérifie les métadonnées d'un volume physique}
\item[\hspace{1mm} pvcreate]{Initialise un disque ou une partition à utiliser par LVM}
\item[\hspace{1mm} pvdisplay]{Affiche les attributs d'un volume physique}
\item[\hspace{1mm} pvmove]{Déplace les extents physiques}
\item[\hspace{1mm} pvremove]{Supprime un volume physique}
\item[\hspace{1mm} pvresize]{Redimensionne un disque ou une partition utilisé par lvm}
\item[\hspace{1mm} pvs]{Affiche des informations sur les volumes physique}
\item[\hspace{1mm} pvscan]{Scanne tous les disques pour les volumes physique}
\item[\hspace{1mm} vgcfgbackup]{Sauvegarde la zone de descripteur de volume group}
\item[\hspace{1mm} vgcfgrestore]{Restaure la zone de descripteur de volume group}
\item[\hspace{1mm} vgchange]{Change les attributs d'un volume group}
\item[\hspace{1mm} vgck]{Vérifie les métadonnées d'un volume group}
\item[\hspace{1mm} vgconvert]{convertis le format de métadonnées d'un volume group}
\item[\hspace{1mm} vgcreate]{Créé un volume group}
\item[\hspace{1mm} vgdisplay]{Affiche les attributs d'un volume group}
\item[\hspace{1mm} vgextend]{Ajoute des volumes physiques à un volume group}
\item[\hspace{1mm} vgimport]{rend les volumes group exportés connus du système}
\item[\hspace{1mm} vgimportclone]{Importe et renomme des volume group dupliqués}
\item[\hspace{1mm} vgmerge]{Fusionne 2 volumes group}
\item[\hspace{1mm} vgmknodes]{Recréé un répertoire de Volume Group et les fichier spéciaux de volume logique}
\item[\hspace{1mm} vgreduce]{Réduit un volume group en supprimant un ou plusieurs volumes physique}
\item[\hspace{1mm} vgremove]{Supprime un volume group}
\item[\hspace{1mm} vgrename]{Renomme un volume group}
\item[\hspace{1mm} vgs]{Affiche des informations sur les volume group}
\item[\hspace{1mm} vgscan]{Scanne tous les disques pour les volumes group et reconstruit les caches}
\item[\hspace{1mm} vgsplit]{Split un volume group en 2, en déplaçant les volumes logiques d'un volume group vers un autre en déplaçant tous les volumes physiques}
\item[\hspace{1mm} lvchange]{Change les attributs d'un volume logique}
\item[\hspace{1mm} lvconvert]{Convertis un volume logique d'un linéaire vers un mirror ou un snapshot}
\item[\hspace{1mm} lvcreate]{Créé un volume logique dans un volume group existant}
\item[\hspace{1mm} lvdisplay]{Affiche les attributs d'un volume logique}
\item[\hspace{1mm} lvextend]{Étend la taille d'un volume logique}
\item[\hspace{1mm} lvmchange]{Change les attributs de LVM}
\item[\hspace{1mm} lvmconfig]{Affiche les informations de configuration après avoir chargé lvm.conf et autres fichiers de configuration}
\item[\hspace{1mm} lvmdiskscan]{Scanne tous les périphériques visible pour LVM2}
\item[\hspace{1mm} lvmdump]{Créé des dump d'informations lvm2 pour diagnostique}
\item[\hspace{1mm} lvreduce]{Réduit la taille d'un volume logique}
\item[\hspace{1mm} lvremove]{Supprime un volume logique}
\item[\hspace{1mm} lvrename]{renomme un volume logique}
\item[\hspace{1mm} lvresize]{Redimensionne un volume logique}
\item[\hspace{1mm} lvs]{Affiche des informations sur les volumes logique}
\item[\hspace{1mm} lvscan]{Scanne tous les disque pour les volumes logique}
\end{description}
 
\hspace{1mm}  Les commande suivantes ne sont pas encore implémentées mais le seront dans le future: lvmadc, lvmsar, pvdata.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge OPTIONS }
 
\
 
\hspace{1mm}  Les options suivantes sont disponible pour de nombreuses commandes. Elles sont implémentées de manière générique et documentés ici au lieu des man individuels
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} -v, --verbose]{mode verbeux}
\item[\hspace{1mm} -d, --debug]{définis le niveau de débug, de 1 à 6 fois pour augmenter les détails.}
\item[\hspace{1mm} -q, --quiet]{Supprime la sortie et les messages de log. Supprime également tout prompt et répond automatiquement no}
\item[\hspace{1mm} --yes]{Par de prompt et répond toujours yes}
\item[\hspace{1mm} -t, --test]{Lance en mode test. Les commandes ne mettent pas à jours les métadonnées.}
\item[\hspace{1mm} --driverloaded \{y|n\}]{à n, ne tente pas de contacter le pilote device-mapper du kernel}
\item[\hspace{1mm} -A, --autobackup \{y|n\}]{Backup automatiquement les métadonnées après un changement.}
\item[\hspace{1mm} -P, --partial]{Définis, les outils fond de leur mieux pour fournir un accès aux volumes group qui sont seulement disponible partiellement. Quand un partie d'un volume logique est manquant, /dev/ioerror est substitué, et dmsetup peut être utilisé pour retourner les erreurs I/O.}
\item[\hspace{1mm} -S, --select <selection>]{Pour les commandes de rapport, affiche seulement les lignes qui matchent le critère donné.}
\item[\hspace{1mm} -M, --metadatatype Type\$]{Spécifie quel type de métadonnée utiliser, tel que lvm1 ou lvm2.}
\item[\hspace{1mm} --ignorelockingfailure]{Permet de traiter des opérations de métadonnées lecture-seule tel que lvchange -ay et vgchange -ay même si le module de lock échoue. Utile dans un script init si le répertoire de lock est monté en lecture seul.}
\item[\hspace{1mm} --ignoreskippedcluster]{Permet de quitter avec un status non-zero si la commande est lancé sans lockup clusterisé et certains vg clusterisés doivent être ignorés.}
\item[\hspace{1mm} --readonly]{Lance la commande en mode spécial lecture seul qui lit les métadonnées sur disque sans nécessiter de créer un lock.}
\item[\hspace{1mm} --foreign]{Force la commande à accéder aux volumes groupe exterieur. PEut être utilisé pour reporter ou afficher un VG qui est possédé par un autre hôte. Les performances peuvent être très réduite parce que le cache lvmetad n'est pas utilisé}
\item[\hspace{1mm} --shared]{Accède à un volume group partagé, qui serait ignoré quand lvmlockd n'est pas utilisé.}
\item[\hspace{1mm} --addtag tag]{Ajoute le tag spécifié à un PV, VG ou LV. Peut être spécifié plusieurs fois. Les tags peuvent être donné sur la ligne de commande à la place des arguments PV, VG, ou LV.}
\item[\hspace{1mm} --deltag tag]{Supprime le tag spécifié}
\item[\hspace{1mm} --alloc \{anywhere|contiguous|cling|inherit|normal\}]{Sélectionne la stratégie d'allocation quand une commande doit allouer des Extents physiques depuis le Volume Group. Chaque Volume Group et Logical Volume a une stratégie d'allocation définie. Défaut pour VG: normal, LV: inherit}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} normal]{Applique des règles de sens commun qui ne place pas les stripes parallèles dans le même volume physique.}
\item[\hspace{6mm} inherit]{applique la même stratégie que le VG}
\item[\hspace{6mm} contiguous]{Nécessite que les nouveaux extents soient placé adjacent aux extents physique existant}
\item[\hspace{6mm} cling]{Place le nouvel extent physique sur le même volume physique que les extents physique dans le même stripe du volume logique}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} --commandprofile ProfileName]{Sélectionne le profile de configuration de commande à utiliser en traitant une commande LVM.}
\item[\hspace{1mm} --metadataprofile ProfileName]{Sélectionne le profile de configuration des métadonnées à utiliser en traitant une commande LVM.}
\item[\hspace{1mm} --profile ProfileName]{idem à --metadataprofile pour vgcreate, lvcreate, vgchange et lvchange, et --commandprofile pour les autres commandes.}
\item[\hspace{1mm} --config ConfigString]{Configuration à utiliser}
\end{description}
 
\vspace{1cm}{\huge Allocation }
 
\
 
\hspace{1mm}  Quand une opération doit allouer des Extents physique pour un ou plusieurs volumes physique, les outils traitent comme suit:
\vspace{5mm} \\
 
 
\hspace{1mm}  Tout d'abord, ils génèrent le jeu complet d'Extents Physique non-alloués dans le Volume Group. Si une plage d'Extents sont fournis à la fin de la ligne de commande, seul les Extents physique non-alloués dans cette plage dans les volumes physique spécifiés sont considérés.
\vspace{5mm} \\
 
 
\hspace{1mm}  Ensuite, ils tentent chaque stratégie d'allocation en retour, en commençant la stratégie la plus stricte (contiguous) et se termine avec la stratégie spécifiée avec --alloc ou la valeur par défaut. Pour chaque stratégie, en commençant depuis l'Extent logique avec le numéro le plus faible de l'espace du volume logique vide qui doit être remplis, ils allouent autant d'espace que possible en accord avec les restrictions imposées par la stratégie. Si plus d'espace est nécessaire, ils utilise la stratégie suivante.
\vspace{5mm} \\
 
 
\hspace{1mm}  Les restrictions sont les suivantes:
\vspace{5mm} \\
 
 
\hspace{1mm}  Contiguous nécessite que l'emplacement physique d'un extent logique qui n'est pas le premier extent logique d'un volume logique soit adjacent à l'emplacement physique de l'extent logique le précédent immédiatement.
\vspace{5mm} \\
 
 
\hspace{1mm}  Quand un volume logique est stripé ou mirroré, les restrictions ci-dessus sont appliquées indépendamment à chaque stripe ou image mirroir qui nécessite de l'espace.
\vspace{5mm} \\
 
 
\hspace{1mm}  Normal ne choisit pas un Extent Physique qui partage le même volume physique comme Extent Logique déjà alloué à un volume logique parallèle (ex: un striped ou une image mirroir différente) au même offset dans ce volume logique parallèle.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Types de volume logique }
 
\
 
\hspace{1mm}  Certains types de volumes logiques sont simple à créer et peut être fait avec une simple commande lvcreate. Les types de volume logique linear et striped en sont un exemple. D'autre types de volume logique peuvent nécessiter plus d'une commande pour les créer, comme les types cache et thin provisioning.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Critères de Sélection }
 
\
 
\hspace{1mm}  Les critères de sélection sont un jeu de déclaration combinés par des opérateurs logique et de groupement. La déclaration consiste de nom de colonne pour lequel un jeu de valeurs valides est définis en utilisant des opérateurs de comparaison. Pour une liste complète de noms de colonne qui peuvent être utilisé dans la sélection, voir la sortie de <commande lvm> -S help
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Opérateurs de comparaison (cmp\_op) }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} =\textasciitilde]{Matche l'expression régulière}
\item[\hspace{1mm} !\textasciitilde]{ne match pas l'expression régulière}
\item[\hspace{1mm} =]{égal à}
\item[\hspace{1mm} !=]{Non égal à}
\item[\hspace{1mm} >=]{Supérieur ou égal à}
\item[\hspace{1mm} >]{Supérieur à}
\item[\hspace{1mm} <=]{Inférieur ou égal à}
\item[\hspace{1mm} <]{Inférieur à}
\end{description}
 
\vspace{1cm}{\huge Opérateurs logiques binaire (cmp\_log) }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} \&\&]{Tous les champs doivent matcher}
\item[\hspace{1mm} ,]{Idem}
\item[\hspace{1mm} ||]{Au moins un champs doit matcher}
\item[\hspace{1mm} \#]{idem}
\end{description}
 
\vspace{1cm}{\huge Opérateurs logique unaire }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} !]{Négation}
\end{description}
 
\vspace{1cm}{\huge Opérateurs de groupement }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} ()]{parenthèses}
\item[\hspace{1mm} \texttt{[}\texttt{]}]{Liste}
\item[\hspace{1mm} \{\}]{Sous-jeu de liste}
\end{description}
 
\vspace{1cm}{\huge Spécification de grammaire informelle }
 
\
 
\hspace{1mm}  STATEMENT = column cmp\_op VALUE | STATEMENT log\_op STATEMENT | (STATEMENT) | !(STATEMENT)
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Variables d'environnement }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} HOME]{Répertoire contenant .lvm\_history si le shell readline interne est invoqué}
\item[\hspace{1mm} LVM\_COMAND\_PROFILE]{Nom du profile de commande par défaut à utiliser pour les commandes LVM.}
\item[\hspace{1mm} LVM\_SYSTEM\_DIR]{Répertoire contenant lvm.conf. Défaut: /etc/lvm}
\item[\hspace{1mm} LVM\_SUPPRESS\_FD\_WARNINGS]{Supprime les alertes sur les descripteurs de fichier inattendus passés à lvm}
\item[\hspace{1mm} LVM\_VG\_NAME]{Nom deu volume group qui est assumé pour toute référence à un volume logique qui ne spécifie pas de chemin.}
\item[\hspace{1mm} LVM\_LVMETAD\_PIDFILE]{Nom du volume group qui stocke l'ID du process lvmetad}
\item[\hspace{1mm} LVM\_LVMETAD\_SOCKET]{Chemin du socket utilisé pour communiquer avec lvmetad}
\item[\hspace{1mm} LVM\_LVMPOLLD\_PIDFILE]{Chemin du fichier qui stocke l'ID du processus lvmpolld}
\item[\hspace{1mm} LVM\_LVMPOLLD\_SOCKET]{Chemin du socket utilisé pour communiquer avec lvmpolld}
\item[\hspace{1mm} LVM\_LOG\_FILE\_EPOCH]{Chaîne jusqu'à 32 lettre à ajouter au nom du fichier de log et suivi par l'ID du processus et un horodatage. Si définis, chaque processus log dans un fichier séparé}
\item[\hspace{1mm} LVM\_EXPECTED\_EXIT\_STATUS]{Le status anticipé quand le processus quitte. Utiliser ">N" pour matcher un status supérieur à N}
\item[\hspace{1mm} LVM\_SUPPRESS\_LOCKING\_FAILURE\_MESSAGES]{Utilisé pour supprimer les messages d'alerte quand le lock configuré est indisponible}
\item[\hspace{1mm} DM\_ABORT\_ON\_INTERNAL\_ERRORS]{Annule le traitement si le code détecte une erreur interne non-fatal}
\item[\hspace{1mm} DM\_DISABLE\_UDEV]{Évite l'interaction avec udev. LVM va gérer les nœud dans /dev directement}
\end{description}
\end{flushleft}
\end{document}
