Port Connections and Paths
A port is a Fibre Channel or iSCSI port, either on the host or DataCore Server. Ports are the end-points of paths. A path is a Fibre Channel or iSCSI connection between two ports.
This topic describes the various port and path features in this software and how ports and paths are selected. Links to additional related topics and instructions are also provided.
In this topic:
Also see:
Assigning Port Roles and Port Groups
Some port configuration may have been performed by the Automated Installation and Upgrade Wizard during software installation depending on the template selected during installation.
Port Roles
Server ports can be assigned roles to regulate how ports are used when virtual disk paths are created. Initially, all roles are assigned to Fibre Channel server ports, and no roles are assigned to iSCSI server ports. Port roles should be customized or assigned to designate the necessary roles for each server port. Limiting the roles that a port supports can regulate the paths and avoid automatic selection of an undesirable port.
When server port roles are assigned, the SCSI mode is automatically set to reflect the role. When a combination of port roles are assigned to a server port the default SCSI mode for the port will be set to Initiator/Target.
Possible port roles include:
Role | Description |
---|---|
|
|
|
|
To manually set the SCSI mode, see Modifying Fibre Channel Port Settings or Modifying iSCSI Port Settings. |
Valid Port Roles
Port Type | Front-end [FE] | Back-end [BE] | Mirror [MR] |
---|---|---|---|
Fibre Channel Ports (all) |
✓ |
✓ |
✓ |
iSCSI Target Ports |
✓ |
N/A |
✓ |
N/A |
✓ |
✓ |
- Ports are selected to use as path end-points based on the assigned port role and SCSI mode. For instance, only a port with the FE role assigned will be used in a path to serve a virtual disk to a host. Only a port with the MR role can be used in mirroring. Paths cannot be created unless available ports with the appropriate roles exist to support them.
- Port roles should be customized before use. Before customizing port roles, carefully plan how your ports should be used. Ensure that there are a sufficient number of ports to serve virtual disks to hosts with multipathing capabilities, or to use redundant mirror paths or dual paths to storage, if desired. Then assign the roles to use for every server port and allow this software to automatically select the correct ports when creating paths. Server Port roles can be added to a port at any time. See Assigning Port Roles and Groups.
- Once a port with a specific role is used in a path, that role may not be removed from the port while the path exists. To remove the role, the path would have to be removed first. For instance, if a port has a FE role and is used in a path, the FE role cannot be removed until the FE path is removed. Port roles can be added to a port at any time. (The removal of mirror paths is not applicable to server groups with system managed mirroring enabled as mirror paths are automatically managed.)
- The port role abbreviation is displayed in the DataCore Servers panel next to each port and in the details page for the port, under the Settings tab. To change port roles, see Assigning Port Roles and Groups.
Path Selections
Path selections made by the software follow these general rules, some exceptions may apply:
- Path selections are always ruled by the port role feature, which is used to regulate which ports can be used for front-end, mirror, and back-end paths.
- Automatic path selections favor Fibre Channel (FC) ports over iSCSI, if both types are available and designated with the proper port role. To use iSCSI ports when FC ports exist, the iSCSI ports must be intentionally selected.
- By default, I/O load will be balanced over all eligible server ports that meet the necessary criteria. When there are equal candidates, an FC port will be selected over an iSCSI port. This is also true for host ports. By default, I/O load on hosts will be balanced over all assigned host ports.
- DataCore Servers are automatically enabled for ALUA when serving multi-copy virtual disks ( a disk that is comprised of two or more storage sources, each from a different server) back to one of the source DataCore Servers over iSCSI.
A source server is one of the servers that have a storage source in the mirrored virtual disk.
The local iSCSI front-end paths are set to Active/Optimized (all other front-end paths to the virtual disk are set to Active/Unoptimized). This is to ensure that I/O from the DataCore Server host to the virtual disk is transferred to the localDataCore Server instead of to the mirror partner of the virtual disk. Reads and writes to the local server are more efficient and avoid network or latency issues.- This behavior only applies when serving multi-copy virtual disks locally to other servers using the Microsoft Initiator. This behavior is not supported for Fibre Channel, loopback ports, or non-local iSCSI network paths.
An example of serving a virtual disk locally over iSCSI:
A mirrored virtual disk VD1 is created using a storage source from Server1 and Server2.
VD1 is served to Server1 using the Microsoft iSCSI Initiator on Server1 and the target port Server iSCSI Port 1 on Server1.
- The local iSCSI target ports must be manually added to the local Microsoft iSCSI Initiator in order to serve the virtual disks over iSCSI. For instance, add the desired targets ports on Server1 to the Microsoft iSCSI Initiator on Server1.
- For redundancy, iSCSI target ports on different NICs are preferred over target ports on the same NIC.
- Preferred paths cannot be manually set in the DataCore Management Console to override this behavior.
- This behavior only applies when serving multi-copy virtual disks locally to other servers using the Microsoft Initiator. This behavior is not supported for Fibre Channel, loopback ports, or non-local iSCSI network paths.
- Port groups are used to create physically isolated paths to improve fault tolerance. Paths are created from different port groups whenever possible.(See Port Groups for more information.)
- Front-end paths can be automatically or manually selected in the wizard when virtual disks are served to hosts. Once created, paths can be changed, deleted, or manually added as necessary, see Modifying Paths.
Path Features
Path features determine how paths are created and utilized.
Redundant Paths
Redundant paths are used to achieve high availability. In the event that one path becomes unavailable, I/O will simply use another available path. (Also see Port Groups to create physically isolated redundant paths to improve fault tolerance.)
The behavior of redundant mirror and back-end paths differ between iSCSI and Fibre Channel. Redundant iSCSI paths operate in Active/Active mode. Redundant Fibre Channel paths controlled by DataCore device drivers will operate in failover (Active/Standby) mode, where one path is Active per virtual disk and all other paths are in Standby.
Redundant Mirror Paths
- The redundant mirror path feature creates two mirror paths going in each direction between DataCore Servers that have storage sources in a virtual disk. Redundant mirror paths are created by default, provided that sufficient connected ports exist when the virtual disk is created. Those ports are automatically selected when the virtual disk is created. See Creating Virtual Disks.
- Requires each server to have either two FC or two iSCSI ports with the mirror (MR) role enabled. Redundant paths must be the same type (either iSCSI or Fibre Channel), although redundant paths from Server1 to Server2 can be one type and redundant paths from Server2 to Server1 can be a different type. If both FC and iSCSI ports exist on a server, FC paths will be configured by default.
- Paths may be customized after virtual disks are created and preferred paths can be selected, see Modifying Paths. (Not applicable to server groups with system managed mirroring enabled as mirror paths are automatically managed.)
Redundant Front-end Paths
- When multipath is enabled for a host, the multipath support feature automatically creates redundant front-end paths when virtual disks are served to that host, provided that sufficient ports exist. Those paths are automatically selected and cannot be customized in the Serve Virtual Disks wizard. Two paths will be created from the host to each DataCore Server that has a storage source in the virtual disk. For instance, for a mirrored or dual virtual disk, two paths would be created from Host to Server1 and two paths would be created from Host to Server2. For a single virtual disk, two paths would be created from Host to Server1. See Multipath Support.
- Requires each server to have at least two ports (FC or iSCSI) with the front-end (FE) role enabled. If a sufficient number of both FC and iSCSI ports exist, FC paths will be configured by default.
Both FC and iSCSI paths can exist between a host and server. Although permitted, it is not a good practice to mix both FC and iSCSI FE paths between a host and server and should be avoided when possible.
- Paths may be customized after virtual disks are served and preferred paths can be selected. See Modifying Paths.
Redundant Back-end Paths
- The redundant back-end path feature creates two paths from each DataCore Server to the storage.
- Supported for Fibre Channel and iSCSI. Requires the server to have two ports with the back-end (BE) role enabled.
- The back-end path can be used provided that the LUNs from the Storage Array are connected to different back-end paths and/or different controllers on the Storage Array and the controllers are in an Active/Active configuration.
- Preferred paths can be set at the physical disk level. See Modifying Paths.
Port Groups
The port group feature allows the grouping of DataCore Servers ports in order to create different logical networks which are used when creating front-end or mirror paths. This feature has the ability to ensure that front-end and mirror paths are physically isolated to improve fault tolerance.
Port group settings affecting mirror paths are ignored when system managed mirroring is enabled.
Port groups are created per server group. Multiple port groups can be created. Ports added to the same port group are considered to be in the same physical network or switch.
- FC initiator, FC target, and iSCSI target ports can be added to user-defined port groups.
- Host ports, iSCSI initiator ports, and loopback ports cannot be added to user-defined port groups.
- All ports not specifically assigned to user-defined port groups become members of the "default" port group, which is also considered a valid port group.
- The software selects which port groups to use when creating paths.
Basic Rules for Creating Paths Using Port Groups
- The software creates redundant paths using ports from different port groups whenever possible.
- For iSCSI, only target ports can be added to user-defined port groups; the software will use the Microsoft iSCSI Initiator for the appropriate server.
When the software creates iSCSI redundant paths, a target port from one port group is selected, and using the appropriate initiator, creates one path. Another target port is selected from a different port group, and using the appropriate initiator, creates the second path.
- For Fibre Channel, initiator and target ports can be added to user-defined port groups.
When the software creates Fibre Channel redundant paths, a target port from one port group is selected, and using the appropriate initiator, creates one path. Another target port is selected from a different port group, and using the appropriate initiator, creates the second path.
- For iSCSI, only target ports can be added to user-defined port groups; the software will use the Microsoft iSCSI Initiator for the appropriate server.
- When creating single front-end and mirror paths, the software creates the front-end path and mirror paths from each server from different port groups whenever possible.
For example, mirrored virtual disk "VD1" is created from Server1 and Server2. The mirror path from Server1 to Server2 is created from "Port Group 1" and the mirror path from Server2 to Server1 is created from "Port Group 2". "VD1" is served to Host1. The front-end path from Host1 to Server1 is created from "Port Group 2" and the front-end path from Host1 to Server2 is created from "Port Group 1".
- When creating a new mirror or front-end path, the software tries to ensure that the initiator port of the mirror path and the target port of the front-end path are from different port groups whenever possible. In this manner, if a front-end path fails, the server may still be able to mirror the cached data to the mirror partner and the front-end path can fail over. (This behavior is very important when using single paths.)
Ports can be assigned to port groups in the Assign Port Roles and Groups dialog box, or the Settings tab of the iSCSI Port Details page or Fibre Channel Port Details page. (See Assigning Port Roles and Groups.)
Ports can also be assigned to port groups directly from the DataCore Servers panel using the context menu for the port. Enter a new port group name or select an existing port group from the drop-down menu.
Port group assignments can be viewed in the Ports tab of the DataCore Server Details page.
- Port group names may consist of up to 63 characters and are not case sensitive. The creation of user-defined port groups is optional.
- Port roles are honored as well as standard rules in path selections. Ensure that ports have the proper roles to make the necessary mirror or front-end connections. Initiator and target ports should be connected in the configuration.
- Paths are created using ports in the same port group when there is only one port group in the server group or a suitable port is not found in a different port group.
Preferred Servers
Preferred servers are used to designate which DataCore Servers are favored when front-end paths exist from a host to more than one DataCore Server. The preferred server setting automatically sets the path policy. Multiple preferred servers may be selected.
When multi-copy or dual virtual disks are served to a host, paths between the host and the preferred servers will be used whenever possible. Front-end paths to preferred servers are supported for Fibre Channel and iSCSI.
The Preferred Server setting is set at the host level for each specific host. The setting can be selected when a host is registered, or can be set or changed at any time in the Host Details page. See Registering Hosts and Assigning Ports to set the preferred servers.
The preferred servers for a served virtual disk can be viewed on the Host Details page>Virtual Disks tab.
Preferred server settings include:
- Auto Select is the default setting in the Create Virtual Disk wizard.
- For mirrored virtual disks with two storage sources, the server that owns the "first" (or top) storage source selected in the wizard is the preferred server when the host is set to Auto Select. This setting essentially allows the preferred server to be selected per virtual disk when it is created in the wizard.
- For 3-copy virtual disks, the software will select one of the active storage sources as the preferred server for a 3-copy virtual disk and the selection could change. To ensure that a particular server is selected, it must be expressly selected at the host level as a preferred server or as preferred paths at the virtual disk level.
- For virtual disks quickly created and served at the host level, the preferred server is automatically selected by the software and can be identified in the Virtual Disk Details page>Info tab as the top storage source listed.
- One or more specified DataCore Servers. All paths to the specified preferred servers are preferred. All paths on all selected servers are Active/Optimized.
- All. The All selection indicates that all available paths from a host to all DataCore Servers are utilized equally. This setting changes the path policy from Asymmetrical to Symmetrical, which operates in Round Robin fashion and therefore no specific server is preferred. All paths are Active/Optimized.
- The Preferred Server feature requires ALUA to be enabled on the host for the settings to function as described.
- When a host has one or more preferred servers designated and is served a virtual disk that does not have a storage source from any of the designated preferred servers, the preferred server for that particular virtual disk will be the primary side of the virtual disk (as if Auto select had been chosen) unless the front-end paths have been manually reconfigured to override those settings.
An example scenario:
DataCore Servers named Server1, Server2 and Server3 exist in a server group. A mirrored virtual disk is created from storage sources belonging to Server2 and Server3. Server2 has the primary (first) storage source. The virtual disk is served to Host1, which has Server1 designated as preferred server. Server1 has no storage source in the virtual disk. In this particular case, Server2 (with the primary storage source) would become the preferred server.
- The Preferred Server host setting works together with any manual designation of preferred paths for a particular virtual disk. Use caution so that the intended preferred paths do not lose importance. (See Preferred Paths for more information.)
- For instance, the preferred server for Host1 is set to Server1. Later, a front-end path from Host1 to Server2 is manually designated as a preferred path for a particular virtual disk. In this case, the manually set path to Server2 will be preferred for that virtual disk in addition to all paths from Host1 to Server1. Therefore, the preferred server for Host1 is no longer exclusively Server1 since the path to Server2 is also preferred.
- Setting the preferred server of a host to All elevates all front-end paths to the same importance of any manually designated preferred path.
Preferred Paths
A preferred path is manually designated as the favored path to use for a specific virtual disk when multiple paths exist. When a specific path is designated as preferred, that path will always be used until it becomes unavailable. When the preferred path becomes unavailable, I/O will automatically failover to an alternate path and automatically failback when the preferred path becomes available again. (See the Preferred Server section to understand the differences and interactions between manually designated preferred paths for a particular virtual disk and the Preferred Server host setting. ALUA is required for the proper functioning of preferred server and preferred host paths.)
Front-end and Mirror Paths
- Preferred front-end and mirror paths are set at the virtual disk level for a specific virtual disk. To set a preferred front-end or mirror path for a virtual disk, see Modifying Paths.
- Preferred mirror paths are not supported for server groups with system managed mirroring enabled.
- Manual designation of preferred paths can cause automatic path settings (such as the Preferred Server host setting) to lose importance.
Preferred paths work together with the preferred server setting.
- For instance, if the preferred server for Host1 is set to Server1 and a preferred front-end path is manually set from Host1 to Server2 for a particular virtual disk, then the manually set path to Server2 will be preferred for that virtual disk in addition to all paths from Host1 to Server1. In this case the preferred server for Host1 is no longer exclusively Server2.
- Setting the preferred server of a host to All will elevate all front-end paths to the same importance of any manually designated preferred paths.
- Manually selected preferred front-end paths will not be retained when the virtual disk is unserved.
- Preferred front-end paths are supported for Fibre Channel and iSCSI.
- When a virtual disk is served to a DataCore Server, the path to the local server is considered the preferred path unless otherwise specified.
- Preferred mirror paths are supported for Fibre Channel only; iSCSI is not supported. When a preferred mirror path is set, the preferred path state is Active and the other mirror path states are Standby.
Back-end Paths
- The preferred back-end path is set at the physical disk level. To set a preferred back-end path for a physical disk, see Modifying Paths.
- Preferred back-end paths are supported for Fibre Channel only; iSCSI is not supported.
Loopback Ports
Loopback ports are used exclusively to serve a virtual disk from a server that created it to the same server. Serving a virtual disk over the loopback port could be helpful during testing or troubleshooting virtual disk issues. For instance, a virtual disk can be served to the server that created it via the loopback port in order to read the contents.
Virtual disks when served over the loopback port will appear under DataCore disks in the DataCore Servers panel.See DataCore disks for more information.
Virtual disks can also be served to a server that created it over iSCSI or Fibre Channel ports instead of the loopback port. See Multipath Support and Serving Virtual Disks for more information.