2

Installer un serveur iSCSI avec LVM sous Debian 8

Un mémo sur comment installer et configurer un serveur iSCSI avec LVM sur un serveur Debian Jessie, qui aura pour but à terme d’héberger les données vivantes séparées de la partition système sur mes serveur de fichiers virtualisés sous Proxmox.

Pour mes tests, cette maquette est réalisée sur un serveur de test avec un espace disque de 1,1To. Ce serveur possède deux interfaces réseau, l’une sur le LAN entreprise et l’autre sur un réseau privé. Trois volumes d’espace disque de 300Go seront créés et partagés sur mes machines virtuelles.

Schéma simplifié de l’architecture :

Configuration réseau du serveur Debian

La communication entre les LUNs et les clients va se faire à travers un réseau privé.

  • Editer le fichier de configuration réseau :
  • nano /etc/network/interfaces
  • Ajouter les paramétrages pour le réseau privé :
  • auto lo
    iface lo inet loopback
    
    # The primary network interface
    allow-hotplug eth0
    iface eth0 inet static
            address 10.10.8.219
            netmask 255.255.252.0
            network 10.10.8.0
            broadcast 10.10.11.255
            gateway 10.10.8.1
            # dns-* options are implemented by the resolvconf package, if installed
            dns-nameservers 10.10.8.20
            dns-search domaine.tld
    
    #private network
    allow-hotplug eth1
    iface eth1 inet static
            address 192.168.1.5
            netmask 255.255.255.0
            network 192.168.1.0
            broadcast 192.168.1.255
    
  • Activer l’interface eth1 :
  • ifup eth1

Installation et configuration de LVM

Dans mon cas, la partition LVM est créé sur le disque détecter en tant que sda6.

  • Installation du paquet lvm2 :
  • apt install lvm2
  • Création du volume physique :
  • pvcreate /dev/sda6
  • Création du volume groupe :
  • vgcreate vg /dev/sda6
  • Création des volumes logiques pour les LUNs :
  • lvcreate -L 300G -n lv_iscsi vg
    lvcreate -L 300G -n lv_iscsi-1 vg
    lvcreate -L 300G -n lv_iscsi-2 vg
    

Installation et configuration de tgt

  • Installation du paquet tgt :
  • apt install tgt
  • Configurer les LUNs avec les clients cible :
    • Créer un fichier de configuration :
    • nano etc/tgt/conf.d/lv_targets.conf
    • Ajouter les LUNs avec leur cible respectif :
    • nb: remplacer VMID_* par leur adresse IP.

  • Recharger la configuration de tgt :
  • systemctl reload tgt
  • Vérifier la nouvelle configuration :
  • tgtadm --mode target --op show
    Target 2: iqn.2017-03.tld.domaine:tgt1
        System information:
            Driver: iscsi
            State: ready
        I_T nexus information:
        LUN information:
            LUN: 0
                Type: controller
                SCSI ID: IET     00020000
                SCSI SN: beaf20
                Size: 0 MB, Block size: 1
                Online: Yes
                Removable media: No
                Prevent removal: No
                Readonly: No
                SWP: No
                Thin-provisioning: No
                Backing store type: null
                Backing store path: None
                Backing store flags: 
            LUN: 1
                Type: disk
                SCSI ID: IET     00020001
                SCSI SN: beaf21
                Size: 322123 MB, Block size: 512
                Online: Yes
                Removable media: No
                Prevent removal: No
                Readonly: No
                SWP: No
                Thin-provisioning: No
                Backing store type: rdwr
                Backing store path: /dev/vg/lv_iscsi
                Backing store flags: 
            LUN: 2
                Type: disk
                SCSI ID: IET     00020002
                SCSI SN: beaf22
                Size: 322123 MB, Block size: 512
                Online: Yes
                Removable media: No
                Prevent removal: No
                Readonly: No
                SWP: No
                Thin-provisioning: No
                Backing store type: rdwr
                Backing store path: /dev/vg/lv_iscsi-1
                Backing store flags: 
            LUN: 3
                Type: disk
                SCSI ID: IET     00020003
                SCSI SN: beaf23
                Size: 322123 MB, Block size: 512
                Online: Yes
                Removable media: No
                Prevent removal: No
                Readonly: No
                SWP: No
                Thin-provisioning: No
                Backing store type: rdwr
                Backing store path: /dev/vg/lv_iscsi-2
                Backing store flags: 
        Account information:
        ACL information:
            VM_ID200
            VM_ID201
            VM_ID202
    

Configuration d’une machine cliente

Le serveur de fichier possède lui aussi 2 interfaces réseau, l’une sur le LAN entreprise et l’autre sur le réseau privé. L’adresse IP sur le réseau est privé est 192.168.1.10 .

  • Installation du paquet open-iscsi :
  • apt install open-iscsi
  • Création d’une interface réseau dédié au iscsi :
  • iscsiadm --mode iface --op=new --interface iscsi1
    iscsiadm --mode iface --op=update --interface iscsi1 --name=iface.net_ifacename --value=eth1
    
  • Découverte de la target iSCSI :
  • iscsiadm -m discovery -I iscsi1 -t sendtargets -p 192.168.1.5

    ce qui donne dans mon cas :

    192.168.1.5:3260,1 iqn.2017-03.tld.domaine:tgt1
  • Connexion à la target iSCSI :
  • iscsiadm -m node -T iqn.2017-03.tld.domaine:tgt1 --portal 192.168.1.5 --login
  • Chez moi, le nouveau disque est détécter en tant que /dev/sda :
  • tail -f /var/log/dmesg
    sd 8:0:0:1: [sda] 24576 512-byte logical blocks: (322 GB/300 GiB)
    sd 8:0:0:1: [sda] Attached SCSI disk
    
  • Création d’une partition sur /dev/sda :
  • fdisk /dev/sda
    
    n
    p
    1
    w
    
  • Formatage de la partition en ext4 :
  • mkfs.ext4 /dev/sda1
  • Création d’un point de montage :
  • mkdir /home/dossier
  • Montage de la partition iSCSI sur /home/dosier :
  • mount -t ext4 /dev/sda1 /home/dossier/
  • Modification du fichier /etc/fstab pour monter la partition au démarrage du serveur :
  • nano /etc/fstab

    Ajouter

    #partition iSCSI
    /dev/sda1 /home/dossier ext4 defaults,_netdev,user_xattr,acl 0 2
    

    l’option _netdev indique au système que le montage de cette ressource doit se faire après le lancement du réseau.

Partager l'article :





fred

Administrateur Système autodidacte et utilisateur au quotidien de GNU/Linux (Debian, Ubuntu, Manjaro et un peu de CentOS).

2 Comments

  1. Salut fred.
    Ca a marche du 1er coup?
    Meme avec la coquille sur le screenshoot du fichier interface?
    y’a 2 config pour eth0: « iface eth0 inet static » ;D
    Salut
    ITPPA

  2. Salut itppa,
    merci pour la coquille :-)
    oui ça fonctionne bien du premier coup ;-)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *