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
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
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
pvcreate /dev/sda6
vgcreate vg /dev/sda6
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
- Créer un fichier de configuration :
nano etc/tgt/conf.d/lv_targets.conf
nb: remplacer VMID_* par leur adresse IP.
systemctl reload tgt
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
iscsiadm --mode iface --op=new --interface iscsi1 iscsiadm --mode iface --op=update --interface iscsi1 --name=iface.net_ifacename --value=eth1
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
iscsiadm -m node -T iqn.2017-03.tld.domaine:tgt1 --portal 192.168.1.5 --login
/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
fdisk /dev/sda
n p 1 w
mkfs.ext4 /dev/sda1
mkdir /home/dossier
mount -t ext4 /dev/sda1 /home/dossier/
/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.
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
Salut itppa,
merci pour la coquille :-)
oui ça fonctionne bien du premier coup ;-)