Date: Wed, 3 Jan 2007 01:41:49 -0800 (PST) From: "R. B. Riddick" <arne_woerner@yahoo.com> To: Pawel Jakub Dawidek <pjd@FreeBSD.org> Cc: freebsd-geom@freebsd.org Subject: Re: Recommended gmirror solution with swap? Message-ID: <20070103094150.45525.qmail@web30306.mail.mud.yahoo.com> In-Reply-To: <20070103083505.GB6253@garage.freebsd.pl>
next in thread | previous in thread | raw e-mail | index | archive | help
--- Pawel Jakub Dawidek <pjd@FreeBSD.org> wrote: > > I just setup this test setting: > > 1. gnop on ad0s1gd > > 2. gmirror on ad0s1gd.nop (hardcoded (-h)) and ad0s1ge > > 3. dd (writes from /dev/urandom to the mirror) > > 4. gnop configure -v -f 100 ad0s1gd.nop > > 5. dd becomes unresponsive; CTRL+t says: > > load: 0.78 cmd: dd 11034 [physwr] 0.01u 0.68s 0% 612k > > I can't reproduce it. What block size did you use for dd(1)? I did a > lot of testing in the past with gmirror/graid3 and gnop(8), actually, > this is why I implemented gnop(8) in the first place. If it doesn't > work, it's a bug in gmirror, but I can't reproduce it with quite recent > current. From what I see you're not using recent current, because there > is no '-f' option for gnop(8) anymore, but it should also work with > RELENG_6, so more info which will allow me to reproduce the problem > would be helpful. > > -- > Pawel Jakub Dawidek http://www.wheel.pl > pjd@FreeBSD.org http://www.FreeBSD.org > FreeBSD committer Am I Evil? Yes, I Am! > Oki Doke... It is a very sporadic error, that I was able to reproduce after an hour of desperate testing (I already thought, I had delusions yesterday): :-) In window number 1 we had this: neo# repeat 100 dd of=/dev/mirror/fook if=/dev/urandom bs=512 dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 15.717300 secs (3257524 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 14.194099 secs (3607097 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 18.362899 secs (2788203 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 17.022286 secs (3007792 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 14.196873 secs (3606392 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 20.076416 secs (2550230 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 20.647549 secs (2479688 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 14.124682 secs (3624824 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 17.892760 secs (2861464 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 18.004130 secs (2843763 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 15.764862 secs (3247697 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 16.149833 secs (3170280 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 18.820779 secs (2720370 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 15.577478 secs (3286764 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 18.791059 secs (2724673 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 24.638594 secs (2078020 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 24.352703 secs (2102415 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 24.075611 secs (2126612 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 24.332309 secs (2104177 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 24.459005 secs (2093278 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 24.170156 secs (2118294 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 24.209860 secs (2114820 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 24.144262 secs (2120565 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 18.784086 secs (2725684 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 20.041209 secs (2554711 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 14.122618 secs (3625354 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 14.088424 secs (3634153 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 17.949967 secs (2852344 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 16.368807 secs (3127869 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 14.365082 secs (3564163 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 14.138732 secs (3621222 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 20.906817 secs (2448937 bytes/sec) load: 0.92 cmd: dd 2352 [*Giant] 0.01u 1.08s 3% 696k 38596+0 records in 38595+0 records out 19760640 bytes transferred in 9.200829 secs (2147702 bytes/sec) load: 0.93 cmd: dd 2352 [physwr] 0.03u 1.52s 4% 696k 54424+0 records in 54423+0 records out 27864576 bytes transferred in 13.039194 secs (2136986 bytes/sec) load: 0.93 cmd: dd 2352 [physwr] 0.04u 1.80s 5% 696k 64547+0 records in 64546+0 records out 33047552 bytes transferred in 15.430266 secs (2141736 bytes/sec) load: 0.94 cmd: dd 2352 [physwr] 0.04u 1.94s 5% 696k 69424+0 records in 69423+0 records out 35544576 bytes transferred in 16.582293 secs (2143526 bytes/sec) load: 0.94 cmd: dd 2352 [runnable] 0.04u 1.99s 5% 696k 71177+0 records in 71177+0 records out 36442624 bytes transferred in 16.997564 secs (2143991 bytes/sec) load: 0.94 cmd: dd 2352 [physwr] 0.04u 2.02s 5% 696k 72332+0 records in 72331+0 records out 37033472 bytes transferred in 17.279865 secs (2143157 bytes/sec) load: 0.94 cmd: dd 2352 [physwr] 0.04u 2.04s 6% 696k 73318+0 records in 73317+0 records out 37538304 bytes transferred in 17.517803 secs (2142866 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 23.872245 secs (2144729 bytes/sec) load: 0.86 cmd: dd 2369 [physwr] 0.00u 0.05s 0% 696k 1870+0 records in 1869+0 records out 956928 bytes transferred in 0.439035 secs (2179617 bytes/sec) dd: /dev/mirror/fook: end of device 100000+0 records in 99999+0 records out 51199488 bytes transferred in 19.229316 secs (2662575 bytes/sec) load: 0.83 cmd: dd 2372 [physwr] 0.01u 1.70s 0% 696k load: 0.10 cmd: dd 2372 [physwr] 0.01u 1.70s 0% 696k load: 0.10 cmd: dd 2372 [physwr] 0.01u 1.70s 0% 696k load: 0.10 cmd: dd 2372 [physwr] 0.01u 1.70s 0% 696k load: 0.10 cmd: dd 2372 [physwr] 0.01u 1.70s 0% 696k load: 0.17 cmd: dd 2372 [physwr] 0.01u 1.70s 0% 696k [dd hangs here] In window #2 we have this: neo# gnop create ad0s1gd neo# gmirror label -h fook ad0s1gd.nop neo# gmirror insert fook ad0s1ge neo# gmirror status fook Name Status Components mirror/fook DEGRADED ad0s1gd.nop ad0s1ge (59%) neo# gmirror status fook Name Status Components mirror/fook COMPLETE ad0s1gd.nop ad0s1ge neo# echo start dd in another window start dd in another window neo# gnop configure -f 100 ad0s1gd.nop neo# gmirror status fook Name Status Components mirror/fook DEGRADED ad0s1ge neo# echo dd completed without premature error dd completed without premature error neo# gmirror forget fook neo# gnop configure -f 0 ad0s1gd.nop neo# gmirror insert fook ad0s1gd.nop neo# gmirror status Name Status Components mirror/sys COMPLETE ad0s1a ad1s1a mirror/home COMPLETE ad0s1d ad1s1d mirror/fook DEGRADED ad0s1ge ad0s1gd (39%) [...] [...hours later...] [...] neo# gmirror forget fook ; gmirror insert fook ad0s1gd neo# gmirror status Name Status Components mirror/sys COMPLETE ad0s1a ad1s1a mirror/home COMPLETE ad0s1d ad1s1d mirror/fook DEGRADED ad0s1ge ad0s1gd (48%) neo# gnop configure -f 100 ad0s1gd.nop neo# gmirror status Name Status Components mirror/sys COMPLETE ad0s1a ad1s1a mirror/home COMPLETE ad0s1d ad1s1d mirror/fook COMPLETE ad0s1ge ad0s1gd neo# gmirror remove fook ad0s1gd neo# gmirror status Name Status Components mirror/sys COMPLETE ad0s1a ad1s1a mirror/home COMPLETE ad0s1d ad1s1d mirror/fook COMPLETE ad0s1ge neo# gmirror forget fook ; gmirror insert -h fook ad0s1gd.nop Cannot store metadata on ad0s1gd.nop. neo# gnop configure -f 0 ad0s1gd.nop neo# gmirror forget fook ; gmirror insert -h fook ad0s1gd.nop neo# gmirror status Name Status Components mirror/sys COMPLETE ad0s1a ad1s1a mirror/home COMPLETE ad0s1d ad1s1d mirror/fook DEGRADED ad0s1ge ad0s1gd.nop (66%) neo# gmirror status Name Status Components mirror/sys COMPLETE ad0s1a ad1s1a mirror/home COMPLETE ad0s1d ad1s1d mirror/fook COMPLETE ad0s1ge ad0s1gd.nop neo# gmirror status Name Status Components mirror/sys COMPLETE ad0s1a ad1s1a mirror/home COMPLETE ad0s1d ad1s1d mirror/fook COMPLETE ad0s1ge ad0s1gd.nop neo# gnop configure -f 100 ad0s1gd.nop You have new mail. neo# gmirror status Name Status Components mirror/sys COMPLETE ad0s1a ad1s1a mirror/home COMPLETE ad0s1d ad1s1d mirror/fook COMPLETE ad0s1ge ad0s1gd.nop neo# gmirror list fook Geom name: fook State: COMPLETE Components: 2 Balance: split Slice: 4096 Flags: NONE GenID: 15 SyncID: 1 ID: 1003357718 Providers: 1. Name: mirror/fook Mediasize: 51199488 (49M) Sectorsize: 512 Mode: r1w1e0 Consumers: 1. Name: ad0s1ge Mediasize: 51200000 (49M) Sectorsize: 512 Mode: r1w1e1 State: ACTIVE Priority: 0 Flags: NONE GenID: 15 SyncID: 1 ID: 1399415263 2. Name: ad0s1gd.nop Mediasize: 51200000 (49M) Sectorsize: 512 Mode: r1w1e1 State: ACTIVE Priority: 0 Flags: HARDCODED GenID: 15 SyncID: 1 ID: 617307948 [gmirror does not detect the dead disk] -Arne __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070103094150.45525.qmail>