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. Gestionnaire iSCSI▲
Pour gérer les LUN et les cibles, Synology fournit un logiciel dédié, sobrement appelé « Gestionnaire iSCSI ». Celui-ci permet donc de configurer les cibles SCSI et les LUN partagés, mais aussi de configurer des instantanés, de définir des alertes de performance ou de consulter les journaux.
VIII-B-1. Création d’une cible▲
Vous pouvez tout aussi bien démarrer par la création d’un LUN. L’assistant de création d’un LUN entraînera la création d’une cible, sans quoi le LUN ne pourrait pas fonctionner.
L’assistant de création d’une cible permet de déterminer le nom et l’identifiant iSCSI Qualified Name (IQN) de la cible. C’est l’occasion de configurer le protocole d’authentification CHAP permettant d’éviter des attaques par rejeu (replay).
l’IQN doit évidemment être unique. Synology recommande d’utiliser la nomenclature iqn.date.domaine.identifiant_périphérique.
La page suivante de configuration permet si besoin de créer un LUN ou d’en lier un existant.
Une fois le LUN créé, vous pouvez accéder à d’autres options en modifiant la cible. Vous pouvez notamment ne rendre disponible la cible que sur certaines interfaces réseau, activer la réduction des contrôles CRC ou encore réaliser des opérations de masquage pour réduire les permissions d’accès.
VIII-B-2. Création d’un LUN▲
L’assistant de création d’un LUN permet de configurer son nom, son emplacement (sur quel volume le LUN est stocké), sa capacité et sa méthode d’allocation : Thick ou Thin. Le Thick Provisionning préalloue l’espace nécessaire du LUN à la création. Cet espace est donc réservé. Toutefois, comme le travail d’allocation est réalisé à la création, cette méthode offre de meilleures performances. Quant au Thin Provisionning, l’espace de stockage du LUN n’est pas réservé. Cela signifie que tant que le LUN ne contient rien, aucune place n’est consommée sur le NAS. Cela permet de réduire la consommation d’espace de stockage.
Des fonctionnalités avancées sont aussi disponibles :
- Hardware-Assisted Zeroing : pour aider les machines virtuelles VMware ESXi à initialiser les LUN plus rapidement. Uniquement avec les volumes Btrfs ;
- Hardware-Assisted Locking : permet qu’un LUN soit verrouillé par partie lors d’un accès au travers de VMware ESXi (et ainsi, permet à plusieurs ESXi d’y accéder). Uniquement avec les volumes Btrfs ;
- Hardware-Assisted Data Transfer : optimisation de la copie entre VMware ESXi et Microsoft Hyper-V. Uniquement avec les volumes Btrfs ;
- Instantané : grâce au système de fichiers Btrfs, il est possible de créer des instantanés et de répliquer le LUN ;
- Réclamation d’espace : lorsque des données sont supprimées ou transférées, l’espace disque est libéré. Cela impacte cependant les performances d’entrées/sorties. Uniquement disponible en « Thin Provisionning ».
Ensuite, vous pouvez lier la nouvelle LUN avec une cible (ou en créer une nouvelle à la volée).
Le système de fichiers btrfs a la particularité d’avoir été pensé pour supporter la création des instantanés à l’instar d’autres systèmes de fichiers tels que le ext4.
Par conséquent, les fonctionnalités d’instantanés et de réplication des LUN ne sont disponibles que sur les volumes formatés en btrfs.
VIII-B-3. Instantanés▲
Les instantanés (snapshots) peuvent être comparés à la prise d’une photo des données du disque. Cette opération est prévue pour être rapide, notamment grâce au support natif dans le système de fichiers btrfs. Une fois un instantané créé, il est possible de le restaurer et ainsi, de faire que le stockage soit au même état qu’au moment de la création de la sauvegarde. À travers la section « Instantané », vous pouvez prendre un instantané, lister les instantanés disponibles, les cloner, les restaurer ou les supprimer.
Il est aussi possible de configurer des instantanés réalisés périodiquement et de configurer la politique de conservation de ceux-ci.
VIII-B-4. Réplication▲
La réplication est disponible au travers du paquet « Snapshot Replication ». L’outil permet aussi de gérer les instantanés.
La réplication peut aussi bien s’effectuer en local que sur un serveur distant. Elle peut aussi être gérée par VMware vCenter Site Recovery Manager.
VIII-C. 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-C-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-C-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.2000-01.com.synology:NAS.Target-2.2e082ddcd7 --portal NAS --login
L’identifiant iqn. est l’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
Dans le retour de la commande fdisk, les disques iSCSI portent la mention :
Modèle de disque : iSCSI Storage
VIII-C-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. Dans ces dossiers, il y a un fichier default qui 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-C-3. Montage sous macOS▲
MacOS ne fournit pas de solution clef en main. Il faudra soit acheter un logiciel tel que :
soit 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-D. Conclusion▲
Ce chapitre détaille la mise en place de disques virtuels réseau et comment s’y connecter.
VIII-E. Remerciements▲
Developpez.com et moi-même tenons à grandement remercier Synology sans qui l’écriture de ces articles n’aurait pas été possible. En effet, Synology a fourni le NAS DS 918+ afin de réaliser des tests permettant à Developpez.com d’offrir des informations précises et de qualité. |
Merci aussi aux relecteurs chrtophe et gaby277, ainsi qu’à escartefigue pour la correction orthographique.