Skip to main content
NetApp Knowledge Base

What is Snap Creator?

Views:
977
Visibility:
Public
Votes:
0
Category:
snap-creator-framework
Specialty:
snapx
Last Updated:

Applies to

Snap Creator

Answer

NetApp Snap Creator Framework is an OS-independent software that integrates with NetApp data protection technologies to provide storage management for your customized applications.
Snap Creator Framework leverages proven NetApp technologies to support multiple applications using a single interface.

  • Data protection: The NetApp Snap Creator Framework addresses the needs and challenges of administrators and developers by providing a centralized, consistent solution for backing up critical information: one that integrates with existing application architectures to reduce costs and enable a higher ROI.
  • OS independent: Our design approach delivers functionality that is OS independent, to help alleviate the need to manage interoperability issues.
  • Extensible: Snap Creator offers fast integration and greater storage abstraction to leverage NetApp's policy-based automation features and better integrate with your current and future application needs.

Snap Creator Framework provides plug-ins to integrate NetApp features with popular third-party applications such as Oracle®, MySQL, and DB2. If you have special applications that are not part of our supported offering, there are no issues. Snap Creator Framework allows the development of customer plug-ins to provide backup procedures for applications not covered by existing supported applications.

SnapCreator

NetApp Snap Creator Framework datasheet

What is Snap Creator used for?
Snap Creator is a backup framework for integrating virtually any application with NetApp snapshot technology. Applications are integrated through plug-ins. Snap Creator should be used to provide customers with backup, restore, and cloning solutions when it is not possible to use SnapManager products.

What Operating Systems are supported?
Snap Creator is written in Perl and Java, so it is platform-independent and any open systems operating system is supported. For official support details, see the IMT.

What are the features of Snap Creator?
Snap Creator has the following features:

  • Supported plug-ins for Oracle, DB2, MySQL, Domino, Sybase ASE, VMware, SME, and SMSQL
  • Supports Windows (32/64-bit), RedHat(32/64-bit), SuSE (32/64-bit), HP-UX (PA-RISC/Itanium), AIX, Solaris(Sparc/x86)
  • Compatible with Data ONTAP 8 (7-Mode)
  • Brower-based GUI on NetApp Web Framework (NWF)
  • GUI Backup Scheduler
  • Integration with SnapDrive
  • Integration with storage controller SnapVault Scheduler
  • Integration with the following NetApp technologies through ZAPI:
    • Snapshot
    • SnapVault
    • SnapMirror
    • LUN cloning
    • Volume cloning
    • igroup mapping
  • Integration with any application or database that runs in an open systems environment (you can write the application backupscript or plug-in module if one does not exist)
  • Integration with NetBackup™, CommVault, or any backup software with CLI commands
  • Ability to configure multiple snapshot or SnapVault policies with different retentions
  • Both snapshot and SnapVault policies are managed from Snap Creator
  • Ability to create and manage snapshot copies and SnapVault retentions across multiple volumes and storage controllers
  • Support for volume and qtree SnapMirror
  • Support for FAS and vFiler® units
  • Support for consistency groups (consistent snapshot copies across multiple volumes or appliances)
  • Support for 1-to-1, fan-in, and fan-out SnapMirror or SnapVault relationships
  • Support for cascading SnapMirror Snapshot->SnapVault->SnapMirror
  • A dynamic configuration file in which users can pass their own user-defined values
  • Granular error logging and the ability to send error messages via e-mail or other tools
  • Integration with Operations Manager (the ability to create events in Operations Manager)
  • Integration with Protection Manager (SnapCreator backups can be registered in Protection Manager)
  • Integration with Open Systems SnapVault (OSSV)
  • Support for password encryption, so clear-text passwords are not saved in the configuration file
  • Support for volume, file, and SnapVault restore, but without direct application integration
  • Agent for central backup management
  • Global configuration files
  • API supporting plug-ins development for various scripting languages such as Perl, Python, and PowerShell .

What about application and database support?
Snap Creator Framework supports VMware, Oracle, MySQL, Sybase, DB2, and Lotus Notes.

How does Snap Creator communicate with a NetApp controller/storage system?
Snap Creator uses ZAPI, so communications occur through http or https, there is no support for RSH or SSH.

Is there a binary of Snap Creator available?
Yes, currently the Snap Creator distribution comes with Linux (Red Hat and SUSE), Windows, AIX, HP-UX, and Solaris (Sparc) 32-bit or 64-bit binaries.

What are the requirements for Snap Creator?

  • Data ONTAP 7.3.x
  • Data ONTAP 8.0.x
  • FlexClone license is required for Volume Cloning
  • Snap Restore license is required for restore

What is a Snap Creator plug-in?
A Snap Creator plug-in can be written in virtually any language: Java, Perl, Shell script, PowerShell, C / C++, Python. A plug-in instructs Snap Creator on how to handle a specific application. When Snap Creator needs to do something with an application, it sends the request to the plug-in.

Is there a GUI?
Yes the Snap Creator GUI is based on the NetApp Web Framework. The GUI is not required, it is provided as a tool to help create and manage Snap Creator configuration files.

What about Restores?
Restores are supported. They are interactive and you can perform a volume restore or a file restore. Most applications will not be automatically handled, but you can automate the application piece with custom scripts or commands using PRE and POST Restore commands. Currently, the only plug-ins that handle application recovery are VMware and Lotus Domino.

What about vFilers?
Full vFiler support is available

Does Snap Creator support RBAC?
Yes, that is one of the strengths of using ZAPI. It is strongly recommended to create a special Snap Creator user with only the minimum privileges. For more information, see the Snap Creator Administration guide and Snap Creator Installation guide.

Does Snap Creator store passwords in clear text?
By default yes, but you can also encrypt the passwords, so that they are not stored in clear text. For more information, see the Snap Creator Installation guide.

How do I create a configuration file for Snap Creator?
The best way is by using the GUI.
The default configuration file should be used as a template, which can be found under /snapcreator/configs/default/default.conf.
If you do not want to use the GUI, you can simply copy the default template to your desired configuration - /snapcreator/configs/mydir/myconf.conf.
Then, you can call Snap Creator and pass it --profile myconf, to tell Snap Creator to use your configuration file (myconf.conf)

Are multiple configuration files per Snap Creator config supported?
Yes, you can create more than one configuration under a configuration directory; but Snap Creator can still use only one configuration at a time. To do this, use the --profile <Profile> and --config <Config> options together.

What are the required parameters in the Snap Creator configuration file?
At a minimum, to just perform snapshots on a volume or volumes, you need to configure the following:
CONFIG_TYPE=STANDARD
SNAME=oracledb01
SNAP_TIMESTAMP_ONLY=Y
VOLUMES=filer1:vol1;filer2:vol2
NTAP_USERS=file1:user1/password;filer2:user2/password
LOG_NUM=10
NTAP_SNAPSHOT_RETENTIONS=daily:7,weekly:4,monthly:1
NTAP_PWD_PROTECTION=N
TRANSPORT=HTTP
PORT=80
LOG_NUM=30
LOG_TRACE_ENABLE=Y
SC_TMP_DIR=

For more information about the configuration parameters, see the Snap Creator Administration and Installation guide.

Do I enter the storage system short hostname or FQDN?
Always use the storage system short hostname (what appears on the command prompt of your storage system), not the FQDN. Also make sure you can ping the short hostname, you might need to add the short hostname to your hosts file. If you cannot resolve the short hostname and run Snap Creator, you will get a 'in Zapi::invoke, cannot connect to socket' error.
Protection Manager, SnapVault, and SnapMirror report this error if the hostname does not match short hostname

Data Protection

What gets backed up by Snap Creator?
Snap Creator creates and manages snapshots on one or more volumes, so anything in your volume gets backed up.

Can I backup more than one volume?
Yes, Snap Creator can take and manage snapshots on multiple volumes across multiple storage systems.

Are Consistency Groups supported?
Yes, Consistency Groups (CGs) are supported for multiple volumes on a single storage system and multiple volumes across multiple storage systems. Snap Creator will perform a cg-start on all storage systems; once the cg-starts are complete, it will perform cg-comitts on all storage systems.

Can I use SnapDrive instead of ZAPI to take the snapshot?
Yes, Snap Creator integrates with SnapDrive, so you can use SnapDrive to create the snapshots and let Snap Creator do the rest. The advantage of using SnapDrive with Snap Creator is that the file system will be consistent.

What about snapshot names?
There are two snapshot naming conventions, _recent and timestamp. Snapshot names will be called either %SNAME_%SNAP_TYPE_recent (recent snapshot)or %SNAME_%SNAP_TYPE-timestamp (timestamp snapshot), where the timestamp is YYYYMMDDHHMMSS.
If you specify SNAME to be 'oracledb01' and define a snapshot policy 'daily', then the snapshot will be called either oracledb01-daily_recent or oracledb01-daily_20090130173000.
If you are using the _recent naming convention, recent snapshots are always renamed using the timestamp (human readable) of when the snapshot was taken, such as oracledb01-daily_20100425144055. The rename process occurs before a new snapshot is taken
Note: Only snapshots that match %SNAME-%SNAP_TYPE can be managed by Snap Creator.

