User:Vidhyan: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Line 304: Line 304:


Ndmpcopy: Done
Ndmpcopy: Done

*'''NDMP copy and Treecompare result on the datasets'''

vidhyan-vsim1> ndmpcopy -l 0 -st text -dt text -da root: /vol/newvol 10.97.129.201:/vol/vidsvol

Ndmpcopy: Starting copy [ 1 ] ...

Ndmpcopy: vidhyan-vsim1: Notify: Connection established

Ndmpcopy: 10.97.129.201: Notify: Connection established

Ndmpcopy: vidhyan-vsim1: Connect: Authentication successful

Ndmpcopy: 10.97.129.201: Connect: Authentication successful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: creating "/vol/newvol/../snapshot_for_backup.0" snapshot.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Using Full Volume Dump

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of this level 0 dump: Tue Jul 15 16:15:13 2008.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of last level 0 dump: the epoch.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Dumping /vol/newvol to NDMP connection

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass I)[regular files]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass II)[directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: estimated 0 KB.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass III) [directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass IV) [regular files]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass V) [ACLs]

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 16:15:48 2008: Begin level 0 restore

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 16:15:49 2008: Reading directories from the backup

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 16:15:56 2008: Creating files and directories.

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 16:15:56 2008: Writing data to files.

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 16:15:56 2008: Restoring NT ACLs.

Ndmpcopy: 10.97.129.201: Log: RESTORE: RESTORE IS DONE

Ndmpcopy: vidhyan-vsim1: Log: DUMP: 11 KB

Ndmpcopy: 10.97.129.201: Log: RESTORE: The destination path is /vol/vidsvol/

Ndmpcopy: vidhyan-vsim1: Log: DUMP: DUMP IS DONE

Ndmpcopy: 10.97.129.201: Notify: restore successful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Deleting "/vol/newvol/../snapshot_for_backup.0" snapshot.

Ndmpcopy: vidhyan-vsim1: Notify: dump successful

Ndmpcopy: Transfer successful [ 47 seconds ]

Ndmpcopy: Done

</nowiki>


treecompare output:

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1013

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1014

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1015

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1016

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1017

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1018

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1019

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1020

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1021

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1022

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1023

TREECMP: Found tree2 only directory entry entry ./rstabRENAME487CE727

TREECMP: Comparing special files.

TREECMP: Comparing extended attributes for directories.

TREECMP: Comparing files.

TREECMP: Found data mismatch: block 0 in ./restore_symboltable

TREECMP: Found data mismatch: block 1 in ./restore_symboltable

TREECMP: Found data mismatch: block 2 in ./restore_symboltable

TREECMP: Found data mismatch: block 3 in ./restore_symboltable

TREECMP: Found data mismatch: block 4 in ./restore_symboltable

TREECMP: Found data mismatch: block 5 in ./restore_symboltable

TREECMP: Found data mismatch: block 6 in ./restore_symboltable

TREECMP: Found data mismatch: block 7 in ./restore_symboltable

TREECMP: Found data mismatch: block 8 in ./restore_symboltable

TREECMP: Found data mismatch: block 9 in ./restore_symboltable

TREECMP: Found size mismatch for ./restore_symboltable

TREECMP: Found atime mismatch for ./restore_symboltable

TREECMP: Found mtime mismatch for ./restore_symboltable

TREECMP: Found crtime mismatch for ./restore_symboltable

TREECMP: Done. Wed Jul 16 17:10:41 GMT

tree1_only = 0, tree2_only = 1, mismatch = 1038

* NFSv4 ACLS

n-vsim1> ndmpcopy -l 0 -st text -dt text -da r oot: /vol/vol3 10.97.129.201:/vol/vol4

Ndmpcopy: Starting copy [ 1 ] ...

Ndmpcopy: vidhyan-vsim1: Notify: Connection establis hed

Ndmpcopy: 10.97.129.201: Notify: Connection establis hed

Ndmpcopy: vidhyan-vsim1: Connect: Authentication suc cessful

Ndmpcopy: 10.97.129.201: Connect: Authentication suc cessful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: creating "/vol/vol3/../snapshot_for_backup.4" snapshot.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Using Full Volume Dump

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of this level 0 dump: Tue Jul 15 17:34:00 2008.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of last level 0 dump: the epoch.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Dumping /vol/vol3 to NDMP connection

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass I)[regular files]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass II)[directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: estimated 94 KB.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass III) [directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass IV) [regular files]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass V) [ACLs]

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:34:24 2008: Begin level 0 restore

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:34:24 2008: Reading directories from the backup

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:34:31 2008: Creating files and directories.

Ndmpcopy: 10.97.129.201: Log: RESTORE: The directory: ./restore_symboltable could not be restored with its original name.

Ndmpcopy: 10.97.129.201: Log: RESTORE: It has been renamed to: ./rstabRENAME487CE1C7

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:34:31 2008: Writing data to files.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: 93 KB

Ndmpcopy: 10.97.129.201: Log: RESTORE: RESTORE IS DONE

Ndmpcopy: vidhyan-vsim1: Log: DUMP: DUMP IS DONE

Ndmpcopy: 10.97.129.201: Log: RESTORE: The destination path is /vol/vol4/

Ndmpcopy: 10.97.129.201: Notify: restore successful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Deleting "/vol/vol3/../snapshot_for_backup.4" snapshot.

Ndmpcopy: vidhyan-vsim1: Notify: dump successful

Ndmpcopy: Transfer successful [ 38 seconds ]

Ndmpcopy: Done

Treecompare output: vidhyan-vsim1*> treecompare start -c -L checksum /vol/vol3/.snapshot/snapvol3 /vol/vol4/.snapshot/snapvol4

TREECMP: Start. Wed Jul 16 17:06:34 GMT, compare with checksum

TREECMP: Comparing directories.

TREECMP: Found atime mismatch for .

TREECMP: Found tree2 only directory entry entry ./rstabRENAME487CE1C7

TREECMP: Comparing special files.

TREECMP: Comparing extended attributes for directories.

TREECMP: Comparing files.

TREECMP: Found data mismatch: block 0 in ./restore_symboltable

TREECMP: Found data mismatch: block 1 in ./restore_symboltable

TREECMP: Found data mismatch: block 2 in ./restore_symboltable

TREECMP: Found data mismatch: block 3 in ./restore_symboltable

TREECMP: Found data mismatch: block 4 in ./restore_symboltable

TREECMP: Found data mismatch: block 5 in ./restore_symboltable

TREECMP: Found size mismatch for ./restore_symboltable

TREECMP: Found atime mismatch for ./restore_symboltable

TREECMP: Found mtime mismatch for ./restore_symboltable

TREECMP: Found crtime mismatch for ./restore_symboltable

TREECMP: Done. Wed Jul 16 17:06:34 GMT

tree1_only = 0, tree2_only = 1, mismatch = 11

* NTACLS

n-vsim1> ndmpcopy -l 0 -st text -dt text -da r oot: /vol/vol5 10.97.129.201:/vol/vol6

Ndmpcopy: Starting copy [ 2 ] ...

Ndmpcopy: vidhyan-vsim1: Notify: Connection establis hed

Ndmpcopy: 10.97.129.201: Notify: Connection establis hed

Ndmpcopy: vidhyan-vsim1: Connect: Authentication suc cessful

Ndmpcopy: 10.97.129.201: Connect: Authentication suc cessful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: creating "/vol/v ol5/../snapshot_for_backup.7" snapshot.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Using Full Volum e Dump

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of this level 0 dump: Tue Jul 15 17:40:14 2008.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of last level 0 dump: the epoch.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Dumping /vol/vol5 to NDMP connection

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass I)[regular files]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass II)[directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: estimated 21571 KB.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass III) [directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass IV) [regular files]

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:40:38 2008: Begin level 0 restore

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:40:38 2008: Reading directories from the backup

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:40:45 2008: Creating files and directories.

Ndmpcopy: 10.97.129.201: Log: RESTORE: The directory: ./restore_symboltable could not be restored with its original name.

Ndmpcopy: 10.97.129.201: Log: RESTORE: It has been renamed to: ./rstabRENAME487CF84BNdmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:40:45 2008: Writing data to files.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass V) [ACLs]

Ndmpcopy: 10.97.129.201: Log: RESTORE: RESTORE IS DONE

Ndmpcopy: 10.97.129.201: Log: RESTORE: The destination path is /vol/vol6/

Ndmpcopy: 10.97.129.201: Notify: restore successful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: 21575 KB

Ndmpcopy: vidhyan-vsim1: Log: DUMP: DUMP IS DONE

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Deleting "/vol/vol5/../snapshot_for_backup.7" snapshot.

Ndmpcopy: vidhyan-vsim1: Notify: dump successful

Ndmpcopy: Transfer successful [ 45 seconds ]

Ndmpcopy: Done

Treecompare output:

vidhyan-vsim1*> treecompare start -c -L checksum /vol/vol5/.snapshot/snapvol5 /vol/vol6/.snapshot/snapvol6

TREECMP: Start. Wed Jul 16 17:14:48 GMT, compare with checksum

TREECMP: Comparing directories.

TREECMP: Found atime mismatch for .

TREECMP: Found tree2 only directory entry entry ./rstabRENAME487CF84B

TREECMP: Comparing special files.

TREECMP: Comparing extended attributes for directories.

TREECMP: Comparing files.

TREECMP: Found data mismatch: block 0 in ./restore_symboltable

TREECMP: Found data mismatch: block 1 in ./restore_symboltable

TREECMP: Found data mismatch: block 2 in ./restore_symboltable

TREECMP: Found data mismatch: block 3 in ./restore_symboltable

TREECMP: Found data mismatch: block 4 in ./restore_symboltable

TREECMP: Found data mismatch: block 5 in ./restore_symboltable

TREECMP: Found size mismatch for ./restore_symboltable

TREECMP: Found atime mismatch for ./restore_symboltable

TREECMP: Found mtime mismatch for ./restore_symboltable

TREECMP: Found crtime mismatch for ./restore_symboltable

TREECMP: Done. Wed Jul 16 17:15:41 GMT

tree1_only = 0, tree2_only = 1, mismatch = 11

* NTStreams

n-vsim1> ndmpcopy -l 0 -st text -dt text -da root: /vol/vol7 10.97.129.201:/vo l/vol8

Ndmpcopy: Starting copy [ 3 ] ...

Ndmpcopy: vidhyan-vsim1: Notify: Connection established

Ndmpcopy: 10.97.129.201: Notify: Connection established

Ndmpcopy: vidhyan-vsim1: Connect: Authentication successful

Ndmpcopy: 10.97.129.201: Connect: Authentication successful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: creating "/vol/vol7/../snapshot_for_backup.10" s napshot.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Using Full Volume Dump

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of this level 0 dump: Tue Jul 15 17:45:30 2 008.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of last level 0 dump: the epoch.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Dumping /vol/vol7 to NDMP connection

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass I)[regular files]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass II)[directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: estimated 359 KB.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass III) [directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass IV) [regular files]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass V) [ACLs]

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:45:56 2008: Begin level 0 resto re

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:45:56 2008: Reading directories from the backup

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:46:02 2008: Creating files and directories.

Ndmpcopy: 10.97.129.201: Log: RESTORE: The directory: ./restore_symboltable could no t be restored with its original name.

Ndmpcopy: 10.97.129.201: Log: RESTORE: It has been renamed to: ./rstabRENAME487CF99B

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:46:02 2008: Writing data to fil es.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: 305 KB

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:46:03 2008: Restoring NT ACLs.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: DUMP IS DONE

Ndmpcopy: 10.97.129.201: Log: RESTORE: RESTORE IS DONE

Ndmpcopy: 10.97.129.201: Log: RESTORE: The destination path is /vol/vol8/

Ndmpcopy: 10.97.129.201: Notify: restore successful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Deleting "/vol/vol7/../snapshot_for_backup.10" s napshot.

Ndmpcopy: vidhyan-vsim1: Notify: dump successful

Ndmpcopy: Transfer successful [ 40 seconds ]

Ndmpcopy: Done

treecompare output:

vidhyan-vsim1*> treecompare start -c -L checksum /vol/vol7/.snapshot/snapvol7 /vol/vol8/.snapshot/snapvol8

TREECMP: Start. Wed Jul 16 17:17:12 GMT, compare with checksum

TREECMP: Comparing directories.

TREECMP: Found tree2 only directory entry entry ./rstabRENAME487CF99B

TREECMP: Comparing special files.

TREECMP: Comparing extended attributes for directories.

TREECMP: Comparing files.

TREECMP: Found data mismatch: block 0 in ./restore_symboltable

TREECMP: Found data mismatch: block 1 in ./restore_symboltable

TREECMP: Found data mismatch: block 2 in ./restore_symboltable

TREECMP: Found data mismatch: block 3 in ./restore_symboltable

TREECMP: Found data mismatch: block 4 in ./restore_symboltable

TREECMP: Found data mismatch: block 5 in ./restore_symboltable

TREECMP: Found size mismatch for ./restore_symboltable

TREECMP: Found atime mismatch for ./restore_symboltable

TREECMP: Found mtime mismatch for ./restore_symboltable

TREECMP: Found crtime mismatch for ./restore_symboltable

TREECMP: Done. Wed Jul 16 17:17:16 GMT

tree1_only = 0, tree2_only = 1, mismatch = 10


==Problems faced==
==Problems faced==

Revision as of 22:29, 18 August 2008

FIO enhancements

Intern  : Vidhya Nagarajan

Mentor  : Luis Arruda

Manager  : Sudheer Apte

Goal

The goal of my project is to enable modularity in FIO and Unit Test its functionality.

What is FIO?

FIO is a bunch of functions used to access WAFL files. It presents a POSIX-like API to create, open, write, etc.

These are some clients of FIO:

  • local configuration files
  • dump/restore
  • qtree quota checks
  • Coral files etc.

Scope

FIO has multiple clients. NDMP is one such client which uses FIO for dump and restore. For convergence, We are starting to unify the FIO interface for both 7-mode and 10-mode volumes. Meanwhile, we need to continue to support NDMP and all other clients of FIO. We basically need test cases to analyze how each one of these clients interact with FIO. Focusing on one client(NDMP) for now will put things in perspective.

Currently for the Boilermaker(BR) release, the NDMP dump/restore is not working the way it worked in 7G.This is because the spinnp fileops used in BR don't support all the features used by FIO yet and also there is a growing need for a test Infrastructure.

Strategy

  • Since NDMP dump/restore worked in 7G, a good idea of how it worked would give us insight on the changes that need to be made for BR. The difficulty lies in the improper documentation of FIO.
  • My first step is to figure out how FIO works on 7G and develop use cases to improve understanding.
  • Later I plan on extending the use cases to come up with a Unit Test for FIO.

Approach

1) The first thing that needs to be done is to Use NDMP dump/restore commands on Different filers.

2) Cover the NDMPcopy tests being done by the NDMP QA team.

3)The different data sets that will be made use for running these test commands are: (courtesy vijay)

   * Longlinks
   * nfsv4acls
   * ntacls
   * ntstreams
   * compat_data_dump (the full dataset used by NDMP QA).

4)The different scenarios for testing are:

   * IC to BR 7-mode
   * BR 7-mode to BR 10-mode
   * BR 7-mode to BR 7-mode
   * BR 7-mode to IC
   * BR 10-mode to BR-7 mode (cannot run treecompare)
   * BR 10-mode to BR 10-mode (cannot run treecompare)

5)This would give a good idea about how NDMP makes FIO calls.

6)Once this is done, using cscope various function calls made by NDMP needs to be analyzed. This would help in testing it functionally.

7)Results

Consolidated test result
Security Style MIXED NTFS
NT ACLs Fail Fail
NFS V4 ACLs Fail Fail
NT Streams Fail Fail
Sym Links Pass Fail
DOSbit Fail Fail
UID,GID,Permissions Fail Fail
mtime Fail Fail

Preparation for testing

6/27/08

Insert print statements for the commands in bkp_rcv_fio.c and run the 'ndmpcopy' command. This would give a clear idea about the order of execution of the functions.

Introduce break points in the code and run the code in the debugger mode. If the above method works, this one is probably not needed.

07/01/08

Results :

vidhyan> ndmpcopy -l 0 -st text -dt text -da root: /vol/newvol 10.97.129.201:/vol/newvol1

Ndmpcopy: Starting copy [ 8 ] ...

Ndmpcopy: vidhyan: Notify: Connection established

Ndmpcopy: 10.97.129.201: Notify: Connection established

Ndmpcopy: vidhyan: Connect: Authentication successful

Ndmpcopy: 10.97.129.201: Connect: Authentication successful

Ndmpcopy: vidhyan: Log: DUMP: creating "/vol/newvol/../snapshot_for_backup.0" snapshot.

Ndmpcopy: vidhyan: Log: DUMP: Using Full Volume Dump

fio_get_volume_from_path

fio_exist_metadir

fio_mkdir_metadir

fio_mkdir_metadir

fio_unlink_metadir

fio_mapfile_metadir

fio_vm_setsize

Ndmpcopy: vidhyan: Log: DUMP: Date of this level 0 dump: Tue Jul 8 16:48:41 2008.

Ndmpcopy: vidhyan: Log: DUMP: Date of last level 0 dump: the epoch.

Ndmpcopy: vidhyan: Log: DUMP: Dumping /vol/newvol to NDMP connection

Ndmpcopy: vidhyan: Log: DUMP: mapping (Pass I)[regular files]

Ndmpcopy: vidhyan: Log: DUMP: mapping (Pass II)[directories]

Ndmpcopy: vidhyan: Log: DUMP: estimated 0 KB.

Ndmpcopy: vidhyan: Log: DUMP: dumping (Pass III) [directories]

Ndmpcopy: vidhyan: Log: DUMP: dumping (Pass IV) [regular files]

Ndmpcopy: vidhyan: Log: DUMP: dumping (Pass V) [ACLs]

fio_unlink_metadir

fio_mapfile_metadir

fio_vm_setsize

fio_unlink_metadir

fio_mapfile_metadir

fio_vm_setsize

fio_statfs

fio_unlink_metadir

fio_creat_metadir

fio_unlink_metadir

fio_mapfile_metadir

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 8 16:49:12 2008: Begin level 0 restore

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 8 16:49:12 2008: Reading directories from the backup fio_vm_setsize

fio_write

fio_lseek

fio_close

fio_getfh

fio_unlink_metadir

fio_creat_metadir

fio_unlink_metadir

fio_mapfile_metadir

fio_vm_setsize

fio_open_metadir

fio_lseek

fio_read

fio_setattr

fio_qtree_enable_oplocks

fio_close

fio_open_metadir

fio_close

fio_creat

fio_write

fio_lseek

fio_write

fio_write

fio_write

fio_close

fio_setattr

fio_qtree_enable_oplocks

fio_close

fio_open_metadir

fio_open

fio_read

fio_lseek

fio_write

fio_close

fio_setattr

fio_qtree_enable_oplocks

fio_unlink_metadir

fio_unmapfile

fio_unlink_metadir

fio_unlink_metadir

fio_unlink_metadir

fio_unmapfile

fio_unlink_metadir

fio_unmapfile

fio_unlink_metadir

fio_unmapfile

fio_unlink_metadir

fio_close

fio_unlink_metadir

fio_unmapfile

fio_unlink_metadir

fio_exist_metadir

fio_recrmdir_metadir

Ndmpcopy: vidhyan: Log: DUMP: 11 KB

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 8 16:49:19 2008: Creating files and directories.

Ndmpcopy: vidhyan: Log: DUMP: DUMP IS DONE

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 8 16:49:19 2008: Writing data to files.

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 8 16:49:19 2008: Restoring NT ACLs.

Ndmpcopy: 10.97.129.201: Log: RESTORE: RESTORE IS DONE

Ndmpcopy: 10.97.129.201: Log: RESTORE: The destination path is /vol/newvol1/

Ndmpcopy: 10.97.129.201: Notify: restore successful

Ndmpcopy: vidhyan: Log: DUMP: Deleting "/vol/newvol/../snapshot_for_backup.0" snapshot.

Ndmpcopy: vidhyan: Notify: dump successful

Ndmpcopy: Transfer successful [ 47 seconds ]

Ndmpcopy: Done

  • NDMP copy and Treecompare result on the datasets

vidhyan-vsim1> ndmpcopy -l 0 -st text -dt text -da root: /vol/newvol 10.97.129.201:/vol/vidsvol

Ndmpcopy: Starting copy [ 1 ] ...

Ndmpcopy: vidhyan-vsim1: Notify: Connection established

Ndmpcopy: 10.97.129.201: Notify: Connection established

Ndmpcopy: vidhyan-vsim1: Connect: Authentication successful

Ndmpcopy: 10.97.129.201: Connect: Authentication successful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: creating "/vol/newvol/../snapshot_for_backup.0" snapshot.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Using Full Volume Dump

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of this level 0 dump: Tue Jul 15 16:15:13 2008.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of last level 0 dump: the epoch.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Dumping /vol/newvol to NDMP connection

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass I)[regular files]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass II)[directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: estimated 0 KB.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass III) [directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass IV) [regular files]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass V) [ACLs]

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 16:15:48 2008: Begin level 0 restore

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 16:15:49 2008: Reading directories from the backup

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 16:15:56 2008: Creating files and directories.

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 16:15:56 2008: Writing data to files.

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 16:15:56 2008: Restoring NT ACLs.

Ndmpcopy: 10.97.129.201: Log: RESTORE: RESTORE IS DONE

Ndmpcopy: vidhyan-vsim1: Log: DUMP: 11 KB

Ndmpcopy: 10.97.129.201: Log: RESTORE: The destination path is /vol/vidsvol/

Ndmpcopy: vidhyan-vsim1: Log: DUMP: DUMP IS DONE

Ndmpcopy: 10.97.129.201: Notify: restore successful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Deleting "/vol/newvol/../snapshot_for_backup.0" snapshot.

Ndmpcopy: vidhyan-vsim1: Notify: dump successful

Ndmpcopy: Transfer successful [ 47 seconds ]

Ndmpcopy: Done

</nowiki>


treecompare output:

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1013

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1014

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1015

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1016

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1017

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1018

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1019

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1020

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1021

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1022

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1023

TREECMP: Found tree2 only directory entry entry ./rstabRENAME487CE727

TREECMP: Comparing special files.

TREECMP: Comparing extended attributes for directories.

TREECMP: Comparing files.

TREECMP: Found data mismatch: block 0 in ./restore_symboltable

TREECMP: Found data mismatch: block 1 in ./restore_symboltable

TREECMP: Found data mismatch: block 2 in ./restore_symboltable

TREECMP: Found data mismatch: block 3 in ./restore_symboltable

TREECMP: Found data mismatch: block 4 in ./restore_symboltable

TREECMP: Found data mismatch: block 5 in ./restore_symboltable

TREECMP: Found data mismatch: block 6 in ./restore_symboltable

TREECMP: Found data mismatch: block 7 in ./restore_symboltable

TREECMP: Found data mismatch: block 8 in ./restore_symboltable

TREECMP: Found data mismatch: block 9 in ./restore_symboltable

TREECMP: Found size mismatch for ./restore_symboltable

TREECMP: Found atime mismatch for ./restore_symboltable

TREECMP: Found mtime mismatch for ./restore_symboltable

TREECMP: Found crtime mismatch for ./restore_symboltable

TREECMP: Done. Wed Jul 16 17:10:41 GMT

tree1_only = 0, tree2_only = 1, mismatch = 1038

  • NFSv4 ACLS

n-vsim1> ndmpcopy -l 0 -st text -dt text -da r oot: /vol/vol3 10.97.129.201:/vol/vol4

Ndmpcopy: Starting copy [ 1 ] ...

Ndmpcopy: vidhyan-vsim1: Notify: Connection establis hed

Ndmpcopy: 10.97.129.201: Notify: Connection establis hed

Ndmpcopy: vidhyan-vsim1: Connect: Authentication suc cessful

Ndmpcopy: 10.97.129.201: Connect: Authentication suc cessful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: creating "/vol/vol3/../snapshot_for_backup.4" snapshot.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Using Full Volume Dump

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of this level 0 dump: Tue Jul 15 17:34:00 2008.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of last level 0 dump: the epoch.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Dumping /vol/vol3 to NDMP connection

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass I)[regular files]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass II)[directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: estimated 94 KB.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass III) [directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass IV) [regular files]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass V) [ACLs]

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:34:24 2008: Begin level 0 restore

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:34:24 2008: Reading directories from the backup

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:34:31 2008: Creating files and directories.

Ndmpcopy: 10.97.129.201: Log: RESTORE: The directory: ./restore_symboltable could not be restored with its original name.

Ndmpcopy: 10.97.129.201: Log: RESTORE: It has been renamed to: ./rstabRENAME487CE1C7

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:34:31 2008: Writing data to files.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: 93 KB

Ndmpcopy: 10.97.129.201: Log: RESTORE: RESTORE IS DONE

Ndmpcopy: vidhyan-vsim1: Log: DUMP: DUMP IS DONE

Ndmpcopy: 10.97.129.201: Log: RESTORE: The destination path is /vol/vol4/

Ndmpcopy: 10.97.129.201: Notify: restore successful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Deleting "/vol/vol3/../snapshot_for_backup.4" snapshot.

Ndmpcopy: vidhyan-vsim1: Notify: dump successful

Ndmpcopy: Transfer successful [ 38 seconds ]

Ndmpcopy: Done

Treecompare output: vidhyan-vsim1*> treecompare start -c -L checksum /vol/vol3/.snapshot/snapvol3 /vol/vol4/.snapshot/snapvol4

TREECMP: Start. Wed Jul 16 17:06:34 GMT, compare with checksum

TREECMP: Comparing directories.

TREECMP: Found atime mismatch for .

TREECMP: Found tree2 only directory entry entry ./rstabRENAME487CE1C7

TREECMP: Comparing special files.

TREECMP: Comparing extended attributes for directories.

TREECMP: Comparing files.

TREECMP: Found data mismatch: block 0 in ./restore_symboltable

TREECMP: Found data mismatch: block 1 in ./restore_symboltable

TREECMP: Found data mismatch: block 2 in ./restore_symboltable

TREECMP: Found data mismatch: block 3 in ./restore_symboltable

TREECMP: Found data mismatch: block 4 in ./restore_symboltable

TREECMP: Found data mismatch: block 5 in ./restore_symboltable

TREECMP: Found size mismatch for ./restore_symboltable

TREECMP: Found atime mismatch for ./restore_symboltable

TREECMP: Found mtime mismatch for ./restore_symboltable

TREECMP: Found crtime mismatch for ./restore_symboltable

TREECMP: Done. Wed Jul 16 17:06:34 GMT

tree1_only = 0, tree2_only = 1, mismatch = 11

  • NTACLS

n-vsim1> ndmpcopy -l 0 -st text -dt text -da r oot: /vol/vol5 10.97.129.201:/vol/vol6

Ndmpcopy: Starting copy [ 2 ] ...

Ndmpcopy: vidhyan-vsim1: Notify: Connection establis hed

Ndmpcopy: 10.97.129.201: Notify: Connection establis hed

Ndmpcopy: vidhyan-vsim1: Connect: Authentication suc cessful

Ndmpcopy: 10.97.129.201: Connect: Authentication suc cessful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: creating "/vol/v ol5/../snapshot_for_backup.7" snapshot.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Using Full Volum e Dump

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of this level 0 dump: Tue Jul 15 17:40:14 2008.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of last level 0 dump: the epoch.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Dumping /vol/vol5 to NDMP connection

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass I)[regular files]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass II)[directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: estimated 21571 KB.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass III) [directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass IV) [regular files]

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:40:38 2008: Begin level 0 restore

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:40:38 2008: Reading directories from the backup

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:40:45 2008: Creating files and directories.

Ndmpcopy: 10.97.129.201: Log: RESTORE: The directory: ./restore_symboltable could not be restored with its original name.

Ndmpcopy: 10.97.129.201: Log: RESTORE: It has been renamed to: ./rstabRENAME487CF84BNdmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:40:45 2008: Writing data to files.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass V) [ACLs]

Ndmpcopy: 10.97.129.201: Log: RESTORE: RESTORE IS DONE

Ndmpcopy: 10.97.129.201: Log: RESTORE: The destination path is /vol/vol6/

Ndmpcopy: 10.97.129.201: Notify: restore successful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: 21575 KB

Ndmpcopy: vidhyan-vsim1: Log: DUMP: DUMP IS DONE

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Deleting "/vol/vol5/../snapshot_for_backup.7" snapshot.

Ndmpcopy: vidhyan-vsim1: Notify: dump successful

Ndmpcopy: Transfer successful [ 45 seconds ]

Ndmpcopy: Done

Treecompare output:

vidhyan-vsim1*> treecompare start -c -L checksum /vol/vol5/.snapshot/snapvol5 /vol/vol6/.snapshot/snapvol6

TREECMP: Start. Wed Jul 16 17:14:48 GMT, compare with checksum

TREECMP: Comparing directories.

TREECMP: Found atime mismatch for .

TREECMP: Found tree2 only directory entry entry ./rstabRENAME487CF84B

TREECMP: Comparing special files.

TREECMP: Comparing extended attributes for directories.

TREECMP: Comparing files.

TREECMP: Found data mismatch: block 0 in ./restore_symboltable

TREECMP: Found data mismatch: block 1 in ./restore_symboltable

TREECMP: Found data mismatch: block 2 in ./restore_symboltable

TREECMP: Found data mismatch: block 3 in ./restore_symboltable

TREECMP: Found data mismatch: block 4 in ./restore_symboltable

TREECMP: Found data mismatch: block 5 in ./restore_symboltable

TREECMP: Found size mismatch for ./restore_symboltable

TREECMP: Found atime mismatch for ./restore_symboltable

TREECMP: Found mtime mismatch for ./restore_symboltable

TREECMP: Found crtime mismatch for ./restore_symboltable

TREECMP: Done. Wed Jul 16 17:15:41 GMT

tree1_only = 0, tree2_only = 1, mismatch = 11

   * NTStreams

n-vsim1> ndmpcopy -l 0 -st text -dt text -da root: /vol/vol7 10.97.129.201:/vo l/vol8

Ndmpcopy: Starting copy [ 3 ] ...

Ndmpcopy: vidhyan-vsim1: Notify: Connection established

Ndmpcopy: 10.97.129.201: Notify: Connection established

Ndmpcopy: vidhyan-vsim1: Connect: Authentication successful

Ndmpcopy: 10.97.129.201: Connect: Authentication successful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: creating "/vol/vol7/../snapshot_for_backup.10" s napshot.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Using Full Volume Dump

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of this level 0 dump: Tue Jul 15 17:45:30 2 008.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of last level 0 dump: the epoch.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Dumping /vol/vol7 to NDMP connection

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass I)[regular files]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass II)[directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: estimated 359 KB.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass III) [directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass IV) [regular files]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass V) [ACLs]

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:45:56 2008: Begin level 0 resto re

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:45:56 2008: Reading directories from the backup

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:46:02 2008: Creating files and directories.

Ndmpcopy: 10.97.129.201: Log: RESTORE: The directory: ./restore_symboltable could no t be restored with its original name.

Ndmpcopy: 10.97.129.201: Log: RESTORE: It has been renamed to: ./rstabRENAME487CF99B

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:46:02 2008: Writing data to fil es.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: 305 KB

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:46:03 2008: Restoring NT ACLs.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: DUMP IS DONE

Ndmpcopy: 10.97.129.201: Log: RESTORE: RESTORE IS DONE

Ndmpcopy: 10.97.129.201: Log: RESTORE: The destination path is /vol/vol8/

Ndmpcopy: 10.97.129.201: Notify: restore successful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Deleting "/vol/vol7/../snapshot_for_backup.10" s napshot.

Ndmpcopy: vidhyan-vsim1: Notify: dump successful

Ndmpcopy: Transfer successful [ 40 seconds ]

Ndmpcopy: Done

treecompare output:

vidhyan-vsim1*> treecompare start -c -L checksum /vol/vol7/.snapshot/snapvol7 /vol/vol8/.snapshot/snapvol8

TREECMP: Start. Wed Jul 16 17:17:12 GMT, compare with checksum

TREECMP: Comparing directories.

TREECMP: Found tree2 only directory entry entry ./rstabRENAME487CF99B

TREECMP: Comparing special files.

TREECMP: Comparing extended attributes for directories.

TREECMP: Comparing files.

TREECMP: Found data mismatch: block 0 in ./restore_symboltable

TREECMP: Found data mismatch: block 1 in ./restore_symboltable

TREECMP: Found data mismatch: block 2 in ./restore_symboltable

TREECMP: Found data mismatch: block 3 in ./restore_symboltable

TREECMP: Found data mismatch: block 4 in ./restore_symboltable

TREECMP: Found data mismatch: block 5 in ./restore_symboltable

TREECMP: Found size mismatch for ./restore_symboltable

TREECMP: Found atime mismatch for ./restore_symboltable

TREECMP: Found mtime mismatch for ./restore_symboltable

TREECMP: Found crtime mismatch for ./restore_symboltable

TREECMP: Done. Wed Jul 16 17:17:16 GMT

tree1_only = 0, tree2_only = 1, mismatch = 10

Problems faced

  • BEWARE OF OUTDATED WIKI's. THERE ARE TONS OF THEM!!
  • P4 License

Even after taking the quiz successfully, it did not show up in the stored result. Make sure 1. You send an email to dl-p4-admins after taking the quiz so that they know you took the quiz.

2. .b4p4rc file is correct.

  • Vsims

Had difficulty in cluster creation. The command given in wikid has some missing fields.

The correct cluster create command is :

vidhyan:vsim1::> cluster create -clustername <vsim name> -license NWUZZJPJYBFDAA -ipmgmt <cluster mgmt ip> -netmaskmgmt 255.255.248.0 -gatewaymgmt 10.97.0.1 -portmgmt e0d -ipaddr1 <c1 IP> -netmask1 255.255.248.0 -ipaddr2 <c2 IP> -netmask2 255.255.248.0

Useful Material

These links helped me understand WAFL, FIO and ONTAP.

  • WAFL&FIO
 http://wikid.netapp.com/w/User:Rsmith/WAFL_Intro
 http://wikid.netapp.com/w/Nane-Wafl:Main
  • ONTAP
 http://wikid.netapp.com/w/ConvergenceArchitectureSpec
 http://wikid.netapp.com/w/HHG/Software-4.0/ClusteredONTAPDevProcess
 http://busops-web.corp.netapp.com/core_systems/convergence/index.html
  • BR Spec Depot
 http://wikid.netapp.com/w/Boilermaker_Design_Depot
  • Coverity
 http://coverity.eng.netapp.com:5105/doc/checker_ref.html
  • Training Videos
 http://wikid.netapp.com/w/Nane-Wafl:Online_Training
  • Vsims
 http://wikid.netapp.com/w/OS_Group/Simulator/VSim_User_Guide
  • P4 guide
 http://wikid.netapp.com/w/HHG/Perforce_Primer-2.6/Quick_Start

Notes

NDMP dump/restore - How it works?

The NDMP dump/restore is basically a means of backing up data. In case something goes wrong with the current data, the dumped data can be restored and normal operations can be done on it as usual. Its a way of making a remote copy.

Steps followed :

1. A snapshot of the existing file system is created. A snapshot is a read only copy.

2. While issuing a dump command, The dump module reads the snapshot and figures out the hierarchy of the file system to be dumped.

3. This structure is first written to a serialized interface where the data is to be dumped. This structure format is used at the restore side to recreate the file hierarchy.

4. After dumping the hierarchy(empty nodes) the data is also dumped to the serialized interface.

5. While restoring, the restore module first reads the hierarchy of the file system ( since it was written first - FIFO) and created empty directories and files.

6. later it reads the data from the interface and restores it at the destination.

7. In order to restore the data back to the source, a dump has to be done to interface from the destination and then a restore has to be done to source.

Qtrees

