VIII. iSCSI▲
Internet Small Computer Systems Interface (iSCSI) est un protocole Internet permettant de rendre un espace de stockage accessible au travers d’un réseau. Contrairement aux systèmes de fichiers permettant le partage de fichiers (SMB, NFS, AFP…), iSCSI fournit une vue bas niveau (partage basé sur les blocs) des disques présents sur des machines distantes.
L’intérêt de iSCSI est de donner l’illusion qu’un disque distant est présent en local sur la machine cliente. Le partage des disques au niveau des blocs permet de répliquer efficacement les données.
VIII-A. Terminologie▲
Le partage d’un disque au travers du protocole iSCSI amène à une terminologie dédiée :
- Logical Unit Number (LUN) : un nombre permettant d’identifier un disque accessible au travers de iSCSI. En plus d’être un simple identifiant, le terme est aussi utilisé pour parler de l’espace de stockage ainsi exposé au travers du protocole iSCSI ;
- Cible : une unité de stockage à laquelle un client iSCSI peut se connecter. En bref, c’est une entité logique fonctionnant comme un serveur et englobant un ensemble de LUN (un ensemble d’espaces de stockage) ;
- Initiateur : un client se connectant à une cible pour accéder à un LUN.
VIII-B. iSCSI et FibreChannel▲
Dans QTS, la gestion de iSCSI se fait dans un logiciel nommé « iSCSI et Fibre Channel ».
VIII-C. Création d’une cible▲
La création d’une cible iSCSI s’effectue au travers d’un assistant en trois étapes. Principalement, nous configurons le nom et l’alias de la cible. Son identifiant (IQN) est déterminé automatiquement.
Lors de la configuration, nous pouvons autoriser l’accès en cluster à la cible, c’est-à-dire, l’accès par plusieurs clients simultanément. Toutefois, pour éviter toute corruption de données, il faut que les clients soient compatibles (conscients de travailler sur une cible partagée).
La page suivante permet de configurer le protocole Challenge-Handshake Authentification Protocol (CHAP) sans quoi l’accès aux cibles iSCSI est libre.
VIII-D. Création d’un LUN▲
Une fois la cible créée, il est nécessaire de créer la LUN, c’est-à-dire, l’espace de stockage exposé sur le réseau. Encore une fois, cela se fait au travers d’un assistant, dont la première étape est d’indiquer où stocker la LUN :
Ensuite, il est évidemment nécessaire d’indiquer la taille de la LUN.
Le NAS peut se connecter à des disques LUN distants.
Deux types de LUN existent : basé sur des fichiers ou basé sur des blocs. La différence est que la première est stockée dans un volume, son cliché sera donc dépendant du volume alors que la seconde est directement stockée sur le pool de stockage. Dans ce deuxième cas, vous pourrez prendre des clichés indépendamment des autres données.
Autrement, les LUN basées sur les fichiers ne supportent pas le Thin Provisionning et ne sont pas supportés par Microsoft ODX.
VIII-E. Exportation/Importation▲
Le logiciel permet d’importer ou d’exporter les LUN.
VIII-F. Snapshots▲
Les clichés/snapshots s’effectuent avec l’outil « Stockage et snapshot ». En effet, les LUN basées sur des fichiers seront sauvegardées avec le cliché du volume. Les LUN basées sur les blocs sont affichés dans la liste des stockages et peuvent être gérés indépendamment.
VIII-G. Utilisation▲
Les espaces de stockage sont maintenant disponibles au travers de iSCSI. Par conséquent, les machines clientes peuvent s’y connecter et utiliser le NAS comme un disque dur supplémentaire. Ce dernier sera vu comme un disque dur physique connecté au PC. Pour donner un exemple d’utilisation, l’installateur de la distribution Linux Debian permet de s’y connecter et d’installer Debian sur ce disque distant. Mise à part l’étape de connexion, la procédure d’installation est identique à une installation classique.
VIII-G-1. Montage sous Windows▲
Sous Windows, pour attacher un espace de stockage disponible au travers de iSCSI, il est nécessaire d’utiliser l’initiateur iSCSI (iscsicpl.exe).
L’adresse du NAS doit être insérée dans le champ « Cible ». En cliquant sur le bouton « Connexion rapide... », le système trouvera les cibles disponibles. En sélectionnant une cible, il devient alors possible de s’y connecter.
Une fois connecté à une cible, il est nécessaire d’aller dans l’onglet « Volumes et périphériques » pour monter les LUN. Le bouton « Configuration automatique » permet d’ajouter les LUN de la cible automatiquement.
Finalement, l’onglet « Configuration » permet de paramétrer les options avancées, comme le nom de l’initiateur, le secret de l’authentification CHAP ou plus simplement, de générer un rapport des connexions iSCSI sur le PC.
Maintenant, le disque distant est visible dans l’outil « Gestion des disques ». À partir de là, il est possible de l’initialiser (si le disque est vierge), de le formater et de le monter. Une fois fait, le disque est disponible dans le poste de travail et prêt à être utilisé.
VIII-G-2. Montage sous Linux▲
Sous Linux, la détection et le montage d’un disque réseau iSCSI se fait grâce au paquet « open-iscsi ». Ce paquet installe la commande iscsiadm, permettant de manipuler les périphériques iSCSI. La commande ne fonctionnera que si le démon iscsid est démarré.
Les commandes iscsiadm doivent être exécutées en tant que root.
La détection d’un périphérique se fait avec la commande :
iscsiadm --mode discovery -t sendtargets --portal NAS
NAS est à remplacer par l’adresse IP ou le nom réseau du NAS.
Le résultat de la commande fournit les cibles disponibles.
Ensuite, vous pouvez essayer de vous connecter à un LUN avec la commande :
iscsiadm --mode node --targetname iqn.2004-04.com.qnap.ts-253d:iscsi.test2.4dcc3a --portal NAS --login
L’identifiant iqn. est un de ceux retournés par la première commande.
Si la connexion effectuée dans la commande ci-dessus réussit, le LUN est dorénavant disponible dans l’arborescence du système. Cela peut être confirmé avec :
fdisk -l
Notamment, dans le retour de la commande fdisk, les disques iSCSI portent la mention :
Modèle de disque : iSCSI Storage
VIII-G-2-a. Montage automatique▲
Pour monter automatiquement un disque iSCSI, il faut d’abord mettre en place une connexion automatique au serveur.
La détection des cibles iSCSI entraîne la création de nombreux fichiers dans le dossier /etc/iscsi/nodes. Plus précisément, le dossier contient un sous-dossier par cible, nommé suivant l’IQN de la cible. Dans ces dossiers, il y a d’autres dossiers représentant les LUN. Finalement, dans ces dossiers, il y a un fichier default. Ce fichier représente la configuration du LUN. Il contient notamment la ligne :
node.startup = manual
Cette ligne est à remplacer par :
node.startup = automatic
Ensuite, sachant que le disque sera disponible dans l’arborescence des périphériques /dev, il suffit d’ajouter une entrée dans /etc/fstab pour monter les disques iSCSI.
VIII-G-3. Montage sous macOS▲
MacOS ne fournit pas de solution clé en main. Il faudra soit acheter un logiciel tel que :
ou utiliser une solution open source qui n’est pas signée et qui demande donc de désactiver des fonctionnalités de sécurité du système.
VIII-H. Conclusion▲
Nous avons vu que grâce à la mise en place des iSCSI, nous pouvons totalement simuler la présence d’un disque dans un PC grâce au NAS TS-253D de QNAP. Ainsi, un PC peut fonctionner sans disque local, s’il est connecté au réseau.