📄 readme
字号:
# -*- Mode: Text -*- # README# # Description : NDMP Software Developers Kit README# # Copyright (c) 1996,1997 PDC, Network Appliance. All Rights Reserved.## $Id: README,v 1.5 1998/02/09 06:54:07 tim Exp $# Objective: The NDMP developers kit provides a functional (although fairly basic) implementation of an NDMP client and NDMP server. The objective of the developers kit is to facilitate rapid development of NDMP compliant clients and servers on a variety of platforms.Version: This version of the SDK supports NDMP protocol version 3 only. Whereas version 2 of the SDK supported both version 1 and version 2 of the NDMP protocol, version 3 of the SDK supports only version 3 of the protocol. This was done to reduce the complexity of the SDK code. The added complexity required to concurrently support multiple protocol versions conflicts with the primary objective of the SDK which is to help NDMP developers understand the protocol specification.Contents: The kit contains the following pieces: server NDMP server implementation. Notes on the implementation of each of the NDMP protocol interfaces: Connect interface: o Authorization types NONE, TEXT, and MD5 supported. o Authorization types TEXT and MD5 only support authorization by the user "root". The server must by run as root for TEXT and MD5 authorization to work since access to the shadow password file is needed. Config interface: o Fully implemented with the exception of get_tape_info and get_scsi_info. Solaris does not provide a convenient interface for obtaining this information so the request handlers for these just return dummy data. SCSI interface: o scsi_get_state and scsi_set_target requests not supported since Solaris does not provide a device file capable of passing SCSI commands to multiple SCSI targets. o scsi_reset_bus request not supported. o Remaining requests fully implemented. Tape interface: o Fully implemented. Data interface: o Fully implemented. o Supports backup/recover using very simple builtin dump/restore like functionality. Notify interface: o Fully implemented. Log interface: o Message and file requests are generated. File history interface: o The simple dump functionality generates filename based (versus directory/inode based) file history entries. Implementation notes: Backup/recover module API: o Currently the SDK only supports synchronous model backup/recover modules. Refer to doc/ndmp.api for a detailed description of the API. Server features: o The mover window (set via the mover_set_window request) functionality has been implemented but has not yet been tested. o The seek window functionality has been implemented but has been only partially tested. Simple restore module: o The simple restore module does not yet support direct access. Direct access functionality is used to seek (via ndmpdSeek()) the data stream directly to the position of a file to be recovered. This allows restores of a few files to be done without having to read the entire data stream. After this functionality has been implemented, it will be possible to finish the seek window testing. Usage: ndmpd [-d debug-level] [-p port-number] [-f] where: debug-level - The least significant 4 bits of the level specify the detail. 0 will result in mimimal messages for enabled components being output. 15 will result in all messages for enabled components being output. The remaining bits in the level specify the components for which messages are to be output. Refer to ../common/log.h for defined components. Default is all messages disabled. port-number - TCP port number on which the NDMP server is listening for connection requests. Default is to lookup the port in the services database. -f - Disables forking to handle a new connection. Default is to fork a child process to handle each connection. The following restrictions apply if the server is not run as root: o Authorization type TEXT will fail. o Backup of files not accessable to the user running the server will fail. o SCSI pass-through commands will fail. client NDMP client implementation. The client is implemented as an interactive Tcl application. The Tcl command 'help' will display a list of all NDMP Tcl commands. The client/scripts directory contains various Tcl and expect scripts that demonstrate usage of the client application. The client supports both version 1 and version 2 of the protocol. The connect_open command is used to specify the protocol version. usage: ndmpc [-d debug-level] [-s tcl-startup-script-file] [-f tcl-script-file] [-h ndmp-server] [-p port-number] where: debug-level - The least significant 4 bits of the level specify the detail. 0 will result in mimimal messages for enabled components being output. 15 will result in all messages for enabled components being output. The remaining bits in the level specify the components for which messages are to be output. Refer to ../common/log.h for defined components. Default is all messages disabled. tcl-startup-script-file - Tcl file to source upon startup before creating the NDMP connection. This option provides a means of running Tcl commands such as add_notify_proc that have to be run before any NDMP messages are received. tcl-script-file - Tcl file to source after creating the NDMP connection. Processing of this file is multiplexed with the processing of messages received from the NDMP connection. After sourcing the file, the application will enter interactive mode. If no file is specified, the application will immediately enter interactive mode. ndmp-server - name of the host running the NDMP server that ndmpc is to connect to. Default is localhost. port-number - TCP port number on which the NDMP server is listening for connection requests. Default is 10000. common NDMP communication library used by both the NDMP server and client implementations. doc Various documents related to the NDMP protocol and the developers kit.Requirements: The code was developed and tested on a Sun workstation running Solaris 2.5. The code was compiled using gcc 2.7.2. The NDMP client utilizes Tcl 7.6.Installation: o Modify the client/Makefile if necessary. The Makefile assumes Tcl 7.6 is installed in /usr/local. o makeContacts: The NDMP Developers Kit was developed by Tim Gardner of Chewcoba Systems, Inc under contract to the NDMP organization. Please report bugs and direct questions to tim@chewcoba.com or ndmp-tech@ndmp.org. Chewcoba Systems provides software engineering consulting services to companies developing NDMP related products.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -