\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]{lun. juin 6 10:23:43 CEST 2016}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={lvmsystemid},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={ID système LVM},
CreationDate={D:20160606102343},
ModDate={D:20160606102343},
Keywords={storages;raid;lvm}
}}
\begin{document}
 
\begin{center}
{\Huge lvmsystemid }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large ID système LVM}
 
\vspace{10mm}
 
\hspace{1mm}  Les VG locaux peuvent exister sur des stockages partagés où ils sont visibles à plusieurs hôtes. Ces VG sont prévus pour être utilisé par une seule machine. Un system\_id identifiant un hôte unique peut être assigné à un VG pour indiquer le propriétaire du VG. Ce propriétaire peut utiliser le VG normalement, et tous les autres hôtes vont l'ignorer.
\vspace{5mm} \\
 
 
\hspace{1mm}  Le system id n'est pas une propriété dynamique, et peut seulement être changée dans des circonstances très limitées. Ces changements limités ne sont pas parfaitement reflétés via les hôtes. Une vue plus cohérente de stockage partagée nécessite d'utiliser un système de lock inter-hôte pour coordonner l'accès et mettre à jours les caches.
\vspace{5mm} \\
 
 
\hspace{1mm}  Le system\_id est une chaîne identifiant un hôte de manière unique. Il peut être définis manuellement ou automatiquement par lvm en utilisant un identifiant unique déjà disponible dans l'hôte, par exemple machine-id ou uname.
\vspace{5mm} \\
 
 
\hspace{1mm}  Dans vgcreate, le system\_id local est sauvé dans les métadonnées du VG. L'hôte local possède le nouveau VG, et les autres hôtes ne peuvent pas l'utiliser.
\vspace{5mm} \\
 
 
\hspace{1mm}  Un VG sans system\_id peut être utilisé par n'importe quel hôte. un foreign VG est un VG avec un system\_id tel que vu par un hôte avec un system\_id qui ne matche pas le system\_id du VG.
\vspace{5mm} \\
 
 
\hspace{1mm}  Les caractères de system\_id valides sont les mêmes que les caractères valides pour un nom de VG. Si un system\_id contient des caractères invalides, ils sont omis. Si un system\_id dépasse la longueur maximale (128), il est tronqué.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Limitations et alertes }
 
\
 
\hspace{1mm}  pour bénéficier pleinement du system\_id, tous les hôtes doivent avoir un system\_id, et les VG également. Un VG sur un stockage partagé peut être endommagé ou détruit dans certains cas.
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} -]{Un VG sans system\_id peut être utilisé sans restriction par tous les hôtes, même les hôtes qui ont un system\_id. Pour vérifier qu'un VG a un system\_id, utiliser vgs -o+systemid. Pour ajouter un system\_id, utiliser vgchange --systemid}
\item[\hspace{1mm} -]{2 hôtes ne devraient pas avoir le même system\_id.}
\item[\hspace{1mm} -]{Les PV orphelins (ou les périphériques inutilisés) sur des stockages partagés sont complètement non-protégés par le systemid. Les commandes qui utilisent ces PV, tel que vgcreate ou vgextend, peut effectuer des opérations conflictuelles et corrompre les PV.}
\item[\hspace{1mm} ]{}
\end{description}
 
\vspace{1cm}{\huge types d'accès VG }
 
\
 
\hspace{1mm}  Un VG local est prévu pour être utilisé par un simple hôte. Un VG partagé ou clusterisé est prévu pour être utilisé par plusieurs hôtes. Ils peuvent être distingués par:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} non-restreint:]{un VG local qui n'a pas de system\_id. Ce type de VG n'est pas protégé est accéssible à tous les hôtes}
\item[\hspace{1mm} possédé:]{un VG local qui a un system\_id, tel que vu par un hôte anay un system\_id correspondant. Ce VG est accessible à l'hôte}
\item[\hspace{1mm} Étranger:]{un VG local qui a un system\_id, tel que vu par un hôte ayant un system\_id qui ne correspond pas.}
\item[\hspace{1mm} Exporté:]{un VG local qui a été exporté avec vgexport et n'a pas de system\_id. Ce type de VG ne peut être accédé que par vgimport.}
\item[\hspace{1mm} partagé:]{un VG partagé ou "lockd" a lock\_type définis et pas de system\_id. il est utilisé sur un stockage partagé pour plusieurs hôtes, uniquement via lvmlockd}
\item[\hspace{1mm} clusterisé:]{Un VG clusterisé ou "clvm" a le flag clustered mis et pas de system\_id. Il est utilisé sur un stockage partagé par plusieurs hôtes, en utilisant clvmd.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} system\_id\_source]{Le system\_id d'un hôte peut être définis de plusieurs manières. lvm.conf global/system\_id\_source définis la méthode utilisée pour trouver le system\_id local:}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} none]{lvm n'utilise pas de system\_id}
\item[\hspace{6mm} machineid]{Le contenu de /etc/machine-id est utilisé comme id système}
\item[\hspace{6mm} uname]{La chaîne utsname.nodename de uname(2) est utilisé comme system\_id.}
\item[\hspace{6mm} lvmlocal]{Définis dans lvmlocal.conf local/system\_id}
\item[\hspace{6mm} file]{définis dans un fichier spécifié par lvm.conf global/system\_id\_file}
\end{description}
 
\hspace{1mm}  Changer system\_id\_source change le system\_id, ce qui peut empêcher l'utilisation de VG. Si un system\_id\_source autre que none échoue à la résolution du system\_id, l'hôte sera autorisé à accéder aux VG sans system\_id, mais ne sera pas autorisé à accéder aux VG avec un system\_id.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge extra\_system\_ids }
 
