Subject | Re: [ib-support] Firebird and Network Attached Storage? |
---|---|
Author | John Bellardo |
Post date | 2002-01-16T00:47:08Z |
Hi,
On Tuesday, January 15, 2002, at 03:02 PM, Daniel Rail wrote:
> David,
>
> Did you check into shadowing? I know that the shadow file follows the
> same
> rules as the main file, as of where it has to reside.
>
> So maybe John could explain why it is so with shadowing! I see
> shadowing
> as a good start for fail-over, but if you can't create a shadow and
> maintain it on another system on the network, it's not worth having
> shadowing capabilities in the first place(for a good part). If the
> system
> where FB crashes, because of the motherboard let go, the downtime is too
> great even if shadowing is used. On the other hand if shadowing can be
> performed over the network, on another system, then you simply get the
> other system to run as if it was the one that went down. Maybe this
> could
> be looked into for version 1.0.
I had thought about shadowing as well, but that is getting to the fringe
of my knowledge about the FB code. However [I think] I can still answer
the question.
The shadows support automatic roll over. If the primary db file gets
corrupted or is otherwise unusable the db server will start using the
shadow file automatically. Which means you have the same concurrent
access problems for network drives after the shadow becomes "primary".
Additionally the shadow has to be kept up to date with the primary and I
assume (probably a safe assumption) that is done using the same locking
mechanisms used in the rest of the database server. Those very same
mechanisms that can break when the database is located on a network
drive.
I'm also not sure if a set of shadow files can act as a stand alone
primary database without the old inaccessible "primary" database. That
is I don't know if the following will work: you have a database my.gdb
with a shadow my.sdw, shut down the primary server, transfer my.sdw to
another machine, and connect to my.sdw there. The shadows are still
useful to avoid the failure of a hard drive in the computer, but won't
help if the computer itself fails.
Perhaps (as Sean mentioned) the best option for you (David) would be an
external hard drive(s) that is quickly moved between the two servers.
Perhaps a hot-plugable SCSI or Firewire depending on your needs? There
is still a potential issue with data corruption if the server is in the
middle of a write when it crashes, but the same problem would exist with
any network drive.
-John