[ENBD] /proc/nbdinfo and intelligent mirroring

Peter T. Breuer enbd@lists.community.tummy.com
Fri, 12 Sep 2003 16:38:21 +0200 (MET DST)


"Also sprach Jens Weber:"
> I have two systems. One with a 800GB Raid5 3ware IDE controller as enbd server
> and a client system running 2.4.22-ac1 with enbd-2.4.31. On the raid are LVM
> partitions and the lvm will be managed from the client. On the client are
> running to domino server as test applications with there data directories on lvm.
> After ~2 days cat /proc/nbdinfo shows:
> 
> [root]# cat /proc/nbdinfo
> Device a:       Open
> [a] State:      signed, rw, enabled, validated, plug, acct, last error 0, lives
> 0, bp 0
> [a] Queued:     +0R/0W curr (check 0R/0W) +245R/1024W max
> [a] Buffersize: 262144  (sectors=512, blocks=256)
> [a] Blocksize:  1024    (log=10)
> [a] Size:       844384128KB
> [a] Blocks:     844384128
> [a] Sockets:    12      (+)     (+)     (+)     (+)     (+)     (+)     (+)    
> (+)     (+)     (+)     (+)     (*)

Oww .. that's a bug in the development version (2.4.31) that i saw
myself only yesterday and corrected. I'll upload the code. Every time
you kill ALL clients and then restart them ALL, you start a few new
connections and lose the old. It still thinks it's doing "raid1" itself


> [a] Requested:  82.737M (6.92M) (6.88M) (6.88M) (6.91M) (6.90M) (6.87M) (6.89M)
> (6.86M) (6.88M) (6.83M) (6.93M) (6.92M) 49.94MR/32.79MW max 4
> [a] Despatched: 82.737M (6.92M) (6.88M) (6.88M) (6.91M) (6.90M) (6.87M) (6.89M)
> (6.86M) (6.88M) (6.83M) (6.93M) (6.92M) 49.94MR/32.79MW md5 1000KW (495K eq,
> 505K ne, 0 dn)

Well, you almost seem to have all those channels going.

> [a] Errored:    0       (0)     (0)     (0)     (0)     (0)     (0)     (0)    
> (0)     (0)     (0)     (0)     (0)     0+0
> [a] Pending:    628     (0)     (0)     (4)     (0)     (4)     (0)     (4)    
> (0)     (0)     (4)     (4)     (4)     24R/604W+0R/0W

Accounting anomaly.

> [a] B/s now:    1.04M   (1.04MR+0W)
> [a] B/s ave:    242K    (2.60MR+3.99GW)
> [a] B/s max:    2.46G   (762MR+2.37GW)
> [a] Spectrum:   4%1     95%4
> [a] Kthreads:   0       (0 waiting/0 running/1 max)
> [a] Cthreads:   6       (+)     (+)     (-)     (+)     (-)     (+)     (-)    
> (+)     (+)     (-)     (-)     (-)
> [a] Cpids:      6       (201)   (202)   (203)   (204)   (205)   (206)   (207)  
> (210)   (211)   (212)   (213)   (215)
> Device b-p:     Closed
> 
> Can you shortly explain the output and is the calculation of B/s ave and max
> correct?

It more or less is. The average is total/time. The max is calculated
using the current speed, which is of course only approximate.

> I want to use the new intelligent mirroring and have some question about it.

In that case you need the fr1 module ..

> Before I ativate the mirroring the block devices must be equal, block by block?
> If one mirrow server is gone the client knows what missing on that server when
> the server come back. But where does the client store that information?
> What happend when the client has a problem and make a reset when one mirrow
> server is gone?

Are you using fr1? It's just raid1 with extra intelligence, so at worst
it will behave like current raid1.

> Thanks! - Can I help you with testing or developing?

Of course!

Peter