Comparing iSCSI and Windows Network Shares

You can’t tell by looking at the physical connection whether a machine is using iSCSI or a Windows share. Both iSCSI connections and shared Windows hard drives use an Ethernet connection to attach storage. Since they use the same physical connection and network cable, it can be confusing to understand the difference. It used to be that an appliance that “shared” it’s drive was called a NAS (Network Attached Storage), and one that used iSCSI was called a SAN (Storage Area Network). This was because iSCSI was setup by installing a second network card in the server, and a dedicated link or Ethernet network was used for just storage traffic (hence the term storage area network versus local area network). Nowadays it’s not uncommon for even low end NAS devices to support the iSCSI software protocol, so the line can be somewhat blurry.

For High-Rely’s current backup NAS system, we allow drives to be used over Ethernet via Windows shares utilizing Server Message Block (SMB) or Common Internet File System (CIFS) protocols, Network File System (NFS) protocol (often used in Linux or Unix), or iSCSI connections.  One thing to be aware of is that since we support removable disks, we typically use one of these protocols per drive. In other words, if you turn on iSCSI to access a removable disk the entire disk is accessed this way, and no SMB shares are allowed on the drive. This is to facilitate remove-ability and transportability.

Shared Drives

Most network administrators are familiar with Windows network “shares”.  When you use a network share, you’re dealing with whole files.  The NAS device is responsible for creating the file system that stores the files, and presents those files to the clients.  The NAS “server” is responsible for managing file permissions and security as well as contention should multiple clients try to access the share/file.

Our iSCSI software allows for “safe removal” of network attached drives.  Although not required, it insures all writes are complete

iSCSI Drives

Conversely, iSCSI is a block protocol.  What ends up happening in this case is the NAS device creates a virtual disk file, and presents this disk to the client.  The client is then responsible for creating the file system on the disk and modifying the contents.  The NAS device will have no concept of what data is on the iSCSI disk, and relies on the clients to manage their own connections to it. We used to say that iSCSI is faster than SMB shares, but recent testing indicates NAS mode (which use CIFS or SMB protocols) may be slightly faster for large file transfers typically used in backup.  Whether there is a speed difference between iSCSI and NAS depends on whether you’re copying lots of small files or a few big ones. So use whatever is most compatible and works best for your situation.  Use iSCSI if you need to make a networked location appear as a local disk to one system and/or application.  iSCSI is really intended for one host connecting to the iSCSI target at a time.  We don’t support multi-host mapping, as it’s usually used for fail over servers such as Windows clustering while we’re a backup device. Although you can’t have two machines play nicely with iSCSI to our hard drives concurrently, you can connect Server#1 to a High-Rely drive via iSCSI then simply “share” that drive from Server#1 to the rest of the network.  Although Server1 will have the fastest access to the drive, the other machines will then be able to backup to the drive as well.

Summary:

  • Windows SMB/CIFS network shares may be slightly faster than iSCSI for large file transfers.  The opposite may be true for small file copies. Many variables such as source and target hardware may impact the performance, so your results may vary.
  • Only one machine may be connected to an iSCSI drive at a time, although each drive may be “re-shared” to the network.
  • Each High-Rely drive must be shared either iSCSI, NFS, or Windows share. No mixing protocols per drive due to removable support.
  • If using NTFS file format (Windows native), although you lose a small amount of performance iSCSI may be more compatible because Windows is natively using and controlling the drive.
  • When using EXT4 file format (Linux native), use NFS or Windows shares for best performance.
  • If you have any troubles, lock ups, or bugs, simply try the opposite sharing methodology.