\
 
\hspace{1mm}  Dans certains cas, l'hôte qui lance la commande assigne son propre system\_id au nouveau VG. Pour le remplacer par un autre system\_id, utiliser: \textbf{vgcreate --systemid <SystemID> <VG> <Devices>}. Si l'argument de --systemid est une chaîne vide, le VG est créé sans system\_id.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Rapport/affichage }
 
\
 
\hspace{1mm}  Le system\_id d'un VG est affiché avec l'option de repporting systemid. Les commandes de rapport/affichage ignorent les VG étrangés par défaut. Pour afficher ces VG, l'option --foreign peut être utilisé. Cela implique que la commande lise les VG sur les disques et non via lvmetad.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge vgexport/vgimport }
 
\
 
\hspace{1mm}  vgexport efface le system\_id. Les autres hôtes continuent à voir le VG nouvellement exporté comme étrangé à cause du caching local (quand lvmetad est utilisé). Mettre à jours manuellement le cache avec pvscan --cache pour reconnaître le nouveau VG exporté.
\vspace{5mm} \\
 
 
\hspace{1mm}  vgimport définis le system\_id. vgimport scanne automatiquement les nouveaux VG exportés.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge vgchange }
 
\
 
\hspace{1mm} Un hôte peut changer le system\_id de ses propres VG, mais la commande nécessite confirmation du fait que l'hôte perd l'accès à ces VG \\
\hspace{1mm} \textbf{vgchange --systemid SystemID VG} \\
 
\hspace{1mm}  Le system\_id peut être supprimé d'un VG en spécifiant une chaîne vide comme nouveau system\_id. Un hôte ne peut pas changer directement le system\_id d'un VG étranger. Pour déplacer un VG d'un hôte à un autre, vgexport et vgimport doivent être utilisés. Pour devenir propriétaire d'un VG étranger, un hôte peut ajouter le system\_id étranger à sa liste extra\_system\_ids, changer le system\_id de ce VG, puis supprimer le system\_id de sa extra\_system\_ids.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge VG partagés }
 
\
 
\hspace{1mm}  Un VG partagé/lockd n'a pas de system\_id, permettant à plusieurs hôte de l'utiliser via lvmlockd. Changer un VG en un type lockd efface le system\_id.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge VG clusterisés }
 
\
 
\hspace{1mm}  Un VG clusterisé/clvm n'a pas de system\_id, permettant à plusieurs hôte de l'utiliser via clvmd. Changer un VG en type clustered efface le system\_id existant. Changer le VG clustered en non-clustered définis le system\_id de l'hôte qui a lancé la commande vgchange.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge creation\_host }
 
\
 
\hspace{1mm}  dans vgcreate, le champ de métadonnées VG creation\_host est définis par défaut à uname de l'hôte. Ce champ ne peut pas être changé, et n'est pas utilisé pour contrôler l'accès. Quand system\_id\_source est "uname", system\_id et creation\_host sont les même.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Orphelins }
 
\
 
\hspace{1mm}  Les VG orphelins sont des périphériques non-utilisé. À cause de celà, il ne sont pas protégés par un system\_id, et tous les hôtes peuvent les utiliser. La coordination des changements des changements en VG orphelins est hors du périmètre du system\_id.
\vspace{5mm} \\
 
 
\hspace{1mm}  Les effets sont spécialement évidents quand lvm utilise lvmetad. Par exemple, si plusieurs hôte voient un VG orphelin, et un hôte créé un VG en utilisant l'orphelin, les autres hôtes continuent de le voir orphelin. Rien n'empêche les autres hôte d'utiliser ce PV et le corrompre. Si les autres hôte lancent une commande de rescan, et mettent à jours lvmetad, ils le reconnaîtront.
\vspace{5mm} \\
 
\end{flushleft}
\end{document}
