Skip to main content

Iscsi Proxmox

En primer lugar instalaremos los paquetes necesarios

apt update -y
apt-get install open-iscsi multipath-tools

A continuación deberemos de tener acceso al portal iSCSI de nuestro almacenamiento. En nuestro caso usaremos por ejemplo la 10.0.15.x, como tenemos 8 caminos ya que disponemos de un almacenamiento con 8 interfaces iSCSI que serán 10.0.15.11-14 para la controladora A y 10.0.15.21-24 para la B

iscsiadm -m discovery -t sendtargets -p 10.0.15.11

Comprobamos el multipath con el comando multipath -ll

root@teststorage:/etc/multipath# multipath -ll
mpath0 (3600c0ff00027f44e1231865801000000) dm-0 HP,MSA 2040 SAN
size=8.2T features='3 queue_if_no_path queue_mode mq' hwhandler='1 alua' wp=rw
|-+- policy='round-robin 0' prio=50 status=active
| `- 2:0:0:0 sdb 8:16 active ready running
`-+- policy='round-robin 0' prio=10 status=enabled
  |- 3:0:0:0 sda 8:0  active ready running
  `- 4:0:0:0 sdc 8:32 active ready running

Ahora podemos realizar el discovery

iscsiadm -m discovery -t sendtargets -p 10.200.15.11

iscsiadm -m discovery -t sendtargets -p 10.200.15.14

iscsiadm -m node --login

nano multipath.conf

cat multipath.conf

Tenemos que buscar el wwid

nano /etc/multipath/wwids

Contendrá lo siguiente

# Multipath wwids, Version : 1.0
# NOTE: This file is automatically maintained by multipath and multipathd.
# You should not need to edit this file in normal circumstances.
#
# Valid WWIDs:
/3600c0ff00027f44e1231865801000000/

cat wwids

Editamos el archivo del demonio de iSCSI para que se inicia en el arranque

nano /etc/iscsi/iscsid.conf

Buscamos la cadena de inicio y cambiamos el modo de manual a automatic (en este archivo también tendremos la info de login del portal en CHAP (si lo tenemos configurado así)

#*****************
# Startup settings
#*****************

# To request that the iscsi service scripts startup a session, use "automatic":
# node.startup = automatic
#
# To manually startup the session, use "manual". The default is manual.
node.startup = automatic

# For "automatic" startup nodes, setting this to "Yes" will try logins on each
# available iface until one succeeds, and then stop.  The default "No" will try
# logins on all available ifaces simultaneously.
node.leading_login = No

iqn.1986-03.com.hp:storage.msa2040.162127e7a9

Habilitamos los servicios en el arranque

systemctl enable open-iscsi
systemctl enable iscsid
systemctl erable open-iscsi
systemctl enable multipath-tools

Editamos el multipath.conf para que solo aparezcan nuestros targets iSCSI mediante blacklisting.

nano /etc/multipath.conf

defaults {
    find_multipaths        "on"
        polling_interval        2
        path_selector           "round-robin 0"
        path_grouping_policy    multibus
        uid_attribute           ID_SERIAL
        rr_min_io               100
        failback                immediate
        no_path_retry           queue
        user_friendly_names     yes
}
blacklist {
        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
        devnode "^(td|hd)[a-z]"
        devnode "^dcssblk[0-9]*"
        devnode "^cciss!c[0-9]d[0-9]*"
        device {
                vendor "DGC"
                product "LUNZ"
        }
        device {
                vendor "EMC"
                product "LUNZ"
        }
        device {
                vendor "IBM"
                product "Universal Xport"
        }
        device {
                vendor "IBM"
                product "S/390.*"
        }
        device {
                vendor "DELL"
                product "Universal Xport"
        }
        device {
                vendor "SGI"
                product "Universal Xport"
        }
        device {
                vendor "STK"
                product "Universal Xport"
        }
        device {
                vendor "SUN"
                product "Universal Xport"
        }
        device {
                vendor "(NETAPP|LSI|ENGENIO)"
                product "Universal Xport"
        }
}
blacklist_exceptions {
        wwid "3600c0ff00027f44e1231865801000000"
}

multipaths {
  multipath {
        wwid "3600c0ff00027f44e1231865801000000"
        alias mpath0
  }
}

Crear el volumen LVM

Supongamos que nuestro disco iSCSI está en /dev/sdi

sgdisk -N 1 /dev/sdi
pvcreate --metadatasize 250k -y -ff /dev/sdi1
vgcreate vmdata /dev/sdi1

Utilidades

lsscsi

root@pvestorage:~# lsscsi
[0:0:0:0]    disk    ATA      WDC WDS100T1B0A- 00WD  /dev/sda
[0:0:1:0]    disk    ATA      WDC WDS100T1B0A- 00WD  /dev/sdb
[0:0:2:0]    disk    ATA      WDC WDS100T1B0A- 00WD  /dev/sdc
[0:0:3:0]    disk    ATA      WDC WDS100T1B0A- 00WD  /dev/sdd
[0:0:4:0]    disk    ATA      WDC WDS100T1B0A- 00WD  /dev/sde
[0:0:5:0]    disk    ATA      WDC WDS100T1B0A- 00WD  /dev/sdf
[0:0:6:0]    disk    ATA      WDC WDS100T1B0A- 00WD  /dev/sdg
[0:0:7:0]    disk    ATA      WDC WDS100T1B0A- 00WD  /dev/sdh
[1:0:0:1]    disk    SYNOLOGY Storage          3.1   /dev/sdi

Más información


https://elkano.org/blog/set-up-multipath-iscsi-targets-on-debian/