When performing backups, or restores, socket errors are being produced.
| Article:TECH7576 | | | Created: 2009-01-17 | | | Updated: 2012-01-21 | | | Article URL http://www.symantec.com/docs/TECH7576 |
Problem
When performing backups, or restores, socket errors are being produced.
Error
Status codes 13, 14, 23, 24, 25 may occur.
13 = file read failed,
14 = file write failed,
23 = socket read failed,
24 = socket write failed,
25 = cannot connect on socket
Solution
Possibly the NetBackup server is getting a lot of traffic from clients; therefore, sockets are not becoming free soon enough to satisfy the demand.
Check the number of processes waiting for a server socket:
netstat -a | grep TIME_WAIT | wc -l
To view the current timeout setting--
For Solaris 2.6 or previous use the following command:
ndd -get /dev/tcp tcp_close_wait_interval
For Solaris 7 or above use the following command:
ndd -get /dev/tcp tcp_time_wait_interval
For HP-UX 11 use the following command:
ndd -get /dev/tcp tcp_time_wait_interval
(NOTE: The equivalent command on HP-UX 10 is "nettune" instead of "ndd".)
These commands will produce a large number, like the default 240000 (value is in milliseconds, so 240 seconds or 4 minutes). This is the amount of time to wait after a socket is closed before it can be reused. In most cases this can be shortened to about 1 second (1000) and may alleviate the problem.
ndd -get /dev/tcp tcp_close_wait_interval
For Solaris 7 or above use the following command:
ndd -get /dev/tcp tcp_time_wait_interval
For HP-UX 11 use the following command:
ndd -get /dev/tcp tcp_time_wait_interval
(NOTE: The equivalent command on HP-UX 10 is "nettune" instead of "ndd".)
These commands will produce a large number, like the default 240000 (value is in milliseconds, so 240 seconds or 4 minutes). This is the amount of time to wait after a socket is closed before it can be reused. In most cases this can be shortened to about 1 second (1000) and may alleviate the problem.
Note: Best practice for Sun Solaris: tcp_close_wait_interval of less than 60000 is not supported by SUN.
In some conditions, less than 60000 could cause a very rare chance of possible data loss for NetBackup servers. Therefore, it is a best practice use the 60000 settings vs. the 240000 default.
The command to set it to 10000 on Solaris 2.6 and previous versions is:
ndd -set /dev/tcp tcp_close_wait_interval 10000
The command to set it to 10000 on Solaris 7 and later versions is:
ndd -set /dev/tcp tcp_time_wait_interval 10000
ndd -set /dev/tcp tcp_close_wait_interval 10000
The command to set it to 10000 on Solaris 7 and later versions is:
ndd -set /dev/tcp tcp_time_wait_interval 10000
The default is 60000 on Solaris 10
To set it to 10000 and to hold the value after reboot:
touch /etc/rc2.d/S99networktuning
chmod 744 /etc/rc2.d/S99networktuning
ln -s /etc/rc2.d/S99networktuning /etc/init.d/network_ndd
echo "/usr/sbin/ndd -set /dev/tcp tcp_time_wait_interval 10000" > /etc/init.d/network_ndd
/etc/rc2.d/S99networktuning start
/usr/sbin/ndd -get /dev/tcp tcp_time_wait_interval
10000
chmod 744 /etc/rc2.d/S99networktuning
ln -s /etc/rc2.d/S99networktuning /etc/init.d/network_ndd
echo "/usr/sbin/ndd -set /dev/tcp tcp_time_wait_interval 10000" > /etc/init.d/network_ndd
/etc/rc2.d/S99networktuning start
/usr/sbin/ndd -get /dev/tcp tcp_time_wait_interval
10000
The command to set it to 1000 on HP-UX 11 is:
ndd -set /dev/tcp tcp_time_wait_interval 10000
The "ndd" command makes the change immediately, without a need for a reboot. This setting will go back to default after a reboot. To make it set to this value after each reboot, the command can be added to the appropriate TCP/IP startup script. On Solaris 7-9, this is /etc/rc2.d/S69inet or on HP-UX 11 see /etc/rc.config.d/nddconf for examples of how to set it.
To tune the tcp_close_wait_interval on AIX, adjust the following two parameters:
Parameter: tcp_keepidle
Purpose: Total length of time to keep an idle TCP connection alive
Values: Default: 14400 (half-seconds) = 2 hours, Range: any positive integer
Display: "# no -a" or "#no -o tcp_keepidle
Change: # no -o tcp_keepidle=New_value
Change takes effect immediately. Change is effective until next boot. Permanent change is made by adding command to /etc/rc.net
Parameter: tcp_keepintvl
Purpose: Interval between packets sent to validate the TCP connection
Values: 150 half-seconds, 75 seconds
Display: no -a or no -o tcp_keepintvl
Change: no -o tcp_keepintvl=New_value
Change takes effect immediately. Change is effective until next boot. Permanent change is made by adding command to /etc/rc.net
ndd -set /dev/tcp tcp_time_wait_interval 10000
The "ndd" command makes the change immediately, without a need for a reboot. This setting will go back to default after a reboot. To make it set to this value after each reboot, the command can be added to the appropriate TCP/IP startup script. On Solaris 7-9, this is /etc/rc2.d/S69inet or on HP-UX 11 see /etc/rc.config.d/nddconf for examples of how to set it.
To tune the tcp_close_wait_interval on AIX, adjust the following two parameters:
Parameter: tcp_keepidle
Purpose: Total length of time to keep an idle TCP connection alive
Values: Default: 14400 (half-seconds) = 2 hours, Range: any positive integer
Display: "# no -a" or "#no -o tcp_keepidle
Change: # no -o tcp_keepidle=New_value
Change takes effect immediately. Change is effective until next boot. Permanent change is made by adding command to /etc/rc.net
Parameter: tcp_keepintvl
Purpose: Interval between packets sent to validate the TCP connection
Values: 150 half-seconds, 75 seconds
Display: no -a or no -o tcp_keepintvl
Change: no -o tcp_keepintvl=New_value
Change takes effect immediately. Change is effective until next boot. Permanent change is made by adding command to /etc/rc.net
|
|
Related Articles
Legacy ID
230050
Article URL http://www.symantec.com/docs/TECH7576
Terms of use for this information are found in Legal Notices









Thank you.