At Sun, 13 Feb 2011 21:58:11 +0200 CentOS mailing list centos@centos.org wrote:
On Sun, Feb 13, 2011 at 9:44 PM, Robert Heller heller@deepsoft.com wrote:
At Sun, 13 Feb 2011 11:00:39 -0800 CentOS mailing list centos@centos.org wrote:
On 02/13/11 10:53 AM, Rudi Ahlers wrote:
Does any one know how to, if at all possible currently, to export a block device via eSATA? i.e. how do I do something like iSCSI, but over eSATA?
I have a cheat ($15 probably?) media player at home (Egreat EG-M31B Network Media Tank - awesome little machine) that runs some flavor of Debian and can be connected to any PC via eSATA as an external HDD's. i.e. it exports the built-in HDD as a block device to the host (My laptop or PC).
Now, the question is, how can I do this on Linux? Would I need a different eSATA card than the on-board eSATA port on most motherboards? Or would the on-board one work?
I suspect your media tank is doing something electrical, like idling its processor, and re-routing the sata port directly to the internal storage device, when its in this mode. I'm unaware of any SATA target drivers (as opposed to the normal initiator drivers in libata etc)
More likely, it is running some custom software the connects to the exposed port (which is probably not a typical PC SATA port -- it would be wired like a Hard Drive's SATA connector (opposite gender, opposite signal directions, etc.). The custom software presents itself on this port like it was a hard drive and implements some sort of logical hard drive based on the actual internal hard drive -- not really much different from a USB connected mp3 player or camera -- the USB connected mp3 players / camera are just using a different physical interface (USB), but the logic is the same. Again, the USB port on these devices is 'wired' the opposite from the USB port on a normal PC and the logic behind it is also opposite (you cannot really connect a USB port of one PC to the USB port of another -- there is no such thing as a USB 'cross over' (Ethernet) or null-modem (RS232) cable in the USB (or firewire) world). The processor in the little box is implementing much that same sort of processing that goes on inside the micro processor on the controller board of a hard drive -- modern hard drive controller boards are really a full fledged little computer running a very special program that implements the drive end of the mass storage interface (SCSI, SATA, PATA, etc.). The media tank is just taking this to a different level.
Sure, I understand what you're saying, but the question is: If they can do it with a cheap device like this, then surely one should be able todo it with a normal / server motherboard? Obviously they won't tell us their secrets, so I need to dig around to see how todo it myself. This particular device has a eSATA slave + eSATA Master mode. i.e. I can connect another device to this one and they both work together, and then when I connect the first one to my PC, I have 2 HDD's - i.e. a cheap JBOD implementation.
You probably can't do it with 'a normal / server motherboard'. The SATA / eSATA ports on such a board are 'host' ports. You would need a 'disk' port, which is *electrically* different -- it is no different than with USB or Firewire devices. There is the 'host' side and there is the 'device' side. They are different.
I'm trying to see if I can setup a Linux JBOD on a server chassis with say 16 HDD's or something, and then connect it to another server via eSATA - i.e. building a cheap scalable SAN.
P.S. You actually do get USB cross-over cables: http://en.kioskea.net/faq/342-connecting-two-computers-with-a-usb-cable
- they work quite well. They're not as fast a gigabit but works very
well for older PC's without LAN.