ndmphba - An NDMP InitiatorAbout ndmphbaThe ndmphba is a SCSI initiator for Linux kernel and it works very well with 2.6 kernel versions. It is a transport for SCSI to present/share a remote tape drive or a tape library robot on a NAS appliance (EMC Celerra, Netapp filer, etc) to Linux appearing as a local device. This is my Linux kernel project for ITEC856, Operating system programming subject at Macquarie university, Australia. The performance, scalability and other aspects have not been considered now. This is just an experimental project, or can be seen as a proof of concept for transporting SCSI over NDMP.
Although the backup software (Like Networker, Netbackup, TSM, etc) uses a limited functionality of transporting some SCSI commands during NDMP enabled backups, this initiator could be the first attempt ever to transport SCSI commands from the kernel's SCSI layer to a SCSI target using NDMP! Yea, NDMP lacks a lot of features for a SCSI transport protocol like SCSI task management, error recovery, etc.
This project attempts to transport SCSI via NDMP, just like an iSCSI initiator. A lot of people are not aware of this little protocol which could be used to transport SCSI commands. The main use of this initiator is to share a tape library (tape and robot devices) attached to a NAS appliance, like EMC Celerra or Netapp filer. I never tested this with a Netapp filer or any other NAS vendors other than EMC Celerra.
All the NAS appliances implement NDMP to provide interface to manage backups and ndmphba should work with other vendors too. The initiator works very well with virtual or real tape library (vtlu) on real or simulated Celerra (Celerra simulator).
Like an iSCSI initiator, the NDMP initiator would present the tape devices on a remote filer as a local tape drive.
Please read the presentation and README in the download session. The project is also hooked with google's SVN system. The discussion group for this project is email@example.com. Please use this discussion group for any questions, suggestions and comments. I will be monitoring this discussion group and will attempt to answer all questions.
Disclaimer: I am not responsible for any consequence of using this product in this form or modified form. Please use it at your own risk.
LicensingThe following copy right and licensing message is applicable to all files and code downloaded from this site (even if the file or code does not contain this notice).
The MIT LicenseCopyright (c) 2008 Vadakkumuri Valappil Aboobacker (Aboo Valappil)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.