This is not actually a good test. If you notice, the user has deleted the snapshot each time instead of using the same directory. The deletion of the directory is causing the filer to reset the directory information in the restore_symboltable.
"restore_symboltable" keeps track of inode numbers and directory information. With the re-creation of the snapshot and a new directory in the snapshot, the user is causing the filer to want to perform a logical level0 even though he has specified an explicit level1.
I don't think his test is relevant to our level1 problems because since we did not change the important parent directories, i.e., /o/w/1/2/owNNNN12/, the level1 would have only changed items that indeed did change using the same filesystem.
For Deron, I would suggest repeating the test with a slightly different preparation of data. I think the NetApp is interpreting the entirely new snapshot, even though the filenames are the same, as a fresh set of data that should be restored over the destination data.
Or do I have it wrong?
On Mon, 27 Mar 2000, Peter Chow wrote:
might be relevant to our Level 1 NDMPcopy problems
---------- Forwarded message ---------- Date: Sun, 26 Mar 2000 14:09:55 -0800 From: Deron Johnson djohnson@amgen.com To: toasters@mathworks.com Subject: ndmpcopy problem (long)
I had a need to transfer transfer a large amount of data between two filers, one running OnTAP 5.3.4 and one running OnTAP 5.3.4R2. I ran a level 0 ndmpcopy the day before the cutover, and then a level 1 the night of the cutover, in order to minimize downtime. However, after doing a compare of file sizes after the transfer, I found that some files which had been modified since the level 0 did not have the proper size on the destination.
Here is an example. Toaster1 is the source, and toaster2 is the destination. I have added some comments in UPPER CASE.
# cd /toaster1/test # ls -l total 80 -rw-r--r-- 1 root other 37817 Jan 31 15:54 testfile SIZE OF ORIGINAL FILE IS 37817 BYTES.
# rsh toaster1 snap create vol0 testndmp creating snapshot....................................
# ndmpcopy toaster1:/vol/vol0/.snapshot/testndmp/test toaster2:/vol/vol0/test -level 0 Password: Connecting to toaster1. Connecting to toaster2. toaster1: CONNECT: Connection established. toaster2: CONNECT: Connection established. toaster1: LOG: DUMP: toaster1: LOG: Using subtree dump toaster1: LOG: DUMP: toaster1: LOG: Date of this level 0 dump: Mon Jan 31 15:55:38 2000. toaster1: LOG: DUMP: toaster1: LOG: Date of last level 0 dump: the epoch. [NORMAL LOOKING DUMP/RESTORE OUTPUT] toaster1: LOG: DUMP: toaster1: LOG: DUMP IS DONE toaster1: HALT: The operation was successful! Waiting for toaster2 to halt too. toaster2: HALT: The operation was successful! The transfer is complete. Elapsed time: 0 hours, 0 minutes, 37 seconds.
# rsh toaster1 snap delete testndmp deleting snapshot....................................
# cd /toaster2/test # ls -l total 68928 -rw-r--r-- 1 root other 37817 Jan 31 15:54 testfile -rw-rw-rw- 1 root root 35213312 Jan 31 15:57 restore_symboltable SIZE OF COPY IS 37817 BYTES, AS EXPECTED.
# cd /toaster1/test # vi testfile # ls -l total 80 -rw-r--r-- 1 root other 37639 Jan 31 16:02 testfile I HAVE MODIFIED THE FILE, SO IT IS NOW SHORTER (37639 BYTES).
# rsh -n toaster1 snap create vol0 testndmp creating snapshot....................................
# ndmpcopy toaster1:/vol/vol0/.snapshot/testndmp/test toaster2:/vol/vol0/test -level 1 Password: Connecting to toaster1. Connecting to toaster2. toaster1: CONNECT: Connection established. toaster2: CONNECT: Connection established. toaster1: LOG: DUMP: toaster1: LOG: Using subtree dump toaster1: LOG: DUMP: toaster1: LOG: Date of this level 1 dump: Mon Jan 31 16:03:47 2000. toaster1: LOG: DUMP: toaster1: LOG: Date of last level 0 dump: Mon Jan 31 15:55:38 2000. [NORMAL LOOKING DUMP/RESTORE OUTPUT] toaster1: LOG: DUMP: toaster1: LOG: DUMP IS DONE toaster1: HALT: The operation was successful! Waiting for toaster2 to halt too. toaster2: HALT: The operation was successful! The transfer is complete. Elapsed time: 0 hours, 0 minutes, 38 seconds.
# cd /toaster2/test # ls -l total 68928 -rw-r--r-- 1 root other 37817 Jan 31 16:02 testfile -rw-rw-rw- 1 root root 35213312 Jan 31 16:05 restore_symboltable THE TIMESTAMP ON THE COPY HAS CHANGED, BUT IT IS STILL 37817 BYTES!
# cd / # umount /toaster2 # mount toaster2:/vol/vol0 /toaster2 # cd /toaster2/test # ls -l total 68928 -rw-r--r-- 1 root other 37817 Jan 31 16:02 testfile -rw-rw-rw- 1 root root 35213312 Jan 31 16:05 restore_symboltable UNMOUNTED AND REMOUNTED TO MAKE SURE IT WASN'T A CACHING ISSUE.
Can anyone tell me what I might have done wrong?