Qlogic SAN setup/zoning questions

Posted on 2009-04-28
Last Modified: 2013-11-14
We have an Apple XServe RAID (XRaid) which is currently directly connected to a Mac computer.  We want to have the ability to connect a second Mac to the XRaid.  I know that two Macs can't access the same volume simultaneously - we would dismount the volume on Mac 1 and then mount on Mac 2 and vice versa.

We have purchased a Qlogic 5602Q fiber channel switch and all the cables/transceivers/cards necessary to physically hook both Macs amd the Xraid up to the switch.  What do I need to do on the switch as far as configuration so that both Macs will be able to see both of the XRaid controllers?
Question by:FWeston
    LVL 7

    Expert Comment

    I don't know Apple XRaid, but  I know something about SAN.

    Generally speaking, 2 computers cannot access same volume :
    this is not in the sense that "they are not able to",
    but is in the sense: "they have not to access same volume":

    if they do, before or after the partition inside volume, will be corrupted.

    Two or more hosts can access (in the sense "is allowed") to a same volume,
    (using FC switch as you have got), ONLY if they use a software
    that synchronize them, as Cluster, Virtualizzation, or other.

    If you need share files, you have to permit access to the SAN, just to 1 server:
    this, after, using own File Sharing protocol, (NFS for Unix, SMB for Windows,...)
    will share documents to other servers.

    Do you agree ?

    You can wire both Macs to the Storage, via Switches, but on the Storage, you
    have to mask each volume to each wwname of the HBA/Macs.

    How many HBA or port per HBA have you each MAC ?

    LVL 3

    Author Comment


    I already know that they won't both be able to access the same volume at the same time.  As I've said, I need to allow both Macs the ability to see each volume with the understanding that only one will be able to have it mounted at any given time.

    Each Mac has one dual-port HBA.

    LVL 7

    Accepted Solution

    thank you for answer, and clarity.

    Usually to connect a dual-controller Storage with dual-channel HBAs or 2 HBA/server,
    2 FC-Switches is used.
    Suppose we have two FC-Switches and each FC-Switch has 10 ports

    See Solution Alpha in the snippet.

    This is physical FC schema, where <======> are FC cables (six).
    Done this, you have to zone the Switches; you can zone by wwname
    or port number. Suppose you choose PortNumber

    On SwitchA, you create 2 zones:

    Zone_1 = Port10,Port_1
    Zone_2 = Port10,Port_2

    On SwitchB, you create 2 zones (same names, same ports) :

    Zone_1 = Port10,Port_1
    Zone_2 = Port10,Port_2

    If you have just one switch, there is no problem;
    you have just a single point of failure if Swich fails.
    Consider to use ports 11-20 of your switch as port 1-10 of Switch(B)  (See solution Beta)

    On this switch, define 4 zones:

    Zone_1 = Port10-Port_1
    Zone_2 = Port10-Port_2
    Zone11 = Port20-Port11
    Zone12 = Port20-Port12

    That's all ? No!

    >>>>>> On the storage,  you have to define
    - 2 or more Logical Volumes
    - 2 hosts, and attached each host, the wwname of the 2 ports


    You can find HBA's wwname in many ways:
    * Reading physically on the HBAs
    * See on Hosts by specific program (also Qlogic ones)
    * At bios level
    * On the Storage (not always possible) , if you attach one at time and note wwname and/or put in group

    - Share each Volume to 1 host (create the LUN)

    Volume1(  music  )--->Host1 = LUN_0
    Volume2(pictures)--->Host1 = LUN_1

    Volume3(  video  )--->Host2 = LUN_0

    >>>>>> On the server you need:
    - Device driver for HBA
    - Multi-path Software

    if you don't install the first, you will not see any disk
    if you don't install the last, you'll see each Volume 2 times,

    but knowing Apple (just as end-user), I believe all will be easy and perfect as use an IPod.


                    S O L U T I O N   Alpha:   two switches
    /-------\                                                      /-------\
    |       |                                                      |       |
    !     1 +<=============> HBA(a)-Host(1)-HBA(b) <=============> + 1     |
    ! S   2 +<=============> HBA(a)-Host(2)-HBA(b) <=============> + 2   S |
    ! w   3 |                                                      | 3   w |
    ! i   4 |                                                      | 4   i |
    ! t   5 |                                                      | 5   t |
    ! c   6 |                                                      | 6   c |
    ! h   7 |                                                      | 7   h |
    !     8 |                                                      | 8     |
    !(A)  9 |         /--------------\   /--------------\          | 9  (B)|
    !    10 +<=======>+ Controller(a)|   | Controller(b)+<=======> +10     |
    |       |         \--------------/   \--------------/          |       |
    \------/                                                       \-------/ 
        o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
                     S O L U T I O N   Beta: one Switch
    /-------\                                                      ~~~~~~~~~
    |       |                                                      |       |
    !     1 +<=============> HBA(a)-Host(1)-HBA(b) <=============> +11     |
    ! S   2 +<=============> HBA(a)-Host(2)-HBA(b) <=============> +12   S |
    ! w   3 |                                                      |13   w |
    ! i   4 |                                                      |14   i |
    ! t   5 |                                                      |15   t |
    ! c   6 |                                                      |16   c |
    ! h   7 |                                                      |17   h |
    !     8 |                                                      |18     |
    !     9 |         /--------------\   /--------------\          |19     |
    !    10 +<=======>+ Controller(a)|   | Controller(b)+<=======> +20     |
    |       |         \--------------/   \--------------/          |       |
    ~~~~~~~~~                                                      \-------/ 

    Open in new window


    Featured Post

    What Should I Do With This Threat Intelligence?

    Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

    Join & Write a Comment

    I have written before on the benefits of using a Boot media other than your HDD when it has become infected.   The article I wrote about creating a bootable CD/DVD/USB ( was mainly concerned with building a UBCD4Win on CD …
    How to update Firmware and Bios in Dell Equalogic PS6000 Arrays and Hard Disks firmware update.
    This video teaches viewers how to encrypt an external drive that requires a password to read and edit the drive. All tasks are done in Disk Utility. Plug in the external drive you wish to encrypt: Make sure all previous data on the drive has been …
    This tutorial will walk an individual through the process of installing the necessary services and then configuring a Windows Server 2012 system as an iSCSI target. To install the necessary roles, go to Server Manager, and select Add Roles and Featu…

    729 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    20 Experts available now in Live!

    Get 1:1 Help Now