|This chapter excerpt from Inside Windows Storage, by Dilip C. Naik is printed with permission from Addison-Wesley/Prentice Hall, Copyright 2003.|
NDMP started as an effort primarily by Network Appliance and Intelliguard (now part of LEGATO) to provide some enhanced functionality in backup/restore applications, such as the following:
* A means to reduce and at least isolate operating system–dependent portions of backup/restore software by dividing up the functionality in a modular way
* A standardized means of communication between modules
* A means to separate the movement of data and commands onto separate channels or even networks
* Multivendor software integration
NDMP is now positioned as an open-standard protocol aimed at standardizing backup and restore operations in NAS environments. In the future, NDMP may evolve—for example, to also involve mapping of third-party copy to NDMP.
NDMP can be run in a wide variety of network environments -- for example, Ethernet, Gigabit Ethernet, Fibre Channel -- as long as the network transport protocol used is IP (Internet Protocol). The NDMP server and agents communicate using IP, and the NDMP server then issues the appropriate block-level SCSI commands.
NDMP is NAS centric and defines a way to back up and restore some data from a device, such as a NAS appliance, on which it is difficult to install a backup software agent. In the absence of NDMP, this data is backed up as a shared drive on the LAN that is accessed via network file protocols such as CIFS or NFS.
NDMP offers several advantages:
* Interfaces are implemented by vendors that have core competencies and can concentrate on their core competencies.
* The interfaces are standardized, offering Plug and Play possibilities for modules from different vendors.
* NDMP can cut down the LAN bandwidth requirements by offering data flow directly between primary and secondary storage without requiring data to flow to the backup software server and from there to the other device.
* NDMP can have the best of both worlds in that it can be controlled centrally via an NDMP control session, yet the data flow can still be local via NDMP data sessions.
NDMP defines a standardized way to break up the backup and restore operations into multiple modules, with the idea that each vendor implements some of the modules. NDMP defines the following entities:
* A data mover agent
* NDMP services
* NDMP sessions
These are described in Sections 184.108.40.206 through 220.127.116.11.
Data Mover Agent
A data mover agent (DMA) is the primary backup application. It establishes NDMP sessions with NDMP service providers (described next) and orchestrates the sequence of steps required to establish a backup or restore operation. The data mover agent is also sometimes referred to as an NDMP client.
NDMP defines services that may act as consumers or producers or allow one device to be both a consumer and a producer of data streams. NDMP v5 defines three kinds of services:
1. A data service that interfaces with the primary storage device (such as a NAS device). This service interacts with the volume or file system that is being either backed up or restored.
2. A tape service that interfaces with the secondary storage device, typically a tape device.
3. A translator service that performs transformations on data, including multiplexing multiple data streams into one data stream and vice versa.
NDMP services interact with each other using NDMP interfaces. The result of this interaction is the establishment of an NDMP session that is termed a control session if the session is being used to achieve control for the backup or restore operation or data session if the session is being used to transfer actual file system or volume data (including metadata). There is exactly one control session between each NDMP service and the data mover agent. Control sessions are always TCP/IP based; data streams can be TCP/IP or SAN based. Even though the data streams can be SAN based, the requirement that the control session be TCP/IP based pretty much dictates the presence of a LAN. Data streams may be either between the DMA and an NDMP service or directly between two NDMP services.
The DMA and services can be distributed on two or more computers. Figure 5.10 shows NDMP in operation with just two computers. The NDMP DMA contacts the NDMP server and orchestrates the data movement between the primary and secondary storage devices. The data sessions are established between the NDMP server and the data source and data destination.
Figure 5.11 shows a conceptual implementation of NDMP on Windows NT. The NDMP DMA establishes two NDMP control sessions, one with each NDMP server. The data flows directly between the two NDMP servers and is not "dragged" from one NDMP server to the NDMP DMA and from there to the other NDMP server.
WINDOWS BACKUP AND RESTORE TECHNOLOGIES
Tip #1: Reasons for backup and restore
Tip #2: Backup problems
Tip #3: Backup classifications
Tip #4: Windows 2000 backup utility
Tip #5: Techniques to create a volume snapshot
Tip #6: XP and Windows 2003 volume shadow copy service
Tip #7: Windows-powered NAS devices and snapshots
Tip #8: Network Data Management Protocol
Tip #9: Practical implications
Tip #10: Summary
About the author: Dilip C. Naik has more than twelve years of experience in various roles at Microsoft, including software engineer, program manager, and technical evangelist. His contributions include writing CIFS/SMB code, CIFS-related RFCs, code and documentation for the Windows NT Installable File System Kit, as well as Windows Management Instrumentation (WMI) and performance/management (including storage management) features for the Windows platform. Dilip has also represented Microsoft on a number of industry standards organizations.