[zfs-discuss] Send Receive (and why does 'ls' modify a snapshot?)

2009-02-04 Thread Tony Galway
I am trying to keep a file system (actually quite a few) in sync across two 
systems for DR purposes, but I am encountering something that I find strange. 
Maybe its not strange, and I just don't understand - but I will pose to you 
fine people to help answer my question. This is all scripted, but I have pulled 
out the relevant commands for your reference:

I have a file system on localnode and I create a snapshot call NMINUS1 which 
I then send to my remotenode. 

zfs snapshot GT/t...@nminus1
zfs send GT/t...@nminus1 | ssh remotenode zfs receive GT/t...@nminus1

This works properly, I then get the mountpoint property of the filesystem on 
the localnode and using that, set it to the same on the remote node:

$mp = zfs get -Ho value mountpoint GT/test
ssh remotenode zfs set mountpoint=$mp GT/test

Again, works fine and this completes my inital setup.

From that point onwards, I want to send an incremental snapshot on a, say, 
nightly basis. So I create a new snapshot (NSNAP), send that across, and then 
remove the old snap and rename the new to NMINUS1 ... so

zfs snapshot GT/t...@nsnap
zfs send -i NMINUS1 GT/t...@nsnap | ssh remotenode zfs receive GT/test

-- On both nodes
zfs destroy GT/t...@nminus1
zfs rename GT/t...@nsnap GT/t...@nminus1

Now everything works fine unless I perform a simple 'ls' on the filesystem on 
the remote node. On the local node I can modify the contents of GT/test at any 
time, add or remove files, etc. and when I send the incremental snapshot to the 
remote node, it completes properly, and I can do this as many times as I want, 
but as soon as I issue that 

# ls /GT/test

on the remote node, the next time I try to send an incremental snapshot I get 
the following error:

# zfs send -i NMINUS1 GT/t...@nsnap | ssh remotenode zfs receive GT/test

cannot receive incremental stream: destination GT/ahg has been modified
since most recent snapshot

Other than modifying possibly access time - what has been change in the 
snapshot that causes this problem?? One item of note (or not) one system is 
SPARC one is AMD based.

Thanks for any ideas.
-- 
This message posted from opensolaris.org
___
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] Send Receive (and why does 'ls' modify a snapshot?)

2009-02-04 Thread Tony Galway
Thanks ... the -F works perfectly, and provides a further benefit in that the 
client can mess with the file system as much as they want for testing purposes, 
but when it comes time to ensure it is synchronized each night, it will revert 
back to the previous state.

Thanks
-Tony
-- 
This message posted from opensolaris.org
___
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


[zfs-discuss] Zpool, RaidZ how it spreads its disk load?

2007-05-07 Thread Tony Galway
Greetings learned ZFS geeks  guru’s,

Yet another question comes from my continued ZFS performance testing. This has 
to do with zpool iostat, and the strangeness that I do see.
I’ve created an eight (8) disk raidz pool from a Sun 3510 fibre array giving me 
a 465G volume.
# zpool create tp raidz c4t600 ... 8 disks worth of zpool
# zfs create tp/pool
# zfs set recordsize=8k tp/pool
# zfs set mountpoint=/pool tp/pool

I then create a 100G data file that is created by sequentially writing 64k 
blocks to the test data file. When I then issue a 
# zpool iostat -v tp 10 
I see the following strange behaviour. I see anywhere from up to 16 iterations 
(ie 160 seconds) of the following, where there are only writes to 2 of the 8 
disks:

   capacity operationsbandwidth
pool used  avail   read  write   read  write
--  -  -  -  -  -  -
testpool29.7G   514G  0  2.76K  0  22.1M
  raidz129.7G   514G  0  2.76K  0  22.1M
c4t600C0FF00A74531B659C5C00d0s6  -  -  0  0  0  
0
c4t600C0FF00A74533F3CF1AD00d0s6  -  -  0  0  0  
0
c4t600C0FF00A74534C5560FB00d0s6  -  -  0  0  0  
0
c4t600C0FF00A74535E50E5A400d0s6  -  -  0  1.38K  0  
2.76M
c4t600C0FF00A74537C1C061500d0s6  -  -  0  0  0  
0
c4t600C0FF00A745343B08C4B00d0s6  -  -  0  0  0  
0
c4t600C0FF00A745379CB90B600d0s6  -  -  0  0  0  
0
c4t600C0FF00A74530237AA9300d0s6  -  -  0  1.38K  0  
2.76M
--  -  -  -  -  -  -

