GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer le serveur de stockage iSCSI sur Ubuntu 18.04 LTS

iSCSI signifie (Internet Small Computer System Interface) est un protocole de réseau de stockage (SAN) qui peut être utilisé pour la gestion du stockage en ligne. Il s'agit d'une norme de réseau de stockage basée sur IP qui fournit un accès de niveau bloc aux périphériques de stockage en transportant des commandes SCSI sur un réseau TCP/IP.

iSCSI se compose de deux composants cible iSCSI et initiateur iSCSI. La cible iSCSI est un service sur le serveur iSCSI qui offre un accès au stockage partagé et l'initiateur iSCSI est un client iSCSI qui se connecte à la cible et accède au stockage partagé.

Dans ce tutoriel, nous allons vous montrer comment configurer la cible iSCSI et l'initiateur iSCSI sur le serveur Ubuntu 18.04.

Exigences

  • Un nouveau serveur Ubuntu 18.04 pour la cible iSCSI avec un disque dur externe de 2 Go.
  • Un nouveau serveur Ubuntu 18.04 pour l'initiateur iSCSI.
  • Une adresse IP statique 192.168.0.103 est configurée sur la cible iSCSI et 192.168.0.102 est configurée sur l'initiateur iSCSI.
  • Un mot de passe root est configuré sur les deux serveurs.

Mise en route

Avant de commencer, vous devrez mettre à jour les deux serveurs avec la dernière version. Vous pouvez les mettre à jour en exécutant la commande suivante sur les deux $

apt-get update -y
apt-get upgrade -y

Une fois les deux serveurs mis à jour, redémarrez-les pour appliquer les modifications.

Installer la cible iSCSI

Tout d'abord, vous devrez installer le package Target Framework (TGT) sur le serveur cible iSCSI. Vous pouvez l'installer avec la commande suivante :

apt-get install tgt -y

Une fois TGT installé, vérifiez l'état de TGT en exécutant la commande suivante :

cible d'état systemctl

