Create snapshot group
The create snapGroup command creates a new snapshot group and the associated repository volume.
Supported Arrays
This command applies to an individual DE2000H, DE4000H, DE4000F, DE6000H, or DE6000F storage array.
Roles
To execute this command on an storage array, you must have the Storage Admin role.
Context
A snapshot group contains a sequence of snapshot images of an associated base volume. A snapshot group has a repository volume that is used to save data for all of the snapshot images that are part of the snapshot group.
Syntax
create snapGroup userLabel="<var id="GUID-9D6A5673-4624-42F3-B610-2A7D6404D2D5__V1111816" className="keyword varname">snapGroupName</var>" sourceVolume="<var id="GUID-9D6A5673-4624-42F3-B610-2A7D6404D2D5__V1455028" className="keyword varname">volumeName</var>"
[(repositoryVolume="repos_xxxx" |
repositoryVolume=(<var id="GUID-9D6A5673-4624-42F3-B610-2A7D6404D2D5__V1455028" className="keyword varname">volumeGroupName</var> [capacity=<var id="GUID-9D6A5673-4624-42F3-B610-2A7D6404D2D5__V1523929" className="keyword varname">capacityValue</var>]) |
repositoryVolume=(<var id="GUID-9D6A5673-4624-42F3-B610-2A7D6404D2D5__V1455028" className="keyword varname">diskPoolName</var> [capacity=<var id="GUID-9D6A5673-4624-42F3-B610-2A7D6404D2D5__V1523931" className="keyword varname">capacityValue</var>]))]
[repositoryFullPolicy=(failBaseWrites | purgeSnapImages)]
[rollbackPriority=(highest | high | medium | low | lowest)]
[repositoryFullLimit=<var id="GUID-9D6A5673-4624-42F3-B610-2A7D6404D2D5__V1438428" className="keyword varname">percentValue</var>]
[autoDeleteLimit=<var id="GUID-9D6A5673-4624-42F3-B610-2A7D6404D2D5__V1440328" className="keyword varname">numberOfSnapImages</var>]|
[enableSchedule=(TRUE | FALSE)]
[schedule (immediate | <var id="GUID-9D6A5673-4624-42F3-B610-2A7D6404D2D5__V1320809" className="keyword varname">snapshotSchedule</var>)]
Parameters
Parameter | Description |
---|---|
userLabel | The name that you want to give the new snapshot group. Enclose the snapshot group identifier in double quotation marks (" "). |
sourceVolume | The name of the volume that you want to use as the source for your snapshot images. Enclose the source volume name in double quotation marks (" "). |
repositoryVolume | The name of the repository volume that will contain the changed data of the snapshot group. You have two options for defining the name of a repository volume:
The name of an existing repository volume is comprised of two parts:
Enclose the name of the existing repository volume in double quotation marks (" "). If you want to create a new repository volume when you run this command you must enter the name of either a volume group or a disk pool in which you want the repository volume. Optionally, you also can define the capacity of the repository volume. If you want to define the capacity you can use these values:
If you do not use the capacity option, the storage management software sets the capacity to 20 percent of the base volume capacity. When you run this command the storage management software creates the repository volume for the snapshot volume. |
repositoryFullPolicy | Defines how snapshot image processing continues if the snapshot group repository volume is full. You can choose to fail I/O writes to the base volume ( failBaseWrites ) or delete (purge) the snapshot images ( purgeSnapImages ) in the repository volume. The purgeSnapImages option deletes the oldest snapshot images to free up space. The default action is purgeSnapImages . |
rollBackPriority | Determines whether system resources should be allocated to the rollback operation at the expense of system performance. A value of high indicates that the rollback operation is prioritized over all other host I/O. A value of low indicates that the rollback operation should be performed with minimal impact to host I/O. The default value is medium . |
repositoryFullLimit | The percentage of repository capacity at which you receive a warning that the snapshot group repository volume is nearing full. Use integer values. For example, a value of 70 means 70 percent. The default value is 75. |
autoDeleteLimit | Each snapshot group can be configured to perform automatic deletion of its snapshot images to keep the total number of snapshot images in the snapshot group at or below a designated level. When this option is enabled, then any time a new snapshot image is created in the snapshot group, the system automatically deletes the oldest snapshot image in the group to comply with the limit value. This action frees repository capacity so it can be used to satisfy ongoing copy-on-write requirements for the remaining snapshot images. |
enableSchedule | Use this parameter to turn on or to turn off the ability to schedule a snapshot operation. To turn on snapshot scheduling, set this parameter to TRUE . To turn off snapshot scheduling, set this parameter to FALSE . |
Notes
Each snapshot group name must be unique. You can use any combination of alphanumeric characters, underscore (_), hyphen (-), and pound (#) for the user label. User labels can have a maximum of 30 characters.
To create a snapshot group, you must have an associated repository volume in which you store the snapshot images. You can either use an existing repository volume or create a new repository volume. You can create the repository volume when you create the snapshot group. A snapshot group repository volume is an expandable volume that is structured as a concatenated collection of up to 16 standard volume entities. Initially, an expandable repository volume has only a single element. The capacity of the expandable repository volume is exactly that of the single element. You can increase the capacity of an expandable repository volume by attaching additional standard volumes to it. The composite expandable repository volume capacity then becomes the sum of the capacities of all of the concatenated standard volumes.
A snapshot group has a strict ordering of snapshot images based on the time that each snapshot image is created. A snapshot image that is created after another snapshot image is a successor relative to that other snapshot image. A snapshot image that is created before another snapshot image is a predecessor relative to that other one.
A snapshot group repository volume must satisfy a minimum capacity requirement that is the sum of the following:
32 MB to support fixed overhead for the snapshot group and for copy-on-write processing.
Capacity for rollback processing, which is 1/5000th of the capacity of the base volume.
The minimum capacity is enforcement by the controller firmware and the storage management software.
When you first create a snapshot group, it does not contains any snapshot images. When you create snapshot images, you add the snapshot images to a snapshot group. Use the create snapImage command to create snapshot images and add the snapshot images to a snapshot group.
A snapshot group can have one of these states:
- Optimal – The snapshot group is operating normally.
- Full – The snapshot group repository is full. Additional copy-on-write operations can not be performed. This state is possible only for snapshot groups that have the Repository Full policy set to Fail Base Writes. Any snapshot group in a Full state causes a Needs-Attention condition to be posted for the storage array.
- Over Threshold – The snapshot group repository volume usage is at or beyond its alert threshold. Any snapshot group in this state causes a Needs-Attention condition to be posted for the storage array.
- Failed – The snapshot group has encountered a problem that has made all snapshot images in the snapshot group unusable. For example, certain types of repository volume failures can cause a Failed state. To recover from a Failed state use the revive snapGroup command.
Automatic snapshot image deletion
You can configure each snapshot group to automatically delete the snapshot images by using the autoDeleteLimit parameter. Automatically deleting the snapshot images enables you to avoid having to routinely, manually delete the images that you do not want and that might prevent the creation of future snapshot images because the repository volume is full. When you use the autoDeleteLimit parameter it causes the storage management software to automatically delete snapshot images, starting with the oldest. The storage management software deletes snapshot images until it reaches a number of snapshot images that is equal to the number that you enter with autoDeleteLimit parameter. When new snapshot images are added to the repository volume, the storage management software deletes the oldest snapshot images until the autoDeleteLimit parameter number is reached.
Scheduling snapshots
The enableSchedule parameter and the schedule parameter provide a way for you to schedule creating snapshot images for a snapshot group. Using these parameters, you can schedule snapshots daily, weekly, or monthly (by day or by date). The enableSchedule parameter turns on or turns off the ability to schedule snapshots. When you enable scheduling, you use the schedule parameter to define when you want the snapshots to occur.
This table explains how to use the options for the schedule parameter:
Parameter | Description |
---|---|
schedule | Required for specifying schedule parameters. |
immediate | Start the operation immediately. This item is mutually exclusive with any other scheduling parameters. |
enableSchedule | When set to true , scheduling is turned on. When set to false , scheduling is turned off. Note The default is |
startDate | A specific date on which to start the operation. The format for entering the date is MM:DD:YY. The default is the current date. An example of this option is startDate=06:27:11 . |
scheduleDay | A day of the week on which to start the operation. Can either be all or one or more of the following values:
Note Enclose the value in parentheses. For example, More than one day can be specified by enclosing the days in a single set of parentheses and separating each day with a space. For example, scheduleDay=(monday wednesday friday) . Note This parameter is not compatible with a monthly schedule. |
startTime | The time of a day on which to start the operation. The format for entering the time is HH:MM, where HH is the hour and MM is the minute past the hour. Uses a 24-hour clock. For example, 2:00 in the afternoon is 14:00. An example of this option is startTime=14:27 . |
scheduleInterval | An amount of time, in minutes, to have as a minimum between operations. Schedule interval should not be more than 1440 (24 hours) and it should be a multiple of 30. An example of this option is scheduleInterval=180 . |
endDate | A specific date on which to stop the operation. The format for entering the date is MM:DD:YY. If no end date is desired, you can specify noEndDate . An example of this option is endDate=11:26:11 . |
timesPerDay | The number of times to perform the operation in a day. An example of this option is timesPerDay=4 . |
timezone | Specifies the time zone to be used for the schedule. Can be specified in two ways:
|
scheduleDate | A day of the month on which to perform the operation. The values for the days are numerical and in the range of 1-31. Note This parameter is not compatible with a weekly schedule. |
month | A specific month on which to perform the operation. The values for the months are:
Note Enclose the value in parentheses. For example, More than one month can be specified by enclosing the months in a single set of parentheses and separating each month with a space. For example, month=(jan jul dec) . Use this parameter with the scheduleDate parameter to perform the operation on a specific day of the month. Note This parameter is not compatible with a weekly schedule. |
This table explains how to use the timeZone parameter:
Timezone Name | GMT offset |
---|---|
Etc/GMT+12 | GMT-12:00 |
Etc/GMT+11 | GMT-11:00 |
Pacific/Honolulu | GMT-10:00 |
America/Anchorage | GMT-09:00 |
America/Santa_Isabel | GMT-08:00 |
America/Los_Angeles | GMT-08:00 |
America/Phoenix | GMT-07:00 |
America/Chihuahua | GMT-07:00 |
America/Denver | GMT-07:00 |
America/Guatemala | GMT-06:00 |
America/Chicago | GMT-06:00 |
America/Mexico_City | GMT-06:00 |
America/Regina | GMT-06:00 |
America/Bogota | GMT-05:00 |
America/New_York | GMT-05:00 |
Etc/GMT+5 | GMT-05:00 |
America/Caracas | GMT-04:30 |
America/Asuncion | GMT-04:00 |
America/Halifax | GMT-04:00 |
America/Cuiaba | GMT-04:00 |
America/La_Paz | GMT-04:00 |
America/Santiago | GMT-04:00 |
America/St_Johns | GMT-03:30 |
America/Sao_Paulo | GMT-03:00 |
America/Buenos_Aires | GMT-03:00 |
America/Cayenne | GMT-03:00 |
America/Godthab | GMT-03:00 |
America/Montevideo | GMT-03:00 |
Etc/GMT+2 | GMT-02:00 |
Atlantic/Azores | GMT-01:00 |
Atlantic/Cape_Verde | GMT-01:00 |
Africa/Casablanca | GMT |
Etc/GMT | GMT |
Europe/London | GMT |
Atlantic/Reykjavik | GMT |
Europe/Berlin | GMT+01:00 |
Europe/Budapest | GMT+01:00 |
Europe/Paris | GMT+01:00 |
Europe/Warsaw | GMT+01:00 |
Africa/Lagos | GMT+01:00 |
Africa/Windhoek | GMT+01:00 |
Asia/Anman | GMT+02:00 |
Asia/Beirut | GMT+02:00 |
Africa/Cairo | GMT+02:00 |
Asia/Damascus | GMT+02:00 |
Africa/Johannesburg | GMT+02:00 |
Europe/Kiev | GMT+02:00 |
Asia/Jerusalem | GMT+02:00 |
Europe/Istanbul | GMT+03:00 |
Europe/Minsk | GMT+02:00 |
Asia/Baghdad | GMT+03:00 |
Asia/Riyadh | GMT+03:00 |
Africa/Nairobi | GMT+03:00 |
Asia/Tehran | GMT+03:30 |
Europe/Moscow | GMT+04:00 |
Asia/Dubai | GMT+04:00 |
Asia/Baku | GMT+04:00 |
Indian/Mauritius | GMT+04:00 |
Asia/Tbilisi | GMT+04:00 |
Asia/Yerevan | GMT+04:00 |
Asia/Kabul | GMT+04:30 |
Asia/Karachi | GMT+05:00 |
Asia//Tashkent | GMT+05:00 |
Asia/Calcutta | GMT+05:30 |
Asia/Colombo | GMT+05:30 |
Asia/Katmandu | GMT+05:45 |
Asia/Yekaterinburg | GMT+06:00 |
Asia/Almaty | GMT+06:00 |
Asia/Dhaka | GMT+06:00 |
Asia/Rangoon | GMT+06:30 |
Asia/Novosibirsk | GMT+07:00 |
Asia/Bangkok | GMT+07:00 |
Asia/Krasnoyarsk | GMT+08:00 |
Asia/Shanghai | GMT+08:00 |
Asia/Singapore | GMT+08:00 |
Australia/Perth | GMT+08:00 |
Asia/Taipei | GMT+08:00 |
Asia/Ulaanbaatar | GMT+08:00 |
Asia/Irkutsk | GMT+09:00 |
Asia/Tokyo | GMT+09:00 |
Asia/Seoul | GMT+09:00 |
Australia/Adelaide | GMT+09:30 |
Australia/Darwin | GMT+09:30 |
Asia/Yakutsk | GMT+10:00 |
Australia/Brisbane | GMT+10:00 |
Australia/Sydney | GMT+10:00 |
Pacific/Port Moresby | GMT+10:00 |
Australia/Hobart | GMT+10:00 |
Asia/Vladivostok | GMT+11:00 |
Pacific/Guadalcanal | GMT+11:00 |
Pacific/Auckland | GMT+12:00 |
Etc/GMT-12 | GMT+12:00 |
Pacific/Fiji | GMT+12:00 |
Asia/Kamchatka | GMT+12:00 |
Pacific/Tongatapu | GMT+13:00 |
The code string for defining a schedule is similar to these examples:
enableSchedule=true schedule startTime=14:27
enableSchedule=true schedule scheduleInterval=180
enableSchedule=true schedule timeZone=GMT-06:00
enableSchedule=true schedule timeZone="America/Chicago"
If you also use the scheduleInterval option, the firmware chooses between the timesPerDay option and the scheduleInterval option by selecting the lowest value of the two options. The firmware calculates an integer value for the scheduleInterval option by dividing 1440 by the scheduleInterval option value that you set. For example, 1440/180 = 8. The firmware then compares the timesPerDay integer value with the calculated scheduleInterval integer value and uses the smaller value.
To remove a schedule, use the delete volume command with the schedule parameter. The delete volume command with the schedule parameter deletes only the schedule, not the snapshot volume.