Ok first of all let me admit that my last post sounded more as a sales pitch rather than something technical though I am not a NetApp employee or paid by anyone to do blogging. However I must agree that whatever I have tried to show there was petty much similar available from other vendors so it was more about general awareness of technology rather than a particular vendor but in this post I will talk about Snapshot configuration and other functions in NetApp, so let’s start.
What is snapshot copy?
A Snapshot copy is a frozen, read-only image of a volume or an aggregate that captures the state of the file system at a point in time and each volume can hold maximum 255 Snapshot copies at one time.
Snapshots can be taken either by system at pre-defined schedule, Protection Manager Policies, SMO, SMVI, Filer view or manually running command at system console or through custom scripts.
How to disable client access to snapshot copy?
To disable client access of .snapshot volume you can give “vol options <volume_name> nosnapdir on” command.
Notes:
- Please DO NOT use any snap family of command without volume name as it may drive CPU processor to its peak for systems having lots of volume with a number of snapshots and it can hung the system which may result in system panic situation.
- Use “-A” if you want to run these command against any aggregate and replace volume name with aggregate name.
How to Configure Snapshots through system console?
It’s always recommended that when you provision a volume you should look at snapshot reserve and schedule as by default when a volume is created 20% of space is reserved for snapshots which most of the time you need to change for efficient usage of space and snapshots. Always ask requester what is the rate of change, how much snapshots he wants to have access to and when he wants to snapshots to be taken because if you take snapshot of some oracle data and database is not in hot-backup mode then it’s just utter waster and same goes for VM.
So once you have those details do a little calculation and then use these command to configure.
- ‘snap reserve <volume name> <snapshot reserve size in % volume size, gb, mb or kb>’
Example:
‘snap reserve testvol 10’
This command will allocate 10% of space for snapshots on volume “testvol” - ‘snap sched <volume name> <week days hour@list>’
Example:
‘snap sched testvol 4 7 7@9,11,13,15,17,19,21’
This command will define the automatic snapshot schedule, and here you specify how much weekly, daily or hourly snapshot you want to retain as well at what time hourly snapshot will be taken. In given example volume testvol is having 4 weekly, 7 daily and 7 hourly available where hourly snapshots are taken at 9,11,13,15,17,19 and 21 hours of system local time. Please make sure that ‘nosnap’ is set to off in volume options.
How to take snapshots manually?
To take the snapshot manually you can run below command.
“snap create <volume name> <snapshot name>”
Here volume name is the name of volume you want to take snapshot of and snapshot name is the name you want to identify snapshot with.
How to list snapshots?
You can check the status of snapshots associated with any volume with command
“snap list <volume name>”
After issuing the above command you will get similar output
testfiler> snap list testvol
Volume testvol
working...
%/used %/total date name
---------- ---------- ------------ --------
36% (36%) 0% ( 0%) Dec 02 16:00 hourly.0
50% (30%) 0% ( 0%) Dec 02 12:00 hourly.1
61% (36%) 0% ( 0%) Dec 02 08:00 hourly.2
62% ( 5%) 0% ( 0%) Dec 02 00:01 nightly.0
69% (36%) 0% ( 0%) Dec 01 20:00 hourly.3
73% (36%) 0% ( 0%) Dec 01 16:00 hourly.4
77% (36%) 0% ( 0%) Dec 01 00:01 nightly.1
What if you are running low on snap reserve?
Sometimes due to excessive rate of change in data, very soon snapshot reserve gets full and they over spill on data area of volume, to remediate this you have to either extend volume or delete old snapshots.
To resize the volume use “vol size” command and to delete the old snapshots you can use “snap delete” command which I will cover in next section, however before deleting if you want to check how much free space you can gain from this snapshot use below command
“snap reclaimable <volume name> <snapshot name> | <snapshot name>…”
Running above command will give you output as below and you can add multiple snapshot names after one other if you are not getting required free space by deleting one snapshot. Please note that you should select snapshots for deletion only from oldest to latest order otherwise blocks freed by deleting any middle snapshot will still be locked in its following snapshot
testfiler> snap reclaimable testvol nightly.1 hourly.4
Processing (Press Ctrl-C to exit) ............
snap reclaimable: Approximately 9572 Kbytes would be freed.
How to delete snapshot?
To delete the snapshot use command snap delete with volume name and snap name in below fashion
“snap delete <volume name> <snapshot name>”
Running this command will print similar information on screen
testvol> snap delete testvol hourly.5
Wed Dec 2 16:58:29 GMT [testfiler: wafl.snap.delete:info]: Snapshot copy hourly.5 on volume testvol NetApp was deleted by the Data ONTAP function snapcmd_delete. The unique ID for this Snapshot copy is (67, 3876).
How to know what is the actual rate of change?
Sometime on a particular volume very often you will be running out of snap reserve space as snapshots fill them up much before old snaps gets expire and deleted by auto delete function (if you have configured) and you must be interested to resize the snap reserve accurately to avoid any issues. So in order to check how much is the actual rate of change KB per/hour calculated from all the snapshots or between two snap on given volume you can use snap delta command.
“snap delta <volume name> [<1st snapshot name> <2nd snapshot name>]”
testfiler> snap delta testvol
Volume testvol
working...
From Snapshot To KB changed Time Rate (KB/hour)
--------------- -------------------- ----------- ------------ ---------------
hourly.0 Active File System 30044 0d 00:28 63176.635
hourly.1 hourly.0 552 0d 02:00 276.000
hourly.2 hourly.1 552 0d 01:59 276.115
weekly.0 hourly.2 628 0d 09:00 69.680
hourly.3 weekly.0 468 0d 03:00 155.956
hourly.4 hourly.3 552 0d 01:59 276.115
hourly.5 hourly.4 500 0d 02:00 249.895
hourly.6 hourly.5 548 0d 01:59 274.038
nightly.0 hourly.6 560 0d 14:59 37.334
nightly.1 nightly.0 700 0d 23:59 29.171
nightly.2 nightly.1 5392 1d 00:00 224.666
nightly.3 nightly.2 820 0d 23:59 34.172
nightly.4 nightly.3 2920 0d 23:59 121.687
nightly.5 nightly.4 880 1d 00:00 36.666
weekly.1 nightly.5 1111956 1d 00:00 46307.381
nightly.6 weekly.1 632 1d 00:00 26.333
weekly.2 nightly.6 42420 6d 00:00 294.583
weekly.3 weekly.2 8892 7d 00:00 52.928
Summary...
From Snapshot To KB changed Time Rate (KB/hour)
--------------- -------------------- ----------- ------------ ---------------
weekly.3 Active File System 1209016 21d 13:29 2336.320
That was all about configuring creating and deleting snapshots but what it’s good if you don’t know how to restore the data from snapshots for which you have done so much things. So, in next post I will address how to restore data from snapshot through snap restore command
No comments:
Post a Comment