• It's not a matter of an advantage/disadvantage, it's another concept.

    Clustering is a failover system for your server (not for your storage), while mirroring is a failover for your complete environment. Mirroring can be setup in different stages, including an automatic switch the the mirrored database server, see BOL.

    There are also some limitations about the physical distance between the 2 servers (in both cases) , make sure you know these before making a decision.

    For clustering, in most cases one server is active and the other (passive) is doing nothing. One diskgroup is defined and connected to the active node. But you can take advantage of the passive node by adding an additional diskgroup and connect this to the passive node. You cannot share the same disk (same data), but at least you can use the passive node.

    Say you have:

    * server 1, shared diskgroup a, application fgh, server 2 is the failover for server 1

    * server 2, shared diskgroup b, application xyz, server 1 is the failover for server 2

    Only if a failover occurs, the remaining server will get both diskgroups and a higher load (but how often will that happen?)

    Wilfred
    The best things in life are the simple things