ASM Storage Possibilities
Posted by Joel Goodman on 22/01/2009
While delivering an Exadata Presentation to the UNIX SIG of the UKOUG on Tuesday, I asked the audience of about 90 people how many used ASM and about 40% replied that they did. ASM is very popular for RAC installations and increasingly used for Single Instance Oracle environments.
Most of the DBAs at the SIG used external volume managers serving logical volumes on a Storage Area Network and this is true of customers attending courses with me as well.
However it is not necessarily known that there are four possible solutions for ASM Disks so here is a summary of the possibilities:
1. External LUNs served by a Volume Manager – This is the most common solution and allows the use of “EXTERNAL REDUNDANCY” whereby the mirroring is done by the volume manager. This also provides for multi-pathing for High Availability in the storage network. ASMLIB may be used for this configuration on LINUX for persistant naming if UDEV is not already implemented. Many installations use Fibre Channel but iSCSI is possible as well. The “asm_diskstring” parameter specifies a list of one or more strings usually with wildcards, of the devices.
2. Local LUNs or Local Volumes – Local disks may be used by ASM in one of several ways. The disks may have 1 or more partitions, and these may be used as the ASM Disks. Alternatively Local LUNs may be creates using local physical volumes, volume groups and logical volumes. This solution is good for sandbox solutions for education when no storage network is available or for smaller configurations when there is no storage network. RAC on Standard Edition requires ASM but a small to medium business may not have a storage network and could opt for this solution. Note that ASMLIB may be used in this configuration as well but that no multi-pathing is available. Also no “External Redundancy” would be used here. The “asm_diskstring” parameter specifies a list of one or more strings usually with wildcards, of the devices.
3. Zero Padded Files on a NAS Filer – This is the least known solution but is used by some. A filer shares a file system rather than serving volumes so the Network Attached Storage file system must be created on the filer and accessed by the Oracle Database node using NFS. The “mount” command is used or an entry placed in /etc/fstab. To use this for ASM Disks, each “Disk” is actually a large file created on the NAS file system and then padded with zeroes using the “dd” command. The “asm_diskstring” parameter specifies a list of one or more strings usually with wildcards, of the path to the NAS files. Note that ASMLIB is NOT needed or used for this configuration.
4. Grid Disks on Exadata Cells – If Exadata is used, then the ASM Disks ar the so called “Grid Disks” configured in the Exadata Cell Servers. Exadata automatically implements Fail Groups providing redundancy. Note that ASMLIB is NOT used for Exadata and that the “asm_diskstring” parameter is set to an Exadata specific wildcard string of “o/<cell_ip_address>*/<griddisk_name>* ” allowing the discovery of the grid disks on all cell servers whose IP addesses match the wild card in the second part of the string and whose grid disk name mathces wild card in the third part of the string.
As a final point – a single ASM instance may access ASM Disks using a combination of two or more of these technologies. This could be done for example during a phased migration, or because the same or different databases using the same ASM instance use different storage tiers which are based on different storage solutions.