Qtrees are special sub-directories in a volume that acts as a virtual subvolume with special attributes, primarily quotas and permissions. They are usually limited by size.

NDMPCOPY procedure:

1.Open a terminal. log into one of the cycl servers.(say cycl09)

2.Do a vsim make

  [vidhyan@cycl09] vsim make -quickl -ir /u/vidhyan/p4/new( client name) -d x86 -7m vsimnew( vsim identifier)

(remember to include -d for the debugger mode for 7m)

3.Once vsim make is done. connect to the server and create console

  [vidhyan@cycl09] vsim rcons vsimnew 
  [vidhyan@cycl09] vsim cons vsimnew

The terminal would hang. Just leave that as it is and open another terminal

4. Start the Vsim

  [vidhyan@cycl09] vsim start vsimnew

5. The previous terminal where the rcons and cons commands were running would load the simulator. In case it goes to the boot menu select option 4 press ctrl + c after "7-mode system"

Make sure the client is updated. Else you might hit on Burt 299558 and encounter the following when you choose "Normal boot" form the menu.

disk (A82FC887:BB0B00C0:A82FC887:BB0B00C0:A82FC887:BB0B00C0:A82FC887:BB0B00C0:A82FC887:BB0B00C0) not found disk (C887BB0B:00C0A82F:C887BB0B:00C0A82F:C887BB0B:00C0A82F:C887BB0B:00C0A82F:C887BB0B:00C0A82F) not found disk (00C0A82F:C887BB0B:00C0A82F:C887BB0B:00C0A82F:C887BB0B:00C0A82F:C887BB0B:00C0A82F:C887BB0B) not found disk (A82FC887:BB0B00C0:A82FC887:BB0B00C0:A82FC887:BB0B00C0:A82FC887:BB0B00C0:A82FC887:BB0B00C0) not found disk (C887BB0B:00C0A82F:C887BB0B:00C0A82F:C887BB0B:00C0A82F:C887BB0B:00C0A82F:C887BB0B:00C0A82F) not found disk (00C0A82F:C887BB0B:00C0A82F:C887BB0B:00C0A82F:C887BB0B:00C0A82F:C887BB0B:00C0A82F:C887BB0B) not found disk (A82FC887:BB0B00C0:A82FC887:BB0B00C0:A82FC887:BB0B00C0:A82FC887:BB0B00C0:A82FC887:BB0B00C0) not found

6.If this happens, then choose option 44/7 from the 1-7 option and set disk own all.

7.If it goes to the SIMLOADER prompt,

  SIMLOADER> setup 
  Are you sure you want to continue? [yes] yes
  Please enter the new hostname [vidhyan-vsim1]:
  Do you want to configure interface groups? [n]:
  Please enter the IP address for Network Interface e0a []:
  Should interface e0a take over a partner IP address during failover? [n]:
  Please enter the IP address for Network Interface e0b []:
  Should interface e0b take over a partner IP address during failover? [n]:
  Please enter the IP address for Network Interface e0d [10.97.129.201]:
  Please enter the netmask for Network Interface e0d [255.0.0.0]: 255.255.248.0
  Should interface e0d take over a partner IP address during failover? [n]:
  Please enter media type for e0d {100tx-fd, tp-fd, 100tx, tp, auto (10/100/1000)} [auto]:
  Please enter flow control for e0d {none, receive, send, full} [full]:
  Do you want e0d to support jumbo frames? [n]:
  Would you like to continue setup through the web interface? [n]:
  Please enter the name or IP address of the default gateway [10.97.128.1]:
  Please enter the name or IP address of the administration host [10.97.129.203]:
  Please enter timezone [GMT]:
  Where is the filer located? [nane]:
  Do you want to run DNS resolver? [n]:
  Do you want to run NIS client? [n]:
  The initial aggregate currently contains 3 disks;  you may add more
  disks to it later using the "aggr add" command.

Now type 'reboot' for changes to take effect. vidhyan-vsim1> reboot kldunload: attempt to unload file that was loaded by the kernel kldunload: can't unload file: Device busy Terminated SK: exiting CPU 1 DBG: Shut down wafl_sync & network took 1847 msecs DBG: Shut down RAID hilevel took 0 msecs DBG: Shut down WAFL took 3416 msecs (0 0 0 770 704 719 1223) DBG: Shut down wafl took 3416 msecs DBG: Shut down coral took 0 msecs DBG: Shut down RAID took 340 msecs DBG: Shut down fm took 0 msecs DBG: Total time in shutdown_appliance: 6050 ms SK: exiting CPU 0 Uptime: 2h49m20s "vsimsetup" 266 lines, 17747 characters vidhyan-vsim1>

8. AGGREGATE CREATE COMMAND:

 vidhyan-vsim1> aggr create newaggr 6

Mon Jul 7 16:52:21 GMT [raid.fsm.commitStateTransit:debug]: /newaggr (VOL): raid state change UNINITD -> NEEDFS Mon Jul 7 16:52:21 GMT [raid.fsm.commitStateTransit:debug]: /newaggr (MIRROR): raid state change UNINITD -> UNMIRRORED Mon Jul 7 16:52:21 GMT [raid.fsm.commitStateTransit:debug]: /newaggr/plex0 (PLEX): raid state change UNINITD -> EMPTY Mon Jul 7 16:52:21 GMT [raid.fsm.commitStateTransit:debug]: /newaggr/plex0 (PLEX): raid state change EMPTY -> NORMAL Mon Jul 7 16:52:21 GMT [raid.fsm.commitStateTransit:debug]: /newaggr/plex0/rg0 (GROUP): raid state change UNINITD -> NORMAL Mon Jul 7 16:52:21 GMT [raid.vol.disk.add.done:notice]: Addition of Disk /newaggr/plex0/rg0/v4.20 Shelf ? Bay ? [NETAPP VD-1000MB-FZ 0042] S/N [12052504] to aggregate newaggr has completed successfully Mon Jul 7 16:52:21 GMT [raid.vol.disk.add.done:notice]: Addition of Disk /newaggr/plex0/rg0/v5.19 Shelf ? Bay ? [NETAPP VD-1000MB-FZ 0042] S/N [14292603] to aggregate newaggr has completed successfully Mon Jul 7 16:52:21 GMT [raid.vol.disk.add.done:notice]: Addition of Disk /newaggr/plex0/rg0/v4.19 Shelf ? Bay ? [NETAPP VD-1000MB-FZ 0042] S/N [12052503] to aggregate newaggr has completed successfully Mon Jul 7 16:52:21 GMT [raid.vol.disk.add.done:notice]: Addition of Disk /newaggr/plex0/rg0/v5.18 Shelf ? Bay ? [NETAPP VD-1000MB-FZ 0042] S/N [14292602] to aggregate newaggr has completed successfully Mon Jul 7 16:52:21 GMT [raid.vol.disk.add.done:notice]: Addition of Disk /newaggr/plex0/rg0/v4.18 Shelf ? Bay ? [NETAPP VD-1000MB-FZ 0042] S/N [12052502] to aggregate newaggr has completed successfully Mon Jul 7 16:52:21 GMT [raid.vol.disk.add.done:notice]: Addition of Disk /newaggr/plex0/rg0/v5.17 Shelf ? Bay ? [NETAPP VD-1000MB-FZ 0042] S/N [14292601] to aggregate newaggr has completed successfully Creation of an aggregate with 6 disks has completed.

9.VOL CREATION:

 vidhyan-vsim1> vol create newvol newaggr 200m

DBG: Assigning uuid '3726904e-4dd4-11dd-914b-000c299e1213' to new flexible volume 'newvol' (FSID 0x13c1c26) Mon Jul 7 17:00:04 GMT [kern.uptime.filer:info]: 5:00pm up 33 mins, 0 NFS ops, 0 CIFS ops, 0 HTTP ops, 0 FCP ops, 0 iSCSI ops Mon Jul 7 17:00:04 GMT [monitor.shelf.accessError:CRITICAL]: Enclosure services has detected an error in access to shelves on channel v0. Mon Jul 7 17:00:04 GMT [monitor.shelf.accessError:CRITICAL]: Enclosure services has detected an error in access to shelves on channel v1. exportfs [Line 2]: Export of local volume /vol/vol0 requires nfs license exportfs [Line 3]: Export of local volume /vol/vol0/home requires nfs license exportfs [Line 2]: Export of local volume /vol/newvol requires nfs license Creation of volume 'newvol' with size 200m on containing aggregate 'newaggr' has completed.

10.COPY DATASET TO THE VOLUME:

 [vidhyan@cycl09 vsrinath]$ gunzip -c /u/vsrinath/fio/compat_data.dmp.gz | rsh -l root vidhyan-vsim1 "restore rfD - /vol/newvol"

11.NDMPCOPY :

 vidhyan> options ndmpd.authtype plaintext

Tue Jul 8 16:48:19 GMT [kern.cli.cmd:debug]: Command line input: the command is 'options'. The full command line is 'options ndmpd.authtype plaintext'.

 vidhyan> options ndmpd.authtype
 ndmpd.authtype               plaintext
 vidhyan> ndmpcopy -l 0 -st text -dt text -da root:  /vol/newvol 10.97.129.201:/vol/newvol1