What about snapshot policies?
You can create one or more snapshot policies per configuration. Each snapshot policy must specify how many snapshots (primary) and optionally, SnapVault snapshots (secondary) are allowed. Additionally, you can tell Snap Creator to only delete a snapshot when it is older than X days. Thus, you can configure how many snapshots to keep and perform a second check based on how old they are. To call Snap Creator and specify a policy, use the --policy <Policy> option.

How is SnapVault integrated?
Snap Creator has complete SnapVault integration; no schedules are used on the storage system. You can specify a SnapVault retention in Snap Creator and Snap Creator will take care of your SnapVault update, create a SnapVault snapshot, and manage SnapVault snapshots. All you need to do is create the SnapVault relationship. Snap Creator does not create or manage SnapVault relationships. The SnapVault update is also performed after the application is returned to normal mode, so minimal application impact occurs. Snap Creator will wait a defined amount of time for SnapVault to finish, it checks every minute if the SnapVault transfer has completed.

Is volume to qtree SnapVault supported?
Yes, you can SnapVault a volume (source) to a qtree (destination) with Snap Creator.

How is SnapMirror integrated?
Snap Creator can perform a SnapMirror update after a snapshot has occurred. You need to make sure the SnapMirror relationship exists, since Snap Creator will not manage SnapMirror relationships.

Are there restrictions on SnapMirror?
Qtree SnapMirror will work, but snapshots are not managed, so it is not recommended

Can you mix SnapVault and SnapMirror?
Yes, you can mix SnapMirror and SnapVault within a source volume or have them separated. Snap Creator supports doing both SnapMirror and SnapVault within the same backup.

Is both QSM and VSM supported?
Yes

What about Cascading SnapMirror?
Cascading SnapMirror is fully supported as of SnapCreator v3.0. Cascading SnapMirror is the ability to SnapMirror a SnapVault destination (snapshot->snapvault->snapmirror). In in this situation, Snap Creator creates a snapshot, a SnapVault transfer of that snapshot, takes a SnapVault snapshot, and then performs a SnapMirror update from the SnapVault destination.

How is LUN and volume cloning integrated?
Snap Creator can create an optional volume or LUN clone from all LUNs in a volume. It will then also map all those LUNs to an igroup you define in the configuration file. LUN clones will be named <NAME>_CLONE; where <NAME> is what the LUN is called.
Volume clones will be named cl_<NAME>_<TIMESTAMP>;where <NAME> is what the volume is called and <TIMESTAMP> is YYYYMMDDhhmmss
In Snap Creator, you can have as many volume clones as you want, but Snap Creator is limited to only one LUN clone. We recommend using volume clones, LUN clones are really only a viable solution in the context of backing up a LUN tape.
Note: Volume clones require a FlexClone license

Does Snap Creator integrate with Protection Manager?
Yes, in the same way as SnapManager products. Snap Creator will take a snapshot and then register the contents of that snapshot with Protection Manager, which can then perform a SnapMirror/SnapVault.
This is very powerful because it allows integration of any application with PM.

How do I schedule Snap Creator?
Snap Creator has a built-in scheduler in the GUI, or you can use cron (UNIX) or Windows Task Manager

How do I run Snap Creator?
This depends on what you want to do. However, assume the configuration you want to use is called myconf.conf located under /path/to/snapcreator/configs/myconf/myconf.conf, and you want to use the 'daily' snapshot policy defined in myconf.conf, you only want to create a snapshot (no cloning), and want to see output displayed. The command will look like this:
./snapcreator --profile myconf --action snap --policy daily --verbose
Note: The --verbose is optional and only useful for testing or troubleshooting, everything that gets saved to the backup report under /snapcreator/logs/logname.out is printed to screen

Integrating Snap Creator

What are PRE/POST Commands?
In Snap Creator, you can run PRE or POST commands at every phase of the backup process. They can be scripts or commands. You can have between 1 and 9 of every type of PRE and POST command (with the exception  of PRE_EXIT_CMD). The following is an explanation of the different types:

  • PRE commands:

PRE_APP_QUIESCE_CMD01 - Can have between 01 and 99; these commands/scripts are run before the Application is placed into backup mode
PRE_NTAP_CMD01 - Can have between 01 and 99; these commands/scripts are run before any NetApp process occurs
PRE_NTAP_CLONE_DELETE_CMD01 - Can have between 01 and 99; these commands/scripts are run before the clones are deleted
PRE_APP_UNQUIESCE_CMD01 - Can have between 01 and 99; these commands/scripts are run before the Application is taken out of backup mode
PRE_RESTORE_CMD01 - Can have between 01 and 99; these commands/scripts are run before your restore occurs
PRE_EXIT_CMD01 - Can only have one command; this command/script is run when an error is encountered

  • POST commands:

