SMS Developer Components

April 10, 2006

Table of Contents

1.0 Introduction

Storage Management Services™ (SMS) is an API framework that applications consume in order to provide a complete backup solution on OES NetWare® and OES Linux. Some important properties of this framework include:

  • SMS exposes a single consistent interface across all file systems and applications on OES NetWare and OES Linux.
  • SMS ensures backward compatibility at all times even while adding new features or interfaces.
  • Backup applications developed using the SMS framework that successfully meet the Novell Labs testing criteria, qualify to use the YES, Tested & Approved™ certification mark.

The SMS framework is implemented by two main components - Storage Management Data Requestor (SMDR) and Target Service Agent (TSA). SMDR defines the API framework and the TSA provides an implementation of the API for a particular target.

2.0 Technical Notes

  • On OES Linux, SMS backs up all POSIX-compliant filesystem attributes supported by the stat structure through the VFS interface.
  • SMS is also capable of backing up rich NSS meta data and data streams (that are not available through the VFS interfaces).
  • The SMS API framework is consistent for NetWare 4.x, 5.x, and 6.x and OES Linux.Thus, a backup application can use the same API set to backup targets on any platform.
  • All binaries in this release are included for convenience of development. They are not meant for deployment in production environments.

3.0 Setting Up the Developer Kit on Linux

The SMS NDK package comprises of:

  • DE and TSATEST sample code: Located at /opt/novell/samples/sms/de and /opt/novell/samples/sms/tsatest respectively.
  • SMS API and recommendation documents: Located at /opt/novell/doc/sms
  • SMS include files: Located at /opt/novell/include/sms.
  • Licence and Readme : Located at /opt/novell/sms.

3.1 Starting SMS

SMS NDK has a dependency on the SMS product rpm.

  1. Download the novell-sms rpm from SMS Developer Components and install it.

    # rpm -ivh novell-sms-1.1.4-13.i586.rpm

    Installing the rpm copies the binaries into /opt/novell/sms/bin, the libraries into /opt/novell/lib and the scripts into /etc/init.d.

  2. Start the SMDR daemon by giving the following command:

    # /etc/init.d/novell-smdrd start

    The file system target service tsafs is autoloaded by smdrd, to load other TSAs or configure TSAs use options provided by smsconfig.

Any backup application that uses SMS can now be run.

NOTE:

  • Root privileges will be necessary to install the novell-sms rpm.
  • Refer smdrd, smsconfig and tsafs manpages for detailed information
  • To uninstall the earlier release NDK, use the sms-config script provided in that release.
  • All binaries in this release are included for convenience of development. They are not meant for deployment in production environments.

4.0 Setting Up the Developer Kit on NetWare

In order to build the Demonstration Engine sample on NetWare, NLM and NetWare Libraries for C (including CLIB and XPlat) has to be downloaded and installed.

To build backup applications with Libraries for C (LibC), download it from NDK download site.

4.1 Starting SMS

To start SMS on NetWare 5.1, execute the following commands:

load smdr

load tsa500

To start SMS on NetWare 6.5, execute the following commands:

load smdr

load tsafs

5.0 Documentation

For more information about SMS you can access the following documentation resources:

5.1 Viewable and Downloadable Documentation

5.2 News Groups

For a discussion on SMS, a newsgroup is available at: news://developer-forums.novell.com/novell.devsup.sms

6.0 Sample Programs

The following sample programs display some of the features of SMS:

6.1 Demonstration Engine (DE)

The Demonstration Engine (DE) is a sample that demonstrates the uses SMS API to perform simple backup and restore operations. The sample provides a very primitive implementation of a backup application with a view to present concepts and familiarize the developer on usage of SMS API. It also provides an implementation of new features discussed in this developer release to supplement the documentation.

For more information, refer demoengine.html, (for NetWare) and demoengine_linux.html (for Linux) that ships in this developer release.

6.2 TSATEST

