* Versões utilizadas: Debian 8.5(Jessie) + Open-ISCSI-2.0.873 + Multipath-tools-0.5.0-6
* Instale os pacotes e reinicie
# apt-get install open-iscsi multipath-tools multipath-tools-boot sysfsutils gdisk
# reboot
* Ajuste as interfaces de rede para os ambientes
# vi /etc/network/interfaces
allow-hotplug eth0 <- local
iface eth0 inet static
address 10.0.0.2
netmask 255.255.255.0
network 10.0.0.0
broadcast 10.0.0.255
gateway 10.0.0.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 10.0.0.4 10.0.0.8
dns-search dominio.com.br
allow-hotplug eth1 <- multipath
iface eth1 inet static
address 192.168.100.20
netmask 255.255.255.0
#gateway 192.168.100.1
mtu 1500
allow-hotplug eth2 <- multipath
iface eth2 inet static
address 192.168.200.20
netmask 255.255.255.0
#gateway 192.168.200.1
mtu 1500
# /etc/init.d/networking restart
* Ajuste a configuração do open-iscsi
# vi /etc/iscsi/iscsid.conf
node.startup = automatic
node.session.timeo.replacement_timeout = 5
node.session.err_timeo.lu_reset_timeout = 20
node.session.err_timeo.tgt_reset_timeout = 20
* Reinicie o serviço open-iscsi
# /etc/init.d/open-iscsi restart
* Visualize o initiatorname e copie
# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1993-08.org.debian:01:8b76d4a76c8g
* Criar host iSCSI no storage SAN IBM v3700 com o valor iqn.1993-08.org.debian:01:8b76d4a76c8g
* Mapear volume para o host iSCSI
* Aguardar a sincronização para mostrar
* Quando habilitado multipath apontar para todos os IP do storage na descoberta da LUN
* De volta ao Debian realize a descoberta dos volumes
# iscsiadm -m discovery -t sendtargets -p 192.168.100.10 - (192.168.100.10,192.168.200.10,...)
# iscsiadm --mode node -l all
* Liste os mapeamento
# ls /dev/mapper/
36005076300808403d80000000000003f
- Perceba que o link é adicionado 3+UID do volume criado no SAN IBM,
AVISO: Caso seja somente montagem, pular o passo abaixo formatação de disco e ir no passo montar disco
* Para HD de até 2TB
# fdisk /dev/mapper/36005076300808403d80000000000003f
n
p/e
enter
enter
enter
t - 83 - enter
p
w
* Para HD acima de 2TB usar GPT (GUID partition table format)
# gdisk /dev/mapper/36005076300808403d80000000000003f
o - Y
n
enter
enter
enter
8300 - t ?
p
w - Y
* Criar o file system XFS
# mkfs.xfs -f /dev/mapper/36005076300808403d80000000000003f-part1
meta-data=/dev/mapper/36005076300808403d80000000000003f-part1 isize=256 agcount=4, agsize=268435391 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=1073741563, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=521728, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
* Descobrindo o wwid
# cat /etc/multipath/wwids
OU
# multipath -ll
36005076300808403d80000000000003f dm-0 IBM,2145
size=4.0T features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=50 status=active
|- 2:0:0:0 sda 8:0 active ready running
|- 3:0:0:0 sdb 8:16 active ready running
|- 4:0:0:0 sdc 8:32 active ready running
`- 5:0:0:0 sdd 8:48 active ready running
Nota: Quando configurado o multipath, o caminho no /dev/mapper altera caso utilizado o parametro alias
* Configurar o serviço multipath
# /etc/multipath.conf
defaults {
user_friendly_names yes
polling_interval 30
}
devices {
device {
# vendor "IBM"
# product "2145"
path_grouping_policy group_by_prio
getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
features "1 queue_if_no_path"
prio alua
path_checker tur
failback immediate
no_path_retry "5"
rr_min_io 1
# polling_interval 30
dev_loss_tmo 120
}
}
blacklist {
devnode "^(ram|sda|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^hd[a-z][[0-9]*]"
devnode "^vd[a-z]"
devnode "^xvd[a-z]"
devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
}
multipaths {
multipath {
wwid 36005076300808403d80000000000003f <- ajustar conforme # multipath -ll
alias v3700_STORAGE1
}
}
* Reinicie o serviço
# /etc/init.d/multipath-tools-boot restart
# /etc/init.d/multipath-tools restart
* Liste a os multipath
# multipath -ll
v3700_STORAGE1 (36005076300808403d80000000000003f) dm-0 ,
size=4.0T features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=50 status=active
|- #:#:#:# sda 8:0 active undef running
|- 3:0:0:0 sdb 8:16 active ready running
|- 4:0:0:0 sdc 8:32 active ready running
`- 5:0:0:0 sdd 8:48 active ready running
* Criar diretório
# mkdir /home/DIRETORIO
* Montar o volume
# mount /dev/mapper/v3700_STORAGE1-part1 /home/DIRETORIO/ -o defaults,auto,_netdev,inode64,nobarrier
* montar as configurações do fstab
# vi /etc/fstab
/dev/mapper/v3700_STORAGE1-part1 /home/RepositorioWeb/ xfs defaults,auto,_netdev,inode64,nobarrier 0 0
# mount -a
* Ajustar parametro
# echo 0 > /proc/sys/kernel/hung_task_timeout_secs
(VALIDAR)
(TESTAR (rw,relatime,seclabel,attr2,noquota))
# vi /etc/fstab
/dev/mapper/v3700_STORAGE1-part1 /home/RepositorioWeb/ xfs defaults,auto,_netdev,inode64,nobarrier 0 0
(OU A LINHA ABAIXO TESTAR)
/dev/mapper/v3700_STORAGE1-part1 /home/RepositorioWeb/ xfs noatime,logbufs=8,logbsize=256k,_netdev,inode64,nobarrier 0 0
* Realizar scaneamento
# iscsiadm -m node --rescan
# iscsiadm -m session --rescan
or
iscsiadm -m session -r $SID --rescan
(SID is in iscsiadm -m session -P 3)
or
iscsiadm -m node -T target --rescan
* Liste os mapeamento
# ls /dev/mapper/
36005076300808403d800000000000051
# fdisk -l
Disk /dev/mapper/36005076300808403d800000000000051: 1.3 TiB, 1429365116416 bytes, 2791728743 sectors
# gdisk /dev/mapper/36005076300808403d800000000000051
o - Y
n
enter
enter
enter
8300 - t ?
p
w - Y
* Criar o file system XFS
# mkfs.xfs -f /dev/mapper/36005076300808403d800000000000051-part1
meta-data=/dev/mapper/36005076300808403d800000000000051-part1 isize=256 agcount=4, agsize=268435391 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=1073741563, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=521728, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
* Descobrindo o novo wwid
# multipath -ll
36005076300808403d800000000000051 dm-2 IBM,2145
size=1.3T features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=50 status=active
|- 3:0:0:1 sdf 8:80 active ready running
|- 2:0:0:1 sde 8:64 active ready running
|- 4:0:0:1 sdg 8:96 active ready running
`- 5:0:0:1 sdh 8:112 active ready running
OU
# cat /etc/multipath/wwids
* Configurar o novo volume multipath
# /etc/multipath.conf
multipaths {
multipath {
wwid 36005076300808403d800000000000051 <- ajustar conforme # multipath -ll
alias v3700_STORAGE2
}
}
* Reinicie o serviço (VALIDAR)
# /etc/init.d/multipath-tools-boot restart
# /etc/init.d/multipath-tools restart
* Criar diretório
# mkdir /home/DIRETORIO
* Montar a unidade
# mount /dev/mapper/v3700_STORAGE2 /home/PROJCOLABORATIVO/ -o defaults,auto,_netdev,inode64,nobarrier
* montar as configurações do fstab
# vi /etc/fstab
/dev/mapper/v3700_STORAGE2 /home/STORAGE2/ xfs defaults,auto,_netdev,inode64,nobarrier 0 0
# mount -a
* Versões utilizadas: Debian 8.5(Jessie) + ISCSITARGET-1.4.20.3
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; word-wrap: break-word">
# apt-get install iscsitarget iscsitarget-source
# m-a a-i iscsitarget
# modprobe iscsi_trgt
</pre>
*
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; word-wrap: break-word">
# vi /etc/default/iscsitarget
ISCSITARGET_ENABLE=true
</pre>
* Descobrir qual e a unidade lvm
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; word-wrap: break-word">
# fdisk -l
</pre>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; word-wrap: break-word">
# vi /etc/iet/ietd.conf
Target iqn.2011-05.br.com.dominio:storagevm
Lun 0 Path=/dev/cciss/c0d1p1,Type=fileio ->(Opcional),IOMode=wb
#Lun 0 Path=/dev/cciss/c0d1p1,Type=blockio
Target iqn.2012-04.br.com.dominio:storage2tb
Lun 1 Path=/dev/cciss/c0d2p1,Type=fileio ->(Opcional),IOMode=wb
</pre>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; word-wrap: break-word">
FileIO - Trabalha com multipath do XenServer, desta maneira criando redundancia de acesso ao storage pela network utilizando o mesmo LUN de acesso. Este metodo e usado quando se tem varios XenServers. Velocidade deste metodo 37MB/s.
BlockIO – Não trabalha com multipath e melhora a performance de acesso ao storage. Este metodo é usado quando se tem um XenServer somente. Velocidade deste metodo 50MB/s. Este metodo ignora IOmode=wb.
</pre>
[http://kb.open-e.com/File-IO-Or-Block-IO_342.html]
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; word-wrap: break-word">
# vi /etc/iet/initiators.allow
iqn.2011-05.br.com.dominio:storagevm 172.25.25.14,172.25.25.15
iqn.2012-04.br.com.dominio:storage2tb 172.25.25.14,172.25.25.15
</pre>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; word-wrap: break-word">
# vi /etc/iet/targets.allow
ALL ALL
</pre>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; word-wrap: break-word">
# vi /etc/hosts.allow
ietd:172.25.25.0/24
</pre>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; word-wrap: break-word">
# vi /etc/hosts.deny
ietd:ALL
</pre>
* Reiniciar o serviço
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; word-wrap: break-word">
# /etc/init.d/iscsitarget restart
</pre>
* Portas utilizadas pelo ISCSI:
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; word-wrap: break-word">
3260-TCP/UDP
</pre>