During these periods, my data file does not grow in size, but then I see writes 
to all of the disks like the following:

   capacity operationsbandwidth
pool used  avail   read  write   read  write
--  -  -  -  -  -  -
testpool64.0G   480G  0  1.45K  0  11.6M
  raidz164.0G   480G  0  1.45K  0  11.6M
c4t600C0FF00A74531B659C5C00d0s6  -  -  0246  0  
8.22M
c4t600C0FF00A74533F3CF1AD00d0s6  -  -  0220  0  
8.23M
c4t600C0FF00A74534C5560FB00d0s6  -  -  0254  0  
8.20M
c4t600C0FF00A74535E50E5A400d0s6  -  -  0740  0  
1.45M
c4t600C0FF00A74537C1C061500d0s6  -  -  0299  0  
8.21M
c4t600C0FF00A745343B08C4B00d0s6  -  -  0284  0  
8.21M
c4t600C0FF00A745379CB90B600d0s6  -  -  0266  0  
8.22M
c4t600C0FF00A74530237AA9300d0s6  -  -  0740  0  
1.45M
--  -  -  -  -  -  -

And my data file will increase in size, but also notice notice, in the above, 
those disks that were being written to before, have a load that is consistent 
with the previous example. 

For background, the server, and the storage are dedicated solely to this 
testing, and there are no other applications being run at this time.

I thought that RaidZ would spread its load across all disks somewhat evenly. 
Can someone explain this result? I can consistently reproduce it as well.

Thanks
-Tony
 
 
This message posted from opensolaris.org
___
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


RE: [zfs-discuss] Testing of UFS, VxFS and ZFS

2007-04-16 Thread Tony Galway
The volume is 7+1. I have created the volume using both the default (DRL) as
well as 'nolog' to turn it off, both with similar performance. On the advice
of Henk, after he had looked over my data, he is notice that the veritas
test seems to be almost entirely using file system cache. I will retest with
a much larger file to defeat this cache (I do not want to modify my mount
options). If this then shows similar performance (I will also retest with
ZFS with the same file size) then the question will probably have more to do
with how ZFS handles file system caching.

-Tony

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: April 16, 2007 2:16 PM
To: [EMAIL PROTECTED]
Subject: Re: [zfs-discuss] Testing of UFS, VxFS and ZFS

Is the VxVM volume 8-wide?  It is not clear from your creation commands.
  -- richard

Tony Galway wrote:
 
 
 I had previously undertaken a benchmark that pits out of box 
 performance of UFS via SVM, VxFS and ZFS but was waylaid due to some 
 outstanding availability issues in ZFS. These have been taken care of, 
 and I am once again undertaking this challenge on behalf of my customer. 
 The idea behind this benchmark is to show
 
  
 
 a.   How ZFS might displace the current commercial volume and file 
 system management applications being used.
 
 b.  The learning curve of moving from current volume management 
 products to ZFS.
 
 c.   Performance differences across the different volume management 
 products.
 
  
 
 VDBench is the test bed of choice as this has been accepted by the 
 customer as a telling and accurate indicator of performance. The last 
 time I attempted this test it had been suggested that VDBench is not 
 appropriate to testing ZFS, I cannot see that being a problem, VDBench 
 is a tool - if it highlights performance problems, then I would think it 
 is a very effective tool so that we might better be able to fix those 
 deficiencies.
 
  
 
 Now, to the heart of my problem!
 
  
 
 The test hardware is a T2000 connected to a 12 disk SE3510 (presenting 
 as JBOD)  through a brocade switch, and I am using Solaris 10 11/06. For 
 Veritas, I am using Storage Foundation Suite 5.0. The systems were 
 jumpstarted to the same configuration before testing a different volume 
 management software to ensure there were no artifacts remaining from any 
 previous test.
 
  
 
 I present my vdbench definition below for your information:
 
  
 
 sd=FS,lun=/pool/TESTFILE,size=10g,threads=8
 
 wd=DWR,sd=FS,rdpct=100,seekpct=80
 
 wd=ETL,sd=FS,rdpct=0,  seekpct=80
 
 wd=OLT,sd=FS,rdpct=70, seekpct=80
 