Ndmpcopy: Starting copy [ 8 ] ... Ndmpcopy: vidhyan: Notify: Connection established Ndmpcopy: 10.97.129.201: Notify: Connection established Ndmpcopy: vidhyan: Connect: Authentication successful Ndmpcopy: 10.97.129.201: Connect: Authentication successful Ndmpcopy: vidhyan: Log: DUMP: creating "/vol/newvol/../snapshot_for_backup.0" snapshot. Ndmpcopy: vidhyan: Log: DUMP: Using Full Volume Dump fio_get_volume_from_path fio_exist_metadir fio_mkdir_metadir fio_mkdir_metadir fio_unlink_metadir fio_mapfile_metadir fio_vm_setsize Ndmpcopy: vidhyan: Log: DUMP: Date of this level 0 dump: Tue Jul 8 16:48:41 2008. Ndmpcopy: vidhyan: Log: DUMP: Date of last level 0 dump: the epoch. Ndmpcopy: vidhyan: Log: DUMP: Dumping /vol/newvol to NDMP connection Ndmpcopy: vidhyan: Log: DUMP: mapping (Pass I)[regular files] Ndmpcopy: vidhyan: Log: DUMP: mapping (Pass II)[directories] Ndmpcopy: vidhyan: Log: DUMP: estimated 0 KB. Ndmpcopy: vidhyan: Log: DUMP: dumping (Pass III) [directories] Ndmpcopy: vidhyan: Log: DUMP: dumping (Pass IV) [regular files] Ndmpcopy: vidhyan: Log: DUMP: dumping (Pass V) [ACLs] fio_unlink_metadir fio_mapfile_metadir fio_vm_setsize fio_unlink_metadir fio_mapfile_metadir fio_vm_setsize fio_statfs fio_unlink_metadir fio_creat_metadir fio_unlink_metadir fio_mapfile_metadir Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 8 16:49:12 2008: Begin level 0 restore Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 8 16:49:12 2008: Reading directories from the backup fio_vm_setsize fio_write fio_lseek fio_close fio_getfh fio_unlink_metadir fio_creat_metadir fio_unlink_metadir fio_mapfile_metadir fio_vm_setsize fio_open_metadir fio_lseek fio_read fio_setattr fio_qtree_enable_oplocks fio_close fio_open_metadir fio_close fio_creat fio_write fio_lseek fio_write fio_write fio_write fio_close fio_setattr fio_qtree_enable_oplocks fio_close fio_open_metadir fio_open fio_read fio_lseek fio_write fio_close fio_setattr fio_qtree_enable_oplocks fio_unlink_metadir fio_unmapfile fio_unlink_metadir fio_unlink_metadir fio_unlink_metadir fio_unmapfile fio_unlink_metadir fio_unmapfile fio_unlink_metadir fio_unmapfile fio_unlink_metadir fio_close fio_unlink_metadir fio_unmapfile fio_unlink_metadir fio_exist_metadir fio_recrmdir_metadir Ndmpcopy: vidhyan: Log: DUMP: 11 KB Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 8 16:49:19 2008: Creating files and directories. Ndmpcopy: vidhyan: Log: DUMP: DUMP IS DONE Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 8 16:49:19 2008: Writing data to files. Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 8 16:49:19 2008: Restoring NT ACLs. Ndmpcopy: 10.97.129.201: Log: RESTORE: RESTORE IS DONE Ndmpcopy: 10.97.129.201: Log: RESTORE: The destination path is /vol/newvol1/ Ndmpcopy: 10.97.129.201: Notify: restore successful Ndmpcopy: vidhyan: Log: DUMP: Deleting "/vol/newvol/../snapshot_for_backup.0" snapshot. Ndmpcopy: vidhyan: Notify: dump successful Ndmpcopy: Transfer successful [ 47 seconds ] Ndmpcopy: Done

11. MOUNT THE EXISTING VOLUME TO A DIRECTORY IN THE SIMULATOR TO EXPLORE ITS CONTENTS.

 [vidhyan@siml2 ~]$ sudo sim_mount vidhyan-vsim1 newvol2

+ mount -o rw,bg,hard,intr,rsize=8192,wsize=8192 vidhyan-vsim1:/vol/newvol2 /t /vidhyan-vsim1/newvol2 [vidhyan@siml2 ~]$

Accessing the mounted data in the simulator directory :

[vidhyan@siml2 ~]$ cd /t/vidhyan-vsim1 [vidhyan@siml2 vidhyan-vsim1]$ ls newvol2 u [vidhyan@siml2 vidhyan-vsim1]$ cd newvol2 [vidhyan@siml2 newvol2]$ ls batch compat_unix README sid compat_mixed etc restore_symboltable vol_log.zip compat_ntfs fscreator rstabRENAME41FADC18

Notes

login to one of the linux simulators:

[vidhyan@cycl09~]ssh siml1.nane.netapp.com

[vidhyan@siml1 ~]cd /u/vidhyan/p4

[vidhyan@siml1 ~]

remem:

[vidhyan@cycl09] options

options rsh on

TEST RESULTS:

vidhyan-vsim1> ndmpcopy -l 0 -st text -dt text -da root: /vol/newvol vidhyan-vsim1:/vol/newvol1

Ndmpcopy: vidhyan-vsim1: Notify: Connection Established

license add UYTCNCG


Starting applications specified in /u/vidhyan/.vnc/xstartup Log file is /u/vidhyan/.vnc/cycl09.nane.netapp.com:62.log

[vidhyan@cycl09 ~]$ vncserver :62 -geometry 1400x1050

New 'cycl09.nane.netapp.com:62 (vidhyan)' desktop is cycl09.nane.netapp.com:62

license

Service License Code Mnemonic

cifs               GTLYRVH  Gaudier Than Last Year's Restored Victorian Home  
cluster            KDQLGBN  Kill Dan Quayle, Leave George Bush Neutered  
cluster_remote     GTFJHSI  George, The Forgetful Just Hate Special Instructions  
dafs               OBOLDQC  Obey Bush's Orders, Lest Dan Quayle Cry  
disk_sanitization  CPUPBIL     
fcp                ICRNCZG  Incoherent Comments Really Need Calm Zen Grading  
flex_cache         KRFUWOJ   (good up to and including 7.2x)
flexcache_nfs      OSRAREM
flex_clone         QNFYRVH     
http               AODUWOJ  America Online Defames Usenet With Obnoxious Juveniles  
iscsi              IKVAREM  I Keep Various Averices Repressed, Ere Manifesting  
nfs                UYTCNCG  Unless You Take Control, Nasty Code Grows  
smdomino           CFZRXFF  Can Fearsome Zealots Read Xerox Formatted Files  
smsql              SHEWSMD  Sigh Heavily Even When Someone's Making Dinner  
snaplock (pre 7.0.0.1)        IASLGBN  I Abhor Sloppy Little Gnomes Being Neat  
snaplock (7.0.0.1 and above)  KJHHIJE   
snaplock_enterprise           AOXRXFF  Another Obnoxious Xenophobe Retards Xerox Flame Fest  
snapmanagerexchange           GFMYRVH  Gophers Filched My Yearly Ripe Vegetable Harvest  
snapmirror         UUNLDQC  Unusual Unix Nerds Love Dan Quayle's Cooking  
snapmirror_sync    IEOAOTB  I Eat Only After Others Take Baths  
snapmover          KBNNOFF  Keep Bill's Naughty Naked Outings From Family  
snaprestore        EOYPBIL  Eunice, Only Your Peanut Butter Is Left  
snapvalidator      MCGWSMD     
sv_linux_pri       GROPYWA  Give Readily, Or Put Your Wampum Away  
sv_ontap_pri       YAYCNCG  Yodeling Affects Your Concentration Near Comely Girls  
sv_ontap_sec       KVPYRVH  Kindness Vectors Peace, Yielding Resilient Virtuous Habits  
sv_unix_pri        IUILGBN  It's Understandable If Logs Grow Bigger Needlessly  
sv_windows_pri     SLGLDQC  Stop Letting George Lose Dan Quale's Car  
syncmirror_local   UELJHSI  Understand, Everyone. Lincoln Just Has Some Issues  
vfiler             SPQLGBN  Sam, Please Quit Letting George Bush Negotiate  
vld                QYOAREM  Quality Yes, Or All Remarkable Errors Manifest  
volcopy            AAWPYWA  Angry Aardvarks Will Pelt You With Acorns (obsolete, but in case you have an old platform)

The following are codes for promoted (production) simulators

Service             License Code  
cifs                DZDACHD     
cluster             JQIGWWF     
cluster_remote      BCZZBHD     
dafs                TBPGWWF     
disk_sanitization   PZKEAZL     
fcp                 BKHEXNB     
flex_cache          HFAYFJJ     
flex_clone          ANLEAZL     
http                NAZOMKC      
http_compression    SEDAFSN     
iscsi               BSLRLTG     
rapid_restore       CMRGWWF
nearstore_option    ELNRLTG
nfs                 BQOEAZL     
smdomino            RKBAFSN     
smsql               HNGEAZL     
snaplock (pre 7.0.0.1)        BIICBQH     
snaplock (7.0.0.1 and above)  ZOJPPVM     
snapmanagerexchange BCJEAZL     
snapmirror          DFVXFJJ     
snapmirror_sync     XJQIVFK
snaprestore         DNDCBQH     
snapvalidator       JQAACHD     
socks               UXBNQMI     
sv_linux_pri        ZYICXLC     
sv_ontap_pri        PVOIVFK     
sv_ontap_sec        PDXMQMI     
sv_unix_pri         RQAYBFE     
sv_windows_pri      ZOPRKAM     
syncmirror_local    RIQTKCL     
vfiler              NQBYFJJ     
vld                 JGFRLTG


