Active IQ Unified Manager Discussions

Need help with dp-backup-version-create

lagenevoise
2,950 Views

Dear Community members,

Request:

I have a dataset

In this data set I have 8 qtree to tranfert.

I would like create a backup with specific snapshot name.

I'm able to retrieve:

- UniqueSnapShotId

- SnapShot Name

- Source & Destination Path

- DataSetId

- Policy Retention

- Filers ID & Name

My issue,

The structure of the dp-backup-version-create.

Requested elements for the Backup

Requested element for each SnapShot to add into this backup

Regards,

CGA

Environment:

DFM 4.0 + PM

SDK 4.0

Perl 5.8.9

4 REPLIES 4

lagenevoise
2,950 Views

The Scruture of dp-backup-version-create should be:

<dp-backup-version-create>
<dataset-name-or-id>SME_Exchange</dataset-name-or-id>
<backup-description>test</backup-description>
<is-for-propagation>true</is-for-propagation>
<retention-type>daily</retention-type>
<version-timestampSnap_TS></version-timestamp>
<version-members>
  <version-member-info>
   <volume-name>FilerSrc1:/EXS12SG1DB_vol00</volume-name>
   <snapshot-name>Hello</snapshot-name>
   <snapshot-unique-id>Snap_TS</snapshot-unique-id>
   <snapshot-contents>
    <snapshot-member-info>
     <primary-name>FilerSrc1:/EXS12SG1DB_vol00/EXS12SG1DB_qt00</primary-name>
    </snapshot-member-info>
   </snapshot-contents>
  </version-member-info>
  <version-member-info>
   <volume-name>FilerSrc1:/EXS12SG3DB_vol00</volume-name>
   <snapshot-name>Hello</snapshot-name>
   <snapshot-unique-id>Snap_TS</snapshot-unique-id>
   <snapshot-contents>
    <snapshot-member-info>
     <primary-name>FilerSrc1:/EXS12SG3DB_vol00/EXS12SG3DB_qt00</primary-name>
    </snapshot-member-info>
   </snapshot-contents>
  </version-member-info>
  <version-member-info>
   <volume-name>FilerSrc1:/EXS12SG2Log_vol00</volume-name>
   <snapshot-name>Titi</snapshot-name>
   <snapshot-unique-id>Snap_TS</snapshot-unique-id>
   <snapshot-contents>
    <snapshot-member-info>
     <primary-name>FilerSrc1:/EXS12SG2Log_vol00/EXS12SG2Log_qt00</primary-name>
    </snapshot-member-info>
   </snapshot-contents>
  </version-member-info>
  <version-member-info>
   <volume-name>FilerSrc1:/EXS12SG4Log_vol00</volume-name>
   <snapshot-name>Titi</snapshot-name>
   <snapshot-unique-id>Snap_TS</snapshot-unique-id>
   <snapshot-contents>
    <snapshot-member-info>
     <primary-name>FilerSrc1:/EXS12SG4Log_vol00/EXS12SG4Log_qt00</primary-name>
    </snapshot-member-info>
   </snapshot-contents>
  </version-member-info>
  <version-member-info>
   <volume-name>FilerSrc2:/EXS12SG1Log_vol00</volume-name>
   <snapshot-name>Titi</snapshot-name>
   <snapshot-unique-id>Snap_TS</snapshot-unique-id>
   <snapshot-contents>
    <snapshot-member-info>
     <primary-name>FilerSrc2:/EXS12SG1Log_vol00/EXS12SG1Log_qt00</primary-name>
    </snapshot-member-info>
   </snapshot-contents>
  </version-member-info>
  <version-member-info>
   <volume-name>FilerSrc2:/EXS12SG2DB_vol00</volume-name>
   <snapshot-name>Hello</snapshot-name>
   <snapshot-unique-id>Snap_TS</snapshot-unique-id>
   <snapshot-contents>
    <snapshot-member-info>
     <primary-name>FilerSrc2:/EXS12SG2DB_vol00/EXS12SG2DB_qt00</primary-name>
    </snapshot-member-info>
   </snapshot-contents>
  </version-member-info>
  <version-member-info>
   <volume-name>FilerSrc2:/EXS12SG3Log_vol00</volume-name>
   <snapshot-name>Titi</snapshot-name>
   <snapshot-unique-id>Snap_TS</snapshot-unique-id>
   <snapshot-contents>
    <snapshot-member-info>
     <primary-name>FilerSrc2:/EXS12SG3Log_vol00/EXS12SG3Log_qt00</primary-name>
    </snapshot-member-info>
   </snapshot-contents>
  </version-member-info>
  <version-member-info>
   <volume-name>FilerSrc2:/EXS12SG4DB_vol00</volume-name>
   <snapshot-name>Hello</snapshot-name>
   <snapshot-unique-id>Snap_TS</snapshot-unique-id>
   <snapshot-contents>
    <snapshot-member-info>
     <primary-name>FilerSrc2:/EXS12SG4DB_vol00/EXS12SG4DB_qt00</primary-name>
    </snapshot-member-info>
   </snapshot-contents>
  </version-member-info>
