HA iSCSI target on ZFS: model
Dmitry Morozovsky
marck at rinet.ru
Sat Mar 16 19:48:38 UTC 2013
Dear colleagues,
I'm currently plan to architect and deploy test HA iSCSI target using two
FreeBSD hosts, and want to listen to your comments.
What I already did:
- two hosts, booted from internal USB stick, with 4 HDDs and one SSD each
- LACP-based laggs while links are connected to different half of
a clustered switch, with the mtu of 9000
- 2 carps (thanks to araujo@ help, -current, i.e. interface property, not
clone) holding shared addresses
- disk layout such as
root at cthulhu4:/usr/local/etc/istgt# gpart show -l
=> 34 1953525101 ada0 GPT (931G)
34 2014 - free - (1M)
2048 1952448512 1 ct4-0 (931G)
1952450560 1074575 - free - (524M)
=> 34 1953522988 ada1 GPT (931G)
34 2014 - free - (1M)
2048 1952448512 1 ct4-1 (931G)
1952450560 1072462 - free - (523M)
=> 34 1953525101 ada2 GPT (931G)
34 2014 - free - (1M)
2048 1952448512 1 ct4-2 (931G)
1952450560 1074575 - free - (524M)
=> 34 1953525101 ada3 GPT (931G)
34 2014 - free - (1M)
2048 1952448512 1 ct4-3 (931G)
1952450560 1074575 - free - (524M)
=> 34 234441581 ada4 GPT (111G)
34 2014 - free - (1M)
2048 2097152 1 ct3-zil4 (1.0G)
2099200 2097152 2 ct4-zil4 (1.0G)
4196352 230244352 3 ct4-cache (109G)
234440704 911 - free - (455k)
=> 0 4005886 da0 BSD (1.9G)
0 16 - free - (8.0k)
16 4005870 1 (null) (1.9G)
(da0 is USB, ada0-ada3 HDDs, ada4 SSD)
- 2 hast sets such as
root at cthulhu4:/usr/local/etc/istgt# hastctl status
Name Status Role Components
d0 complete secondary /dev/ada0p1 cthulhu3
d1 complete secondary /dev/ada1p1 cthulhu3
d2 complete primary /dev/ada2p1 cthulhu3
d3 complete primary /dev/ada3p1 cthulhu3
zil3 complete secondary /dev/ada4p1 cthulhu3
zil4 complete primary /dev/ada4p2 cthulhu3
- 2 ZFS setups like
root at cthulhu4:/usr/local/etc/istgt# zpool status
pool: ct4
state: ONLINE
scan: scrub repaired 0 in 0h0m with 0 errors on Thu Mar 14 17:58:48 2013
config:
NAME STATE READ WRITE CKSUM
ct4 ONLINE 0 0 0
hast/d2 ONLINE 0 0 0
hast/d3 ONLINE 0 0 0
logs
hast/zil4 ONLINE 0 0 0
cache
gpt/ct4-cache ONLINE 0 0 0
Now, it's time to create exportable entities. I think of creating thin
(non-preallocated) ZFS volumes in the pools, and sharing them via istgt.
What zfs properties would be appropriate for this?
I'm thinking at least about volblocksize=4k (main usage will be vSphere), but
not sure about it. And, more importantly, what about sync property?
Did I miss something obvious?
(and yes, supporting scripts for checking paired resource to be alive are all
to be written...)
Thanks in advance!
--
Sincerely,
D.Marck [DM5020, MCK-RIPE, DM3-RIPN]
[ FreeBSD committer: marck at FreeBSD.org ]
------------------------------------------------------------------------
*** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck at rinet.ru ***
------------------------------------------------------------------------
More information about the freebsd-fs
mailing list