NDMP COPY outputs

vidhyan-vsim1> ndmpcopy -l 0 -st text -dt text -da root: /vol/newvol 10.97.129.201:/vol/vidsvol

Ndmpcopy: Starting copy [ 1 ] ...

Ndmpcopy: vidhyan-vsim1: Notify: Connection established

Ndmpcopy: 10.97.129.201: Notify: Connection established

Ndmpcopy: vidhyan-vsim1: Connect: Authentication successful

Ndmpcopy: 10.97.129.201: Connect: Authentication successful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: creating "/vol/newvol/../snapshot_for_backup.0" snapshot.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Using Full Volume Dump

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of this level 0 dump: Tue Jul 15 16:15:13 2008.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of last level 0 dump: the epoch.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Dumping /vol/newvol to NDMP connection

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass I)[regular files]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass II)[directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: estimated 0 KB.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass III) [directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass IV) [regular files]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass V) [ACLs]

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 16:15:48 2008: Begin level 0 restore

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 16:15:49 2008: Reading directories from the backup

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 16:15:56 2008: Creating files and directories.

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 16:15:56 2008: Writing data to files.

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 16:15:56 2008: Restoring NT ACLs.

Ndmpcopy: 10.97.129.201: Log: RESTORE: RESTORE IS DONE

Ndmpcopy: vidhyan-vsim1: Log: DUMP: 11 KB

Ndmpcopy: 10.97.129.201: Log: RESTORE: The destination path is /vol/vidsvol/

Ndmpcopy: vidhyan-vsim1: Log: DUMP: DUMP IS DONE

Ndmpcopy: 10.97.129.201: Notify: restore successful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Deleting "/vol/newvol/../snapshot_for_backup.0" snapshot.

Ndmpcopy: vidhyan-vsim1: Notify: dump successful

Ndmpcopy: Transfer successful [ 47 seconds ]

Ndmpcopy: Done

</nowiki>


treecompare output:

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1013

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1014

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1015

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1016

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1017

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1018

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1019

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1020

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1021

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1022

TREECMP: Found atime mismatch for /vol/vol2/.snapshot/snapvol2/1023

TREECMP: Found tree2 only directory entry entry ./rstabRENAME487CE727

TREECMP: Comparing special files.

TREECMP: Comparing extended attributes for directories.

TREECMP: Comparing files.

TREECMP: Found data mismatch: block 0 in ./restore_symboltable

TREECMP: Found data mismatch: block 1 in ./restore_symboltable

TREECMP: Found data mismatch: block 2 in ./restore_symboltable

TREECMP: Found data mismatch: block 3 in ./restore_symboltable

TREECMP: Found data mismatch: block 4 in ./restore_symboltable

TREECMP: Found data mismatch: block 5 in ./restore_symboltable

TREECMP: Found data mismatch: block 6 in ./restore_symboltable

TREECMP: Found data mismatch: block 7 in ./restore_symboltable

TREECMP: Found data mismatch: block 8 in ./restore_symboltable

TREECMP: Found data mismatch: block 9 in ./restore_symboltable

TREECMP: Found size mismatch for ./restore_symboltable

TREECMP: Found atime mismatch for ./restore_symboltable

TREECMP: Found mtime mismatch for ./restore_symboltable

TREECMP: Found crtime mismatch for ./restore_symboltable

TREECMP: Done. Wed Jul 16 17:10:41 GMT

       tree1_only = 0, tree2_only = 1, mismatch = 1038
  • NFSv4 ACLS

n-vsim1> ndmpcopy -l 0 -st text -dt text -da r oot: /vol/vol3 10.97.129.201:/vol/vol4

Ndmpcopy: Starting copy [ 1 ] ...

Ndmpcopy: vidhyan-vsim1: Notify: Connection establis hed

Ndmpcopy: 10.97.129.201: Notify: Connection establis hed

Ndmpcopy: vidhyan-vsim1: Connect: Authentication suc cessful

Ndmpcopy: 10.97.129.201: Connect: Authentication suc cessful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: creating "/vol/vol3/../snapshot_for_backup.4" snapshot.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Using Full Volume Dump

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of this level 0 dump: Tue Jul 15 17:34:00 2008.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of last level 0 dump: the epoch.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Dumping /vol/vol3 to NDMP connection

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass I)[regular files]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass II)[directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: estimated 94 KB.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass III) [directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass IV) [regular files]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass V) [ACLs]

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:34:24 2008: Begin level 0 restore

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:34:24 2008: Reading directories from the backup

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:34:31 2008: Creating files and directories.

Ndmpcopy: 10.97.129.201: Log: RESTORE: The directory: ./restore_symboltable could not be restored with its original name.

Ndmpcopy: 10.97.129.201: Log: RESTORE: It has been renamed to: ./rstabRENAME487CE1C7

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:34:31 2008: Writing data to files.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: 93 KB

Ndmpcopy: 10.97.129.201: Log: RESTORE: RESTORE IS DONE

Ndmpcopy: vidhyan-vsim1: Log: DUMP: DUMP IS DONE

Ndmpcopy: 10.97.129.201: Log: RESTORE: The destination path is /vol/vol4/

Ndmpcopy: 10.97.129.201: Notify: restore successful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Deleting "/vol/vol3/../snapshot_for_backup.4" snapshot.

Ndmpcopy: vidhyan-vsim1: Notify: dump successful

Ndmpcopy: Transfer successful [ 38 seconds ]

Ndmpcopy: Done

Treecompare output: vidhyan-vsim1*> treecompare start -c -L checksum /vol/vol3/.snapshot/snapvol3 /vol/vol4/.snapshot/snapvol4

TREECMP: Start. Wed Jul 16 17:06:34 GMT, compare with checksum

TREECMP: Comparing directories.

TREECMP: Found atime mismatch for .

TREECMP: Found tree2 only directory entry entry ./rstabRENAME487CE1C7

TREECMP: Comparing special files.

TREECMP: Comparing extended attributes for directories.

TREECMP: Comparing files.

TREECMP: Found data mismatch: block 0 in ./restore_symboltable

TREECMP: Found data mismatch: block 1 in ./restore_symboltable

TREECMP: Found data mismatch: block 2 in ./restore_symboltable

TREECMP: Found data mismatch: block 3 in ./restore_symboltable

TREECMP: Found data mismatch: block 4 in ./restore_symboltable

TREECMP: Found data mismatch: block 5 in ./restore_symboltable

TREECMP: Found size mismatch for ./restore_symboltable

TREECMP: Found atime mismatch for ./restore_symboltable

TREECMP: Found mtime mismatch for ./restore_symboltable

TREECMP: Found crtime mismatch for ./restore_symboltable

TREECMP: Done. Wed Jul 16 17:06:34 GMT

       tree1_only = 0, tree2_only = 1, mismatch = 11
  • NTACLS

n-vsim1> ndmpcopy -l 0 -st text -dt text -da r oot: /vol/vol5 10.97.129.201:/vol/vol6

Ndmpcopy: Starting copy [ 2 ] ...

Ndmpcopy: vidhyan-vsim1: Notify: Connection establis hed

Ndmpcopy: 10.97.129.201: Notify: Connection establis hed

Ndmpcopy: vidhyan-vsim1: Connect: Authentication suc cessful

Ndmpcopy: 10.97.129.201: Connect: Authentication suc cessful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: creating "/vol/v ol5/../snapshot_for_backup.7" snapshot.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Using Full Volum e Dump

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of this level 0 dump: Tue Jul 15 17:40:14 2008.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of last level 0 dump: the epoch.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Dumping /vol/vol5 to NDMP connection

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass I)[regular files]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass II)[directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: estimated 21571 KB.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass III) [directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass IV) [regular files]

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:40:38 2008: Begin level 0 restore

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:40:38 2008: Reading directories from the backup

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:40:45 2008: Creating files and directories.

Ndmpcopy: 10.97.129.201: Log: RESTORE: The directory: ./restore_symboltable could not be restored with its original name.

Ndmpcopy: 10.97.129.201: Log: RESTORE: It has been renamed to: ./rstabRENAME487CF84BNdmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:40:45 2008: Writing data to files.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass V) [ACLs]

Ndmpcopy: 10.97.129.201: Log: RESTORE: RESTORE IS DONE

Ndmpcopy: 10.97.129.201: Log: RESTORE: The destination path is /vol/vol6/

Ndmpcopy: 10.97.129.201: Notify: restore successful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: 21575 KB

Ndmpcopy: vidhyan-vsim1: Log: DUMP: DUMP IS DONE

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Deleting "/vol/vol5/../snapshot_for_backup.7" snapshot.

