Clustering is fairly easy to setup (once you've done it once or twice).
It's pretty hard to setup without both nodes in the same datacenter and connected to the same fabric. It can be done, but it does require some very high end storage hardware and setting up what is called a majority node set.
In your case mirroring (either with the auto failover or not) will be your best bet.
If you want the database to be HA you'll need auto failover.
Setting up mirroring as an HA system will require that you change the connection strings / DSNs adding in the mirror servers information. You also have to use the SQL 2005 driver instead of the SQL 2000 driver. However once it's all setup it should work nicly for you. When I was testing it I was getting subsecond failover (when manually triggered, and with a very low workload).
You can setup the mirror on the backup machine at the backup site in order to save a little money on the extra hardware. It must be running at the backup site because if the primary site goes down and the witness is at the primary site there will be nothing to tell the backup to come online, and your solution won't work.
Denny
MCSA (2003) / MCDBA (SQL 2000)
MCTS (SQL 2005 / Microsoft Windows SharePoint Services 3.0: Configuration / Microsoft Office SharePoint Server 2007: Configuration)
MCITP Database Administrator (SQL 2005) / Database Developer (SQL 2005)
--Anything is possible. All it takes is a little research. (Me)