Client Backup Failing

Master Server: Windows 2000/Veritas NetBackup5.0

Client-Solaris 9.0 and NetBackup client software installed.

Backup failing as backups are running with very low speed. It's 10KBPS. The library is connected to the master server is Storagetek L180. We tried with by setting value 132096 in NET_BUFFER_SZ file under /usr/openv/netbackup.

Can anybody provide a solution to fix this issue.

Thanks,
Anji
5 Replies

Re: Client Backup Failing

Most common cause is NIC settings. They should be set for 100/full duplex no-autanegotiate. Please refer to this link:
http://www.brandonhutchinson.com/Solaris_NIC_speed_and_duplex_settings.html

here is the text from the above link. unfortuanetly the text formatting may not be very readable and that is why I included the link.

Here is a script I wrote to determine the speed and duplex settings for all plumbed network interfaces on a Solaris system. Thanks to William Favorite for fixing the script to work with two-letter network interfaces (e.g. ge0); the original script did not.

05/25/2005 update: Fixed ce interface handling.
09/15/2004 update: I updated the script to support ce and bge interfaces.

Download the script.

Script contents:

#!/bin/sh

# Only the root user can run the ndd commands
if ; then
echo "You must be the root user to run `basename $0`."
exit 1
fi

# Print column header information
/usr/bin/echo "Interface\tSpeed\t\tDuplex"
/usr/bin/echo "---------\t-----\t\t------"

# Determine the speed and duplex for each live NIC on the system
for INTERFACE in `/usr/bin/netstat -i | /usr/bin/egrep -v "^Name|^lo0" \
| /usr/bin/awk '{print $1}' | /usr/bin/sort | /usr/bin/uniq`
do
# Special handling for "ce" interfaces
if +/ { print }'`" ] ; then
# Determine the ce interface number
INSTANCE=`/usr/bin/echo $INTERFACE | cut -c 3-`
DUPLEX=`/usr/bin/kstat ce:$INSTANCE | /usr/bin/grep link_duplex \
| /usr/bin/awk '{ print $2 }'`
case "$DUPLEX" in
1) DUPLEX="half" ;;
2) DUPLEX="full" ;;
esac
SPEED=`/usr/bin/kstat ce:$INSTANCE | /usr/bin/grep link_speed \
| /usr/bin/awk '{ print $2 }'`
case "$SPEED" in
10) SPEED="10 Mbit/s" ;;
100) SPEED="100 Mbit/s" ;;
1000) SPEED="1 Gbit/s" ;;
esac
# Special handling for "bge" interfaces
elif +/ { print }'`" ] ; then
BGE_INT_LINE_NO=`/usr/bin/kstat bge | /usr/bin/grep -n $INTERFACE \
| /usr/bin/awk -F: '{print $1}'`
BGE_INT_DUPLEX_LINE_NO=`/usr/bin/expr $BGE_INT_LINE_NO + 9`
BGE_INT_SPEED_LINE_NO=`/usr/bin/expr $BGE_INT_LINE_NO + 14`
DUPLEX=`/usr/bin/kstat bge | /usr/bin/awk 'NR == LINE { print $2 }' \
LINE=$BGE_INT_DUPLEX_LINE_NO`
SPEED=`/usr/bin/kstat bge | /usr/bin/awk 'NR == LINE { print $2 }' \
LINE=$BGE_INT_SPEED_LINE_NO`
case "$SPEED" in
10000000) SPEED="10 Mbit/s" ;;
100000000) SPEED="100 Mbit/s" ;;
1000000000) SPEED="1 Gbit/s" ;;
esac
# All other interfaces
else
INTERFACE_TYPE=`/usr/bin/echo $INTERFACE | /usr/bin/sed -e "s/*$//"`
INSTANCE=`/usr/bin/echo $INTERFACE | /usr/bin/sed -e "s/^*//"`
/usr/sbin/ndd -set /dev/$INTERFACE_TYPE instance $INSTANCE
SPEED=`/usr/sbin/ndd -get /dev/$INTERFACE_TYPE link_speed`
case "$SPEED" in
0) SPEED="10 Mbit/s" ;;
1) SPEED="100 Mbit/s" ;;
1000) SPEED="1 Gbit/s" ;;
esac
DUPLEX=`/usr/sbin/ndd -get /dev/$INTERFACE_TYPE link_mode`
case "$DUPLEX" in
0) DUPLEX="half" ;;
1) DUPLEX="full" ;;
*) DUPLEX="" ;;
esac
fi
/usr/bin/echo "$INTERFACE\t\t$SPEED\t$DUPLEX"
done

Example output:

