Oracle Solaris Configuration Guide (Formerly Known as FAQ 1583)
Explore this Page
- Overview
- Change Summary
- Oracle Solaris Compatibility List
- The DataCore Server's Settings
- The Solaris Host's Settings
- Known Issues in Oracle Solaris Configuration Guide
- Appendices
Overview
This guide provides configuration settings and considerations for Hosts running Oracle Solaris with SANsymphony.
Basic Oracle Solaris storage administration skills are assumed including how to connect to iSCSI and Fibre Channel target ports and the discovering, mounting and formatting of disk devices.
Change Summary
Changes since August 2020
| Section(s) | Content Changes |
|---|---|
| General |
Updated This document has been reviewed for SANsymphony 10.0 PSP 11. No additional settings or configurations are required. |
Oracle Solaris Compatibility List
Applies to all versions of SANsymphony 10.x.
Oracle Solaris Operating System Versions
|
Solaris |
With ALUA |
Without ALUA |
|---|---|---|
|
9.0 or earlier |
Not Supported |
Not Supported |
|
10.0 |
Not Supported |
Qualified |
|
11.0 |
Not Supported |
Not Qualified |
|
11.1 |
Not Supported |
Qualified |
|
11.2 |
Not Supported |
Qualified |
|
11.3 |
Not Qualified 1 |
Qualified |
|
11.4 |
Not Qualified |
Not Qualified |
Qualified vs. Not Qualified vs. Not Supported
Refer to Qualified vs. Not Qualified vs. Not Supported for definitions.
DataCore Server Front-End Port connections
Fibre Channel connections are supported. ISCSI connections are not supported.
With Oracle Solaris Cluster
Refer to Oracle Solaris Cluster Versions for the Oracle Solaris Cluster versions that can be used.
SCSI UNMAP
There is no support for SCSI UNMAP from Solaris hosts.
Oracle Solaris Cluster Versions
|
|
Oracle Solaris Operating System Version |
||
|---|---|---|---|
|
Cluster |
9.x and Earlier |
10.x |
11.x |
|
2.x |
Not Supported |
Not Supported |
Not Supported |
|
3.x |
Not Supported |
Supported |
Not Supported |
|
4.x |
Not Supported |
Not Supported |
Supported |
Refer to Oracle Solaris Operating System Versions for Oracle Solaris / SANsymphony combinations that are qualified.
Qualified vs. Not Qualified vs. Not Supported
Qualified
This combination has been tested by DataCore and all the host-specific settings listed in this document applied using non-mirrored, mirrored and Dual Virtual Disks.
Not Qualified
This combination has not yet been tested by DataCore using Mirrored or Dual Virtual Disks types. DataCore cannot guarantee 'high availability' (failover/failback, continued access etc.) even if the host-specific settings listed in this document are applied. Self-qualification may be possible, see Technical Support FAQ #1506.
Mirrored or Dual Virtual Disks types are configured at the users own risk; however, any problems that are encountered while using Oracle Solaris versions that are 'Not Qualified' will still get root-cause analysis.
Non-mirrored Virtual Disks are always considered 'Qualified' - even for 'Not Qualified' combinations of Oracle Solaris/SANsymphony.
Not Supported
This combination has either failed 'high availability' testing by DataCore using Mirrored or Dual Virtual Disks types; or the operating System's own requirements/limitations (e.g. age, specific hardware requirements) make it impractical to test. DataCore will not guarantee 'high availability' (failover/failback, continued access etc.) if the host-specific settings listed in this document are applied. Mirrored or Dual Virtual Disks types are configured at the users own risk. Self-qualification is not possible.
Mirrored or Dual Virtual Disks types are configured at the users own risk; however, any problems that are encountered while using Oracle Solaris versions that are 'Not Supported' will get best-effort Technical Support (e.g. to get access to Virtual Disks) but no root-cause analysis will be done.
Non-mirrored Virtual Disks are always considered 'Qualified' – even for 'Not Supported' combinations of Oracle Solaris/SANsymphony.
Oracle Solaris Versions that are End of Service
Self-qualification may be possible for versions that are considered ‘Not Qualified’ by DataCore but only if there is an agreed ‘support contract’ with IBM. Contact DataCore Technical Support before attempting any self-qualification of Oracle Solaris versions that are End of Service.
For any problems that are encountered while using Oracle Solaris versions that are EOS with DataCore Software, only best-effort Technical Support will be performed (e.g. to get access to Virtual Disks). Root-cause analysis will not be done.
Non-mirrored Virtual Disks are always considered 'Qualified'.
The DataCore Server's Settings
Operating System Type
Refer to the Registering Hosts section from the SANsymphony Help.
When registering the Host for the first time, select the 'Oracle (SUN) Solaris' menu option.
Port Roles
Ports that are used to serve Virtual Disks to Hosts should only have the Front End role checked. While it is technically possible to check additional roles on a Front End port (i.e. Mirror and Backend), this may cause unexpected results after stopping the SANsymphony software.
Any port with front-end role (and is serving Virtual Disks to Hosts) also has either the mirror and/or backend role enabled will remain ‘active’ even when the SANsymphony software is stopped. There is some slight difference in behavior depending on the version of SANsymphony installed.
- SANsymphony 10.0 PSP 7 and earlier
Any port that has the mirror and/or back-end role checked will remain ‘active’ after the SANsymphony software has been stopped. - SANsymphony 10.0 PSP 8 and later
Only ports with the back-end role checked will remain ‘active’ after the SANsymphony software has been stopped.
Front-end ports that are serving Virtual Disks but remain active after the SANsymphony software has been stopped can cause unexpected results for some Host operating systems as they continue to try to access Virtual Disks from the ‘active’ port on the now-stopped DataCore Server. This, in turn, may end up delaying Host fail-over or result in complete loss of access from the Host’s application/Virtual Machines.
Multipathing
The Multipathing Support option should be enabled so that Mirrored Virtual Disks or Dual Virtual Disks can be served to Hosts from all available DataCore FE ports.
Refer to the Multipathing Support section in SANsymphony Help.
Non-mirrored Virtual Disks and Multipathing
Non-mirrored Virtual Disks can still be served to multiple Hosts and/or multiple Host Ports from one or more DataCore Server FE Ports if required; in this case the Host can use its own multipathing software to manage the multiple Host paths to the Single Virtual Disk as if it was a Mirrored or Dual Virtual Disk.
ALUA support
Refer to Oracle Solaris Compatibility List.
Serving Virtual Disks
For the First Time
DataCore recommends that before serving Virtual Disks for the first time to a Host, that all DataCore Front-End ports on all DataCore Servers are correctly discovered by the Host first. Then, from within the SANsymphony Console, the Virtual Disk is marked Online, up to date and that the storage sources have a host access status of Read/Write.
To More than One Host Port
DataCore Virtual Disks always have their own unique Network Address Authority (NAA) identifier that a Host can use to manage the same Virtual Disk being served to multiple Ports on the same Host Server and the same Virtual Disk being served to multiple Hosts.
While DataCore cannot guarantee that a disk device's NAA is used by a Host's operating system to identify a disk device served to it over different paths generally we have found that it is. And while there is sometimes a convention that all paths by the same disk device should always using the same LUN 'number' to guarantees consistency for device identification, this may not be technically true. Always refer to the Host Operating System vendor’s own documentation for advice on this.
DataCore's Software does, however always try to create mappings between the Host's ports and the DataCore Server's Front-end (FE) ports for a Virtual Disk using the same LUN number where it can. The software will first find the next available (lowest) LUN 'number' for the Host-DataCore FE mapping combination being applied and will then try to apply that same LUN number for all other mappings that are being attempted when the Virtual Disk is being served. If any Host-DataCore FE port combination being requested at that moment is already using that same LUN number (e.g. if a Host has other Virtual Disks served to it from previous) then the software will find the next available LUN number and apply that to those specific Host-DataCore FE mappings only.
The Solaris Host's Settings
Disk Device Settings
Disk IO Timeout
/kernel/system
Add the following line to set the Disk IO Timeout to ‘60’ seconds.
set sd:sd_io_time = 0x3c
Disk Retry Settings
/kernel/drv/sd.conf or /kernel/drv/ssd.conf
Depending on your architecture edit either /kernel/drv/sd.conf or /kernel/drv/ssd.conf and add the following entries:
sd-config-list = "DataCoreVirtual Disk", "retries-busy:60";
sd-config-list = "DataCoreSANsymphony", "retries-busy:60";
sd-config-list = "DataCoreSANmelody", "retries-busy:60";
- A reboot of the Solaris server will be needed for the setting to take effect.
- If the sd_io_time entry already exists, make sure the value is set as above. The value must be entered as a hexadecimal value.
- The lines for "DataCoreSANsymphony" and "DataCoreSANmelody" disk devices may only necessary if the Virtual Disk served to the Solaris Host was created using DataCore's SANmelody or SANsymphony 7.x and earlier software versions.
MPxIO Support - Solaris 11.x
/etc/driver/drv/scsi_vhci.conf
Add the following entries:
scsi-vhci-failover-override = "DataCoreVirtual Disk", "f_sym";
scsi-vhci-failover-override = "DataCoreSANsymphony", "f_sym";
scsi-vhci-failover-override = "DataCoreSANmelody", "f_sym";
In the ‘Load balancing global configuration’ section set the following entry:
load-balance="none";
- The lines for "DataCoreSANsymphony" and "DataCoreSANmelody" disk devices may only be necessary if the Virtual Disk served to the Solaris Host was created using DataCore's SANmelody or SANsymphony 7.x and earlier software versions.
- 'stmsboot –e' and 'stmsboot –u' commands will be needed to enable multipathing (if not previously run) and the vfstab will need to be updated as well. In either case a reboot will be needed. Refer to Oracle for advice.
See also the following topics
- Configuring Third-Party Storage Devices
- Configuring Load Balancing Policy for Oracle Solaris I/O Multipathing
- How to Customize a Driver Configuration
- System Administration Commands: stmsboot
- Changing Virtual Disk Settings
MPxIO Support - Solaris 10.x
/etc/driver/drv/scsi_vhci.conf
Add the following entries:
device-type-scsi-options-list =
"DataCoreVirtual Disk", "symmetric-option";
"DataCoreSANsymphony", "symmetric-option";
"DataCoreSANmelody", "symmetric-option";
symmetric-option=0x1000000;
In the ‘Load balancing global configuration’ section set the following entry:
load-balance="none";
- The lines for "DataCoreSANsymphony" and "DataCoreSANmelody" disk devices may only be necessary if the Virtual Disk served to the Solaris Host was created using DataCore's SANmelody or SANsymphony 7.x and earlier software versions.
- 'stmsboot –e' and 'stmsboot –u' commands will be needed to enable multipathing (if not previously run) and the vfstab will need to be updated as well. In either case a reboot will be needed. Refer to Oracle for advice.
Known Issues in Oracle Solaris Configuration Guide
The following is intended to make DataCore Software users aware of any issues that affect performance, access or may give unexpected results under particular conditions when SANsymphony is used in configurations with Oracle Solaris Hosts.
These Known Issues may have been found during DataCore’s own testing but others may have been reported by our users when a solution was found that was not to do with DataCore’s own products.
DataCore cannot be held responsible for incorrect information regarding another vendor’s products and no assumptions should be made that DataCore has any communication with these other vendors regarding the issues listed here.
We always recommend that the vendor’s should be contacted directly for more information on anything listed in this section.
For ‘Known issues’ that apply to DataCore Software’s own products, refer to the relevant DataCore Software Component’s release notes.
A manual rescan is required on the Host whenever the SANsymphony software is ‘cleanly’ stopped
Oracle Solaris Hosts will not automatically detect that a DataCore Software’s front-end ports are stopped (and no longer presenting LUNs) whenever the SANsymphony software is stopped either via the DataCore Management Console or during upgrades (when the DataCore Executive Service is completely stopped prior to the upgrade).
Two or more Disk Devices are listed for the same DataCore Virtual Disk
- Check for mistakes in the scsi_vhci.conf file – refer to Solaris Host's Settings.
- Make sure that multipathing has been enabled via the 'stmsboot –e' command.
- Make sure that the Host has been rebooted after using the 'stmsboot –u' command.
All paths to DataCore Virtual Disk are considered ‘primary’
There is no simple way to determine an Oracle Solaris Host’s current active path - for example using the 'luxadm' command - so use either;
- Oracle Solaris’ own ‘system’ messages (which may indicate the current used path) and/or
- SANsymphony’s Live Performance to identify which Host ports I/O is being sent from. Refer to Live Performance Tool.
Appendices
A: Preferred Server and Preferred Path Settings
Without ALUA Enabled
If Hosts are registered without ALUA support, the Preferred Server and Preferred Path settings will serve no function. All DataCore Servers and their respective Front End (FE) paths are considered ‘equal’.
It is up to the Host’s own Operating System or Failover Software to determine which DataCore Server is its preferred server.
With ALUA Enabled
ALUA is not supported for Oracle Solaris Hosts.
Refer to the Preferred Servers and Preferred Paths sections in Port Connections and Paths.
B: Reclaiming Storage from Disk Pools
How Much Storage will be Reclaimed?
This is impossible to predict.
SANsymphony can only reclaim Storage Allocation Units that have no block-level data on them. If a Host write its data ‘all over’ its own filesystem, rather than contiguously, the amount of storage that can be reclaimed may be significantly less than expected.
Defragmenting Data on Virtual Disks
It may be possible to use a Host’s own defragmentation tools to consolidate data spread out all over the host’s filesystem but care should be taken as even more storage may be allocated while the existing data is defragmented.
Once any defragmentation is completed then additional steps will need to wipe the ‘free’ filesystem space on the host and then use SANsymphony’s ‘Manual Reclamation’.
Notes on SANsymphony's Reclamation Feature
Automatic Reclamation
SANsymphony checks for any ‘zero’ write I/O as it is received by the Disk Pool and keeps track of which block addresses they were sent to. When all the blocks of an allocated SAU have received ‘zero’ write I/O, the storage used by the SAU is then reclaimed.
Mirrored and replicated Virtual Disks will mirror/replicate the ‘zero’ write I/O so that storage can be reclaimed on the mirror/replication destination DataCore Server in the same way.
Manual Reclamation
SANsymphony checks for ‘zero’ block data by sending read I/O to the storage. When all the blocks of an allocated SAU are detected as having ‘zero’ data on them, the storage used by the SAU is then reclaimed.
Mirrored Virtual Disks will receive the manual reclamation ‘request’ on all DataCore Servers involved in the mirror configuration at the same time and each DataCore Server will read from its own storage.
The Manual reclamation ‘request’ is not sent to replication destination DataCore Servers from the source. Replication destinations will need to be manually reclaimed separately.
Reclaiming Storage on the Host Manually
A suggestion would be to create a ‘sparse file’ of an appropriate size and write zeroes it using the ‘dd’ command.
Here is an example with a 2TB sparse file:
dd if=/dev/zero of=my_sparse_file bs=1024 count=2097152
Learn More