Open Source iSCSI Gains Traction

Enterprise Storage Forum content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

Linux and iSCSI are two technologies that are gaining ground in the storage space. And thanks to a reborn effort, the two may be poised to gain together.

In April, two of the leading open source iSCSI initiator projects, Open-iSCSI and Linux-iSCSI, merged, potentially heralding a new era for iSCSI on Linux.

In another sign of a maturing market for open source IP storage networks, PyX Technologies was acquired by SBE Inc. earlier this week after securing licensing deals with LSI Logic and ONStor.

A Commercial Beginning

The Linux-iSCSI project, like many open source projects, did not begin its life as an open source project. Cisco Systems developed the original iSCSI initiator stack for iSCSI internally and then open-sourced it.

“Historically, Cisco released the Linux-iSCSI project as open source in mid-2001, with code that had been started internally in April 2000,” Cisco Technical Marketing Manager Lincoln Dale told Enterprise Storage Forum. “This has since grown into a project with all major iSCSI vendors contributing.”

The reason for the merger of Open-iSCSI and Linux-iSCSI projects wasn’t about the survival of any one project, but rather about getting a Linux iSCSI initiator more rapidly adopted.

“One of the main reasons we approached and decided to combine the projects is that we had hoped we could combine efforts so that the initiator would get into the kernel faster,” Open-iSCSI developer Dmitry Yusupov said. “It wasn’t about who is better. At the beginning, it was about why the kernel doesn’t have an accepted solution yet.”

Yusupov said the merger has been a positive experience overall, and although there were some disagreements, they were resolved quickly.

A Leader Emerges

Open-iSCSI developer Alex Aizman told ESF that he thought his project’s chances were slim because they were late-comers and had limited resources.

As it turns out, Open-iSCSI’s code and architecture are set to be the starting point for the next generation of the combined Linux-iSCSI project.

In an e-mail to its membership announcing the merger, the teams noted that “the advantages of this starting point include Open-iSCSI’s optimized I/O paths that were built from scratch, as well as incorporation of well tested [Linux-iSCSI] components for the control plane and userspace components.”

“Open-iSCSI will result in better, improved implementation, not only because of better from-ground design, but also because of the Linux-iSCSI merger,” Yusupov said. “The merger attracted the attention of many developers and proved that the majority of people in the main development team of the Linux-iSCSI project accepted and agreed with the Open-iSCSI design and architecture.”

Dale agreed that the merged project will result in better iSCSI code for Linux. In the case of the merged code, Cisco saw that each of the individual Linux-iSCSI and Open-iSCSI projects had their own pros and cons, he said.

“Combining the best features from both ultimately results in what we believe is a win-win scenario, the highest-performing and most stable iSCSI stack for Linux,” Dale said.

Wendel Voigt, a manager in IBM’s Linux Technology Center, also thinks that the merger of the two open source iSCSI projects is a good thing for the Linux community.

“In the short term, there will be some additional work required as distributions transition to Linux-iSCSI 5.x, but having a single project and code base is a good thing and preferred in the long-term,” Voight said.

Commercial Promise

The merged project has not had an impact on the storage initiatives of Linux vendor Novell, at least not yet.

“Right now, the merged code is only in experimental state,” Novell product manager Richard Jones said. “When it’s stabilized, we will likely include it in a future SUSE update to be determined.”

Open source Linux iSCSI software initiator efforts are still progressing on two fronts, according to IBM’s Voigt. One of the fronts is continuing to provide stable releases for inclusion in Linux distributions based on the older Linux-iSCSI 4.x code base. The other front is working on the Open-iSCSI code base in Linux-iSCSI 5.x.

“The Linux-iSCSI 5.x series core iSCSI support is good,” Voigt said. “The larger migration of code to user space has made the kernel code smaller and faster. Merging into the mainline has been slow due to requirements from the community to provide specific infrastructure and utilization of existing kernel capabilities” such as device-mapper multipath.

Novell’s Jones noted that there is great demand for iSCSI, and that open source is the natural way of including iSCSI in the Linux platform.

Dale also sees high demand for an iSCSI initiator for Linux, and says it shouldn’t be proprietary.

“There is high demand for iSCSI to be part of the standard Linux kernel, and a key requirement for submitting code into the Linux kernel is that a driver must be open source,” Dale said. “Our experience is that while many customers don’t really care whether it is open source or not, many appreciate having a choice and appreciate protection from being locked in to any particular vendor.”

Demand for open source iSCSI may not be as strong as demand for iSCSI on Windows, however. Evaluator Group analyst Greg Schulz said Linux iSCSI is growing, but it is not as strong as growth in the Windows environment.

“The vast majority of installed iSCSI installations are in support of Windows environments, with the balance being others like Linux and Unix,” Schulz said. “There are environments that are non-Windows that are using iSCSI. However, given the large number of Windows servers and Microsoft’s evolving support for iSCSI, it’s really low-hanging fruit for iSCSI vendors to go after that market first and then be ready to capture the growing open source and Unix environments.”

Schulz sees Linux and open source environments as good markets for iSCSI, given that both technologies’ themes are centered around ease of use and cost containment.

The keys to gaining adoption in Linux and the open source space, according to Shulz, will be for host bus pathing managers, initiators and operating system diagnostics tools to become generally available and interoperable.

In Yusupov’s opinion, iSCSI can still be somewhat complicated to set up, something Open-iSCSI will try to overcome.

“But because of itsTCP/IP-based nature, iSCSI is finally getting to the point when more and more users embrace it,” Yusupov said. “We hope that the Linux’s kernel mainline acceptance will stimulate the development process and give us and the technology new users, which will result in even better design and architecture.”

Yusupov also thinks that Linux-based iSCSI could fit nicely into the backup market.

“Linux GFS might actually bring iSCSI to the level of NFS in terms of usage and NAS deployment,” Yusopov said. “The iSCSI target market might actually start dropping prices once open-source alternatives of targets are stable, kernel-accepted and available.”

The combined project can be found at http://sourceforge.net/projects/linux-iscsi/.

For more storage features, visit Enterprise Storage Forum Special Reports

Sean Michael Kerner
Sean Michael Kerner
Sean Michael Kerner is an Internet consultant, strategist, and contributor to several leading IT business web sites.

Get the Free Newsletter!

Subscribe to Cloud Insider for top news, trends, and analysis.

Latest Articles

15 Software Defined Storage Best Practices

Software Defined Storage (SDS) enables the use of commodity storage hardware. Learn 15 best practices for SDS implementation.

What is Fibre Channel over Ethernet (FCoE)?

Fibre Channel Over Ethernet (FCoE) is the encapsulation and transmission of Fibre Channel (FC) frames over enhanced Ethernet networks, combining the advantages of Ethernet...

9 Types of Computer Memory Defined (With Use Cases)

Computer memory is a term for all of the types of data storage technology that a computer may use. Learn more about the X types of computer memory.