|
Oracle RAC Linux network
ipconfig
When the
network if configured, you
can use the ifconfig
command to verify everything
is working. The following
example is from linux1:
$ /sbin/ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:0D:56:FC:39:EC
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20d:56ff:fefc:39ec/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:835 errors:0 dropped:0 overruns:0 frame:0
TX packets:1983 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:705714 (689.1 KiB) TX bytes:176892 (172.7 KiB)
Interrupt:3
eth1 Link encap:Ethernet HWaddr 00:0C:41:E8:05:37
inet addr:192.168.2.100 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::20c:41ff:fee8:537/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:546 (546.0 b)
Interrupt:11 Base address:0xe400
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:5110 errors:0 dropped:0 overruns:0 frame:0
TX packets:5110 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8276758 (7.8 MiB) TX bytes:8276758 (7.8 MiB)
sit0 Link encap:IPv6-in-IPv4
NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
About Virtual IP
Why is
there a Virtual IP (VIP) in
10g? Why does it
just return a dead
connection when its primary
node fails?
It's all
about availability of the
application. When a node
fails, the VIP associated
with it is supposed to be
automatically failed over to
some other node. When this
occurs, two things happen.
- The
new node re-arps the
world indicating a new
MAC address for the
address. For directly
connected clients, this
usually causes them to
see errors on their
connections to the old
address.
-
Subsequent packets sent
to the VIP go to the new
node, which will send
error RST packets back
to the clients. This
results in the clients
getting errors
immediately.
This
means that when the client
issues SQL to the node that
is now down, or traverses
the address list while
connecting, rather than
waiting on a very long
TCP/IP time-out (~10
minutes), the client
receives a TCP reset. In the
case of SQL, this is
ORA-3113. In the case
of connect, the next address
in tnsnames is used.
Going one step further is
making use of Transparent
Application Failover (TAF).
With TAF successfully
configured, it is possible
to completely avoid ORA-3113
errors alltogether! TAF will
be discussed in more detail
in
Section 28 ("Transparent
Application Failover -
(TAF)").
Without
using VIPs, clients
connected to a node that
died will often wait a
10-minute TCP timeout period
before getting an error. As
a result, you don't really
have a good HA solution
without using VIPs (Source -
Metalink Note 220970.1).
Confirm the RAC Node Name
is Not Listed in Loopback
Address
Ensure
that the node names (linux1
or linux2) are
not included for the
loopback address in the
/etc/hosts file. If the
machine name is listed in
the in the loopback address
entry as below:
127.0.0.1 linux1 localhost.localdomain localhost
it
will need to be removed as
shown below:
127.0.0.1 localhost.localdomain localhost
If the
RAC node name is listed for
the loopback address, you
will receive the following
error during the RAC
installation:
ORA-00603: ORACLE server session terminated by fatal error
or
ORA-29702: error occurred in Cluster Group Service operation
Adjusting Network
Settings
With
Oracle 9.2.0.1 and later,
Oracle makes use of UDP as
the default protocol on
Linux for inter-process
communication (IPC), such as
Cache Fusion and Cluster
Manager buffer transfers
between instances within the
RAC cluster.
Oracle
strongly suggests to adjust
the default and maximum send
buffer size (SO_SNDBUF
socket option) to 256KB, and
the default and maximum
receive buffer size
(SO_RCVBUF socket option) to
256KB.
The
receive buffers are used by
TCP and UDP to hold received
data until it is read by the
application. The receive
buffer cannot overflow
because the peer is not
allowed to send data beyond
the buffer size window. This
means that datagrams will be
discarded if they don't fit
in the socket receive
buffer, potentially causing
the sender to overwhelm the
receiver.
The
default and maximum window
size can be changed in the
/proc file system
without reboot:
# su - root
# sysctl -w net.core.rmem_default=262144
net.core.rmem_default = 262144
# sysctl -w net.core.wmem_default=262144
net.core.wmem_default = 262144
# sysctl -w net.core.rmem_max=262144
net.core.rmem_max = 262144
# sysctl -w net.core.wmem_max=262144
net.core.wmem_max = 262144
The
above commands made the
changes to the already
running OS. You should now
make the above changes
permanent (for each reboot)
by adding the following
lines to the
/etc/sysctl.conf file for
each node in your RAC
cluster:
# Default setting in bytes of the socket receive buffer
net.core.rmem_default=262144
# Default setting in bytes of the socket send buffer
net.core.wmem_default=262144
# Maximum socket receive buffer size which may be set by using
# the SO_RCVBUF socket option
net.core.rmem_max=262144
# Maximum socket send buffer size which may be set by using
# the SO_SNDBUF socket option
net.core.wmem_max=262144
Enabling Telnet and FTP
Services
Linux is
configured to run the Telnet
and FTP server, but by
default, these services are
disabled. To enable the
telnet these service, login
to the server as the root
user account and run the
following commands:
# chkconfig telnet on
# service xinetd reload
Reloading configuration: [ OK ]
Starting
with the Red Hat Enterprise
Linux 3.0 release (and in
CentOS), the FTP server
(wu-ftpd) is no longer
available with xinetd.
It has been replaced with
vsftp and can be
started from
/etc/init.d/vsftpd as in the
following:
# /etc/init.d/vsftpd start
Starting vsftpd for vsftpd: [ OK ]
If
you want the vsftpd
service to start and stop
when recycling (rebooting)
the machine, you can create
the following symbolic
links:
# ln -s /etc/init.d/vsftpd /etc/rc3.d/S56vsftpd
# ln -s /etc/init.d/vsftpd /etc/rc4.d/S56vsftpd
# ln -s /etc/init.d/vsftpd /etc/rc5.d/S56vsftpd
|