TSATEST is a utility that reads data sets from a target, and then discards them. This, in effect, is equivalent to a backup system that has an infinite capacity, high performing tape sub-system. TSATEST can thus be used to benchmark backup application performance. TSATEST can also be used to troubleshoot hardware and software bottlenecks.

TSATEST is available as part of the developer kit along with its source which can be treated as the recommended implementation for achieving high performance. For more information, refer tsatest.html (for NetWare) and tsatest_linux.html (for Linux) that ships in this developer release.

7.0 Documentation Conventions

In this documentation, a greater-than symbol (>) is used to separate actions within a step and items in a cross-reference path.

A trademark symbol (®, TM, etc.) denotes a Novell trademark; an asterisk (*) denotes a third-party trademark

8.0 Legal Notices

Novell, Inc. makes no representations or warranties with respect to the contents or use of this documentation, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc. reserves the right to revise this publication and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes.

Further, Novell, Inc. makes no representations or warranties with respect to any software, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc. reserves the right to make changes to any and all parts of Novell software, at any time, without any obligation to notify any person or entity of such changes.

Any products or technical information provided under this Agreement may be subject to U.S. export controls and the trade laws of other countries. You agree to comply with all export control regulations and to obtain any required licenses or classification to export, re-export, or import deliverables. You agree not to export or re-export to entities on the current U.S. export exclusion lists or to any embargoed or terrorist countries as specified in the U.S. export laws. You agree to not use deliverables for prohibited nuclear, missile, or chemical biological weaponry end uses. Please refer to www.novell.com/info/exports/ for more information on exporting Novell software. Novell assumes no responsibility for your failure to obtain any necessary export approvals.

Copyright © 2006 Novell, Inc. All rights reserved. No part of this publication may be reproduced, photocopied, stored on a retrieval system, or transmitted without the express written consent of the publisher.

Novell, Inc. has intellectual property rights relating to technology embodied in the product that is described in this document. In particular, and without limitation, these intellectual property rights may include one or more of the U.S. patents listed at http://www.novell.com/company/legal/patents/ and one or more additional patents or pending patent applications in the U.S. and in other countries.

AppNotes is a registered trademark of Novell, Inc.

AppTester is a registered trademark of Novell, Inc. in the United States.

ASM is a trademark of Novell, Inc.

Beagle is a trademark of Novell, Inc.

BorderManager is a registered trademark of Novell, Inc.

BrainShare is a registered service mark of Novell, Inc. in the United States and other countries.

C3PO is a trademark of Novell, Inc.

Certified Novell Engineer is a service mark of Novell, Inc.

Client32 is a trademark of Novell, Inc.

CNE is a registered service mark of Novell, Inc.

ConsoleOne is a registered trademark of Novell, Inc.

Controlled Access Printer is a trademark of Novell, Inc.

Custom 3rd-Party Object is a trademark of Novell, Inc.

DeveloperNet is a registered trademark of Novell, Inc., in the United States and other countries.

DirXML is a registered trademark of Novell, Inc.

eDirectory is a trademark of Novell, Inc.

Excelerator is a trademark of Novell, Inc.

exteNd is a trademark of Novell, Inc.

exteNd Director is a trademark of Novell, Inc.

exteNd Workbench is a trademark of Novell, Inc.

FAN-OUT FAILOVER is a trademark of Novell, Inc.

GroupWise is a registered trademark of Novell, Inc., in the United States and other countries.

Hardware Specific Module is a trademark of Novell, Inc.

Hot Fix is a trademark of Novell, Inc.

Hula is a trademark of Novell, Inc.

iChain is a registered trademark of Novell, Inc.

Internetwork Packet Exchange is a trademark of Novell, Inc.

IPX is a trademark of Novell, Inc.

IPX/SPX is a trademark of Novell, Inc.

jBroker is a trademark of Novell, Inc.

Link Support Layer is a trademark of Novell, Inc.

LSL is a trademark of Novell, Inc.

