DSM-G600, DNS-3xx and NSA-220 Hack Forum

Unfortunately no one can be told what fun_plug is - you have to see it for yourself.

You are not logged in.

Announcement

#1 2011-09-12 01:09:02

MarkV
New member
Registered: 2011-09-12
Posts: 2

iSCSI on the DNS-343

The DNS-343 seems  a little power deprived when compared to other NAS units driven by the likes of multi-core Intel Atoms or SandyBridge cpu’s. As delivered, the DNS-343 does a decent job serving up samba, but it doesn’t seem to know what to do with its Gbs bandwidth.  It definitely benefits from its built in jumbo frame capability if it is possible to use.

This message is about iSCSI, but it is also about getting the most out of a DNS-343.  Jumbo Frames not only reduce protocol requirements going from 1500 MTU to 9000 MTU, they also reduce the amount of work the CPU must do to manage the protocol.  On modern systems this extra work for the CPU is almost negligible.  On the 343, it is huge, and enables the unit to begin using the bandwidth it is endowed with.   Properly implementing jumbo frames is another subject and probably best left for systems using secondary nics, dedicated to jumbo frames.

I always felt that using the 343 as a block oriented server would be a good match for the type of power it has.  My thinking was that a server managing low level disk requests, only, would be doing less work than a server doing that and managing a file system too.  This describes an iSCSI target.  The other side of the iSCSI model, the iSCSI initiator, runs on another system – usually a server.
I have seen other discussions with the goal using a 343 as an iSCSI target, and they include talk of kernel modifications and running Debian.  I also found this:  http://zloy.pclovers.ru/2011/04/22/iscsi-dlink-dns-343/  It is in Russian, but I decided to give it a go.  An ffp unit can be updated in minutes.  So far I have found the results to be spooky.  They are too good to be true.  I must have missed something.

I currently have this 343 iSCSI target linked to an initiator on a Server 2008 R2.  This Windows/Linux marriage gives me file services that are very responsive.  Windows manages the disk format and file system (NTFS), the 343 acts like a scsi disk array, via Ethernet.  These are local disks as far as Windows is concerned.

The iSCSI drives appear in the device manager as scsi disks.  The disk manager treats them like any other local disk.  Unlike usb, iSCSI disks may be converted to dynamic disks, and run at different raid levels.  I have done a lot of testing on this setup, and I have beat it up.  It runs well as separate volumes, merged volumes, and striped volumes.  It appears to favor striped volumes, and most of my testing has been done with a striped set of four, two terabyte disks.  Jumbo frames gives me a sustained transfer rate of 30 to 35 mbs,  1500 mtu gives me a strong 20 mbs.  Regardless of the mtu, a client can write to this volume, shared via samba at well over 100 mbs for the first one or two gigs since the server makes good use of its cache.  Reads via a client cannot exceed the raw speed of the link between the server and 343.

With this setup I have rebooted the server as well as pulled the plug on the 343 in different ways trying to make it fail.  I can’t.  It won’t.  Everything always comes back up, and re-connects.  I run checkdisk on the volume – it finds nothing.  I did discover that rebooting my managed switch causes the iSCSI daemon on the target to stop.  I added a watchdog to the 343 to restart automatically, so I am back to no problems.  This is spooky, and my hat is off to Microsoft and Intel for this iSCSI implementation.


Attachments:
Attachment Icon DNS-343 iSCSI.zip, Size: 456,282 bytes, Downloads: 977

Offline

 

#2 2011-09-18 00:26:41

hammil
New member
Registered: 2011-05-08
Posts: 3

Re: iSCSI on the DNS-343

Hi. I'm trying to get this working on my unit, I'm pretty sure I've got it working (I had to cross-compile with a vanilla source though) but I'm not experienced in actually getting the client to connect. My 'targets' file is as follows:

extent0         /dev/sdb1               0                 3GB
lun0=iqn.2011-08.com.domain:iscsi.disk1          rw      extent0

(I have tried using a mount point with the disk mounted as well)

I then run the program:

/mnt/HD_a2/ffp # /ffp/sbin/iscsi-target -b 4096 -f /ffp/etc/iscsi/targets
Reading configuration from `/ffp/etc/iscsi/targets'
lun0:rw:0/0
        extent0:/dev/sdb1:0:3221225472
DISK: 1 logical unit (786432 blocks, 4096 bytes/block), type iscsi fs
DISK: LUN 0: 3072 MB disk storage for "lun0"
TARGET: TargetName is iqn.1994-04.org.netbsd.iscsi-target

So that seemed to work, but there's nothing new in the 'ps' list.

Now I try to connect using the iscsi initiator on a Vista machine, I go to the 'Discovery' tab and add a new host: 192.168.0.8 on port 3260, the default. I get a 'Connection failed' error.

Help please!

Offline

 

#3 2011-09-19 20:25:30

MarkV
New member
Registered: 2011-09-12
Posts: 2

Re: iSCSI on the DNS-343

The target requires a mounted and formated volume to use as an extent.  I have:

# extent        file or device          start           length
extent0         /mnt/HD_a2/iscsi_0    0                 1900GB

/mnt/hd_a2 is a volume formatted as ext2.  I use ext2 for performance reasons because I don't think there is any need for journaling overhead for this application.  When the iscsi-target is started up it will create the file iscsi_0 if it does not already exist.

This is what I have in my ps list:

1742 root     /ffp/sbin/iscsi-target -b 4096 -f /ffp/etc/iscsi/targets

This is what my startup looks like:

Starting /ffp/sbin/iscsi-target -b 4096 -f /ffp/etc/iscsi/targets
Reading configuration from `/ffp/etc/iscsi/targets'
lun0:rw:0/0
        extent0:/mnt/HD_a2/iscsi_0:0:2040109465600
lun1:rw:0/0
        extent1:/mnt/HD_b2/iscsi_1:0:2040109465600
lun2:rw:0/0
        extent2:/mnt/HD_c2/iscsi_2:0:2040109465600
lun3:rw:0/0
        extent3:/mnt/HD_d2/iscsi_3:0:2040109465600
DISK: 1 logical unit (498073600 blocks, 4096 bytes/block), type iscsi fs
DISK: LUN 0: 1945600 MB disk storage for "lun0"
DISK: 1 logical unit (498073600 blocks, 4096 bytes/block), type iscsi fs
DISK: LUN 0: 1945600 MB disk storage for "lun1"
DISK: 1 logical unit (498073600 blocks, 4096 bytes/block), type iscsi fs
DISK: LUN 0: 1945600 MB disk storage for "lun2"
DISK: 1 logical unit (498073600 blocks, 4096 bytes/block), type iscsi fs
DISK: LUN 0: 1945600 MB disk storage for "lun3"
TARGET: TargetName is iqn.1994-04.org.netbsd.iscsi-target

Regards, Mark Vodhanel

Offline

 

Board footer

Powered by PunBB
© Copyright 2002–2010 PunBB