</version-members>
</dp-backup-version-create>

lagenevoise
2,950 Views

=> Next Step retrieve the status of each relation

kvishal
2,950 Views

Hi CGA,

     Are you looking for perl code to build this structure ?

Regards

Vishal

adaikkap
2,950 Views

Hi Erikn,

     I wrote a doc on how to integrate App dataset using scripts to PM.I have been digging my email and couldnt find that yet.
The closest I could get was this.

So first step would be to create an app dataset by calling the following ZAPI dataset-create

{

                "dataset-name" => "",

                "dataset-owner" => "Adaikkappan",

                "dataset-description" => "My first app dataset",

                "dataset-contact" => 'adaikkap@netapp.com',

                "is-application-data" => "true",

                "requires-non-disruptive-restore" => "true",

                "application-info" => {

                        "application-name" => "SnapManager for Oracle",

                        "application-version" => "2.1",

                        "application-server-name" => "foobar.lab.netapp.com",

                        "is-application-responsible-for-primary-backup" => "true",

                },

        };

the next step is to get the UTC time stamp of the snapshots taken from SnapCreator.

then create a backup version by calling the following ZAPI dp-backup-version-create

{ # begin backup no 1

        "dataset-name-or-id" => "test)",  # dfm app dataset name or object id_demo

        "backup-description" => "thisis for testing the sv protoclrestore ",

         "is-for-propagation" => "true",  # true /  false----------------------------making this true will make this backup  version available at the downstream node when remote backup job runs.  else available only at the primary.

        "retention-type"      => "hourly", # hourly, weekly, daily, monthly, unlimited------------  since the protection policy has backup retention count and duration  based on the setting in the policy you need to specify the type of  retention.

        "version-timestamp"  => time, # be sure to add +1 to all subsequent backup versions. Otherwise, do not edit.

        "version-members"    =>

            {

                "version-member-info" => [

                { # snapshot number 1

                    "volume-id" => "140",  # dfm object id for volume

                    "snapshot-name" => "first", # name of this snapshot

                    "snapshot-unique-id" => "1202211537",  # use get_ss_access_time.pl script to obtain

                    "snapshot-contents" => {

                        "snapshot-member-info" => [  # list of qtrees associated with this snapshot

                            {

                                "primary-id" => "143",  # dfm object id for qtree no 1

                            },

                            {

                                "primary-id" => "4355", # dfm object id for qtree no 2

                            },

                         {

                                "primary-id" => "4356"  # dfm object id for qtree no 3

                            }

                        ]

                    }

                },

            ]

            }

    },  # end backup no 1

The  above zapi that needs to be filled for single snapshot. if you wish to  do multiple snapshot to same backup version then you  have to repeat  this block alone, with the other snapshot.

"version-members"    =>

            {

                "version-member-info" => [

                { # snapshot number 1

                    "volume-id" => "140",  # dfm object id for volume

                    "snapshot-name" => "first", # name of this snapshot

                    "snapshot-unique-id" => "1202211537",  # use get_ss_access_time.pl script to obtain

                    "snapshot-contents" => {

                        "snapshot-member-info" => [  # list of qtrees associated with this snapshot

                            {

                                "primary-id" => "143",  # dfm object id for qtree no 1

                            },

                            {

                                "primary-id" => "4355", # dfm object id for qtree no 2

                            },

                         {

                                "primary-id" => "4356"  # dfm object id for qtree no 3

                            }

Regards

adai

Public