Nimble Storage Setup Guide For Single Instance Oracle 11gR2 On Oracle Linux 6.4
Nimble Storage Setup Guide For Single Instance Oracle 11gR2 On Oracle Linux 6.4
THIS TECHNICAL TIP IS FOR INFORMATIONAL PURPOSES ONLY, AND MAY CONTAIN
TYPOGRAPHICAL ERRORS AND TECHNICAL INACCUURACIES. THE CONTENT IS PROVIDED AS IS,
WITHOUT EXPRESS OR IMPLIED WARRANTIES OF ANY KIND.
Nimble Storage: All rights reserved. Reproduction of this material in any manner whatsoever
without the express written permission of Nimble is strictly prohibited.
Introduction ................................................................................................................................................................................. 4
Audience ...................................................................................................................................................................................... 4
Pre-requisites .................................................................................................................................. 17
Oracle ASM Disks Setup ................................................................................................................ 17
Install Grid Infrastructure ............................................................................................................... 19
Install Oracle Software ................................................................................................................... 19
Oracle performance tuning is beyond the scope of this paper. Please visit www.oracle.com for Oracle Performance
Tuning Guide for more information in tuning your database.
Audience
This guide is intended for Oracle database solution architects, storage engineers, system administrators and IT
managers who analyze, design and maintain a robust database environment on Nimble Storage. It is assumed that the
reader has a working knowledge of network design for iSCSI SAN, and basic Nimble Storage operations. Knowledge of
Oracle Linux operating system, Oracle Clusterware, and Oracle database is also required.
• /boot partition
• swap partition
• / partition
[root@oraclelinux1 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 32998256 22234944 9087076 71% /
tmpfs 6291456 2607808 3683648 42% /dev/shm
/dev/sda1 126931 50862 69516 43% /boot
After the installation of the operating system, the following daemons need to be disabled.
o Disable selinux
o Disable NetworkManager
o Disable iptables
o Disable ip6tables
If not installed already, the following packages are required for Oracle 11gR2 and multipathing,
• compat-db42-4.2.52-15.el6.x86_64.rpm
• compat-db43-4.3.29-15.el6.x86_64.rpm
• compat-db-4.6.21-15.el6.x86_64.rpm
• cvuqdisk-1.0.9-1.rpm
• device-mapper-multipath-0.4.9-64.0.1.el6.x86_64.rpm
• device-mapper-multipath-libs-0.4.9-64.0.1.el6.x86_64.rpm
• Add the below settings to the /etc/systctl.conf file. Run the ‘sysctl –p’ command when done.
# Nimble Recommended
net.core.wmem_max = 16780000
net.core.rmem_max = 16780000
net.ipv4.tcp_rmem = 10240 87380 16780000
net.ipv4.tcp_wmem = 10240 87380 16780000
iscsi-initiator-utils-6.2.0.872-41.0.1.el6.x86_64
DEVICE="eth1"
BOOTPROTO=static
HWADDR="00:50:56:AE:30:71"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
UUID="4705a3e9-671a-45a0-8477-8b8b98d56c09"
IPADDR=172.18.128.71
NETMASK=255.255.255.0
MTU=9000
Multipath Setup
• Change directory to /etc and using your favorite editor to create a new file called ‘multipath.conf’
with the code below
• Click on “New
New Initiator Group”
Group button and assign a name to the Initiator Group. We recommend using
the Oracle server hostname for distinction.
Make sure to create enough volumes for the Oracle server. Usually in an Oracle ASM environment, you
create one OCR volume for the Clusterware and create more volumes for the DATA diskgroup and FRA
diskgroup depending on how you want to architect your Oracle database.
Once all volumes have been created on the Nimble array, scan for the new volumes on the Oracle server and
modify the /etc/multipath.conf file in your Oracle Linux server to use the aliases for the Oracle volumes.
Here is how you can setup multipath for the Oracle volumes.
• Scan for disks on the Oracle Linux server. Note that you need to scan for both iSCSI networks. If there is
a single discovery IP address, you can use that IP to run the discovery. Either method, please ensure
that you can see the same volume across two networks.
Note:
Note if you want to login for all volumes that this Linux server has access to, then run the above login
command. If you want to login for a certain volume, then use this command “iscsiadm –m node –T <Target
Volume IQN> - -login”.
• After the scan completes, you can run the following command to find out which disk serial number
belongs to which LUN so you can alias the volumes properly. In the below output, sdb and sdc is one
disk (same serial #) which I used devdata2 as an alias, sdd and sdf is one disk which I used devdata1 as
an alias, and sde and sdg is one disk which I used ocr as an alias.
• The new /etc/multipath.conf would look something like this. Please refer to Oracle Linux documentation
for specific parameter settings for other storage devices.
defaults {
user_friendly_names yes
find_multipaths yes
}
devices {
device {
vendor "Nimble"
product "Server"
path_selector "round-robin 0"
path_checker tur
rr_min_io_rq 10
rr_weight priorities
failback immediate
features "1 queue_if_no_path"
path_grouping_policy group_by_serial
}
}
blacklist {
wwid 26353900f02796769
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^hd[a-z]"
}
multipaths {
multipath {
wwid 20995db861a86c20e6c9ce900abdb3466
alias ocr
}
multipath {
wwid 21ddbfcd70fbd5dae6c9ce900abdb3466
alias devdata1
}
multipath {
wwid 2fed4dc81dcf2582f6c9ce900abdb3466
alias devdata2
}
}
• Verify multipath
To set at boot time, add the elevator option at the kernel line in the /etc/grub.conf file:
elevator=noop
root@mktg04 ~]# multipath -ll | grep sd | awk -F":" '{print $4}' | awk '{print $2}' | while read LUN; do echo
noop > /sys/block/${LUN}/queue/scheduler ; done
multipath -ll | grep sd | awk -F":" '{print $4}' | awk '{print $2}' | while read LUN
do
echo 1024 > /sys/block/${LUN}/queue/max_sectors_kb
done
Note:
Note To make this change persistent after reboot, add the commands in /etc/rc.local file.
Note:
Note To make this change persistent after reboot, add the commands in /etc/rc.local file.
• Use “performance” setting for all available CPUs on the host when possible.
[root@racnode1 ~]# for a in $(ls -ld /sys/devices/system/cpu/cpu[0-9]* | awk '{print $NF}') ; do echo
performance > $a/cpufreq/scaling_governor ; done
Note:
Note To make this change persistent after reboot, add the commands in /etc/rc.local file.
After a snapshot has been taken using the Volume Collection feature, the snapshot(s) will be available for
recovery based on your retention policy setting. The snapshot(s) can be deleted manually if you wish to do
so. Please note that you cannot delete a snapshot if there is a clone volume associated with that snapshot.
This particular feature is very useful in an Oracle environment. It allows you to create a clone of your
production database for Test, Development, or Staging environment quickly and easily.
Below are the steps to create a Volume Collection and assign the Oracle volumes to it.
• A “Create
Create a volume collection”
collection window appears. Enter a name for this volume collection and select
Blank schedule and click “Next
Next”.
Next
• A “Schedule
Schedule”
Schedule window appears. You must have at least one protection (snapshot) schedule defined.
Enter a name and your desired schedule/retention and click “Next
Next”.
Next
Pre-requisites
• Create a local directory on the boot LUN or a separate Nimble LUN for the Grid Infrastructure and Oracle
software.
• Create group ID of “oinstall”
• Create group ID of “dba”
• Create user ID of “grid”
• Create user ID of “oracle”
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting <ENTER> without typing an
answer will keep that current value. Ctrl-C will abort.