09. Introduction aux SAN

Introduction

Il existe trois principaux types de systèmes de stockages de masse:

  • DAS (Direct Attached Storage)

  • NAS (Network Attached Storage)

  • SAN (Storage Area Network)

Le DAS est un système de stockage directement reliéau serveur.

Le NAS est un système de stockage proposant dessystèmes de fichiers partagés (NFS, …)

Le SAN est un système réseau (réseau dédié) offrantdu stockage en mode block.

Pourquoi vouloir utiliser des systèmes de stockage plutôt que d’avoir des disques directement connectés dans les serveurs?

Lorsque les disques sont dans les serveurs, la quantité de stockage et très mal optimisée (à peine 50% de l’espace est utilisé).

En centralisant le stockage, il est possible de mieux répartir le stockage entre les serveurs qui en ont besoin et ceux qui en utilisent moins.

Les données les moins utilisées peuvent être stockées sur des disques plus lents et donc moins chers.

La redondance est plus facile à mettre en œuvre car un seul lieu de stockage doit être pris en compte

La sécurité est plus simple à gérer

Il est possible d’éviter les données en double en utilisant des systèmes de déduplication (ne fonctionne pas sur les données cryptées ou compressées).

Définition d’un SAN

Un SAN est un réseau de stockage.

Il s’agit d’un réseau dédié utilisant des protocoles spécifiques.

Ce réseau permet d’accéder à des supports de données (disques de tout format : SATA, SSD,…)

Le supports seront vus par les serveurs qui y accèdent comme étant connectés localement.

Les avantages d’un SAN sont les suivants:

  • Le trafic du SAN est séparé du reste du réseau

  • Il est possible de configurer la redondance de façon distincte des autres équipements

  • Les performances seront préservées

Ceci permet de garantir les besoins spécifiques du stockage:

  • Performance : faible latence et haut débit

  • Capacité : grand volumes de données

  • Haute disponibilité : redondance et tolérance aux pannes

  • Flexibilité

Technologie des SAN

Il existe deux principaux types de SAN:

  • Fibre channel : demande du matériel dédié et a donc un coût plus élevé.

  • iSCSI : celui que nous allons étudier.

SAN iSCSI :

  • Coût plus faible parmi les SAN (ATTENTION : un SAN est très efficace mais dispendieux).

  • Facile à mettre en place : utilise TCP/IP, utilise des switch classiques, utilise des câble de catégorie 6, 7 et de la fibre optique.

  • Il est possible d’ajouter un élément réseau qui va dupliquer les paquets vers deux destinations ce qui permet d’assurer une réplication instantanée sans surcoût pour le système de stockage.

  • Les performances ne sont plus un problème surtout avec du 10Gbit Ethernet.

Les composantes d’un SAN

Au minimum une baie de stockage

Storage

Un contrôleur de disque adapté aux disques de la baie (SATA, SAS, SSD, SCSI…)

Storage

Des adaptateurs réseau (Ethernet ou fibre optique):

Storage

Des disques de bonne qualité (souvent du haut de gamme)

Storage

Des câbles (Ethernet ou fibre optique) :

Storage Storage

Des commutateurs (Ethernet ou fibre optique)

Storage

Pour terminer il faudra :

  • Un serveur qui sera capable d’utiliser le matériel et de créer des volumes à distribuer aux clients.

  • Un client qui utilisera le stockage mis à disposition par le serveur

  • Des protocoles de communication entre les différents éléments du SAN (iSCSI)

  • Des processus de redondance

  • Des processus de failover

Le protocole iSCSI

SCSI est un protocole de communication avec des périphérique (souvent de stockage mais pas uniquement).

SCSI permet à un ordinateur de communiquer avec des bandes de sauvegarde, des scanners, lecteurs cdrom …

iSCSI consiste à encapsuler des messages SCSI dans IP.

Il s’agit d’un protocole client/serveur qui permet d’atteindre des disques qui seraient hors de portée à l’aide d’un câble SCSI standard (plusieurs km ou centaines de km).

Les avantages de iSCSI sont :

  • Centraliser le stockage

  • La maintenance est simplifiée (IP standard)

  • Flexibilité : l’allocation des ressources se fait à la demande

  • Le matériel réseau standard peut être réutilisé.

Deux rôles composent le protocole iSCSI:

  • La cible (Target) : il s’agit du serveur. Le rôle sera tenu par le SAN.

  • L’initiateur (Client) : il s’agit du serveur qui aura besoin d’accéder au stockage du SAN.

Il faut ensuite disposer d’un dispositif d’entrées/sorties, c’est à dire de disques:

  • Logical Unit (LU)

Le SAN (la cible iSCSI) peut disposer de plusieurs unité logiques qui seront identifiées par de numéro:

  • Logical Unit Number (LUN)

Procédure

1ère étape

La cible doit disposer d’un identifiant:

iqn.2017-04.ca.qc.montmorency.stockage:420-876.WIN2012

  • Type

  • Date

  • Organisation

  • Identifiant

Le nom de cette cible sera utilisé par l’initiateur pour se connecter à la cible.

2ème étape

Il faut maintenant créer des unités logiques sur la cible dont nous avons déterminer l’identifiant à la première étape.

Exemple:

  • LUN 0 /dev/vg-iscsi/lv-lun0-windows

  • LUN 1 /dev/vg-iscsi/lv-lun1-linux

LUN 0 et LUN 1 vont pointer vers deux volumes logiques.

3ème étape

Il faut maintenant connecter le client (l’initiateur) à la cible.

Il faut disposer d’un initiateur qui se connectera à la cible.

Un initiateur est un logiciel :

  • Pour Linux : Open-iSCSI

  • Pour Windows : Microsoft iSCSI Inititator

Une fois l’initiateur connecté à la cible, les disques apparaitront sur le client comme des disques locaux.

4ème étape

La dernière étape consiste à partitionner les disques et à les formater.

Cette opération se réalise sur le client car le SAN fournit du stockage en mode bloc.

Une fois cette étape terminée, le stockage peut être utilisé comme un disque local.

Formatif 1

Le lab consiste à configurer un SAN et à y connecter deux serveurs (un Linux et un Windows).

Chacune des machines doit avoir deux interfaces réseau (une en NAT et l’autre dans un LAN Segment)

Pour ceci vous devez créer un clone à partir de votre machine modèle et y ajouter 4 disques de 10 Go.

Configurez les disques en deux volumes logiques de 20 Go chaque.

Configurez les clients pour accéder chacun à son volume.

Formater le disques sur le client.

Le serveur

Sur un clone de la machine de départ, créez un volume RAID 5.

Tout d’abord, on installe le CLI pour la target iSCSI:

$ yum install targetcli

Puis on se connecte au client:

$ targetcli

Il faut ensuite configurer le serveur iSCSI.

L’application iSCSI présentée par targetcli, présent les disques du SAN et leurs paramètres sous forme d’une arborescence ressemblant à une arborescence d’un système de fichiers.

Dans chaque “répertoire”, il y a un ensemble de commandes qui peut varier selon le répertoire.

La commande “help” vous affiche les commandes disponibles.

Lorsque vous être dans le “répertoire” iscsi, vous pourrez configurer le protocole iSCSI.

Si vous êtes dans le répertoire acls, ce seront les ACL.

Et enfin, si vous voulez configurer une cible il faudra aller dans le “répertoire” correspondant à la cible.

On configure le serveur pour que le SAN fournisse l’espace en mode block plutôt qu’en mode fichier (les performances sont généralement meilleures).

$ targetcli
Storage

On crée ensuite le IQN (iSCSI Qualified Name) et on donne un nom à la cible:

Storage

Notez le nom du groupe de cibles (Target Group): TPG 1

La commande ls permet de voir l’arborescence:

Storage

Se rendre dans la configuration du réseau (Portals) puis supprimer l’adresse IP sur laquelle le serveur écoute (par défaut il écoute sur toutes les interfaces) puis ajouter uniquement l’adresse IP du LAN segment du SAN:

Storage

On se déplace dans la cible nouvellement créée:

$ cd iscsi/iqn.2022-04.ca.qc.cmaisonneuve:al2-linux/tpg1/

Notez avec la commande “ls” que vous pouvez voir ses différentes composantes dont les ACL (Access Control List) et le LUN.

On crée un LUN:

Storage

Puis on crée une ACL pour autoriser une machine en particulier:

Storage

Attention : le iqn ici est celui du client, il doit se trouver dans le fichier /etc/iscsi/initiatorname.iscsi sur le client. Si le fichier n’existe pas, vous devez le créer et ajouter une ligne telle que ci-dessous.

InitiatorName=iqn.2022-09.ca.qc.cmaisonneuve:client

La commande ls permet de visualiser tout ce qui vient d’être configuré.

Pour quitter et sauvegarder, simplement taper exit.

La configuration est sauvegardée dans le fichier /etc/target/saveconfig.json

Vous pouvez valider que le serveur écoute bien sur le port 3260 (iSCSI):

$ netstat -ant

Les clients

Sur une autre machine ayant deux cartes réseau, une en NAT et une dans le même LAN Segment que votre SAN, découvrir les différentes cibles:

$ iscsiadm -m discovery -t st -p 192.168.230.130

Puis se connecter à une des cibles:

$ iscsiadm -m node --targetname iqn.2022-04.ca.qc.cmaisonneuve.stockage:al2-linux --login

Vous pouvez voir le volume à l’aide de:

$ fdisk -l

Vous pouvez maintenant créer une partition, la formater et la monter.

Sur une machine Windows server (image venant de 2012) ayant deux cartes réseau, une en NAT et une dans le même LAN Segment que votre SAN accédez à l’outil d’administration “Initiateur iSCSI”.

Storage

Choisissez la cible configurée pour Windows

Storage

Cliquez sur Connexion puis sur Terminer.

C’est à partir de là que la cible apparaitra comme connecté.

Vous pouvez maintenant aller dans le gestionnaire des disqueset configurer le nouveau volume.

Storage

Formatif 2

Les exemples montraient comment configurer le partage d’un des disques LVM pour un initiateur Linux.

Configurez le deuxième partage (le deuxième volume logique LVM) pour une machine Windows (seul le nom change) mais vous devez créer une nouvelle cible et la tester avec un serveur Windows.

Pour l’ACL, le nom de l’initiateur Windows, se trouve sous l’onglet “Configuration” de l’initiateur iSCSI.

N’oubliez pas d’ajouter les adresses d’écoute pour ce volume aussi (les mêmes que pour le volume Linux).

Formatez le volume et assurez vous que vous pouvez écrire dedans.

Après avoir terminé, trouvez les commande pour supprimer la configuration de votre SAN (les commandes de suppression pourraient être demandées à l’examen).