POST_APP_QUIESCE_CMD01 - Can have between 01 and 99; these commands/scripts are run after the Application is placed into backup mode
POST_NTAP_CMD01 - Can have between 01 and 99; these commands/scripts are run after all the NetApp processes occur
POST_NTAP_DATA_TRANSFER_CMD01 - Can have between 01 and 99; these commands/scripts run after a SnapVault or SnapMirror update
POST_APP_UNQUIESCE_CMD01 - Can have between 01 and 99; these commands/scripts are run after the Application is taken out of backup mode
POST_RESTORE_CMD01 - Can have between 01 and 99; these commands/scripts are run after your restore occurs

A good example is if you want to mount a clone Snap Creator made from a snapshot, you can call a mount script or SnapDrive. For example, to mount your clone after the CLONE is made using the PRE command PRE_NTAP_CLONE_DELETE_CMD01.You can make a PRE_NTAP_CLONE_DELETE_CMD02,which calls netbackup or something else to back up your mountpoint.

Is the Snap Creator Configuration file Dynamic?
There are variables you can define in the configuration file which are not static, they are set when the script runs dynamically. All dynamic values start with '%', for example, %MSG. You can also pass in one user defined value which gives you even more flexibility. Below are the available dynamic variables:

%SNAP_TYPE - The Snapshot Schedule: daily, monthly, and so on
%SNAP_TIME - An epoch timestamp associated with the snapshot
%ACTION - Could be -snap,-clone_vol-clone_lun, or -arch, depending on which action you used
%MSG - Used to send the error message to other monitoring tools or email. This can only be used with the SENDTRAP function.
%USER_DEFINED - Pass a user-defined argument to the script

Can I have Snap Creator call Symantec NetBackup or EMC Legato NetWorker after the snapshot and/or clone is done?
Absolutely, if you are using clones, mount the clone via PRE_NTAP_CLONE_DELETE_CMD01 and call your backup software via PRE_NTAP_CLONE_DELETE_CMD02. If you are not using clones, then call your backup software using POST_NTAP_CMD01

Where do I call my Snap Creator plug-in for putting my Application into backup mode?
To put an application into backup mode using commands or scripts, use APP_QUIESCE_CMD and to take the backup out of backup mode use APP_UNQUIESCE_CMD

To put an application into backup mode using built-in Snap Creator modules, use APP_NAME=<plug-in>

I want to use SnapDrive to create snapshots, where do I put my SnapDrive command?
You can have one or more SnapDrive commands, use the following config setting: NTAP_SNAPSHOT_CREATE_CMD01, NTAP_SNAPSHOT_CREATE_CMD02, etc
Note: For the snapshot name, use %SNAME-%SNAP_TYPE_recent
%SNAME
 is a name you give the snapshot in the config file, it can be anything.
%SNAP_TYPE is the snapshot policy name, something like daily, weekly, monthly, or yearly. This is a value you pass into Snap Creator when running it and also a value you configure under NTAP_SNAPSHOT_RETENTIONS and NTAP_SNAPVAULT_RETENTIONS in the configuration file.

Error Handling / Reporting

What type of logs or reports are available?
There are three types of logs: debug log, error log, and the out report.

  • The stderr log captures STDOUT and STDERR from any command or script Snap Creator calls, as well as ZAPI return messages (includes all PRE/POST Commands). Debug logs end with .debug. Every backup has a debug log and a backup out report.
  • The error log is a history of every time Snap Creator encountered an error, so every time an error occurs it is written and saved here. Error logs end with .error.
  • The out Report is a record of verbose output that Snap Creator did during a particular backup. OUT Reports end with .out.
  • The debug log contains verbose + debug + trace (if enabled). The debug reports end with debug.
  • The debug log, stderr log, and out report are named with the configuration name and timestamp, so you can easily identify them, that is: myconf.debug.<timestamp> and myconf.out.<timestamp>

How long are logs and reports kept?
The error log is NEVER overwritten or deleted. The debug log, stderr log, and out logs exist for every backup and it is user-defined with how many you would like to keep, the default is 10.

Does Snap Creator integrate with Operations Manager?
Yes, Snap Creator can create Operations Manager events for both failure and success

If Snap Creator has an error, how do I know?
There are many options here. You can monitor the error log yourself, you can have Snap Creator send an email, you can have Snap Creator send a message to Tivoli or anything that expects CLI input, or you can have Snap Creator create an Operations Manager event.

Can I send errors to email for notification?
Yes, you can use Mailx or any email client that accepts CLI input.

Can I send a message when Snap Creator completes successfully?
Yes, upon a successful backup, you can send a message which can go to email, Operations Manager, or anything that accepts CLI input.

Additional Information

additionalInformation_text