Strumenti Utente

Strumenti Sito


documentazione_3di_riservata:manuali_sysadmin:iscsi_multipath

Questa è una vecchia versione del documento!


Installation

We will use Multipath for link HA and improved performance. Install the needed packages first:

root@proxmox01:~# apt-get install open-iscsi multipath-tools

root@proxmox02:~# apt-get install open-iscsi multipath-tools

Then we discover the target and login on both proxmox nodes:

root@proxmox01:~# systemctl start open-iscsi.service

root@proxmox01:~# iscsiadm -m discovery -t st -p 192.168.0.180
192.168.0.180:3260,1 iqn.2016-02.local.virtual:virtual.vg1
10.20.1.180:3260,1 iqn.2016-02.local.virtual:virtual.vg1
 
root@proxmox01:~# iscsiadm -m node --login
 
root@proxmox01:~# iscsiadm -m node
10.20.1.180:3260,1 iqn.2016-02.local.virtual:virtual.vg1
192.168.0.180:3260,1 iqn.2016-02.local.virtual:virtual.vg1
 
root@proxmox02:~# iscsiadm -m session -P 1
Target: iqn.2016-02.local.virtual:virtual.vg1 (non-flash)
    Current Portal: 10.20.1.180:3260,1
    Persistent Portal: 10.20.1.180:3260,1
        **********
        Interface:
        **********
        Iface Name: default
        Iface Transport: tcp
        Iface Initiatorname: iqn.1993-08.org.debian:01:674b46a9745
        Iface IPaddress: 10.20.1.186
        Iface HWaddress: <empty>
        Iface Netdev: <empty>
        SID: 1
        iSCSI Connection State: LOGGED IN
        iSCSI Session State: LOGGED_IN
        Internal iscsid Session State: NO CHANGE
    Current Portal: 192.168.0.180:3260,1
    Persistent Portal: 192.168.0.180:3260,1
        **********
        Interface:
        **********
        Iface Name: default
        Iface Transport: tcp
        Iface Initiatorname: iqn.1993-08.org.debian:01:674b46a9745
        Iface IPaddress: 192.168.0.186
        Iface HWaddress: <empty>
        Iface Netdev: <empty>
        SID: 2
        iSCSI Connection State: LOGGED IN
        iSCSI Session State: LOGGED_IN
        Internal iscsid Session State: NO CHANGE
 
root@proxmox01:~# lsscsi
[0:0:0:0]    cd/dvd  QEMU     QEMU DVD-ROM     1.4.  /dev/sr0
[2:0:0:0]    disk    SCST_FIO VDISK-LUN01       311  /dev/sdb
[3:0:0:0]    disk    SCST_FIO VDISK-LUN01       311  /dev/sda

We can see two new SCSI block devices have been introduced to the system, /dev/sda and /dev/sdb. Next is Multipathing setup. First we find the WWID of the new device:

root@proxmox01:~# /lib/udev/scsi_id -g -d /dev/sda
23238363932313833
 
root@proxmox01:~# /lib/udev/scsi_id -g -d /dev/sdb
23238363932313833

that we then use in the Multipath config file /etc/multipath.conf that we create, for both proxmox nodes:

defaults {
        find_multipaths yes
        user_friendly_names    yes
        polling_interval        2
        path_selector           "round-robin 0"
        path_grouping_policy    multibus
        path_checker            readsector0
        getuid_callout          "/lib/udev/scsi_id -g -u -d /dev/%n"
        rr_min_io               100
        failback                immediate
        no_path_retry           queue
}
blacklist {
        wwid .*
}
blacklist_exceptions {
        wwid "23238363932313833"
    property "(ID_SCSI_VPD|ID_WWN|ID_SERIAL)"
}
multipaths {
  multipath {
        wwid "23238363932313833"
        alias mylun
  }
}

and after loading Multipath kernel modules on both proxmox nodes:

root@proxmox02:~# modprobe -v dm_multipath
insmod /lib/modules/4.2.6-1-pve/kernel/drivers/scsi/device_handler/scsi_dh.ko
insmod /lib/modules/4.2.6-1-pve/kernel/drivers/md/dm-multipath.ko
 
root@proxmox02:~# modprobe -v dm_round_robin
insmod /lib/modules/4.2.6-1-pve/kernel/drivers/md/dm-round-robin.ko

and restarting Multipath service/daemon for both proxmox nodes:

root@proxmox01:~# systemctl stop multipath-tools.service
root@proxmox01:~# systemctl start multipath-tools.service
root@proxmox02:~# systemctl status -l multipath-tools.service
   multipath-tools.service - LSB: multipath daemon
   Loaded: loaded (/etc/init.d/multipath-tools)
   Active: active (running) since Fri 2016-03-04 17:40:44 AEDT; 6s ago
  Process: 8177 ExecStop=/etc/init.d/multipath-tools stop (code=exited, status=0/SUCCESS)
  Process: 8191 ExecStart=/etc/init.d/multipath-tools start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/multipath-tools.service
           └─8195 /sbin/multipathd
 
Mar 04 17:40:44 proxmox02 multipath-tools[8191]: Starting multipath daemon: multipathd.
Mar 04 17:40:44 proxmox02 multipathd[8195]: sda: using deprecated getuid callout
Mar 04 17:40:44 proxmox02 multipathd[8195]: sdb: using deprecated getuid callout
Mar 04 17:40:44 proxmox02 multipathd[8195]: mylun: load table [0 41934848 multipath 1 queue_if_no_path 0 1 1 round-robin 0 2 1 8:0 1 8:16 1]
Mar 04 17:40:44 proxmox02 multipathd[8195]: mylun: event checker started
Mar 04 17:40:44 proxmox02 multipathd[8195]: path checkers start up 

we can see the multipath device mylun created:

root@proxmox01:~# multipath -ll
mylun (23238363932313833) dm-1 SCST_FIO,VDISK-LUN01
size=20G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 2:0:0:0 sdb 8:16 active ready running
  `- 3:0:0:0 sda 8:0  active ready running
 
root@proxmox01:~# dmsetup ls
pve-swap    (251:3)
pve-root    (251:0)
mylun    (251:1)
pve-data    (251:4)
vg_drbd0-vm--107--disk--1    (251:5)
vg_proxmox-lv_proxmox    (251:2) 

Next we create the volume group on one proxmox node only:

root@proxmox01:~# pvcreate /dev/mapper/mylun

root@proxmox01:~# vgcreate vg_iscsi /dev/mapper/mylun

Finally, using the PVE web GUI, we add new LVM storage using the newly created vg_iscsi volume group in the Datacenter and set it as Active and Shared.

At the end, in order to log in and establish the sessions to the iSCSI targets on reboot we set the startup mode to automatic in the iscsi initiator config file /etc/iscsi/iscsid.conf on both proxmox nodes:

[...]
node.startup = automatic
[...]

ImportanteRed Highlighted Text Usare questo comando dopo aver riavviato il Proxmox server e le iscsi non vengono montate.

iscsiadm -m node –login

Aggiungere nuovo target iscsi

Tutte le operazioni vanno fatte in tutti i nodi.

1. Trova il nuovo target e ripeti per tutti gli IP in caso non riconosce tutte automaticamente aggiungendo solo uno. Tutte le operazioni vanno fatte in tutti i nodi.

iscsiadm -m discovery -t st -p indirizzo_IP

iscsiadm -m discovery -t st -p indirizzo_IP

2. Fai la login

iscsiadm -m node –login

3. Controla se si sono aggiunti gli sdx

lsscsi

4. Trvoa il wwid. E' uguale per le sdx che si sono appena aggiunte:

/lib/udev/scsi_id -g -d /dev/sdx

5. Aggiungi il wwid in exeption list ed aggiungi il nuovo multipath:

vim /etc/multipath.conf

defaults {
        find_multipaths yes
        user_friendly_names    yes
        polling_interval        2
        path_selector           "round-robin 0"
        path_grouping_policy    multibus
        path_checker            readsector0
        getuid_callout          "/lib/udev/scsi_id -g -u -d /dev/%n"
        rr_min_io               100
        failback                immediate
        no_path_retry           queue
}
blacklist {
        wwid .*
}
blacklist_exceptions {
        wwid "23238363932313833"
        wwid "23238363932313834"
    property "(ID_SCSI_VPD|ID_WWN|ID_SERIAL)"
}
multipaths {
  multipath {
        wwid "23238363932313833"
        alias mylun
  }
 multipath {
        wwid "23238363932313834"
        alias mylun1
  }
  }

6. Fai il reload del multipath:

systemctl reload multipath-tools.service

7. Controlla i multipath se ci sono:

multipath -ll

8. Creare i volume group:

pvcreate /dev/mapper/mylun1

vgcreate vg_iscsi /dev/mapper/mylun1

9. Ora puoi creare lo storage LVM dal web del proxmox scegliendo il vg_iscsi creato.

/data/attic/documentazione_3di_riservata/manuali_sysadmin/iscsi_multipath.1596613072.txt.gz · Ultima modifica: 2020/08/05 09:37 da valdrin.kraja