Interface Speed Duplex
--------- ----- ------
hme0 100 Mbit/s full
hme1 100 Mbit/s full
hme2 100 Mbit/s full


Setting NIC speed and duplex
Solaris is often unable to correctly auto-negotiate duplex settings with a link partner (e.g. switch), especially when the switch is set to 100Mbit full-duplex. You can force the NIC into 100Mbit full-duplex by disabling auto-negotiation and 100Mbit half-duplex capability.

Example with hme0:

1. Make the changes to the running system.
ndd -set /dev/hme adv_100hdx_cap 0
ndd -set /dev/hme adv_100fdx_cap 1
ndd -set /dev/hme adv_autoneg_cap 0

2. Make kernel parameter changes to preserve the speed and duplex settings after a reboot.
vi /etc/system

Add:
set hme:hme_adv_autoneg_cap=0
set hme:hme_adv_100hdx_cap=0
set hme:hme_adv_100fdx_cap=1

Note: the /etc/system change affects all hme interfaces if multiple NICs are present (ex. hme0, hme1).

More information:
http://www.science.uva.nl/pub/solaris/solaris2/Q4.13.html

The /etc/system settings listed above are not supported for configuring "ce" Ethernet adapters during system startup; you may either use ndd commands in an /etc/rc?.d script or create a /platform/sun4u/kernel/drv/ce.conf file detailed here.

Example: /etc/init.d/nddconfig

#!/bin/sh

ndd -set /dev/ce instance 0
ndd -set /dev/ce adv_1000fdx_cap 0
ndd -set /dev/ce adv_1000hdx_cap 0
ndd -set /dev/ce adv_100fdx_cap 1
ndd -set /dev/ce adv_100hdx_cap 0
ndd -set /dev/ce adv_10fdx_cap 0
ndd -set /dev/ce adv_10hdx_cap 0
ndd -set /dev/ce adv_autoneg_cap 0

ln -s /etc/init.d/nddconfig /etc/rc2.d/S31nddconfig

dmesg | grep ce0
Jan 20 11:05:01 crmmdb22 genunix: NOTICE: ce0: xcvr addr:0x01 - link up 100 Mbps half duplex
Jan 20 11:05:15 crmmdb22 genunix: NOTICE: ce0: no fault external to device; service available
Jan 20 11:05:15 crmmdb22 genunix: NOTICE: ce0: xcvr addr:0x01 - link up 100 Mbps full duplex


Manually determining NIC speed and duplex

If you have ce or bge interfaces, use kstat ce and kstat bge, respectively, to return NIC settings. All other interfaces may use ndd to determine NIC settings.

ndd example with hme0, assuming "instance" is 0:

# ndd -get /dev/hme link_mode
Interpretation:
0 -- half-duplex
1 -- full-duplex

# ndd -get /dev/hme link_speed
Interpretation:
0 -- 10 Mbit
1 -- 100 Mbit
1000 -- 1 Gbit

To query a different NIC, such as hme1, set the "instance" to 1, and then perform the link_mode and link_speed queries above.

# ndd -set /dev/hme instance 1

Note: the ndd commands above must be run as root. Otherwise, you will receive errors such as "couldn't push module 'hme0', No such device or address."


ce Ethernet adapters

Older versions of the Sun GigaSwift Ethernet 1.0 driver do not support the ndd link_mode and link_speed parameters. You may either install the latest Sun GigaSwift Ethernet adapter patch (111883) or you may use kstat ce ce_device to get speed and duplex information for "ce" Ethernet adapters.

For example (from http://www.samag.com/documents/s=9142/sam0405l/0405l.htm):

netstat -k ce | egrep 'link_speed|link_status|link_duplex'

The output has the following meaning:

link_up - 0 down, 1 up
link_speed - speed in Mbit/s
link_duplex - 1 half duplex, 2 full duplex, 0 down

Back to brandonhutchinson.com.

Last modified: 05/25/2005

Re: Client Backup Failing

Here is a VERITAS technote that refers to NetBackup 4.5 but is also true for NB 5.x

3rd PARTY: Additional tuning information/suggestions for Solaris 9 systems running NetBackup 4.5
http://seer.support.veritas.com/docs/264967.htm

Re: Client Backup Failing

another VERITAS technote concerning /etc/system

Explanation of semaphore, message queue and shared memory settings in /etc/system
http://seer.support.veritas.com/docs/242060.htm

Re: Client Backup Failing

Is there any firewall in between your Master Server and the Backup server?
If there is a one then you will have to opt for either Seting up two NICs to the Master server with one in each network or same config at the client.

Re: Client Backup Failing

Thanks Bob,
Anji