Date: Sun, 29 Sep 1996 00:40:56 +0200 From: Stefan Grefen <grefen@carpe.net> To: Peter Childs <pjchilds@imforei.apana.org.au> Cc: bsdscsi@shadows.aeon.net (mika ruohotie), freebsd-scsi@freebsd.org Subject: Mirroring woth different speeds Was: Re: striping/mirroring? Message-ID: <20248.843950456@hex.grefen.carpe.net>
next in thread | raw e-mail | index | archive | help
In message <199609281959.FAA23341@al.imforei.apana.org.au> Peter Childs wrote: [...] This is a seperate issue, and becomes unrelated to the current thread: > > I'm really quite interested in how you propose to have a mirrored > system where drives can run at different steeds. Mirror works like > this > > DATA ----> (going to disk) -------+--(and another copy)----+ > | | > disk 1 disk 2 > > So if i send some data to the (mirrored) disk, and disk1 > is significantly faster than disk2, then disk1 will finish the write > first.... so then do i just let it write more? Can you see a > problem with this? What happens when disk1 is miles ahead.. who > is supposed to keep track of all this data thats queued up for > disk2? The OS? And if the disk 1 suddenly fails then you're > screwed, and you fault tolerant system wan't very. This is possible, but not with a standard filesystem. If you use a kind of transaction-based filesystem you can do it safely and in case of a crash you roleback the transactions that didn't make it to the mirror (you commit it on disk only after the mirror has been updated, but pretend otherwise it happend). Of cause the you have to make sure the commits on the mirror are done in the same order on bith disks. The difference between the 2 drives would limited only be available disk-size (for the old copies on drive 1). > > : original question was, can i do it with freebsd? > > : seems to me answer is no. > > The reason FreeBSD can't do it is because the only people > capable of writting it know that its not really the best idea. To make it short, it can (and has) been done, but not in *BSD (yet). This would be a nice and interesting spare-time project, if there was enough spare-time (or somebody would pay for it) ... For the given application it's not really needed, as it can be fixed with money (disk-drives or a RAID-box), but there are other applications where this isn't possible ('life' off-site mirrors for example, you can't buy or lease a 40MByte/s, SCSI-link with 500 Miles length ... the latency factor alone will kill you on every SCSI-transaction). And of cause it only works in read-mostly situations, but this is the case for most filesystems (most partitions on a unix system have this access pattern, obvious exceptions /tmp /var/spool/mqueue /var/spool/news ...) Stefan > > Peter > > -- > Peter Childs --- http://www.imforei.apana.org.au/~pjchilds > Finger pjchilds@al.imforei.apana.org.au for public PGP key > Drag me, drop me, treat me like an object! -- Stefan Grefen Am Grossberg 16, 55130 Mainz, Germany grefen@carpe.net +49 6131 998566 Fax:+49 6131 998568 Living on Earth may be expensive, but it includes an annual free trip around the Sun.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20248.843950456>