rd=R1-DWR,wd=DWR,iorate=max,elapsed=1800,interval=30,forxfersize=(1k,2k,4k,8
k,16k,32k,64k,128k) 
 
 

rd=R1-ETL,wd=ETL,iorate=max,elapsed=1800,interval=30,forxfersize=(1k,2k,4k,8
k,16k,32k,64k,128k) 
 
 

rd=R1-OLT,wd=OLT,iorate=max,elapsed=1800,interval=30,forxfersize=(1k,2k,4k,8
k,16k,32k,64k,128k) 
 
 

rd=R2-DWR,wd=DWR,iorate=max,elapsed=1800,interval=30,forxfersize=(1k,2k,4k,8
k,16k,32k,64k,128k) 
 
 

rd=R2-ETL,wd=ETL,iorate=max,elapsed=1800,interval=30,forxfersize=(1k,2k,4k,8
k,16k,32k,64k,128k) 
 
 

rd=R2-OLT,wd=OLT,iorate=max,elapsed=1800,interval=30,forxfersize=(1k,2k,4k,8
k,16k,32k,64k,128k) 
 
 

rd=R3-DWR,wd=DWR,iorate=max,elapsed=1800,interval=30,forxfersize=(1k,2k,4k,8
k,16k,32k,64k,128k) 
 
 

rd=R3-ETL,wd=ETL,iorate=max,elapsed=1800,interval=30,forxfersize=(1k,2k,4k,8
k,16k,32k,64k,128k) 
 
 

rd=R3-OLT,wd=OLT,iorate=max,elapsed=1800,interval=30,forxfersize=(1k,2k,4k,8
k,16k,32k,64k,128k) 
 
 
  
 
 As you can see, it is fairly straight forward and I take the average of 
 the three runs in each of ETL, OLT and DWR workloads. As an aside, I am 
 also performing this test for various file system block sizes as 
 applicable as well.
 
  
 
 I then ran this workload against a Raid-5 LUN created and mounted in 
 each of the different file system types. Please note that one of the 
 test criteria is that the associated volume management software create 
 the Raid-5 LUN, not the disk subsystem.
 
  
 
 1.   UFS via SVM
 
 # metainit d20 -r d1 . d8
 
 # newfs /dev/md/dsk/d20
 
 # mount /dev/md/dsk/d20 /pool
 
  
 
 2.   ZFS
 
 # zfs create pool raidz d1 . d8
 
  
 
 3.   VxFS - Veritas SF5.0
 
 # vxdisk init SUN35100_0 ..  SUN35100_7
 
 # vxdg init testdg SUN35100_0  .
 
 # vxassist -g testdg make pool 418283m layout=raid5
 
  
 
  
 
 Now to my problem - Performance!  Given the test as defined above, VxFS 
 absolutely blows the doors off of both UFS and ZFS during write 
 operations. For example, during a single test on an 8k file system 
 block, I have the following average IO Rates:
 
  
 
  
 
   
 
 *ETL *
 
   
 
 *OLTP *
 
   
 
 *DWR *
 
 *UFS *
 
   
 
 390.00
 
   
 
 1298.44
 
   
 
 23173.60
 
 *VxFS *
 
   
 
 15323.10
 
   
 
 27329.04
 
   
 
 22889.91
 
 *ZFS *
 
   
 
 2122.23
 
   
 
 7299.36
 
   
 
 22940.63
 
  
 
  
 
 If you look

[zfs-discuss] ZFS Performance compared to UFS VxFS

2006-08-22 Thread Tony Galway
A question (well lets make it 3 really) – Is vdbench a useful tool when testing 
file system performance of a ZFS file system? Secondly - is ZFS write 
performance really much worse than UFS or VxFS? and Third - what is a good 
benchmarking tool to test ZFS vs UFS vs VxFS?

The reason I ask is this – I am using the following – very simple write only 
test scenario using vdbench - 
 
sd=ZFS,lun=/pool/TESTFILE,size=10g,threads=8
wd=ETL,sd=ZFS,rdpct=0,  seekpct=80
rd=ETL,wd=ETL,iorate=max,elapsed=1800,interval=5,forxfersize=(1k,4k,8k,32k)