Vous devriez voir le résultat suivant :

 ? tgt.service - (i) Démon cible SCSI Chargé :chargé (/lib/systemd/system/tgt.service ; activé ; préréglage fournisseur :activé) Actif :actif (en cours d'exécution) depuis le ven. 2019-11-08 07:40:28 UTC; Il y a 27 s Docs :man:tgtd(8) PID principal :2343 (tgtd) ​​Statut :"Démarrage de la boucle d'événements..." Tâches :1 CGroup :/system.slice/tgt.service ??2343 /usr/sbin/tgtd - fNov 08 07:40:28 ubuntu systemd[1] :Démarrage du démon cible (i)SCSI... Nov 08 07:40:28 ubuntu tgtd[2343] :tgtd :iser_ib_init(3431) Échec de l'initialisation de RDMA ; charger les modules du noyau ? Nov 08 07:40:28 ubuntu tgtd[2343] :tgtd :work_timer_start(146) use timer_fd based schedulerNov 08 07:40:28 ubuntu tgtd[2343] :tgtd :bs_init(387) use signalfd notificationNov 08 07 :40:28 ubuntu systemd[1] :Démon cible (i)SCSI démarré.

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Configurer la cible iSCSI

Ensuite, vous devrez créer un périphérique LUN (Logical Unit Number) sur votre serveur iSCSI. LUN est un périphérique de stockage principal auquel l'initiateur se connectera et qu'il utilisera ultérieurement.

Vous pouvez le faire en créant le fichier de configuration dans le répertoire /etc/tgt/conf.d :

nano /etc/tgt/conf.d/iscsi.conf

Ajoutez les lignes suivantes :

 # Périphérique fourni comme cible iSCSI backing-store /dev/sdb1 initiator-address 192.168.0.102 entrantuser iscsi-user mot de passe outgoinguser iscsi-target secretpass 

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, redémarrez le service TGT pour appliquer les modifications de configuration :

cible de redémarrage de systemctl

Voici une brève explication de chaque paramètre :

cible :Il s'agit du nom de la cible particulière.

backing-store :Cette option spécifie le disque de stockage qui sera utilisé par l'initiateur.

adresse de l'initiateur :Il s'agit de l'adresse IP de l'initiateur.

utilisateur entrant :Il s'agit du nom d'utilisateur/mot de passe entrant pour sécuriser le LUN.

utilisateur sortant :Il s'agit du nom d'utilisateur/mot de passe sortant pour l'authentification mutuelle CHAP.

Après avoir redémarré le service TGT, vérifiez le serveur cible iSCSI avec la commande suivante :

tgtadm --mode target --op show

Vous devriez voir que la cible iSCSI est rendue disponible :

Cible 1 :iqn.2019-11.example.com:lun1 Informations système :Pilote :État iscsi :prêt Informations sur le lien I_T :Informations LUN :LUN :0 Type :contrôleur ID SCSI :IET 00010000 SN SCSI :beaf10 Taille :0 Mo, Taille de bloc :1 En ligne :Oui Support amovible :Non Empêcher la suppression :Non Lecture seule :Non SWP :Non Provisionnement léger :Non Type de magasin de sauvegarde :null Chemin de magasin de sauvegarde :Aucun Indicateurs de magasin de sauvegarde :LUN :1 Type :disque SCSI ID :IET 00010001 SN SCSI :beaf11 Taille :2146 Mo, taille de bloc :512 En ligne :Oui Support amovible :Non Empêcher la suppression :Non Lecture seule :Non SWP :Non Provisionnement léger :Non Type de magasin de sauvegarde :rdwr Chemin du magasin de sauvegarde :/dev /sdb1 Drapeaux du magasin de sauvegarde :Informations sur le compte :iscsi-user iscsi-target (sortant) Informations ACL :192.168.0.102

Installer et configurer l'initiateur iSCSI

Ensuite, vous devrez installer le package d'initiateur iSCSI sur le serveur d'initiateur iSCSI. Vous pouvez l'installer avec la commande suivante :

apt-get install open-iscsi -y

Une fois l'installation terminée, exécutez la découverte de cibles sur notre serveur cible iSCSI pour découvrir les cibles partagées.

iscsiadm -m découverte -t ​​st -p 192.168.0.103

Vous devriez voir la cible disponible dans la sortie suivante :

192.168.0.103:3260,1 iqn.2019-11.example.com:lun1

La commande ci-dessus génère également deux fichiers avec les informations LUN. Vous pouvez les voir avec la commande suivante :

ls -l /etc/iscsi/nodes/iqn.2019-11.example.com\:lun1/192.168.0.103\,3260\,1/ /etc/iscsi/send_targets/192.168.0.103,3260/ 

Vous devriez voir les fichiers suivants :

/etc/iscsi/nodes/iqn.2019-11.example.com:lun1/192.168.0.103,3260,1/:total 4-rw------- 1 racine racine 1840 8 novembre 13 :17 default/etc/iscsi/send_targets/192.168.0.103,3260/:total 8lrwxrwxrwx 1 root root 66 Nov 8 13:17 iqn.2019-11.example.com:lun1,192.168.0.103,3260,1,default -> /etc/iscsi/nodes/iqn.2019-11.example.com:lun1/192.168.0.103,3260,1-rw------- 1 racine racine 547 8 novembre 13:17 st_config

Ensuite, vous devrez modifier le fichier par défaut et définir les informations CHAP que vous avez configurées sur la cible iSCSI pour accéder à la cible iSCSI à partir de l'initiateur iSCSI.

nano /etc/iscsi/nodes/iqn.2019-11.example.com\:lun1/192.168.0.103\,3260\,1/default

Ajoutez/Modifiez les lignes suivantes :

node.session.auth.authmethod =CHAP node.session.auth.username =iscsi-usernode.session.auth.password =mot de passe node.session.auth.username_in =iscsi-targetnode.session.auth.password_in =secretpass node.startup =automatique

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, redémarrez le service initiateur iSCSI pour appliquer les modifications de configuration :

systemctl redémarrer open-iscsi

Vous devriez voir le résultat suivant :

 * Démontage des systèmes de fichiers basés sur iscsi [ OK ] * Déconnexion des cibles iSCSI iscsiadm :aucune session correspondante trouvée [ OK ] * Arrêt du service d'initiateur iSCSI [ OK ] * Démarrage du service d'initiateur iSCSI iscsid [ OK ] * Configuration des cibles iSCSI Connexion à [iface :par défaut, cible :iqn.2019-11.example.com:lun1, portail :192.168.0.103,3260] (multi iple) Connexion à [iface :par défaut, cible :iqn.2019-11.example.com:lun1, portail :192.168.0.103,3260] réussie. [ OK ] * Montage des systèmes de fichiers réseau [ OK ] 

Vous pouvez maintenant vérifier le disque de stockage partagé depuis la cible iSCSI avec la commande suivante :

lsblk

Vous devriez voir que le disque de stockage est maintenant disponible pour l'initiateur en tant que sdb :

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 465.8G 0 disk ??sda1 8:1 0 93.1G 0 part /??sda2 8:2 0 1K 0 part ??sda5 8:5 0 186.3 G 0 partie /home??sda6 8:6 0 181.6G 0 partie /Data??sda7 8:7 0 4.8G 0 partie [SWAP]sdb 8:16 0 2G 0 disque 

Vous pouvez également vérifier les connexions iSCSI avec la commande suivante :

tgtadm --mode conn --op show --tid 1

Vous devriez obtenir le résultat suivant :

Session :1 Connexion :0 Initiateur :iqn.1993-08.org.debian:01:2e1e2383de41 Adresse IP :192.168.0.102

Ensuite, vous devrez créer un système de fichiers sur ce périphérique partagé (sdb) et le monter pour rendre ce périphérique utilisable.

Tout d'abord, créez un système de fichiers sur le périphérique partagé (sdb) avec la commande suivante :

fdisk /dev/sdb

Vous devriez voir le résultat suivant :

Bienvenue dans fdisk (util-linux 2.31.1).Les modifications resteront en mémoire uniquement, jusqu'à ce que vous décidiez de les écrire.Soyez prudent avant d'utiliser la commande write.L'appareil ne contient pas de table de partition reconnue.Création d'un nouveau DOS disklabel avec l'identifiant de disque 0x06091fe8.Commande (m pour l'aide) :nType de partition p primaire (0 primaire, 0 étendu, 4 libres) e étendu (conteneur pour les partitions logiques)Sélectionner (par défaut p) :pNuméro de partition (1-4, par défaut 1 ):Premier secteur (2048-4194303, par défaut 2048):Dernier secteur, +secteurs ou +taille{K,M,G,T,P} (2048-4194303, par défaut 4194303):Créé une nouvelle partition 1 de type 'Linux ' et de taille 2 GiB.Commande (m pour l'aide) :wLa table des partitions a été modifiée.Appel de ioctl() pour relire la table des partitions.Synchronisation des disques.

Ensuite, formatez cette partition avec la commande suivante :

mkfs.ext4 /dev/sdb1

Ensuite, montez cette partition sur le répertoire /mnt avec la commande suivante :

monter /dev/sdb1 /mnt

Maintenant, vous pouvez vérifier le périphérique monté avec la commande suivante :

df -h

Vous devriez voir le résultat suivant :

Taille du système de fichiers utilisé Avail Use% Mounted onudev 1.9G 4.0K 1.9G 1% /devtmpfs 384M 1.2M 383M 1% /run/dev/sda1 92G 36G 51G 42% /aucun 4.0K 0 4.0K 0% /sys/ fs/cgroupnone 5.0M 0 5.0M 0% /run/locknone 1.9G 54M 1.9G 3% /run/shmnone 100M 48K 100M 1% /run/user/dev/sda5 184G 96G 79G 55% /home/dev/sda6 179G 32G 138G 19% /Données/dev/sdb1 2.0G 3.0M 1.9G 1% /mnt

Toutes nos félicitations! vous avez correctement installé le serveur cible iSCSI et connectez-le à partir de l'initiateur iSCSI. Vous pouvez maintenant utiliser ce périphérique iSCSI partagé comme disque connecté normal.


Ubuntu
  1. Comment configurer le serveur et le client Kerberos sur Ubuntu 18.04 LTS

  2. Comment configurer le serveur Rsyslog sur Ubuntu 18.04 LTS

  3. Comment configurer un serveur de stockage iSCSI sur Ubuntu 20.04 LTS

  4. Comment configurer Elasticsearch sur Ubuntu 18.04 et 16.04 LTS

  5. Configurer Rsyslog Server sur Ubuntu 20.04 - Comment faire ?

Comment configurer le serveur Git sur Ubuntu 20.04

Comment configurer le serveur Rsyslog sur Ubuntu

Comment configurer le serveur DHCP sur Ubuntu

Comment mettre à niveau vers Ubuntu Server 22.04 LTS

Comment installer Jellyfin Media Server sur le serveur/bureau Ubuntu 20.04 LTS

Comment configurer le serveur et le client NTP sur Ubuntu 20.04 LTS