Ndmpcopy: vidhyan-vsim1: Notify: dump successful

Ndmpcopy: Transfer successful [ 45 seconds ]

Ndmpcopy: Done

Treecompare output:

vidhyan-vsim1*> treecompare start -c -L checksum /vol/vol5/.snapshot/snapvol5 /vol/vol6/.snapshot/snapvol6

TREECMP: Start. Wed Jul 16 17:14:48 GMT, compare with checksum

TREECMP: Comparing directories.

TREECMP: Found atime mismatch for .

TREECMP: Found tree2 only directory entry entry ./rstabRENAME487CF84B

TREECMP: Comparing special files.

TREECMP: Comparing extended attributes for directories.

TREECMP: Comparing files.

TREECMP: Found data mismatch: block 0 in ./restore_symboltable

TREECMP: Found data mismatch: block 1 in ./restore_symboltable

TREECMP: Found data mismatch: block 2 in ./restore_symboltable

TREECMP: Found data mismatch: block 3 in ./restore_symboltable

TREECMP: Found data mismatch: block 4 in ./restore_symboltable

TREECMP: Found data mismatch: block 5 in ./restore_symboltable

TREECMP: Found size mismatch for ./restore_symboltable

TREECMP: Found atime mismatch for ./restore_symboltable

TREECMP: Found mtime mismatch for ./restore_symboltable

TREECMP: Found crtime mismatch for ./restore_symboltable

TREECMP: Done. Wed Jul 16 17:15:41 GMT

       tree1_only = 0, tree2_only = 1, mismatch = 11
  • NTStreams

n-vsim1> ndmpcopy -l 0 -st text -dt text -da root: /vol/vol7 10.97.129.201:/vo l/vol8

Ndmpcopy: Starting copy [ 3 ] ...

Ndmpcopy: vidhyan-vsim1: Notify: Connection established

Ndmpcopy: 10.97.129.201: Notify: Connection established

Ndmpcopy: vidhyan-vsim1: Connect: Authentication successful

Ndmpcopy: 10.97.129.201: Connect: Authentication successful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: creating "/vol/vol7/../snapshot_for_backup.10" s napshot.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Using Full Volume Dump

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of this level 0 dump: Tue Jul 15 17:45:30 2 008.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Date of last level 0 dump: the epoch.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Dumping /vol/vol7 to NDMP connection

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass I)[regular files]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: mapping (Pass II)[directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: estimated 359 KB.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass III) [directories]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass IV) [regular files]

Ndmpcopy: vidhyan-vsim1: Log: DUMP: dumping (Pass V) [ACLs]

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:45:56 2008: Begin level 0 resto re

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:45:56 2008: Reading directories from the backup

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:46:02 2008: Creating files and directories.

Ndmpcopy: 10.97.129.201: Log: RESTORE: The directory: ./restore_symboltable could no t be restored with its original name.

Ndmpcopy: 10.97.129.201: Log: RESTORE: It has been renamed to: ./rstabRENAME487CF99B

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:46:02 2008: Writing data to fil es.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: 305 KB

Ndmpcopy: 10.97.129.201: Log: RESTORE: Tue Jul 15 17:46:03 2008: Restoring NT ACLs.

Ndmpcopy: vidhyan-vsim1: Log: DUMP: DUMP IS DONE

Ndmpcopy: 10.97.129.201: Log: RESTORE: RESTORE IS DONE

Ndmpcopy: 10.97.129.201: Log: RESTORE: The destination path is /vol/vol8/

Ndmpcopy: 10.97.129.201: Notify: restore successful

Ndmpcopy: vidhyan-vsim1: Log: DUMP: Deleting "/vol/vol7/../snapshot_for_backup.10" s napshot.

Ndmpcopy: vidhyan-vsim1: Notify: dump successful

Ndmpcopy: Transfer successful [ 40 seconds ]

Ndmpcopy: Done

treecompare output:

vidhyan-vsim1*> treecompare start -c -L checksum /vol/vol7/.snapshot/snapvol7 /vol/vol8/.snapshot/snapvol8

TREECMP: Start. Wed Jul 16 17:17:12 GMT, compare with checksum

TREECMP: Comparing directories.

TREECMP: Found tree2 only directory entry entry ./rstabRENAME487CF99B

TREECMP: Comparing special files.

TREECMP: Comparing extended attributes for directories.

TREECMP: Comparing files.

TREECMP: Found data mismatch: block 0 in ./restore_symboltable

TREECMP: Found data mismatch: block 1 in ./restore_symboltable

TREECMP: Found data mismatch: block 2 in ./restore_symboltable

TREECMP: Found data mismatch: block 3 in ./restore_symboltable

TREECMP: Found data mismatch: block 4 in ./restore_symboltable

TREECMP: Found data mismatch: block 5 in ./restore_symboltable

TREECMP: Found size mismatch for ./restore_symboltable

TREECMP: Found atime mismatch for ./restore_symboltable

TREECMP: Found mtime mismatch for ./restore_symboltable

TREECMP: Found crtime mismatch for ./restore_symboltable

TREECMP: Done. Wed Jul 16 17:17:16 GMT

       tree1_only = 0, tree2_only = 1, mismatch = 10

How dump /restore works for STREAM related files/dirs

Dump When dump starts, it first tries to determine which file or directory to include and writes out a dump map. In case of level 0 full volume/qtree dump, all inodes on the volume are loaded into memory; otherwise, dump does a logical traverse of dump subtree and loads in all inodes along the path. As dump is loading the inode that will be dumped, we look at every one of the inodes to see if there are streams attached to the inodes. If so, we remember the relation by writing the stream directory inode number to the location in a memory mapped file that directly correspond to the inode number of the base file/directory. In other words, if inode #89 is the stream directory inode that is attached to file/directory inode #78, the number 89 will written to the memory mapped file at the location of integer offset 78. At the end of the mapping pass, we will have memorized the inode number of all the stream directory in the dump, and the inode number of their corresponding base files/directories. If the dump was a subtree dump, streams(which are effectively files) in all stream directories will eventually be enumerated and marked to be dumped as well, before the dump map was written out so that the streams are all included in the map.

   At phase III, dump will construct and write out contents of all directories  that are included.  For every file or directory in the parent directory dump will add an entry.  As dump writes out each entry that represents a file or a directory, it at the same uses the inode number for the file/directory to index into the memory mapped file that dump previously constructed in mapping pass.  If there are stream attached to the file/directory, dump will find the inode number for the stream directory.  In that case, the additional entry that directly points to the stream directory will be inserted right after the base file/directory entry.  The content of the stream directory will be dumped at some point of phase III.  For the case of subtree dump, the stream directory had previously been marked to be dump in mapping phase; in full volume dump, every directory in the volume will be written out anyway; and in full qtree dump,  the stream directory will be dumped because the qtree number on the stream directory would correspond to the one that's looked up.  Each entry in a stream directory will point to each individual stream.
   In phase IV, streams are picked up by dump due to similiar ideas for stream directories.  A stream either has been marked or belongs to a full volume/qtree, for subtree, full volume and full qtree dump respectively.

Restore

   New restore program will be modified to detect stream directory entry in a parent directory.  As described above, new restore recognize a stream directory by looking for an entry will invalid DOS name that starts with the character ':'.  When encounter a stream directory, restore would extract the inode number of the base file/directory and use a special fio interface to create a stream directory for the base file/directory.  It then recursively create all the streams in the stream directory.


approach to be

Therefore, we decided that the approach should be: 1) Restore creates empty 0-length file (or detects one already exists) and stores file-handle.

2) When we get to the data on the tape, we check to make sure the file handle to the file on the system is still valid (fileid and generation num). If not, print error message and move on to the next file on tape.

3) If the file ON TAPE is a symlink, block device, char device, or named pipe, we delete the existing file of that name. Then we create a new file of the appropriate type. Finally, we reset the mtime on the directory.

4) If the EXISTING file is a symlink, block device, char device, or named pipe, we delete the file of that name. Then we create a new file of whatever type we want. Finally, we reset the mtime on the directory.


This will create a nice interface because we will NEVER EVER EVER change a file's type. And since a delete runs through normal code paths, we don't need to worry about streams, ACLs, or new stuff. The delete code already will do those checks for us. And since it only affects special files, it should not affect performance in a significant manner.

approach to be

Therefore, we decided that the approach should be: 1) Restore creates empty 0-length file (or detects one already exists) and stores file-handle.

2) When we get to the data on the tape, we check to make sure the file handle to the file on the system is still valid (fileid and generation num). If not, print error message and move on to the next file on tape.

3) If the file ON TAPE is a symlink, block device, char device, or named pipe, we delete the existing file of that name. Then we create a new file of the appropriate type. Finally, we reset the mtime on the directory.

4) If the EXISTING file is a symlink, block device, char device, or named pipe, we delete the file of that name. Then we create a new file of whatever type we want. Finally, we reset the mtime on the directory.


This will create a nice interface because we will NEVER EVER EVER change a file's type. And since a delete runs through normal code paths, we don't need to worry about streams, ACLs, or new stuff. The delete code already will do those checks for us. And since it only affects special files, it should not affect performance in a significant manner.