\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. nov. 14 18:14:26 CET 2016}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={isnsadm},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Utilitaire client iSNS},
CreationDate={D:20161114181426},
ModDate={D:20161114181426},
Keywords={iSCSI;storages}
}}
\begin{document}
 
\begin{center}
{\Huge isnsadm }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Utilitaire client iSNS}
 
\vspace{10mm}
 
\hspace{1mm}  isnsadm est un utilitaire permettant d'interragir avec un serveur iSNS.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge OPTIONS }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} -c filename, --config filename]{Spécifie le fichier de configuration. Défaut: /etc/isns/isnsadm.conf}
\item[\hspace{1mm} -d facility, --debug facility]{Active de débug. facility peut être:}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} socket]{Transmission/réception réseau}
\item[\hspace{6mm} auth]{Informations liées à l'authentification et la sécurité}
\item[\hspace{6mm} message]{couche du protocole iSNS}
\item[\hspace{6mm} state]{État de la base de données}
\item[\hspace{6mm} scn]{Message SCN (state change notification)}
\item[\hspace{6mm} esi]{message ESI (entity status inquiry)}
\item[\hspace{6mm} all]{Tout}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} --local]{Utilise un socket Unix pour dialoguer avec le serveur iSNS. Uniquement disponible par root}
\item[\hspace{1mm} -s servename, --server servername]{Serveur à utiliser.}
\item[\hspace{1mm} --control]{Identité d'un nœud de contrôle. Les nœud de contrôle sont spéciaux et ont plus de droits d'accès et modification dans la base que les nœuds de stockage normaux.}
\item[\hspace{1mm} --key attr=value]{mode enregistrement uniquement, et permet de spécifier une clé.}
\item[\hspace{1mm} --keyfile=filename]{En créant une stratégie pour un nouveau client iSNS, isnsadm est capable de générer une clé DSA pour le client. La partie publique est stockée dans l'objet stratégie, et la partie privée est stockée dans le fichier spécifié par l'option keyfile.}
\end{description}
 
\vspace{1cm}{\huge Attributs supportés }
 
\
 
\hspace{1mm}  La plupart des modes prennent une liste d'attributs comme argument sur la ligne de commande. Le nommage et la syntaxe de ces attributs sont les même pour tous les modes. Cependant, certains mode ne supporte qu'un jeu limité d'attribut.
\vspace{5mm} \\
\hspace{1mm}  Les attributs sont généralement donnés en name=value. Les attributs vides sont supportés.
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} entity-id]{(alias eid)(tag 1) Network Entity}
\item[\hspace{1mm} entity-prot]{(tag 2) Network Entity}
\item[\hspace{1mm} entity-index]{(tag 7)}
\item[\hspace{1mm} iscsi-name]{(tag 32) iSCSI Storage Node}
\item[\hspace{1mm} iscsi-node-type]{(tag 33)}
\item[\hspace{1mm} iscsi-alias]{(tag 34)}
\item[\hspace{1mm} iscsi-idx]{(tag 36)}
\item[\hspace{1mm} iscsi-authmethod]{(tag 42)}
\item[\hspace{1mm} portal-addr]{(tag 16)}
\item[\hspace{1mm} portal-port]{(tag 17)}
\item[\hspace{1mm} portal-name]{(tag 18)}
\item[\hspace{1mm} portal-esi-port]{(tag 20)}
\item[\hspace{1mm} portal-esi-interval]{(tag 21)}
\item[\hspace{1mm} portal-idx]{(tag 22)}
\item[\hspace{1mm} portal-scn-port]{(tag 23)}
\item[\hspace{1mm} portal-group-index]{(tag 52) Portal Group}
\item[\hspace{1mm} pg-name]{(tag 48)}
\item[\hspace{1mm} pg-addr]{(tag 49)}
\item[\hspace{1mm} pg-port]{(tag 50)}
\item[\hspace{1mm} pg-tag]{(alias pgt)(tag 51)}
\item[\hspace{1mm} pg-idx]{(tag 52)}
\item[\hspace{1mm} dd-id]{(tag 2065) Discovery Domain}
\item[\hspace{1mm} dd-name]{(tag 2066)}
\item[\hspace{1mm} dd-member-iscsi-idx]{(tag 2067)}
\item[\hspace{1mm} dd-member-name]{(tag 2068)}
\item[\hspace{1mm} dd-member-fc-name]{(tag 2069)}
\item[\hspace{1mm} dd-member-portal-idx]{(tag 2070)}
\item[\hspace{1mm} dd-member-addr]{(tag 2071)}
\item[\hspace{1mm} dd-member-port]{(tag 2072)}
\item[\hspace{1mm} dd-features]{(tag 2078)}
\item[\hspace{1mm} policy-name]{(alias spi) Policy Object}
\item[\hspace{1mm} policy-key]{-}
\item[\hspace{1mm} policy-entity]{-}
\item[\hspace{1mm} policy-node-type]{-}
\item[\hspace{1mm} policy-object-type]{-}
\item[\hspace{1mm} policy-functions]{-}
\end{description}
 