For those not familiar with vdbench - this scenario reads as follows:

SD = Storage Definition =  A 10g file in on my ZFS directory - and use 8 
concurrent threads for the test which indicate the maximum concurrent IO's for 
this Storage definition

WD = Workload Definition - Use the ZFS storage pool, with rdpct = 0 - means 
100% write, and seekpct = 80 means that 80% of the IO ops will start a new 
random seek address.

RD = Run Definition = This is the actual run - we want to run 4 tests with 1, 
4, 8  32k blocks - report back to me every 5 seconds what's happening, and 
iorate = max says 'have at er' - run this thing to the ground if possible - as 
I am not simulating a specific workload per se but trying to see what the 
maximum performance I might see would be.
 
So - I am seeing disheartening results.

My test configuration is as follows: T2000 / 32Gb connected via 2 x 2GB fibre 
connections to a 3510 array which has 5 disks assigned to the host acting only 
as a JBOD. This configuration (including 3510) is dedicated to testing 
performance of ZFS vs SVM with UFS vs VxVM with VxFS – but note that at this 
point the veritas packages have not been added yet – we do not want any 
perception that another package may impact performance of any of the tests. 
This is a Solaris 10 06/06 install – with all the latest patches and no out of 
box optimizations performed. The first suite of tests is to only see 
differences in out of box performance and manageability.

The results I am seeing are this – read performance is acceptable and on par 
with UFS, however when it comes to write – based on the performance I am seeing 
- the system seems to not be able to keep up with the writes. I am seeing large 
periods of time where is no reported activity, and if I am looking at zfs 
iostat I do see consistent writing however - also if I terminate the test - zfs 
will continue to write for about 2 - 3 minutes after all other activity has 
stopped.

The following is an example of what I see - Example 1 is from the initial file 
create, example 2 is from the actual test run. What is most important to note 
are the lines with big gapping 0's running through them -and the associated 
large response times surrounding them.

If anyone has any information on ZFS performance - it would be apprecated.

 

12:40:59.815 Starting RD=New_file_format_for_sd=ZFS; I/O rate:   5000; Elapsed: 
36 seconds. For loops: xfers

ize=65536 threads=8

  intervali/o   MB/sec   bytes   read resp resp 
respcpu%  cpu%

 rate  1024**2 i/opct time  max   
stddev sys+usr   sys

12:41:03.362 14858.99   303.69   65536   0.001.411   59.843
2.46821.4  16.7

12:41:04.101 2 878.8554.93   65536   0.002.219   98.016
8.79513.1   7.5

12:41:05.069 3 147.65 9.23   65536   0.00   74.181 1022.374  
232.319 9.7   4.0

12:41:06.056 4 160.9710.06   65536   0.00   52.750  425.264  
105.263 8.0   3.8

12:41:07.085 51025.1064.07   65536   0.008.832  492.696   
50.99510.2   5.6

12:41:08.077 6 664.6741.54   65536   0.001.5502.963
0.511 6.3   5.6

12:41:09.113 71740.72   108.79   65536   0.006.627 1139.357   
75.57310.9   9.9

12:41:10.160 8 111.72 6.98   65536   0.00   98.972 1426.363  
361.047 6.0   3.5

12:41:11.029 93888.81   243.05   65536   0.001.6537.255
0.68720.3  18.0

12:41:12.07110   0.00 0.00   0   0.000.0000.000
0.000 3.5   3.2

12:41:13.04511   0.00 0.00   0   0.000.0000.000
0.000 3.4   3.2

12:41:14.07512   0.00 0.00   0   0.000.0000.000
0.000 3.3   2.8

12:41:15.034134183.62   261.48   65536   0.008.080 3230.801  
143.61119.6  19.1

12:41:16.071141238.0277.38   65536   0.006.348  136.478   
10.50612.1   9.9

12:41:17.057151136.1371.01   65536   0.006.214  102.408   
11.09410.1   9.5

12:41:18.05316 805.2050.32   65536   0.008.028  134.882   
16.480 7.9   7.6

12:41:19.04017   0.00 0.00   0   0.000.0000.000
0.000 3.3   3.2

12:41:20.03918   0.00 0.00   0   0.000.0000.000