Active IQ Unified Manager Discussions
Active IQ Unified Manager Discussions
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
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>
=> Next Step retrieve the status of each relation
Hi CGA,
Are you looking for perl code to build this structure ?
Regards
Vishal
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