\vspace{1cm}{\huge Attributs Portail }
 
\
 
\hspace{1mm}  Les informations de portail sont transportés par 2 attributs séparés dans iSNS; un attribut address maintenant l'adresseIP, et l'attribut port maintenant le numéro de port et le protocole utilisé. isnsadm supporte une notation représentant un portail comme un pseudo-attribut. Ces 2 syntaxes sont équivalentes:
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Attributs de champ de bits }
 
\
 
\hspace{1mm}  Les attributs iSNS sont des mots représentant un champ de bit. isnsadm affiche et parcour ces attributs au format human-readable au lieu d'utiliser la valeur numérique. En spécifiant un attribut bitfield, il est possible de combiner les caractères '+' ou ',': \textbf{node-type=control+initiator}
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Mode enregistrement }
 
\
 
\hspace{1mm}  Le mode enregistrement est séléctionné en utilisant l'option --register, suivi par une liste d'un ou plusieurs objets à enregistrer avec le serveur iSNS. Par défaut, cela créé une entité réseau pour le client s'il n'en existe pas, et place les nouveau objets dedans. Généralement, on enregistre tous les objets pour une entité réseaux en une seule opération. Chaque objet est spécifié comme un type, optionnellement suivis par une liste d'attributs: \textbf{target=iqn.2005-01.org.open-iscsi.foo:disk1,alias=disk1}. Les types d'objets suivants sont supportés:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{6mm} entity=name]{Indique au serveur de grouper tous les objets dans l'objet conteneur Network Entity. Normalement, le serveur iSNS assigne automatiquement un nom d'entité qui est en phase avec ses stratégies, et il n'y a pas besoin de le spécifier explicitement.}
\item[\hspace{6mm} initiator\texttt{[}=name\texttt{]}]{Enregistre ne nœud de stockage iSCSI de type initiator.}
\item[\hspace{6mm} target\texttt{[}=name\texttt{]}]{Enregistre un nœud de stockage de type target.}
\item[\hspace{6mm} control\texttt{[}=name\texttt{]}]{Enregistre un nœud de stockage de type control.}
\item[\hspace{6mm} portal=\texttt{[}address:port/proto\texttt{]}]{Enregistre un portail en utilisant l'adresse donnée.}
\item[\hspace{6mm} pg]{Ergesitre un groupe de portail joignant le portail et nœud précédant. Les groupes de portail peuvent être utilisés pour décrire les portails préférés pour un nœud donné.}
\end{description}
 
\hspace{1mm}  Il y a 2 options de ligne de commande additionnels utilisés exclusivement avec le mode enregistrement. --replace recréé une nouvelle entité réseau, le serveur supprime l'ancien et tous les nœud et portails qu'il contient. --key permet de remplace simplement une partie de l'entité réseaux.
\vspace{5mm} \\
 
 
\hspace{1mm} par exemple, supposons une entité contenant le portail 10.1.1.1:860, et l'adresse du client changé en 10.2.7.7: \\
\hspace{1mm} \textbf{isnsadm --replace --key portal=10.1.1.1:860 portal=10.2.7.7:860} \\
 
\hspace{1mm}  L'option --key ne reconnaît qu'un sous-jeu d'attributs:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{6mm} Entity]{eid=identifier}
\item[\hspace{6mm} Portail]{portail=address:port}
\item[\hspace{6mm} iSCSI Node]{iscsi-name=name}
\end{description}
 
\vspace{1cm}{\huge Mode requête }
 
\
 
\hspace{1mm}  Le mode Query consiste d'une liste de paires attr=value. Tous les attributs doivent appartenir au même type d'objet. Il est également possible de spécifier un nom d'attribut sans valeur qui match tout objet possédant un tel attribut sans regarder sa valeur.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Mode liste }
 
\
 
\hspace{1mm}  Affiche tous les objets d'un type donné, optionnellement restreint aux valeurs d'attribut correspondant. Les argument sont des noms de type (entities, nodes, portails, dds, ddsets, portail-groups et policies"
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Mode dé-enregistrement }
 
\
 
\hspace{1mm}  deregistration supporte le même jeu d'attributs que le mode query.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Discovery Domain Registration }
 
\
 
\hspace{1mm}  Ce mode permet d'enregistrer un domaine de découverte ou d'ajouter de nouveaux membres. Seule des attributs de domaine de découvert sont reconnus.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Discovery Domain Deregistration }
 
\
 
\hspace{1mm}  Permet de dé-enregistrer un domaine de découverte. Supporte le même jeu d'attributs que le mode query.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Enrôlement client }
 
\
 
\hspace{1mm}  Ce mode ne fonctionne que quand le serveur reconnaît le client comme ayant des capacités de nœud contrôle, qui est possible de 2 manières, avec --local en root sur l'hôte isnsd, ou --control. Pour enrôler un client, utiliser l'option --enroll, suivis par le nom source du client à enrôler. La chaîne sera utilisé comme nom de stratégie de sécurité que le client utilise pour s'identifier lui-même. Les attributs supportés sont:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} name]{(alias spi) Nom de stratégie}
\item[\hspace{1mm} key]{Clé publique du client}
\item[\hspace{1mm} entity]{Identifiant d'entité assignée}
\item[\hspace{1mm} node-type]{Types de nœud permis}
\item[\hspace{1mm} node-name]{Noms de nœud permis}
\item[\hspace{1mm} functions]{Bitmap des fonctions permises}
\item[\hspace{1mm} object-type]{Masque d'accès aux objets}
\end{description}
 
\hspace{1mm}  Note: pour générer une clé DSA, un jeu de paramètres DSA doit être installé. Par défaut isnsadm s'attend à le trouver dans /etc/isns/sda.params. Ces paramètres sont créé par isnsd --init une fois sur le serveur. Alternativement, la commande suivante peut être utilisée: \textbf{openssl dsaparam 1024 -out /etc/isns/dsa.params}
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Exemples }
 
\
 
\hspace{1mm} Initialiser les paramètres et clé DSA du serveur \\
\hspace{1mm} \textbf{isnsd --init} \\
\hspace{1mm} Créer un objet policy pour un nœud nommé isns.control, en lui octroyant les privilèges control \\
\hspace{1mm} \textbf{isnsadm --local --keyfile=control.key --enroll isns.control node-type=ALL functions=ALL object-type=ALL} \\
\hspace{1mm} Créer un objet nœud de stockage pour la machine de gestion \\
\hspace{1mm} \textbf{isnsadm --local --register control} \\
\hspace{1mm} dans cette machine, enrôler les hôtes supplémentaires \\
\hspace{1mm} \textbf{isnsadm --control --keyfile=somehost.key --enroll iqn.2005-01.org.open-iscsi.somehost node-type=target+initiator} \\
\hspace{1mm} Pour créer un domaine de découverte, et y ajouter de nœuds \\
\hspace{1mm} \textbf{isnsadm --control --dd-register dd-name=mydomain member-name=iqn.org.bozo.client iqn.org.bozo.jbod ...} \\
\hspace{1mm} Ajouter des membres à un DD existant \\
\hspace{1mm} \textbf{isnsadm --control --dd-register dd-id=42 member-name=iqn.com.foo member-name=iqn.com.bar} \\
\hspace{1mm} l'ID DD peut être obtenu avec \\
\hspace{1mm} \textbf{isnsadm --control --query dd-name=mydomain} \\
\hspace{1mm} En mode management, enregistrer un nœud et portail dans un hôte nommé client.bozo.org \\
\hspace{1mm} \textbf{isnsadm --control --register entity=client.bozo.org initiator=iqn.org.bozo.client portal=191.168.7.1:860} \\
\end{flushleft}
\end{document}
