Home > Articles > Programming > Windows Programming

  • Print
  • + Share This
This chapter is from the book

5.8 Network Data Management Protocol

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.

5.8.1 NDMP Architecture

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 5.8.1.1 through 5.8.1.3.

5.8.1.1 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.

5.8.1.2 NDMP Services

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.

5.8.1.3 NDMP Sessions

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 xxxFigure 5.10 NDMP Architecture

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.

Figure xxxFigure 5.11 Conceptual Windows NT NDMP Implementation

  • + Share This
  • 🔖 Save To Your Account