Questa è una vecchia versione del documento!
Legenda
proxmox01 = gamora
proxmox02 = rocket
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 [...]
Importante
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 fail
find_multipaths no
}
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.

