ISCSI on zvols with two maschines. What needs to be done?

dennis berger db at nipsi.de
Fri Jul 20 13:02:11 UTC 2012


Hi John,
see inline.


Am 20.07.2012 um 14:32 schrieb John:

> Hi Dennis,
> 
> ----- dennis berger's Original Message -----
>> Hi folks,
>> 
>> The following question often comes to me, when I speak to my customers.
>> 
>> Is it possible to attach two systems to the same storage array using shared SAS and use istgt + zfs to provide 
>> a reliable ISCSI target. This could be active/passive or later active/active. In case it's not possible, what needs to be done?
>> 
>> The questions that came into my mind.
>> 
>> Can I connect two freebsd to the storage and boot them up? Just that both systems would see the physical devices. 
> 
> Yes, please see:
> 
> http://people.freebsd.org/~jwd/zfsnfsserver.jpg

This is exactly how I would like to use it.

> 
> for a possible diagram. Dual path all the shelves and use gmultipath to
> access them. Use 9-stable.
OK. And with new multipath code. I remember I read something in quarterly reports…

> 
> Make sure each host is dual homed and a client (initiator) can access
> the target with dual pathing, one connection over each network path.
> 
OK but it's still accessing one target right.

>> Can I start ZFS on both systems without writing on it? I would like to use just block devices for ISCSI. Is everything still consistent?
> 
> You can start ZFS on both systems and import different pools. The same pool
> cannot be imported on two different systems (you can, you won't be happy).
> 
Ahh you mean to create a separate zfs pool with the different devices names according to multipath. Which in in essence are the same physical devices?!

PoolA with da0 and da2 
PoolB with da1 and da3
 
da0 and da1 are the same device but different paths?
But where is the difference?! Maybe I don't understand exactly why 2 pools


>> Does starting ZFS up already writing some sort of meta data to the physical devices?!
> 
> Yes, others would know better than I.

OK

> 
>> Can I start istgt on both systems without actually using the istgt on one system?! Then CARP would be enough, wouldn't it.
> 
> You start istgt on both systems handing out luns from the two different
> pools you have mounted on each head. Hint, put your istgt configs for
> each pool in each pool.
> 
> Using CARP/DEVD and some shell code, if head A dies, you import the
> failing heads pool on the other system and bring istgt up. CARP handles
> the IP address switch over.

Do I need to zfs import?! 


-dennis


> 
>> Or in case of active/active extend istgt to communicate with the other istgt to not hand out a device twice? 
> 
> Not sure I'd want to expend the effort here. Just an opinion.
> 
> Hope this helps.
> 
> -John
> 
>> Best,
>> -dennis
> 

Dipl.-Inform. (FH)
Dennis Berger

email:   db at bsdsystems.de
mobile: +491791231509
fon: +494054001817



More information about the freebsd-fs mailing list