Installer un SAN via iSCSI sur Linux Ubuntu Lucid Lynx 10.04
De la vitesse en blocs
Espace, intégrité et vitesse d'accès aux informations. Le stockage des données reste une des préoccupations majeurs des utilisateurs de systèmes informatiques et rime avec SAN, NAS, NFS, Fiber Channel, iSCSI...
L'accès aux NAS se vulgarise pour les petites entreprise et des offres SAN font leur apparition.
Cet article fait un point sur l'intérêt des technologies SAN et vous présente l'installation d'un SAN sur Ubuntu Lucid Lynx 10.04
Qu'est ce qu'un SAN ?
SAN signifie Storage Network Area : zone de stockage réseau.
A ne pas confondre avec le NAS - Network Attached Storage - qui est un serveur de stockage dédié relié au réseau, supportant traditionnellement les protocoles de partage réseau NetBios, AFP, FTP, NFS compatibles avec les systèmes Microsoft, Apple et Unix, et la gestion de ses disques physiques en mode RAID pour sécuriser le stockage.
Les NAS, les serveurs bureautique Microsoft ou les serveurs Linux NFS exposent des partages d'espaces de stockage vus comme des disques distants par les clients.
Alors que le SAN expose des espaces de stockage qui sont vus comme des espaces de stockage physiques locaux par les clients.
L'avantage avancé pour le SAN est sa vitesse. Il utilise des protocoles spécifiques moins lourds que NFS.
Le plus courant est le FCoE - Fibre channel Over Ethernet - qui affiche un débit théorique de 8Gb/s. Ce protocole dédié s'affranchit de la couche TCP en s'appuyant sur des cartes réseaux spécifiques.
Le deuxième est le iSCSI - Internet SCSI - limité à 2Gb/s mais moins onéreux et plus facile à intégrer en 2009. iSCSI utilise toujours TCP pour communiquer, ce qui le ralentit mais lui permet d'être utilisé indifféremment depuis une machine physique ou virtuelle, sans ajout de driver spécifique.
A défaut de disposer d'un SAN en Fibre Channel, la suite de l'article est consacrée à iSCSI, intégré au NAS QNap 509 Pro.
NFS versus SAN
Le service offert par les protocoles de partage NFS et iSCSI est différent.
Un serveur NFS gère le partage, l'intégrité, le cache des données et des méta-données et les droits d'accès à ses fichiers auprès de plusieurs clients distants.
Un SAN partage un ensemble de blocs à un client unique. C'est tout.
C'est le client qui doit créer et gérer le système de fichier qui utilisera ces blocs, ainsi que les éventuelles autres fonctions nécessaires, le partage des fichiers en réseau par exemple...
Vous avez là la réponse principale au pourquoi un SAN est rapide, moins buggé et peu monter en charge plus facilement qu'un serveur NFS. La charge est répartie entre le SAN et ses clients et non centrée sur le serveur comme pour NFS.
Installer le protocole iSCSI
Listez les disques existants sur votre client :
# fdisk -l
Disque /dev/sda: 100.0 Go, 100030242816 octets
255 têtes, 63 secteurs/piste, 12161 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identifiant de disque : 0xc2a156d7
Périphérique Amorce Début Fin Blocs Id Système
/dev/sda1 1 1003 2369524 82 Linux swap / Solaris
/dev/sda2 * 1004 12161 73714190 83 Linux
Sur le poste de travail, appelé l'initiateur en terminologie iSCSI, installez le paquet open-scsi :
# aptitude install open-iscsi
Recherchez les target - nom donné aux disques iSCSI - disponibles sur votre SAN :
# iscsiadm --mode discovery --type sendtargets --portal 192.168.2.200
192.168.2.200:3260,1 iqn.2004-04.com.qnap:ts-509:iscsi.test.8cab21
192.168.2.200:3260,1 iqn.2004-04.com.qnap:ts-509:iscsi.t1.8cab21
La target iqn.2004-04.com.qnap:ts-509:iscsi.test.8cab21 dans cet exemple est un disque SAN de 1Go. Connectez-vous au disque SAN :
# iscsiadm --mode node --targetname iqn.2004-04.com.qnap:ts-509:iscsi.test.8cab21 \
--portal 192.168.2.200 --login
Logging in to [iface: default, target: iqn.2004-04.com.qnap:ts-509:iscsi.test.8cab21, portal: 192.168.2.200,3260]
Login to [iface: default, target: iqn.2004-04.com.qnap:ts-509:iscsi.test.8cab21, portal: 192.168.2.200,3260]: successful
Si l'accès à la target est restreint à un compte, le user/passwd vous sera demandé.
Vérifiez vos partitions disques :
# fdisk -l
Disque /dev/sda: 100.0 Go, 100030242816 octets
255 têtes, 63 secteurs/piste, 12161 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identifiant de disque : 0xc2a156d7
Périphérique Amorce Début Fin Blocs Id Système
/dev/sda1 1 1003 2369524 82 Linux swap / Solaris
/dev/sda2 * 1004 12161 73714190 83 Linux
Disque /dev/sdb: 1073 Mo, 1073741824 octets
34 têtes, 61 secteurs/piste, 1011 cylindres
Unités = cylindres de 2074 * 512 = 1061888 octets
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identifiant de disque : 0x00000000
Le disque /dev/sdb ne contient pas une table de partition valide
Le nouveau périphérique /dev/sdb est le disque SAN.
Utiliser le disque SAN
Procédez comme pour un disque traditionnel. Formatez le :
# mkfs.ext4 /dev/sdb
Attention à bien remplacer sdb par le bon périphérique sur votre poste.
La partition est prête à être montée et utilisée :
# mount /dev/sdb /mnt
Montage automatique d'un périphérique SAN au démarrage
Si vous souhaitez que ce périphérique - ou node - soit démarré automatiquement lors du prochain redémarrage, vous devez éditer les fichiers de configuration iSCSI.
Vous pouvez soit modifier le paramétrage général en éditant le fichier /etc/iscsi/iscsid.conf et en y modifiant le paramètre suivant
node.startup = automatic
Soit modifier de la même manière spécifiquement la configuration de ce node, dans l'exemple le fichier /etc/iscsi/nodes/iqn.2004-04.com.qnap:ts-509:iscsi.test.8cab21/192.168.2.200,3260,1/default.
Il vous reste à mettre à jour le fichier /etc/fstab en ajoutant la ligne :
/dev/sdb /mnt ext4 relatime 0 0
Benchmark SAN versus NFS
Un benchmark doit être interprété avec prudence. Il ne présente que des tendances et ne peut faire foi en dehors de mesurer un scénario qui correspond à votre utilisation.
Un serveur Web et un serveur de base de données ne font pas du tout les mêmes accès sur un SAN...
Aussi, j'écarte les très sophistiqués outils de benchs d'IO disque iozone et bonnie pour me limiter à un protocole simple :
- mesurer les temps de recopie de mon répertorie local /var sur le disque SAN analysé,
- puis faire un tar du disque SAN en local.
/var contient 7600 fichiers pour 490Mo. La bande passante est de 100Mb. Le client et le SAN sont des Intel Dual-Core dédié aux tests. Les système de fichiers utilisent ext4. NFS est en v3.
Les résultats pour le disque SAN sont :
# time rsync -a /var /mnt
real 3m34.517s
# time tar cf var.tar /mnt/var
real 3m8.703s
Les résultats pour le disque NFS sont :
# time rsync -a /var /mnt
real 6m37.225s
# time tar cf var2.tar /mnt/var
real 2m39.330s
Les résultats pour le disque local, un Raptor Sata2, sont :
# time rsync -a /var /mnt
real 0m58.538s
# time tar cf var3.tar /mnt/var
real 0m38.230s
Soit le tableau de synthèse :
| Mo/s | Ecriture | Lecture |
|---|---|---|
| Disque local | 30.5 | 36.6 |
| SAN | 2.3 | 2.6 |
| NFS | 1.2 | 3.0 |
Une conclusion serait que SAN est plus rapide que NFS, surtout en écriture.
Les spécifications de SAN datant de 2004 versus 1995 pour NFS v3, rien d'anormal.
Bien sûr, les systèmes professionnels SAN offrent probablement de meilleures performances, les disques SCSI à 15000 tours, voir les SSD - Solid State Drive -... SAN n'est pas encore un concurrent sérieux pour les disques locaux.
- Ajouter un commentaire
- 5195 lectures


Commentaires
Les SAN peuvent ils remplacer les serveurs de fichiers Windows ?
Oui. Des extensions logiciels Windows payantes sont disponibles et permettent à Windows d'utiliser des SAN iSCSI.
L'usage d'un SAN sous Windows a d'autant plus de sens que son système de partage de fichiers aka SAMBA sous Linux est encore plus lent que NFS...