Oracle ASM is the preferred storage management solution for either single instance database or RAC. Oracle ASM takes place of the traditional Linux volume manager and file system. When proper ownership and permission are set on the disks, ASM takes over the management of the disks and create disk groups where data files reside and are managed automatically. Using Oracle ASM also improves overall performance as it stripes all files across all disks evenly. Another advantage of ASM is that disks can be added or removed dynamically without any downtime, and files are restriped across the remaining disks automatically to ensure optimal performance. ASM also has many advantages over the Logical Volume Manager (LVM) file-system solution (discussed in File system for Oracle single instance database) and it should be considered as the preferred choice whenever possible.
Some of the benefits of ASM include:
The most common way to consume XC Series storage is to mount it as a datastore in the VMware hypervisor through NFS. Virtual disks are then created through the regular vSphere client and added to the Linux guest OS virtual machines. Oracle ASM can take control of these virtual disks just like any physical disks. Thus, no extra configuration steps are required to make XC Series storage work with ASM.
The following Oracle ASM best practices are recommended:
/etc/udev/rules.d/99-oracle-asm.rules:
KERNEL=="sd*", PROGRAM="/lib/udev/scsi_id --page=0x83 --whitelisted --device=/dev/%k",RESULT=="36000c294a883a308becef0cd8448725a", SYMLINK+="asmdatadg1", OWNER:="grid", GROUP:="oinstall",MODE="0660"
To find out how to query the disk id/WWN, refer to Appendix A: How to identify and query the disk ids/WWNs.
60-disk-scheduler.rules:
ACTION=="add|change", KERNEL=="sd*", RUN+="/bin/sh -c '/bin/echo deadline > /sys$env{DEVPATH}/queue/scheduler'"
For all-flash configurations, Nutanix recommends the NOOP I/O scheduler because it can reduce I/O latency, improve throughput, and help reduce CPU cycles. The following shows an example of the udev rule to set IO scheduler as NOOP.
60-disk-scheduler.rules:
ACTION=="add|change", KERNEL=="sd*", RUN+="/bin/sh -c '/bin/echo noop > /sys$env{DEVPATH}/queue/scheduler'
Table 3 shows an example of ASM disk group configuration:
Table 3. Example ASM disk group configuration
ASM disk group |
Number of virtual disks |
AU size |
Description |
DATA |
4 |
1 MB |
Database files; temporary table space; online redo logs; system related table spaces such as SYSTEM and UNDO |
FRA |
2 |
1 MB |
Archive logs and backup data |
CRS |
1 |
1 MB |
Clusterware-related information such as the OCR and voting disks |
Oracle also supports storing data files on modern file systems such as ext3/ext4. xfs is a high-performance file system many Linux distributions include as default option. However, as of this time, Oracle has not certified or tested Oracle databases running on xfs. Therefore, it should not be used for storing data and log files. For performance reasons, Linux LVM should be considered for any file systems that hold the database files. LVM provides the capability to distribute files across multiple disks similar to Oracle ASM. The use of file system with LVM is recommended for a single-instance configuration only. If shared disks are required such as Oracle RAC, use Oracle ASM instead. The following guidelines should be followed:
Table 4 shows an example of LVM configuration.
Table 4. Example LVM configuration
Volume group |
Number of virtual disks |
Logical volume/FS |
Striped |
Description |
DATA |
4 |
/data |
Y |
Database files; temporary table space; online redo logs; system related table spaces such as SYSTEM and UNDO |
FRA |
2 |
/fra |
Y |
Archive logs and backup data |