I get on average around 1MB/s on a gigabit network.
I've created a zfs volume which I've exported as a block device with istgt
[CMD=""]zfs create -V 330G -b 512 tank/vol[/CMD]
Jumbo frames are enabled. MTU is set to 7000. It also runs on a seperate network/vlan.
I've tried two different switches, both has same performance.
I guess it's a configuration issue?
/usr/local/etc/istgt/istgt.conf
I was hoping to get something around at least 50MB/s with iSCSI. The same zfs pool can easily read and write over 70-80MB/s with Samba (and no jumbo frames).
I've created a zfs volume which I've exported as a block device with istgt
[CMD=""]zfs create -V 330G -b 512 tank/vol[/CMD]
Jumbo frames are enabled. MTU is set to 7000. It also runs on a seperate network/vlan.
I've tried two different switches, both has same performance.
I guess it's a configuration issue?
/usr/local/etc/istgt/istgt.conf
Code:
17 [Global]
18 Comment "Global section"
19 # node name (not include optional part)
20 NodeBase "iqn.backupbay.com"
21
22 # files
23 PidFile /var/run/istgt.pid
24 AuthFile /usr/local/etc/istgt/auth.conf
25
26 # directories
27 # for removable media (virtual DVD/virtual Tape)
28 MediaDirectory /var/istgt
29
30 # syslog facility
31 LogFacility "local7"
32
33 # socket I/O timeout sec. (polling is infinity)
34 Timeout 30
35 # NOPIN sending interval sec.
36 NopInInterval 20
37
38 # authentication information for discovery session
39 DiscoveryAuthMethod Auto
40 #DiscoveryAuthGroup AuthGroup9999
41
42 # reserved maximum connections and sessions
43 # NOTE: iSCSI boot is 2 or more sessions required
44 MaxSessions 32
45 MaxConnections 8
46
47 # maximum number of sending R2T in each connection
48 # actual number is limited to QueueDepth and MaxCmdSN and ExpCmdSN
49 # 0=disabled, 1-256=improves large writing
50 MaxR2T 128
51
52 # iSCSI initial parameters negotiate with initiators
53 # NOTE: incorrect values might crash
54 MaxOutstandingR2T 16
55 DefaultTime2Wait 2
56 DefaultTime2Retain 60
57 FirstBurstLength 262144
58 MaxBurstLength 1048576
59 MaxRecvDataSegmentLength 262144
60
61 # NOTE: not supported
62 InitialR2T Yes
63 ImmediateData Yes
64 DataPDUInOrder Yes
65 DataSequenceInOrder Yes
66 ErrorRecoveryLevel 0
67
68 [UnitControl]
69 Comment "Internal Logical Unit Controller"
70 #AuthMethod Auto
71 AuthMethod CHAP Mutual
72 AuthGroup AuthGroup1
73 # this portal is only used as controller (by istgtcontrol)
74 # if it's not necessary, no portal is valid
75 #Portal UC1 [::1]:3261
76 Portal UC1 127.0.0.1:3261
77 # accept IP netmask
78 #Netmask [::1]
79 Netmask 127.0.0.1
80
81 # You should set IPs in /etc/rc.conf for physical I/F
82 [PortalGroup1]
83 Comment "SINGLE PORT TEST"
84 # Portal Label(not used) IP(IPv6 or IPv4):Port
85 #Portal DA1 [2001:03e0:06cf:0003:021b:21ff:fe04:f405]:3260
86 Portal DA1 192.168.3.36:3260
87
96 [InitiatorGroup1]
97 Comment "Initiator Group1"
98 #InitiatorName "iqn.1991-05.com.microsoft:saturn"
99 # special word "ALL" match all of initiators
100 InitiatorName "ALL"
101 Netmask 192.168.3.0/24
102
103 # TargetName, Mapping, UnitType, LUN0 are minimum required
104 [LogicalUnit1]
105 Comment "Hard Disk Sample"
106 # full specified iqn (same as below)
107 #TargetName iqn.2007-09.jp.ne.peach.istgt:disk1
108 # short specified non iqn (will add NodeBase)
109 TargetName disk1
110 TargetAlias "Data Disk1"
111 # use initiators in tag1 via portals in tag1
112 Mapping PortalGroup1 InitiatorGroup1
113 # accept both CHAP and None
114 AuthMethod Auto
115 AuthGroup AuthGroup2
116 #UseDigest Header Data
117 UseDigest Auto
118 UnitType Disk
119 # SCSI INQUIRY - Vendor(8) Product(16) Revision(4) Serial(16)
120 UnitInquiry "FreeBSD" "iSCSI Disk" "0123" "10000001"
121 # Queuing 0=disabled, 1-255=enabled with specified depth.
122 #QueueDepth 32
123
124 # override global setting if need
125 #MaxOutstandingR2T 16
126 #DefaultTime2Wait 2
127 #DefaultTime2Retain 60
128 #FirstBurstLength 262144
129 #MaxBurstLength 1048576
130 #MaxRecvDataSegmentLength 262144
131 #InitialR2T Yes
132 #ImmediateData Yes
133 #DataPDUInOrder Yes
134 #DataSequenceInOrder Yes
135 #ErrorRecoveryLevel 0
136
137 # LogicalVolume for this unit on LUN0
138 # for file extent
139 #LUN0 Storage /tank/iscsi/istgt-disk1 10GB
140 # for raw device extent
141 #LUN0 Storage /dev/ad4 Auto
142 # for ZFS volume extent
143 LUN0 Storage /dev/zvol/tank/vol Auto
I was hoping to get something around at least 50MB/s with iSCSI. The same zfs pool can easily read and write over 70-80MB/s with Samba (and no jumbo frames).