A method for creating redundant logical connections, comprising: providing a physical connection topology and a logical connection topology between a host and a logical unit hosted on a storage array, said physical connection topology and said logical connection topology comprising all network fabrics to which both said host and said storage array belong; determining where at least one single point of failure in the logical connection topology is located between said host and said logical unit within a particular network fabric; when at least one single point of failure is determined: attempting to create a fully redundant logical connection between said host and said logical unit within said particular network fabric; if a fully redundant logical connection is not possible in said particular network fabric, attempting to create a fully redundant logical connection between said host and said logical unit using an alternate of said network fabrics; and if a fully redundant logical connection is not possible in any alternate network fabric in said topologies, attempting to create a partially redundant logical connection between said host and said logical unit within said particular network fabric, wherein creating the fully redundant logical connection or creating the partially redundant logical connection includes establishing a logical link over an available physical link, the available physical link being a physical link having no overlying logical link. providing a physical connection topology and a logical connection topology between a host and a logical unit hosted on a storage array, said physical connection topology and said logical connection topology comprising all network fabrics to which both said host and said storage array belong; determining where at least one single point of failure in the logical connection topology is located between said host and said logical unit within a particular network fabric; when at least one single point of failure is determined: attempting to create a fully redundant logical connection between said host and said logical unit within said particular network fabric; if a fully redundant logical connection is not possible in said particular network fabric, attempting to create a fully redundant logical connection between said host and said logical unit using an alternate of said network fabrics; and if a fully redundant logical connection is not possible in any alternate network fabric in said topologies, attempting to create a partially redundant logical connection between said host and said logical unit within said particular network fabric, wherein creating the fully redundant logical connection or creating the partially redundant logical connection includes establishing a logical link over an available physical link, the available physical link being a physical link having no overlying logical link. attempting to create a fully redundant logical connection between said host and said logical unit within said particular network fabric; if a fully redundant logical connection is not possible in said particular network fabric, attempting to create a fully redundant logical connection between said host and said logical unit using an alternate of said network fabrics; and if a fully redundant logical connection is not possible in any alternate network fabric in said topologies, attempting to create a partially redundant logical connection between said host and said logical unit within said particular network fabric, wherein creating the fully redundant logical connection or creating the partially redundant logical connection includes establishing a logical link over an available physical link, the available physical link being a physical link having no overlying logical link.