ManageWise is a registered trademark of Novell, Inc., in the United States and other countries.

Mirrored Server Link is a trademark of Novell, Inc.

Mono is a registered trademark of Novell, Inc.

MSL is a trademark of Novell, Inc.

My World is a registered trademark of Novell, Inc., in the United States.

NCP is a trademark of Novell, Inc.

NDPS is a registered trademark of Novell, Inc.

NDS is a registered trademark of Novell, Inc., in the United States and other countries.

NDS Manager is a trademark of Novell, Inc.

NE2000 is a trademark of Novell, Inc.

NetMail is a registered trademark of Novell, Inc.

NetWare is a registered trademark of Novell, Inc., in the United States and other countries.

NetWare/IP is a trademark of Novell, Inc.

NetWare Core Protocol is a trademark of Novell, Inc.

NetWare Loadable Module is a trademark of Novell, Inc.

NetWare Management Portal is a trademark of Novell, Inc.

NetWare Name Service is a trademark of Novell, Inc.

NetWare Peripheral Architecture is a trademark of Novell, Inc.

NetWare Requester is a trademark of Novell, Inc.

NetWare SFT and NetWare SFT III are trademarks of Novell, Inc.

NetWare SQL is a trademark of Novell, Inc.

NetWire is a registered service mark of Novell, Inc., in the United States and other countries.

NLM is a trademark of Novell, Inc.

NMAS is a trademark of Novell, Inc.

NMS is a trademark of Novell, Inc.

Novell is a registered trademark of Novell, Inc., in the United States and other countries.

Novell Application Launcher is a trademark of Novell, Inc.

Novell Authorized Service Center is a service mark of Novell, Inc.

Novell Certificate Server is a trademark of Novell, Inc.

Novell Client is a trademark of Novell, Inc.

Novell Cluster Services is a trademark of Novell, Inc.

Novell Directory Services is a registered trademark of Novell, Inc.

Novell Distributed Print Services is a trademark of Novell, Inc.

Novell iFolder is a registered trademark of Novell, Inc.

Novell Labs is a trademark of Novell, Inc.

Novell SecretStore is a registered trademark of Novell, Inc.

Novell Security Attributes is a trademark of Novell, Inc.

Novell Storage Services is a trademark of Novell, Inc.

Novell, Yes, Tested & Approved logo is a trademark of Novell, Inc.

Nsure is a registered trademark of Novell, Inc.

Nterprise is a registered trademark of Novell, Inc., in the United States.

Nterprise Branch Office is a trademark of Novell, Inc.

ODI is a trademark of Novell, Inc.

Open Data-Link Interface is a trademark of Novell, Inc.

Packet Burst is a trademark of Novell, Inc.

PartnerNet is a registered service mark of Novell, Inc., in the United States and other countries.

Printer Agent is a trademark of Novell, Inc.

QuickFinder is a trademark of Novell, Inc.

Red Box is a trademark of Novell, Inc.

Red Carpet is a registered trademark of Novell, Inc., in the United States and other countries.

Sequenced Packet Exchange is a trademark of Novell, Inc.

SFT and SFT III are trademarks of Novell, Inc.

SPX is a trademark of Novell, Inc.

Storage Management Services is a trademark of Novell, Inc.

SUSE is a registered trademark of Novell, Inc., in the United States and other countries.

System V is a trademark of Novell, Inc.

Topology Specific Module is a trademark of Novell, Inc.

Transaction Tracking System is a trademark of Novell, Inc.

TSM is a trademark of Novell, Inc.

TTS is a trademark of Novell, Inc.

Universal Component System is a registered trademark of Novell, Inc.

Virtual Loadable Module is a trademark of Novell, Inc.

VLM is a trademark of Novell, Inc.

Yes Certified is a trademark of Novell, Inc.

ZENworks is a registered trademark of Novell, Inc., in the United States and other countries.

All third-party trademarks are the property of their respective owners.