I'm looking at backing up our filer to tape for DR purposes. I've tested both smtape and dump and was surprised that dump was 3 times faster than smtape. The test was preformed on a idle filer. The filer is the destination for SnapMirrors at night and idle during the day.
Given that smtape is a block backup I'd expect it to be as fast or faster than dump. The test Volume contains a single LUN.
FAS3210> version NetApp Release 8.0.2P6 7-Mode: Fri Jan 27 14:48:08 PST 2012
- filer is idle
FAS3210> sysstat -u 1 CPU Total Net kB/s Disk kB/s Tape kB/s Cache Cache CP CP Disk ops/s in out read write read write age hit time ty util 2% 0 1 0 0 0 0 0 2s 100% 0% - 0% 1% 0 2 2 0 0 0 0 2s 100% 0% - 0%
- dump to null takes about 13 minutes
FAS3210> date; dump f null /vol/papayasg1_mirror; date Tue Oct 16 12:48:06 PDT 2012 DUMP: Using Full Volume Dump
DUMP: Dumping tape file 1 on null DUMP: Date of this level 0 dump: Tue Oct 16 03:17:08 2012. DUMP: Date of last level 0 dump: the epoch. DUMP: Dumping /vol/papayasg1_mirror to null DUMP: mapping (Pass I)[regular files] DUMP: mapping (Pass II)[directories] DUMP: estimated 126361315 KB. DUMP: dumping (Pass III) [directories] DUMP: dumping (Pass IV) [regular files] DUMP: Tue Oct 16 12:53:07 2012 : We have written 52672652 KB. 50GB@171MB/sec DUMP: Tue Oct 16 12:58:07 2012 : We have written 99181873 KB. 44GB@151MB/sec DUMP: dumping (Pass V) [ACLs] DUMP: 125867380 KB 120GB@155MB/sec DUMP: DUMP IS DONE Tue Oct 16 13:01:18 PDT 2012
- smtape backup to null takes 44 minutes
FAS3210> rdfile /etc/log/backup (null) Tue Oct 16 13:05:32 PDT /vol/papayasg1_mirror CLI-Backup (null) 19 Tue Oct 16 13:05:32 PDT / vol/papayasg1_mirror BKP-Start (level 0 backup of Backup Set ID 2bc95ed2-195f-11e2-8766-00a09813e8e0) 19 Tue Oct 16 13:05:32 PDT /vol/papayasg1_mirror BKP-Params (originator=CLI mode=dw-data tape_record_size=240KB tape=null all_snapshots tape_seeding) 19 Tue Oct 16 13:05:33 PDT /vol/papayasg1_mirror BKP-DW-Start 19 Tue Oct 16 13:50:26 PDT /vol/papayasg1_mirror BKP-DW-End (phase completed in 0:44:53; 34394279 blocks moved) 19 Tue Oct 16 13:50:26 PDT /vol/papayasg1_mirror BKP-Tape-Stats (wait_time=0s wait_count=0 total_count=0 avail_count=0/0/0/0) 19 Tue Oct 16 13:50:26 PDT /vol/papayasg1_mirror BKP-End (backed up 137.577 GB bytes in 0:44:54; performance=183.844 GB/hour)
Disclaimer: these are guesses extrapolated from unix.
One thing to check, is dump short-circuiting the write?
OS level writes to /dev/null can just validate their args with the MMU then return true, a dedicated low level backup tool might not have that optimisation. I tend to pipe through wc(1) when benchmarking to avoid getting fooled by that optimization.
On the other hand, high level user space system backup tools focused on writing to tape tend to use multi process tricks to double buffer so as to keep the tape streaming.