Snapshots and Data Protection
  
Snapshots and Data Protection
This chapter describes how Core integrates with the snapshot capabilities of the storage array, enabling you to configure application-consistentent snapshots through the Core Management Console. It includes the following sections:
•  Setting up application-consistent snapshots
•  Configuring snapshots for LUNs
•  Volume snapshot service support
•  Implementing Riverbed Host Tools for snapshot support
•  Configuring the proxy host for backup
•  Configuring the storage array for proxy backup
•  Data protection
•  Data recovery
•  Branch recovery
•  Related information
For details about storage qualified for native snapshot and backup support, see the SteelFusion Core Installation and Configuration Guide.
For more information about deploying SteelFusion in a VMware environment using snapshots with data protection, see https://supportkb.riverbed.com/support/index?page=content&id=S27750&actp=search.
Setting up application-consistent snapshots
This section describes the general process for setting up snapshots.
Core integrates with the snapshot capabilities of the storage array. You can configure snapshot settings, schedules, and hosts directly through the Core Management Console or CLI.
For a description of application consistency and crash consistency, see Understanding crash consistency and application consistency.
To set up snapshots
1. Define the storage array details for the snapshot configuration.
Before you can configure snapshot schedules, application-consistent snapshots, or proxy backup servers for specific LUNs, you must specify for Core the details of the storage array, such as IP address, type, protocol, and so on. The storage driver does not remap any blocks; the remapping takes place within the array.
To access snapshot schedule policy configuration settings:
•  In the Core Management Console, choose Configure > Backups: Snapshots to open the Snapshots page.
•  In the Core CLI, use the storage snapshot policy modify commands.
2. Define snapshot schedule policies.
You define snapshot schedules as policies that you can apply later to snapshot configurations for specific LUNs. After applied, snapshots are automatically taken based on the parameters set by the snapshot schedule policy.
Snapshot schedule policies can specify weekly, daily, or day-specific schedules. Additionally, you can specify the total number of snapshots to retain.
To access snapshot schedule policy configuration settings:
•  In the Core Management Console, choose Configure > Backups: Snapshots to open the Snapshots page.
•  In the Core CLI, use the storage snapshot policy modify commands.
3. Define snapshot host credentials.
You define snapshot host settings as storage host credentials that you can apply later to snapshot configurations for specific LUNs.
To access snapshot host credential configuration settings:
•  In the Core Management Console, choose Configure > Backups: Handoff Host to open the Storage Snapshots page.
•  In the Core CLI, use the storage host-info commands.
For details about CLI commands, see the SteelFusion Command-Line Interface Reference Manual. For details about using the Core Management Console, see the SteelFusion Core Management Console User’s Guide.
Configuring snapshots for LUNs
This section describes the general steps for applying specific snapshot configurations to LUNs through Core. For information about configuring LUNs, see Configuring LUNs.
To apply snapshot configurations to a LUN
1. Select the LUN for the snapshot and access the snapshot settings.
You can access the snapshot settings for a specific LUN by choosing Configure > Manage: LUNs. Select the desired LUN to display controls that include the Snapshots tab. The Snapshots tab itself has three tabs: Configuration, Scheduler, and History.
2. Apply a snapshot schedule policy to the current LUN.
The controls in the Scheduler tab enable you to apply a previously configured policy to the current LUN. You can create a new schedule directly in this panel.
3. Specify the storage array where the LUN resides.
The controls in the Configuration tab enable you to specify the storage array where the current LUN resides and to apply a static name that is prepended to the names of snapshots.
4. Specify the client type.
The controls in the Configuration tab enable you to specify the client type. To configure application-consistent snapshots and a proxy backup, you must set this value to Windows or VMware.
5. Enable and configure application-consistent snapshots.
The controls in the Configuration tab enable you to enable and configure application-consistent snapshots. The settings vary depending on which client type is selected.
Volume snapshot service support
We support Volume Snapshot Service (VSS) through the Riverbed Hardware Snapshot Provider (RHSP) and Riverbed Snapshot Agent. For details, see Implementing Riverbed Host Tools for snapshot support.
Implementing Riverbed Host Tools for snapshot support
Riverbed Host Tools are installed and implemented separately on the branch office Windows Server. The toolkit provides the following services:
•  RHSP - Functions as a snapshot provider for the VSS by exposing Core snapshot capabilities to the Windows Server.
RHSP ensures that users get an application-consistent snapshot.
•  Riverbed Snapshot Agent - A service that enables the Edge to drive snapshots on a schedule. This schedule is set through the Core snapshot configuration. For details, see the SteelFusion Core Management Console User’s Guide.
Riverbed Host Tools support 64-bit editions of Microsoft Windows Server 2008 R2 or later.
This section includes the following topics:
•  Overview of RHSP and VSS
•  Riverbed Host Tools installation and configuration
Overview of RHSP and VSS
RHSP exposes Edge through iSCSI to the Windows Server as a snapshot provider. Only use RHSP when an iSCSI LUN is mounted on Windows through the Windows initiator.
The process begins when you (or a backup script) request a snapshot through the VSS on the Windows Server:
1. VSS directs all backup-aware applications to flush their I/O operations and to freeze.
2. VSS directs RHSP to take a snapshot.
3. RHSP forwards the command to the Edge.
4. The Edge exposes a snapshot to the Windows Server.
5. The Edge and Core commit all pending write operations to the storage array.
6. The Edge takes the snapshot against the storage array.
Note: The default port through which the Windows Server communicates with Edge appliance is 4000.
Riverbed Host Tools installation and configuration
Riverbed Host Tools installation and configuration requires configuration in both Windows Server and Core.
To configure Core
1. In the Core Management Console, choose Configure > Backups: Snapshots to configure snapshots.
2. In the Core Management Console, choose Configure > Storage Array: iSCSI, Initiators, MPIO to configure an iSCSI with the necessary storage array credentials.
The credentials must reflect a user account on the storage array appliance that has permissions to take and expose snapshots.
For details about both steps, see the SteelFusion Core Management Console User’s Guide.
To install and configure Riverbed Host Tools
1. Obtain the installer package from Riverbed.
2. Run the installer on your Windows Server.
3. Confirm the installation as follows:
•  From the Start menu, choose Run....
•  At the command prompt, enter diskshadow to access the Windows DiskShadow interactive shell.
•  In the DiskShadow shell, enter list providers.
•  Confirm that RHSP is among the providers returned.
Configuring the proxy host for backup
This section describes the general procedures for configuring the proxy host for backup in both ESXi and Windows environments.
To configure an ESXi proxy host
•  Configure the ESXi proxy host to connect to the storage array using iSCSI or Fibre Channel.
In deployments where vCenter is used to manage ESXi hosts in general, note the following with respect to the ESXi proxy host.
•  The ESXi proxy host should not normally be managed by vCenter.
•  If there is a requirement to manage the ESXi proxy host with vCenter, then a different vCenter must be used than that which is managing ESXi within the Edge devices.
•  If the ESXi proxy host is managed by vCenter, then it should not be in lockdown mode.
•  The Core should always be configured to communicate with the ESXi proxy host directly.
To configure a Windows proxy host
1. Configure the Windows proxy host to connect to the storage array using iSCSI or Fibre Channel.
2. Configure a local administrator user that has administrator privileges on the Windows proxy host.
To create a user with administrator privileges, create the following registry setting:
–  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
–  For Key Type, specify DWORD.
–  For Key Name, specify LocalAccountTokenFilterPolicy.
–  Set Key Value to 1.
3. Disable the Automount feature through the DiskPart command interpreter:
automount disable
4. Add the storage array target to the favorites list on the proxy host to ensure that the iSCSI connection is reestablished when the proxy host is rebooted.
Configuring the storage array for proxy backup
This section describes the general processes for configuring Dell EqualLogic, EMC CLARiiON, EMC VNX, and NetApp storage arrays for backup.
For details on these arrays and other vendors, ask your account team about relevant technical marketing solution guides.
To configure Dell EqualLogic
1. Go to the LUN and select the Access Tab.
2. Add permissions to Core initiator/IP address and assign volume-only level access.
3. Add permissions to proxy host for the LUN and assign snapshots-only access.
For details, see also the SteelFusion Solution Guide - SteelFusion with EqualLogic Storage Arrays.
To configure EMC CLARiiON and EMC VNX
1. Create a storage group.
2. Assign the proxy servers to the group.
We recommend that you provide the storage group information to the proxy host storage group.
For details, see also the SteelFusion Solution Guide - SteelFusion with EMC CLARiiON Storage Systems.
To configure NetApp
1. Create an initiator group.
2. Assign the proxy servers to the group.
We recommend that you provide the storage group information to the proxy host storage group.
For details, see also the SteelFusion Solution Guide - SteelFusion with NetApp Storage Systems.
Data protection
The SteelFusion system provides tools to preserve or enhance your existing data protection strategies. If you are currently using host-based backup agents or host-based consolidated backups at the branch, you can continue to do so within the SteelFusion context.
However, Core also enables a wider range of strategies, including:
•  Backing up from a crash-consistent LUN snapshot at the data center
The SteelFusion product family continuously synchronizes the data created at the branch with the data center LUN. As a result, you can use the storage array at the data center to take snapshots of the LUN and thereby avoid unnecessary data transfers across the WAN. These snapshots can be protected either through the storage array replication software or by mounting the snapshot into a backup server.
Such backups are only crash consistent because the storage array at the data center does not instruct the applications running on the branch server to quiesce their I/Os and flush their buffers before taking the snapshot. As a result, such a snapshot might not contain all the data written by the branch server up to the time of the snapshot.
•  Backing up from an application-consistent LUN snapshot at the data center
This option uses the SteelFusion Microsoft VSS integration in conjunction with Core storage array snapshot support. You can trigger VSS snapshots on the iSCSI data drive of your branch Windows servers at the branch and Edge ensures that all data is flushed to the data center LUN and triggers application-consistent snapshots on the data center storage array.
As a result, backups are application consistent because the Microsoft VSS infrastructure has informed the applications to quiesce their I/Os before taking the snapshot.
This option requires the installation of the Riverbed Host Tools on the branch Windows server. For details about Riverbed Host Tools, see Implementing Riverbed Host Tools for snapshot support.
•  Backing up from SteelFusion-assisted consolidated snapshots at the data center
This option relieves backup load on virtual servers, prevents the unnecessary transfer of backup data across the WAN, produces application-consistent backups, and backs up multiple virtual servers simultaneously over VMFS or NTFS.
In this option, the ESX server, and subsequently Core, takes the snapshot, which is stored on a separately configured proxy server. The ESX server flushes the virtual machine buffers to the data stores and the Edge appliance flushes the data to the data center LUN, resulting in application-consistent snapshots on the data center storage array.
You must separately configure the proxy server and storage array for backup. For details, see the Configuring the proxy host for backup.
This option does not require the installation of the Riverbed Host Tools on the branch Windows server.
For details about data protection, backing up strategies, as well as a detailed discussion of crash-consistent and application-consistent snapshots, see the SteelFusion Data Protection and Recovery Guide.
For a discussion of application consistency and crash consistency in general, see Understanding crash consistency and application consistency.
For more information about deploying SteelFusion in a VMware environment, using snapshots with data protection, see https://supportkb.riverbed.com/support/index?page=content&id=S27750&actp=search.
Data recovery
In the event your data protection strategy fails, the SteelFusion product family enables several strategies for file-level recovery. The recovery approach depends on the protection strategy you used.
This section describes the following strategies:
•  File recovery from Edge snapshots at the branch
When snapshots are taken at the branch using Windows VSS in conjunction with RHSP, each snapshot is available to the Windows host as a separate drive. In order to recover a file, browse to the drive associated with the desired snapshot, locate the file, and restore it. For more information about RHSP, see Implementing Riverbed Host Tools for snapshot support.
•  File recovery from the backup application catalog file at the branch
When backups are taken at the branch using a backup application such as Symantec® NetBackup™ or IBM Tivoli® Storage Manager, you access and restore files directly from the backup server. Riverbed recommends that you restore the files to a different location in case you need to resort to the current files.
•  Recover individual files from a data center snapshot (VMDK files)
To recover individual files from a storage array snapshot of a LUN containing virtual disk (VMDK) files, present the snapshot to a VMware ESX Server, attach the VMDK to an existing VM running the same operating system (or an operating system that reads the file system used inside the VMDKs in question). You can then browse the file system to retrieve the files stored inside the VM.
•  Recover individual files from a data center snapshot (individual files)
To recover individual files from a storage array snapshot of a LUN containing individual files, present the snapshot to a server running the same operating system (or an operating system that reads the file system used on the LUN). You can then browse the file system to retrieve the files.
•  File recovery from a backup application at the data center
You can back up snapshots taken at the data center with a backup application or through Network Data Management Protocol (NDMP) dumps. In this case, file recovery remains unchanged from the existing workflow. Use the backup application to restore the file. You can send the file to the branch office location.
Alternatively, you can take the LUN offline from the branch office and inject the file directly into the LUN at the data center. However, Riverbed does not recommend this procedure because it requires taking the entire LUN down for the duration of the procedure.
•  File recovery from Windows VSS at the branch
You can enable Windows VSS and previous versions can also be enabled at the branch on a SteelFusion LUN no matter which main backup option you implement. When using Windows VSS, you can directly access the drive, navigate to the previous version tab, and recover deleted, damaged or overwritten files.
Windows uses its default VSS software provider to back up the previous 64 versions of each file. In addition to restoring individual files to a previous version, VSS also provides the ability to restore an entire volume.
Setting up this recovery strategy requires considerations too numerous to detail here. For more details about recovery strategies, see the SteelFusion Data Protection and Recovery Guide.
Branch recovery
SteelFusion 3.0 and later include the branch recovery feature that allows you to define the working data set of LUNs projected by Core. During a catastrophic and irrecoverable failure, you can lose access to the working set of LUNs. Branch recovery enables proactive prepopulation of the working set when the LUNs are restored. This section includes the following topics:
•  Overview of branch recovery
•  How branch recovery works
•  Branch recovery configuration
•  Branch recovery CLI configuration example
Overview of branch recovery
The branch recovery feature in SteelFusion 3.0 and later enable you to track disk-accesses for both Windows LUNs and VMFS LUNs (hosting Windows VMs) and quickly recover from a catastrophic failure. During normal operations, the Edge caches the relevant and recently accessed user data on a working set of projected LUNs.
In event of catastrophic failure in which you cannot recover the Edge, the working set of projected LUNs is also lost. With branch recovery enabled, the working set is proactively streamed to the branch when a new Edge is installed and LUNs mapped. Branch recovery ensures that after the branch is recovered, the user experience at the branch does not change.
Do not confuse either regular prefetch or intelligent prepopulation with branch recovery. Branch recovery prepopulates the working set proactively, as opposed to pulling related data on access, as in the case of regular prefetch. Branch recovery is different from intelligent prepopulation because intelligent prepopulation pushes all the used blocks in a volume with no regard to the actual working set.
Branch recovery is based on Event Tracing for Windows (ETW), a kernel-level facility. Riverbed supports only Windows 7, Windows 2008 R2, Windows 2012, and Windows 2012 R2. Branch recovery is supported for both physical Windows hosts and Windows VMs. You must format physical Window host LUNs with NTFS. For VMs, NTFS-formatted VMDK hosted on VMware VMFS LUNs are supported.
How branch recovery works
The following are the major components of branch recovery:
•   Branch recovery agent
•   Branch recovery support on Core
The branch recovery agent is a service that runs in branch on a Windows host or VM. The agent uses Windows ETW-provided statistics to collect and log all disk access I/O. Periodically, the collected statistics are written to a file that is stored on the same disk for which the statistics are collected for. The file is called lru*.log and is located in the \Riverbed\BranchRecovery\ directory.
Note: The SteelFusion Turbo Boot plugin is not compatible with the branch recovery agent. For more information about the branch recovery agent, see the SteelFusion Core Management Console User’s Guide.
You must enable branch recovery support for the LUN prior to mapping LUNs to the new Edge. When VMFS LUN or a snapshot is mapped to a new Edge, the Core crawls the LUN and parses all the lru*.log files. If the files that are previously created by a branch recovery agent are found, the Core pushes the referenced blocks to the new Edge. The branch recovery agent sends the most recently accessed blocks first, sequentially for each VM. When data for a certain time frame (hour, day, week, or month) is recovered for one VM, the process moves on to the next VM in round-robin fashion, providing equal recovery resources to all VMs.
Branch recovery configuration
You must install the branch recovery agent on each VM for which you want the benefit of the branch recovery feature. You must have administrative privileges to perform the installation. After the installation, the agent starts to monitor I/O operations and records the activity into designated files.
When recovering a branch from a disaster, you must enable branch recovery for the LUN. For VMFS LUNs, you can enable branch recovery for all the VMs on the LUN, or pick and choose specific VMs on which you want the feature enabled.
You must disable the branch recovery feature prior to configuration changes. If you want to add or remove any VMs from the configurations, follow these steps:
1. Disable branch recovery.
2. Make changes.
3. Enable branch recovery.
You can choose a start time for branch recovery. This option enables you to control bandwidth usage and to choose the best time to start the recovery when you restore branches. For example, you can choose to schedule the recovery during the night, when the least amount of bandwidth is being used. In addition, you can set a cap (that is a percentage of the total disk size) for the amount of data that is pushed per (virtual) disk.
You can configure branch recovery in the Management Console and in the CLI. In the Management Console, choose Configure > Manage: LUNs, and select the Branch Recovery tab on the desired LUN.
For more information about configuring branch recovery, see the SteelFusion Core Management Console User’s Guide and the SteelFusion Command-Line Interface Reference Manual.
Figure: Branch Recovery tab on the LUNs page
Branch recovery CLI configuration example
The following example shows how to use the CLI to configure branch recovery on Core. The first output shows a LUN that is not configured with branch recovery. The example then shows how to start a schedule (with output), how to configure specific VMs, how to enable branch recovery, and output for a successfully recovered LUN.
The following output is from a new VMFS LUN, with branch recovery not enabled:
# show storage lun alias 200GiB branch-recovery
Branch Recovery configuration :
Enabled : no
Status : Not Enabled
Phase : Not Enabled
Progress : Not Enabled
Start date : Not Configured
Start time : Not Configured
#
Use the following command to start a branch recovery schedule:
# conf terminal
(config)# storage lun modify alias 200GiB branch-recovery schedule start-now
The output from the VMFS LUN now has a started schedule, but branch recovery remains disabled:
# show storage lun alias alias-vmfs_lun branch-recovery
Branch Recovery configuration :
Enabled : no
Status : not_started
Progress : 0 Bytes pushed
Start date : 2016/03/14
Start time : 15:01:16
#
The output does not list any VMs. If you have not defined them, all VMs are added by default. If you want to enable branch recovery for specific VMs on a specific LUN, use the following command:
(config) # storage lun modify alias 200GiB branch-recovery add-vm oak-sh486-vm1
Note: VM names are discovered by prefetch and available for automatic completion. The default cap is set to 10. You can change the default with the storage lun modify alias 200GiB branch-recovery add-vm oak-sh486 cap 50 command.
Use the following command to show the result of configuring specific VMs:
# show storage lun alias 200GiB branch-recovery
Branch Recovery configuration :
Enabled : no
Status : not_started
Phase : not_started
Progress : 0 Bytes pushed
Start date : 2016/02/20
Start time : 10:32:59
VMs :
Name : oak-sh486-vm1
Status : Not Started
Cap : 10 %
Percent Complete : Branch recovery not started or not enabled on VM
Recovering data from : Branch recovery not started or not enabled on VM
#
When you are done configuring, scheduling, and adding the VMs, you can enable branch recovery for the LUNs by using the following command:
(config) # storage lun modify alias 200GiB branch-recovery enable
Notice that with branch recovery enabled, data blocks are actively being restored to the LUN. Use the following command to check the status of the recovery on a LUN:
# show storage lun alias 200GiB branch-recovery
Branch Recovery configuration :
Enabled : yes
Status : started
Phase : day
Progress : 3729920 Bytes pushed
Start date : 2016/02/20
Start time : 10:32:59
VMs :
Name : oak-sh486
Status : In-progress
Cap : 10 %
Percent Complete : 9 %
Recovering data from : Mon Feb 19 15:25 2016
#
When the recovery of the LUN is complete, you see the following output:
# show storage lun alias 200GiB branch-recovery
Branch Recovery configuration :
Enabled : yes
Status : complete
Progress : complete
Start date : 2014/02/20
Start time : 10:32:59
VMs :
Name                         : oak-sh486-vm1
Status                         : Complete
Cap : 10 %
Percent Complete : 100 %
Recovering data from : N/A
Related information
•  SteelFusion Core Management Console User’s Guide
•  SteelFusion Edge Management Console User’s Guide
•  SteelFusion Command-Line Interface Reference Manual
•  Riverbed Splash at https://splash.riverbed.com/community/product-lines/steelfusion
•  SteelFusion Solution Guide - SteelFusion with EqualLogic Storage Arrays
•  SteelFusion Solution Guide - SteelFusion with NetApp Storage Systems
•  SteelFusion Data Protection and Recovery Guide