relecture
This commit is contained in:
parent
a438aca080
commit
829fd5f6e9
111
HowtoISCSI.md
111
HowtoISCSI.md
|
@ -1,5 +1,3 @@
|
||||||
**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.**
|
|
||||||
|
|
||||||
# Howto iSCSI
|
# Howto iSCSI
|
||||||
|
|
||||||
<http://en.wikipedia.org/wiki/ISCSI>
|
<http://en.wikipedia.org/wiki/ISCSI>
|
||||||
|
@ -11,13 +9,13 @@ Vocabulaire : l'initiator est le client iSCSI, le target est le serveur iSCSI.
|
||||||
Sous Debian, l'utilitaire pour avoir un initiator iSCSI est fourni avec le paquet _open-isci_.
|
Sous Debian, l'utilitaire pour avoir un initiator iSCSI est fourni avec le paquet _open-isci_.
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# aptitude install open-iscsi
|
# apt install open-iscsi
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
S'assurer que _iscsid_ est bien démarré :
|
S'assurer que _iscsid_ est bien démarré :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# /etc/init.d/open-iscsi start
|
# systemctl status open-iscsi
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
Scanner les devices disponibles :
|
Scanner les devices disponibles :
|
||||||
|
@ -98,20 +96,20 @@ Par exemple, pour un SAN MD3600i en multipath nous avons :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# ls -l /etc/iscsi/nodes/iqn.1984-05.com.dell\:powervault.md3600i.36782bcb00050034200000xxxxxxxxxx/
|
# ls -l /etc/iscsi/nodes/iqn.1984-05.com.dell\:powervault.md3600i.36782bcb00050034200000xxxxxxxxxx/
|
||||||
drw------- 2 root root 4096 Oct 26 2011 192.168.130.101,3260,1
|
drw------- 2 root root 4096 Oct 26 2011 192.0.2.101,3260,1
|
||||||
drw------- 2 root root 4096 Oct 26 2011 192.168.131.101,3260,1
|
drw------- 2 root root 4096 Oct 26 2011 192.0.2.102,3260,1
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
Pour se connecter automatiquement aux LUNs au démarrage du serveur, il faut modifier la directive "node.startup" en la passant de "manual" à "automatic" :
|
Pour se connecter automatiquement aux LUNs au démarrage du serveur, il faut modifier la directive "node.startup" en la passant de "manual" à "automatic" :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# cat /etc/iscsi/nodes/iqn.1984-05.com.dell\:powervault.md3600i.36782bcb00050034200000xxxxxxxxxx/192.168.130.101\,3260\,1
|
# cat /etc/iscsi/nodes/iqn.1984-05.com.dell\:powervault.md3600i.36782bcb00050034200000xxxxxxxxxx/192.0.2.101\,3260\,1
|
||||||
node.name = iqn.1984-05.com.dell:powervault.md3600i.36782bcb00050034200000xxxxxxxxxx
|
node.name = iqn.1984-05.com.dell:powervault.md3600i.36782bcb00050034200000xxxxxxxxxx
|
||||||
node.tpgt = 1
|
node.tpgt = 1
|
||||||
node.startup = automatic
|
node.startup = automatic
|
||||||
iface.iscsi_ifacename = default
|
iface.iscsi_ifacename = default
|
||||||
iface.transport_name = tcp
|
iface.transport_name = tcp
|
||||||
node.discovery_address = 192.168.130.101
|
node.discovery_address = 192.0.2.101
|
||||||
node.discovery_port = 3260
|
node.discovery_port = 3260
|
||||||
node.discovery_type = send_targets
|
node.discovery_type = send_targets
|
||||||
[...]
|
[...]
|
||||||
|
@ -152,8 +150,8 @@ plusieurs interfaces Ethernet aura probablement des adresses IP sur la même pla
|
||||||
Vous allez donc configurer vos deux interfaces avec des IPs sur la même plage :
|
Vous allez donc configurer vos deux interfaces avec des IPs sur la même plage :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# ifconfig eth2 10.0.0.100/24
|
# ifconfig eth2 192.0.2.200/24
|
||||||
# ifconfig eth3 10.0.0.101/24
|
# ifconfig eth3 192.0.2.201/24
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
Il faut alors créer des interfaces iSCSI pour chaque carte réseau :
|
Il faut alors créer des interfaces iSCSI pour chaque carte réseau :
|
||||||
|
@ -211,7 +209,7 @@ profiter de cela pour avoir une tolérance de panne et une agrégation des débi
|
||||||
### Utilisation du multipath
|
### Utilisation du multipath
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# aptitude install multipath-tools
|
# apt install multipath-tools
|
||||||
modprobe dm_multipath
|
modprobe dm_multipath
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
@ -241,48 +239,36 @@ size=3.6T features='0' hwhandler='0' wp=rw
|
||||||
|
|
||||||
On doit ensuite configurer _multipathd_ via
|
On doit ensuite configurer _multipathd_ via
|
||||||
un fichier */etc/multipath.conf*. Voici un exemple (utilisé
|
un fichier */etc/multipath.conf*. Voici un exemple (utilisé
|
||||||
avec un SAN DELL MD3600i) :
|
avec un SAN LENOVO S2200) :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
defaults {
|
defaults {
|
||||||
udev_dir /dev
|
polling_interval 5
|
||||||
polling_interval 5
|
user_friendly_names yes
|
||||||
user_friendly_names yes
|
path_selector "round-robin 0"
|
||||||
}
|
}
|
||||||
|
blacklist {
|
||||||
# Blacklist tous les devices
|
wwid ".*"
|
||||||
devnode_blacklist {
|
|
||||||
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
|
|
||||||
devnode "^hd[a-z][[0-9]*]"
|
|
||||||
devnode "^sd[a-z][[0-9]*]"
|
|
||||||
devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
|
|
||||||
}
|
}
|
||||||
|
blacklist_exceptions {
|
||||||
# Définit les options de montage du multipath
|
wwid "3600c0ff00026xxxxxxxxxxxxxxxxxxxx"
|
||||||
devices {
|
|
||||||
device
|
|
||||||
{
|
|
||||||
vendor "DELL.*"
|
|
||||||
product "MD36xxi"
|
|
||||||
path_selector "round-robin 0"
|
|
||||||
# Agrège les débits
|
|
||||||
path_grouping_policy multibus
|
|
||||||
# Utilise le(s) lien(s) restant(s) au premier échec
|
|
||||||
failback immediate
|
|
||||||
no_path_retry fail
|
|
||||||
features "1 queue_if_no_path"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Identifie par son WWID le(s) disque(s) à utiliser en multipath
|
|
||||||
# Le disque sera disponible dans /dev/mapper/data
|
|
||||||
multipaths {
|
multipaths {
|
||||||
multipath {
|
multipath {
|
||||||
wwid 36782bcb00050034200000xxxxxxxxxx
|
wwid 3600c0ff00026xxxxxxxxxxxxxxxxxxxx
|
||||||
alias data
|
alias data
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
devices {
|
||||||
|
device {
|
||||||
|
vendor "Lenovo"
|
||||||
|
product "S2200"
|
||||||
|
path_grouping_policy multibus
|
||||||
|
failback immediate
|
||||||
|
no_path_retry fail
|
||||||
|
features "1 queue_if_no_path"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
On relance le daemon :
|
On relance le daemon :
|
||||||
|
@ -295,11 +281,13 @@ Et on vérifie :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# multipath -ll
|
# multipath -ll
|
||||||
data (36782bcb00050034200000xxxxxxxxxx) dm-0 DELL,MD36xxi
|
data (3600c0ff00026xxxxxxxxxxxxxxxxxxxx) dm-0 Lenovo,S2200
|
||||||
size=5.5T features='0' hwhandler='0' wp=rw
|
size=8.6T features='0' hwhandler='0' wp=rw
|
||||||
`-+- policy='round-robin 0' prio=2 status=active
|
`-+- policy='round-robin 0' prio=1 status=active
|
||||||
|- 11:0:0:0 sde 8:64 active ready running
|
|- 5:0:0:0 sdb 8:16 active ready running
|
||||||
`- 10:0:0:0 sdf 8:80 active ready running
|
|- 6:0:0:0 sdd 8:48 active ready running
|
||||||
|
|- 7:0:0:0 sdf 8:80 active ready running
|
||||||
|
`- 8:0:0:0 sdh 8:112 active ready running
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
La politique multibus semble la plus intéressante car elle permet de gérer aussi bien le fail-over (en cas de perte d'un lien) que l'agrégation de débit.
|
La politique multibus semble la plus intéressante car elle permet de gérer aussi bien le fail-over (en cas de perte d'un lien) que l'agrégation de débit.
|
||||||
|
@ -308,17 +296,32 @@ L'option "failback immediate" indique de basculer sur le ou les lien(s) restant(
|
||||||
Exemple avec notre baie Dell :
|
Exemple avec notre baie Dell :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# cat /etc/iscsi/nodes/iqn.1984-05.com.dell\:powervault.md3600i.36782bcb00050034200000xxxxxxxxxx/192.168.130.101\,3260\,1
|
# cat /etc/iscsi/nodes/iqn.2002-09.com.lenovo\:01.array.00xxxxxxxx/192.0.2.101\,3260\,1/default
|
||||||
node.name = iqn.1984-05.com.dell:powervault.md3600i.36782bcb00050034200000xxxxxxxxxx
|
# BEGIN RECORD 2.0-873
|
||||||
|
node.name = iqn.2002-09.com.lenovo:01.array.00xxxxxxxx
|
||||||
node.tpgt = 1
|
node.tpgt = 1
|
||||||
node.startup = automatic
|
node.startup = automatic
|
||||||
|
node.leading_login = No
|
||||||
iface.iscsi_ifacename = default
|
iface.iscsi_ifacename = default
|
||||||
iface.transport_name = tcp
|
iface.transport_name = tcp
|
||||||
node.discovery_address = 192.168.130.101
|
iface.vlan_id = 0
|
||||||
|
iface.vlan_priority = 0
|
||||||
|
iface.iface_num = 0
|
||||||
|
iface.mtu = 0
|
||||||
|
iface.port = 0
|
||||||
|
node.discovery_address = 192.0.2.101
|
||||||
node.discovery_port = 3260
|
node.discovery_port = 3260
|
||||||
node.discovery_type = send_targets
|
node.discovery_type = send_targets
|
||||||
[...]
|
node.session.initial_cmdsn = 0
|
||||||
|
node.session.initial_login_retry_max = 8
|
||||||
|
node.session.xmit_thread_priority = -20
|
||||||
|
node.session.cmds_max = 128
|
||||||
|
node.session.queue_depth = 32
|
||||||
|
node.session.nr_sessions = 1
|
||||||
|
node.session.auth.authmethod = None
|
||||||
node.session.timeo.replacement_timeout = 10
|
node.session.timeo.replacement_timeout = 10
|
||||||
|
# END RECORD
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue