Wednesday, November 16, 2011

Quest Samba on Solaris 10 using AD authentication

Download Quest packages from:
http://rc.quest.com/downloads.php?release=quest-samba-3.0.34

Disable existing samba:
# svcs -a | grep samba
disabled Oct_13 svc:/network/samba:default

For Solaris 10, we need these packages
bash-3.00# uname -a
SunOS mdc2ps005 5.10 Generic_141444-09 sun4v sparc SUNW,SPARC-Enterprise-T5120 Solaris

#1. QSFTsmb-3.0.34-2-sparc.pkg
#2. QSFTidmap-1.2.2-sparc.pkg


Install QSFTsmb
bash-3.00# pkgadd -d /home/pkg/QSFTsmb-3.0.34-2-sparc.pkg

Output of installation:
The following packages are available:
1 QSFTsmb quest-samba 3.0.34
(sparc) 3.0.34

Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]:

Processing package instance from

quest-samba 3.0.34(sparc) 3.0.34
(c) 2006 Samba Team, (c) 2006 Quest Software Inc. All rights rsvd

Do you want to install the development files [y,n,?,q] y

Do you want to install nmbd-quest service [y,n,?,q] y

Do you want to install smbd-quest service [y,n,?,q] y

Do you want to install winbindd-quest service [y,n,?,q] y
## Processing package information.
## Processing system information.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.

The following files are already installed on the system and are being
used by another package:
/opt/quest/man/man1
/opt/quest/man/man5
* /opt/quest/man/man8

* - conflict with a file which does not belong to any package.

Do you want to install these conflicting files [y,n,?,q] y
## Checking for setuid/setgid programs.

This package contains scripts which will be executed with super-user
permission during the process of installing this package.

Do you want to continue with the installation of [y,n,?] y

Installing quest-samba 3.0.34 as

## Installing part 1 of 1.
/opt/quest/include/libmsrpc.h
/opt/quest/include/libsmbclient.h
[ verifying class ]
/etc/init.d/nmbd-quest
/etc/init.d/samba-quest
/etc/init.d/d-quest
/etc/init.d/winbindd-quest
/etc/opt/quest/samba/smb.conf
/lib/security/pam_smbpass.so
/lib/security
/opt/quest/bin/eventlogadm
/opt/quest/bin/findsmb
/opt/quest/bin/net
/opt/quest/bin/nmblookup
/opt/quest/bin/ntlm_auth
/opt/quest/bin/pdbedit
/opt/quest/bin/profiles
/opt/quest/bin/rpcclient
/opt/quest/bin/smbcacls
/opt/quest/bin/smbclient
/opt/quest/bin/smbcontrol
/opt/quest/bin/smbcquotas
/opt/quest/bin/smbget
/opt/quest/bin/smbpasswd
/opt/quest/bin/smbspool
/opt/quest/bin/smbstatus
/opt/quest/bin/smbtar
/opt/quest/bin/smbtree
/opt/quest/bin/tdbbackup
/opt/quest/bin/tdbdump
/opt/quest/bin/tdbtool
/opt/quest/bin/testparm
/opt/quest/bin/wbinfo
/opt/quest/lib/samba/auth/script.so
/opt/quest/lib/samba/charset/CP437.so
/opt/quest/lib/samba/charset/CP850.so
/opt/quest/lib/samba/de.msg
/opt/quest/lib/samba/en.msg
/opt/quest/lib/samba/fi.msg
/opt/quest/lib/samba/fr.msg
/opt/quest/lib/samba/it.msg
/opt/quest/lib/samba/ja.msg
/opt/quest/lib/samba/libmsrpc.so
/opt/quest/lib/samba/libsmbclient.so
/opt/quest/lib/samba/libsmbsharemodes.so
/opt/quest/lib/samba/lowcase.dat
/opt/quest/lib/samba/nl.msg
/opt/quest/lib/samba/pl.msg
/opt/quest/lib/samba/tr.msg
/opt/quest/lib/samba/upcase.dat
/opt/quest/lib/samba/valid.dat
/opt/quest/lib/samba/vfs/audit.so
/opt/quest/lib/samba/vfs/cap.so
/opt/quest/lib/samba/vfs/default_quota.so
/opt/quest/lib/samba/vfs/expand_msdfs.so
/opt/quest/lib/samba/vfs/extd_audit.so
/opt/quest/lib/samba/vfs/fake_perms.so
/opt/quest/lib/samba/vfs/full_audit.so
/opt/quest/lib/samba/vfs/netatalk.so
/opt/quest/lib/samba/vfs/readahead.so
/opt/quest/lib/samba/vfs/readonly.so
/opt/quest/lib/samba/vfs/recycle.so
/opt/quest/lib/samba/vfs/shadow_copy.so
/opt/quest/man/man1/findsmb.1
/opt/quest/man/man1/log2pcap.1
/opt/quest/man/man1/nmblookup.1
/opt/quest/man/man1/ntlm_auth.1
/opt/quest/man/man1/profiles.1
/opt/quest/man/man1/rpcclient.1
/opt/quest/man/man1/smbcacls.1
/opt/quest/man/man1/smbclient.1
/opt/quest/man/man1/smbcontrol.1
/opt/quest/man/man1/smbcquotas.1
/opt/quest/man/man1/smbget.1
/opt/quest/man/man1/smbstatus.1
/opt/quest/man/man1/smbtar.1
/opt/quest/man/man1/smbtree.1
/opt/quest/man/man1/testparm.1
/opt/quest/man/man1/vfstest.1
/opt/quest/man/man1/wbinfo.1
/opt/quest/man/man5/lmhosts.5
/opt/quest/man/man5/smb.conf.5
/opt/quest/man/man5/smbgetrc.5
/opt/quest/man/man5/smbpasswd.5
/opt/quest/man/man7/libsmbclient.7
/opt/quest/man/man7/pam_winbind.7
/opt/quest/man/man7/samba.7
/opt/quest/man/man8/cifs.upcall.8
/opt/quest/man/man8/eventlogadm.8
/opt/quest/man/man8/idmap_ad.8
/opt/quest/man/man8/idmap_ldap.8
/opt/quest/man/man8/idmap_nss.8
/opt/quest/man/man8/idmap_rid.8
/opt/quest/man/man8/idmap_tdb.8
/opt/quest/man/man8/mount.cifs.8
/opt/quest/man/man8/net.8
/opt/quest/man/man8/nmbd.8
/opt/quest/man/man8/pdbedit.8
/opt/quest/man/man8/smbd.8
/opt/quest/man/man8/smbpasswd.8
/opt/quest/man/man8/smbspool.8
/opt/quest/man/man8/swat.8
/opt/quest/man/man8/tdbbackup.8
/opt/quest/man/man8/tdbdump.8
/opt/quest/man/man8/tdbtool.8
/opt/quest/man/man8/umount.cifs.8
/opt/quest/man/man8/vfs_audit.8
/opt/quest/man/man8/vfs_cacheprime.8
/opt/quest/man/man8/vfs_cap.8
/opt/quest/man/man8/vfs_catia.8
/opt/quest/man/man8/vfs_commit.8
/opt/quest/man/man8/vfs_default_quota.8
/opt/quest/man/man8/vfs_extd_audit.8
/opt/quest/man/man8/vfs_fake_perms.8
/opt/quest/man/man8/vfs_full_audit.8
/opt/quest/man/man8/vfs_gpfs.8
/opt/quest/man/man8/vfs_netatalk.8
/opt/quest/man/man8/vfs_notify_fam.8
/opt/quest/man/man8/vfs_prealloc.8
/opt/quest/man/man8/vfs_readahead.8
/opt/quest/man/man8/vfs_readonly.8
/opt/quest/man/man8/vfs_recycle.8
/opt/quest/man/man8/vfs_shadow_copy.8
/opt/quest/man/man8/vfs_xattr_tdb.8
/opt/quest/man/man8/winbindd.8
/opt/quest/sbin/nmbd
/opt/quest/sbin/smbd
/opt/quest/sbin/swat
/opt/quest/sbin/winbindd
[ verifying class ]
## Executing postinstall script.
/etc/rc2.d/S98nmbd-quest
/etc/rcS.d/K30nmbd-quest
/etc/rc0.d/K30nmbd-quest
/etc/rc1.d/K30nmbd-quest
/etc/rc2.d/S98smbd-quest
/etc/rcS.d/K30smbd-quest
/etc/rc0.d/K30smbd-quest
/etc/rc1.d/K30smbd-quest
/etc/rc2.d/S98winbindd-quest
/etc/rcS.d/K30winbindd-quest
/etc/rc0.d/K30winbindd-quest
/etc/rc1.d/K30winbindd-quest
Installation of was successful.




Install vasidmap
bash-3.00# pkgadd -d /home/pkg/QSFTidmap-1.2.2-sparc.pkg

The following packages are available:
1 QSFTidmap quest-vasidmap 1.2.2
(sparc) 1.2.2

Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]:

Processing package instance from

quest-vasidmap 1.2.2(sparc) 1.2.2
Copyright 2010 Quest Software, Inc. All rights reserved.
## Processing package information.
## Processing system information.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.

This package contains scripts which will be executed with super-user
permission during the process of installing this package.

Do you want to continue with the installation of [y,n,?] y

Installing quest-vasidmap 1.2.2 as

## Installing part 1 of 1.
/etc/init.d/vasidmapd
/opt/quest/bin/vasidmap
/opt/quest/libexec/vas-set-samba-password
/opt/quest/libexec/vasidmap-status
/opt/quest/sbin/vas-krb5-config
/opt/quest/sbin/vas-samba-config
/opt/quest/sbin/vasidmapd
/opt/quest/share/man/man1/vas-krb5-config.1
/opt/quest/share/man/man1/vas-samba-config.1
/opt/quest/share/man/man1/vasidmap.1
/opt/quest/share/man/man8/vas-set-samba-password.8
/opt/quest/share/man/man8
/opt/quest/share/man/man8/vasidmapd.8
/opt/quest/share/quest-vasidmap/vasidmap-common.sh
/opt/quest/share/quest-vasidmap
[ verifying class ]
## Executing postinstall script.
Registering vasidmapd with SMF

Installation of was successful.

Configure krb and update smb config:
bash-3.00#/opt/quest/sbin/vas-samba-config
bash-3.00# /opt/quest/sbin/vas-krb5-config


Copy the right smb config file
/etc/opt/quest/samba/smb.conf
Sample smb.conf below....

Start samba services:
/etc/init.d/vasidmapd start
/etc/init.d/samba-quest start



-------------------------------------------
# cat smb.conf
[global]
workgroup = PANKAJGAUTAM
server string = PG Samba Server
security = ads
realm = PANKAJGAUTAMG.COM
auth methods = winbind guest sam
use kerberos keytab = yes
winbind refresh tickets = true
use spnego = yes
machine password timeout = 0

# winbind configuration
# winbind separator is default set to '' - so it is fine

winbind normalize names = yes
#winbind separator = +
winbind use default domain = no
winbind enum users = yes
winbind enum groups = yes
#winbind nss info = template
winbind nss info = sfu

idmap domains = PANKAJGAUTAM

idmap config PANKAJGAUTAM:backend = rid
idmap config PANKAJGAUTAM:base_rid = 500
#idmap config PANKAJGAUTAM:default = yes
idmap config PANKAJGAUTAM:readonly = yes
idmap config PANKAJGAUTAM:range = 100000 - 19999999999999
idmap uid = 1000 - 5999999999
idmap gid = 1000 - 5999999999
idmap config PANKAJGAUTAM:schema = rfc 2307
idmap alloc backend = tdb
idmap alloc config:range = 1000 - 1000000000


ldap admin dn = CN=VasIdmapAdmin

username map script = /opt/quest/bin/vasidmap

invalid users = root bin daemon lp sys tty

log file = /var/samba/log/log.%m
log level = 3 printdrivers: 0 lanman: 0 smb: 1 rpc_parse: 0 rpc_srv: 0 rpc_cl
i: 0 passdb: 1 sam: 0 auth: 5 winbind: 5 vfs: 0 idmap: 0 quota: 0 acls: 0 loc
king: 0 msdfs: 0 dmapi: 0

max log size = 1024

#============================ Share Definitions ==============================

;--- begin options added by vasidmap-config (20110930) ---
idmap backend = ldap:ldap://localhost
;--- end options added by vasidmap-config (20110930) ---

idmap cache time = 300 # Expire the tdb cache every 5 minutes

;--- begin options added by vas-samba-config (20110930) ---
domain master = no
domain logons = no
obey pam restrictions = yes
;--- end options added by vas-samba-config (20110930) ---


;--- begin options added by vas-samba-config (20111115) ---
winbind nested groups = no
;--- end options added by vas-samba-config (20111115) ---

[Data]
comment = Data Stuff
path = /var/data/
public = yes
writable = yes
printable = no
force grcup = dam
directory mask = 775
force create mode = 775
force directory mode = 775

Sunday, August 28, 2011

glibc rpm mis-match

Error: We get this error when a user logs into the system.

Usage: id [OPTIONS]... [USERNAME]

Print information for USERNAME or the current user

Options:
-Z prints only the security context
-g prints only the group ID
-u prints only the user ID
-n print a name instead of a number
-r prints the real user ID instead of the effective ID

Solution:
check the all installed glibc rpm version

[root@pg~]# rpm -qa | grep -i glibc
glibc-devel-2.3.4-2.39
glibc-2.3.4-2.39
glibc-headers-2.3.4-2.39
glibc-utils-2.3.4-2.39
glibc-profile-2.3.4-2.39
glibc-devel-2.3.4-2.39
glibc-common-2.3.4-2.41 <---- problem child causing it
glibc-2.3.4-2.39
glibc-kernheaders-2.4-9.1.100.EL

Thursday, August 18, 2011

3PAR storage on Solaris 10 using native MPxIO

This page discusses configuring storage exported from 3PAR to Solaris 10 using native MPxIO

We have 2 dual port HBA connected to 3PAR T800 using QLogic switches

Hardwares:
SPARC-Enterprise-T5220
Emulex LPe11002-S
3PAR T800
QLogic SANBox 5802 FC Switch


Multiplathing on Solaris 10 update 5 works with FC and SCSI


3PAR LUNs exported as below:
This is just to show that you have completed your zoning and exported luns to the solaris host

LUN,Domain,Virtual Volume,RAID Type,Host,Port,Host WWN/iSCSI Name,Exported Size (GiB),Type
0,--,VV-mdc2ps006-R5-NL1,RAID 5,mdc2ps006,4:5:1,10000000C97D2C71,1 024.000 GiB,Host Sees
0,--,VV-mdc2ps006-R5-NL1,RAID 5,mdc2ps006,6:5:4,10000000C97D2C71,1 024.000 GiB,Host Sees
0,--,VV-mdc2ps006-R5-NL1,RAID 5,mdc2ps006,5:5:1,10000000C97BFB4D,1 024.000 GiB,Host Sees
0,--,VV-mdc2ps006-R5-NL1,RAID 5,mdc2ps006,7:5:4,10000000C97BFB4D,1 024.000 GiB,Host Sees



Confirmation of zoning and connectivity:

bash-3.00# cfgadm -al -o show_FCP_dev
Ap_Id Type Receptacle Occupant Condition
c2 fc connected unconfigured unknown
c3 fc-fabric connected configured unknown <-- HBA connection

on c3
c3::25510002ac000ae2,0 disk connected configured unknown <-- 3PAR LUN on c3
c3::25510002ac000ae2,254 ESI connected configured unknown
c3::27540002ac000ae2,0 disk connected configured unknown <-- 3PAR LUN on c3
c3::27540002ac000ae2,254 ESI connected configured unknown
c4 fc connected unconfigured unknown
c5 fc-fabric connected configured unknown <-- HBA connection

on c5
c5::24510002ac000ae2,0 disk connected configured unknown <-- 3PAR LUN on c5
c5::24510002ac000ae2,254 ESI connected configured unknown
c5::26540002ac000ae2,0 disk connected configured unknown
c5::26540002ac000ae2,254 ESI connected configured unknown <-- 3PAR LUN on c5


connection Topology:
HBA1 -> Qlogic1 -> 3PAR1-C1/3PAR-C2
HBA2 -> QLogic2 -> 3PAR1-C3/3PAR-C4


bash-3.00# cfgadm -al
Ap_Id Type Receptacle Occupant Condition
c1 scsi-sata connected configured unknown
c1::dsk/c1t0d0 disk connected configured unknown
c1::dsk/c1t1d0 disk connected configured unknown
c1::dsk/c1t2d0 disk connected configured unknown
c1::dsk/c1t3d0 disk connected configured unknown
c1::dsk/c1t4d0 disk connected configured unknown
c1::dsk/c1t5d0 disk connected configured unknown
c2 fc connected unconfigured unknown
c3 fc-fabric connected configured unknown
c3::25510002ac000ae2 disk connected configured unknown <--3PAR LUN
c3::27540002ac000ae2 disk connected configured unknown <--3PAR LUN
c4 fc connected unconfigured unknown
c5 fc-fabric connected configured unknown
c5::24510002ac000ae2 disk connected configured unknown <--3PAR LUN
c5::26540002ac000ae2 disk connected configured unknown <--3PAR LUN


bash-3.00# luxadm probe
No Network Array enclosures found in /dev/es

Found Fibre Channel device(s):
Node WWN:2ff70002ac000ae2 Device Type:Disk device
Logical Path:/dev/rdsk/c3t25510002AC000AE2d0s2
Logical Path:/dev/rdsk/c3t27540002AC000AE2d0s2
Logical Path:/dev/rdsk/c5t24510002AC000AE2d0s2
Logical Path:/dev/rdsk/c5t26540002AC000AE2d0s2


bash-3.00# format
Searching for disks...done

c3t25510002AC000AE2d0: configured with capacity of 2048.00GB
c3t27540002AC000AE2d0: configured with capacity of 2048.00GB
c5t24510002AC000AE2d0: configured with capacity of 2048.00GB
c5t26540002AC000AE2d0: configured with capacity of 2048.00GB


AVAILABLE DISK SELECTIONS:
0. c1t0d0
/pci@0/pci@0/pci@2/scsi@0/sd@0,0
1. c1t1d0
/pci@0/pci@0/pci@2/scsi@0/sd@1,0
2. c1t2d0
/pci@0/pci@0/pci@2/scsi@0/sd@2,0
3. c1t3d0
/pci@0/pci@0/pci@2/scsi@0/sd@3,0
4. c1t4d0
/pci@0/pci@0/pci@2/scsi@0/sd@4,0
5. c1t5d0
/pci@0/pci@0/pci@2/scsi@0/sd@5,0
3PAR LUNs on c3 and c5
6. c3t25510002AC000AE2d0 <3PARdata-VV-0000-2.00TB>
/pci@0/pci@0/pci@8/pci@0/pci@2/SUNW,emlxs@0,1/fp@0,0/ssd@w25510002ac000ae2,0
7. c3t27540002AC000AE2d0 <3PARdata-VV-0000-2.00TB>
/pci@0/pci@0/pci@8/pci@0/pci@2/SUNW,emlxs@0,1/fp@0,0/ssd@w27540002ac000ae2,0
8. c5t24510002AC000AE2d0 <3PARdata-VV-0000-2.00TB>
/pci@0/pci@0/pci@8/pci@0/pci@a/SUNW,emlxs@0,1/fp@0,0/ssd@w24510002ac000ae2,0
9. c5t26540002AC000AE2d0 <3PARdata-VV-0000-2.00TB>
/pci@0/pci@0/pci@8/pci@0/pci@a/SUNW,emlxs@0,1/fp@0,0/ssd@w26540002ac000ae2,0




Important:

These four devices listed above (6,7,8,9) refer to the same LUN on the 3PAR storage known as (LUN

0). This is determined by the 'd0' at the end of the device name. The problem here is that we are

looking at these different paths to the same device.

First path to LUN 0 is over the 255 interface (c3t25510002AC000AE2d0)
Second path to LUN 0 is over the 275 interface (c3t27540002AC000AE2d0)
Third path to LUN 0 is over the 245 interface (c5t24510002AC000AE2d0)
Fourth path to LUN 0 is over the 265 interface (c5t26540002AC000AE2d0)


LUN Owner
As we see, we have 4 disk devices instead of one. We need to mount only one of these paths of the

LUN. The path that we need to choose is the path that is the 'owner' of the LUN.
For example, if the owner is the 255 interface, we should mount c3t25510002AC000AE2d0.
However, if the 255 interface has issues and we lose that path, we will lose access to the LUN.

We need a layer to abstract these 4 paths into a single device that we use. This layer would

present a new virtual/psuedo device that could be mounted. Underneath this virtual device would

be the two paths to the LUN, the owner and the non-owner. This resolves the issue of what device

to use if an interface to the LUN fails.

The multipathing layer would simply start accessing the device over the alternate path and would

not require any changes to what device the OS accesses the filesystem over.


In Solaris 10, MPXIO provides this layer of abstraction to solve this issue.
Solaris I/O multipathing gives you the ability to set up multiple redundant paths to a storage

system and gives you the benefits of load balancing and failover.



Enable MPxIO
Solaris 10 is the easier, because the mpxio capability is built-in. You just need to turn it on!


Step #1.
vi /kernel/drv/fp.conf
mpxio-disable="no";

Enabling mpxio enables it everywhere.
However, You can enable mulipathing for each device

First list all the FC devices

bash-3.00# ls -l /dev/fc
total 8
lrwxrwxrwx 1 root root 70 May 13 15:41 fp0 ->

../../devices/pci@0/pci@0/pci@8/pci@0/pci@2/SUNW,emlxs@0/fp@0,0:devctl
lrwxrwxrwx 1 root root 72 May 13 15:41 fp1 ->

../../devices/pci@0/pci@0/pci@8/pci@0/pci@2/SUNW,emlxs@0,1/fp@0,0:devctl
lrwxrwxrwx 1 root root 70 May 13 15:41 fp2 ->

../../devices/pci@0/pci@0/pci@8/pci@0/pci@a/SUNW,emlxs@0/fp@0,0:devctl
lrwxrwxrwx 1 root root 72 May 13 15:41 fp3 ->

../../devices/pci@0/pci@0/pci@8/pci@0/pci@a/SUNW,emlxs@0,1/fp@0,0:devctl

or

bash-3.00# luxadm -e port
/devices/pci@0/pci@0/pci@8/pci@0/pci@2/SUNW,emlxs@0/fp@0,0:devctl NOT CONNECTED -> Port 0
/devices/pci@0/pci@0/pci@8/pci@0/pci@2/SUNW,emlxs@0,1/fp@0,0:devctl CONNECTED -> Port 1
/devices/pci@0/pci@0/pci@8/pci@0/pci@a/SUNW,emlxs@0,1/fp@0,0:devctl CONNECTED -> Port 1
/devices/pci@0/pci@0/pci@8/pci@0/pci@a/SUNW,emlxs@0/fp@0,0:devctl NOT CONNECTED -> Port 0

HBA is connected to port 1


We are interested in the path after '/devices' and before '/fp@0,0...'
In this case, the path we are interested in is: '/pci@0/pci@0/pci@8/pci@0/pci@2/SUNW,emlxs@0'.
This path is associated with port 0 of the fp driver (from the '0' in fp0).


mpxio-disable="yes";
name="fp" parent="/pci@0/pci@0/pci@8/pci@0/pci@2/SUNW,emlxs@0" port=1 mpxio-disable="no";
name="fp" parent="/pci@0/pci@0/pci@8/pci@0/pci@2/SUNW,emlxs@0,1" port=1 mpxio-disable="no";
name="fp" parent="/pci@0/pci@0/pci@8/pci@0/pci@a/SUNW,emlxs@0" port=1 mpxio-disable="no";
name="fp" parent="/pci@0/pci@0/pci@8/pci@0/pci@a/SUNW,emlxs@0,1" port=1 mpxio-disable="no";

This disables MPXIO globally and enables it for the above device.
HBA is connected to port 1

name="fp" parent="parent name" port=port-number mpxio-disable="no/yes"
where parent name is the Qlogic device path

ie: /pci@9,600000/pci@2/SUNW,qlc@4
and port-number is the port number of the HBA



Step #2.

Edit /kernel/drv/scsi_vhci.conf
The scsi_vhci driver is responsible for hiding the owner and non-owner paths to the LUNs.

To enable this capability, the driver must know what type of device that the HBA is connected to.
To do this, you need to set the following in /kernel/drv/scsi_vhci.conf:

device-type-scsi-options-list="3PARdataVV", "symmetric-option";
symmetric-option = 0x1000000;

We knew to set the option to "3PARdata VV" from the output of format:
6. c3t25510002AC000AE2d0 <3PARdata-VV-0000-2.00TB>

Since 3PAR is symmetric luns which basically means active/active between all the paths the luns sees. We have to tweak the MPxIO to make it work.

Important:
In case of 3PAR /kernel/drv/scsi_vhci.conf doesn't like space between 3PARdata and VV :-)
device-type-scsi-options-list="3PARdata VV", "symmetric-option";

make sure it is 3PARdataVV as below
device-type-scsi-options-list="3PARdataVV", "symmetric-option";


format -e
select the lun

format> i
Vendor: 3PARdata
Product: VV
Revision: 0000


Vendor ID has 8 characters
Product ID has 16 characters


Step #3.

Now, if you are manually updated

/kernel/drv/fp.conf
and
/kernel/drv/scsi_vhci.conf


then you can simply use stmsboot update and it will udpate the multipathing and vfstab
#stmsboot -u

you have reboot again with this option
reboot -- -rv


Below is the steps to show stmsboot options

For Solaris 10 (SPARC)
run the stmsboot command and confirm the reboot:
# stmsboot –e
another stmsboot commands:
To Disable = stmsboot -d
To update = stmsboot -u


Output of -e
bash-3.00# stmsboot -e

WARNING: stmsboot operates on each supported multipath-capable controller
detected in a host. In your system, these controllers are

/pci@0/pci@0/pci@8/pci@0/pci@2/SUNW,emlxs@0/fp@0,0
/pci@0/pci@0/pci@8/pci@0/pci@2/SUNW,emlxs@0,1/fp@0,0
/pci@0/pci@0/pci@8/pci@0/pci@a/SUNW,emlxs@0/fp@0,0
/pci@0/pci@0/pci@8/pci@0/pci@a/SUNW,emlxs@0,1/fp@0,0
/pci@0/pci@0/pci@2/scsi@0

If you do NOT wish to operate on these controllers, please quit stmsboot
and re-invoke with -D { fp | mpt | mpt_sas} to specify which controllers you wish
to modify your multipathing configuration for.

Do you wish to continue? [y/n] (default: y)
WARNING: This operation will require a reboot.
Do you want to continue ? [y/n] (default: y)
The changes will come into effect after rebooting the system.
Reboot the system now ? [y/n] (default: y)
updating /platform/sun4v/boot_archive


This will also udpate /kernel/drv/fp.conf with mpxio-disable="no";



bash-3.00# stmsboot -L
non-STMS device name STMS device name
------------------------------------------------------------------
/dev/rdsk/c1t0d0 /dev/rdsk/c6t5000C500091B90B3d0
/dev/rdsk/c1t1d0 /dev/rdsk/c6t5000C500091B7D93d0
/dev/rdsk/c1t2d0 /dev/rdsk/c6t5000CCA00A350350d0
/dev/rdsk/c1t3d0 /dev/rdsk/c6t5000CCA00A33F218d0
/dev/rdsk/c1t4d0 /dev/rdsk/c6t5000CCA00A3468E0d0
/dev/rdsk/c1t5d0 /dev/rdsk/c6t5000CCA00A34E950d0


This is when we enable multipathing on all devices
say yes to reboot


To enable Solaris I/O Multipathing on multipath-capable Fibrechannel controller ports,

enter:

bash-3.00# stmsboot -D fp -e
WARNING: This operation will require a reboot.
Do you want to continue ? [y/n] (default: y)
The changes will come into effect after rebooting the system.
Reboot the system now ? [y/n] (default: y)




Before multipathing, you would see four copies of each disk in format. Afterwards, you'll just

see the one copy.

It assigns the next available controller ID, and makes up some horrendously long target number.
For example:

Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c6t600C0FF000000000086AB238B2AF0600d0s5 697942398 20825341 670137634 4% /test



At this point we see 4 devices ( 6-9 as listed above)


Before MPxIO
bash-3.00# format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
0. c1t0d0
/pci@0/pci@0/pci@2/scsi@0/sd@0,0
1. c1t1d0
/pci@0/pci@0/pci@2/scsi@0/sd@1,0
2. c1t2d0
/pci@0/pci@0/pci@2/scsi@0/sd@2,0
3. c1t3d0
/pci@0/pci@0/pci@2/scsi@0/sd@3,0
4. c1t4d0
/pci@0/pci@0/pci@2/scsi@0/sd@4,0
5. c1t5d0
/pci@0/pci@0/pci@2/scsi@0/sd@5,0
3PAR lists 4 devices
6. c3t25510002AC000AE2d0 <3PARdata-VV-0000-2.00TB>
/pci@0/pci@0/pci@8/pci@0/pci@2/SUNW,emlxs@0,1/fp@0,0/ssd@w25510002ac000ae2,0
7. c3t27540002AC000AE2d0 <3PARdata-VV-0000-2.00TB>
/pci@0/pci@0/pci@8/pci@0/pci@2/SUNW,emlxs@0,1/fp@0,0/ssd@w27540002ac000ae2,0
8. c5t24510002AC000AE2d0 <3PARdata-VV-0000-2.00TB>
/pci@0/pci@0/pci@8/pci@0/pci@a/SUNW,emlxs@0,1/fp@0,0/ssd@w24510002ac000ae2,0
9. c5t26540002AC000AE2d0 <3PARdata-VV-0000-2.00TB>
/pci@0/pci@0/pci@8/pci@0/pci@a/SUNW,emlxs@0,1/fp@0,0/ssd@w26540002ac000ae2,0


After Enabling MPxIO


bash-3.00# format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
0. c6t5000C500091B7D93d0
/scsi_vhci/disk@g5000c500091b7d93
1. c6t5000C500091B90B3d0
/scsi_vhci/disk@g5000c500091b90b3
2. c6t5000CCA00A33F218d0
/scsi_vhci/disk@g5000cca00a33f218
3. c6t5000CCA00A34E950d0
/scsi_vhci/disk@g5000cca00a34e950
4. c6t5000CCA00A3468E0d0
/scsi_vhci/disk@g5000cca00a3468e0
5. c6t5000CCA00A350350d0
/scsi_vhci/disk@g5000cca00a350350
3PAR list one device instead of 4 as above
6. c6t50002AC000220AE2d0 <3PARdata-VV-0000-2.00TB>
/scsi_vhci/ssd@g50002ac000220ae2


You will notice all the above devices changed to /scsi_vhci/XXXXX instead of /pci@0/pci@0/


Also compare your previous probe output to one below

bash-3.00# luxadm probe
No Network Array enclosures found in /dev/es

Found Fibre Channel device(s):
Node WWN:2ff70002ac000ae2 Device Type:Disk device
Logical Path:/dev/rdsk/c6t50002AC000220AE2d0s2


Below stmsboot output shows you how all interfaces 245, 255, 265 and 275 has one pseudo name as

50002AC000220AE2


bash-3.00# stmsboot -L
non-STMS device name STMS device name
------------------------------------------------------------------
/dev/rdsk/c1t0d0 /dev/rdsk/c6t5000C500091B90B3d0
/dev/rdsk/c1t1d0 /dev/rdsk/c6t5000C500091B7D93d0
/dev/rdsk/c1t2d0 /dev/rdsk/c6t5000CCA00A350350d0
/dev/rdsk/c1t3d0 /dev/rdsk/c6t5000CCA00A33F218d0
/dev/rdsk/c1t4d0 /dev/rdsk/c6t5000CCA00A3468E0d0
/dev/rdsk/c1t5d0 /dev/rdsk/c6t5000CCA00A34E950d0
/dev/rdsk/c5t26540002AC000AE2d0 /dev/rdsk/c6t50002AC000220AE2d0
/dev/rdsk/c5t24510002AC000AE2d0 /dev/rdsk/c6t50002AC000220AE2d0
/dev/rdsk/c3t27540002AC000AE2d0 /dev/rdsk/c6t50002AC000220AE2d0
/dev/rdsk/c3t25510002AC000AE2d0 /dev/rdsk/c6t50002AC000220AE2d0





Step #4.

using mpathadm commands
To List all your initiators
bash-3.00# mpathadm list initiator-port
Initiator Port: 508002000081b570
Initiator Port: ,4000002a00ff
Initiator Port: 10000000c97bfb4c
Initiator Port: 10000000c97d2c70
Initiator Port: 10000000c97bfb4d -> connected HBA
Initiator Port: 10000000c97d2c71 -> connected HBA


bash-3.00# mpathadm list lu
List all LUNs
bash-3.00# mpathadm list lu
/dev/rdsk/c6t5000C500091B90B3d0s2
Total Path Count: 1
Operational Path Count: 1
/dev/rdsk/c6t5000C500091B7D93d0s2
Total Path Count: 1
Operational Path Count: 1
/dev/rdsk/c6t5000CCA00A350350d0s2
Total Path Count: 1
Operational Path Count: 1
/dev/rdsk/c6t5000CCA00A33F218d0s2
Total Path Count: 1
Operational Path Count: 1
/dev/rdsk/c6t5000CCA00A3468E0d0s2
Total Path Count: 1
Operational Path Count: 1
/dev/rdsk/c6t5000CCA00A34E950d0s2
Total Path Count: 1
Operational Path Count: 1
/dev/rdsk/c6t50002AC000220AE2d0s2 <--- pesudo LUN we are interested in
Total Path Count: 4
Operational Path Count: 4

This shows how this pesudo device using the different path underneath

bash-3.00# mpathadm show lu /dev/rdsk/c6t50002AC000220AE2d0s2
Logical Unit: /dev/rdsk/c6t50002AC000220AE2d0s2
mpath-support: libmpscsi_vhci.so
Vendor: 3PARdata
Product: VV
Revision: 0000
Name Type: unknown type
Name: 50002ac000220ae2
Asymmetric: no
Current Load Balance: round-robin
Logical Unit Group ID: NA
Auto Failback: on
Auto Probing: NA

Paths:
Initiator Port Name: 10000000c97d2c71
Target Port Name: 26540002ac000ae2
Override Path: NA
Path State: OK
Disabled: no

Initiator Port Name: 10000000c97d2c71
Target Port Name: 24510002ac000ae2
Override Path: NA
Path State: OK
Disabled: no

Initiator Port Name: 10000000c97bfb4d
Target Port Name: 27540002ac000ae2
Override Path: NA
Path State: OK
Disabled: no

Initiator Port Name: 10000000c97bfb4d
Target Port Name: 25510002ac000ae2
Override Path: NA
Path State: OK
Disabled: no

Target Ports:
Name: 26540002ac000ae2
Relative ID: 0

Name: 24510002ac000ae2
Relative ID: 0

Name: 27540002ac000ae2
Relative ID: 0

Name: 25510002ac000ae2
Relative ID: 0



Friday, July 8, 2011

IBM InfoSphere Server (WebSphere) not connecting to xmeta

Recently we were not able to connect to xmeta database when starting IBM InfoSphere Server.

WebSphere was not able connect to xmeta DB2 database which was running on the same machine, however you could manually connect to the xmeta database using db2 connect.

Snippets of WebSphere logs:
[7/8/11 2:24:09:496 EDT] 00000000 JMSRegistrati A WMSG1611I: The installed level of the WebSphere MQ messaging provider is

7.0.1.2.
[7/8/11 2:24:09:499 EDT] 00000000 JMSRegistrati I WMSG1703I: RAR implementation version 7.0.1.2-k701-102-100504
[7/8/11 2:24:09:517 EDT] 00000000 ObjectPoolSer I OBPL0010I: The Object Pool service started successfully.
[7/8/11 2:24:12:468 EDT] 00000000 SystemOut O [org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl] ERROR: Error

getting Connection from DriverManager with url (jdbc:db2://idmdmndev:50000/xmeta) and driver (com.ibm.db2.jcc.DB2Driver)
[7/8/11 2:24:12:470 EDT] 00000000 SystemOut O DB2 SQL Error: SQLCODE=-30082, SQLSTATE=08001, SQLERRMC=42;ROOT CAPABILITY

REQUIRED;, DRIVER=3.58.135
[7/8/11 2:24:12:493 EDT] 00000000 OjbPersistent E
org.apache.ojb.broker.PersistenceBrokerException: Can't lookup a connection
at org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.localBegin(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.beginTransaction(Unknown Source)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.beginTransaction(Unknown Source)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.beginTransaction(Unknown Source)
at com.ascential.xmeta.persistence.orm.impl.ojb.OjbPersistentEObjectPersistenceRegistry.loadPackageCache

(OjbPersistentEObjectPersistenceRegistry.java:437)
atcom.ascential.xmeta.persistence.orm.impl.ojb.OjbPersistentEObjectPersistenceRegistry.initialize
(OjbPersistentEObjectPersistenceRegistry.java:134)


After working thru all possible scenario, and gooling all around.
We found that the db2inst1/sqllib/security security is messed up.

When we moved db2inst1 from /home to /db2home
we did recursive chown to db2inst1 which basically screwed up the xmeta login permission

https://www-304.ibm.com/support/docview.wss?uid=swg21428687

Here is the error:
db2inst1@mdc1pr009 /db2home/db2inst1(12)$ db2start
07/08/2011 03:10:07 0 0 SQL1026N The database manager is already active.
SQL1026N The database manager is already active.
db2inst1@mdc1pr009 /db2home/db2inst1(1)$ db2 -t
(c) Copyright IBM Corporation 1993,2007
Command Line Processor for DB2 Client 9.7.0

You can issue database manager commands and SQL statements from the command
prompt. For example:
db2 => connect to sample
db2 => bind sample.bnd

For general help, type: ?.
For command help, type: ? command, where command can be
the first few keywords of a database manager command. For example:
? CATALOG DATABASE for help on the CATALOG DATABASE command
? CATALOG for help on all of the CATALOG commands.

To exit db2 interactive mode, type QUIT at the command prompt. Outside
interactive mode, all commands must be prefixed with 'db2'.
To list the current command option settings, type LIST COMMAND OPTIONS.

For more detailed help, refer to the Online Reference Manual.

db2 => connect to xmeta user xmeta using xmetadev;
SQL30082N Security processing failed with reason "42" ("ROOT CAPABILITY
REQUIRED"). SQLSTATE=08001

Solution:
1.) cd to sqllib/security
2.) run: ls -l
3.) Check the permission's on the db2chpw and db2ckpw they should be:

-r-s--x--x 1 root inst1 51195 Dec 1 15:33 db2chpw
-r-s--x--x 1 root inst1 3534773 Dec 1 15:33 db2ckpw

4.) Also check to see if they are owned by root.
5.) If not owned by root, log in as root and run:

db2iupdt -k

and then check if db2ckpw is now owned by root.

6.) If you need to change the permission's of those files run the following commands (this needs to be done as root, since the files are owned by root):

chmod 4511 db2chpw
chmod 4511 db2ckpw

Also,
Log in as root and locate your db2rfe.cfg found in DB2DIR/instance.
Check the file to make sure it has:

RESERVE_REMOTE_CONNECTION=YE

Wednesday, April 20, 2011

LVM (linear and striped mapping)

Its important to know what lvm version are you working on, there are lots of feature/options depends on this.

lvm version
LVM version: 2.02.56(1)-RHEL5 (2010-04-22)
Library version: 1.02.39-RHEL5 (2010-04-22)
Driver version: 4.11.5

Few common commands:
lvmdiskscan - scan for all devices visible to LVM2
lvs - Display information about logical volumes
pvs - Display information about physical volumes
vgs - Display information about volume groups


lvcreate -n stripedlv -i 2 -I 64 mygroup -L 20M
-i we tell LVM how many Physical Volumes it should use to scatter on
-I we can specify the granulation in kilobytes

How to check if lvm is linear or striped?
lvdisplay -m
A Physical Volume, containing Physical Extents:

+-----[ Physical Volume ]------+
| PE | PE | PE | PE | PE | PE |
+------------------------------+

A Volume Group, containing 2 Physical Volumes (PVs) with 6 Physical Extents:

+------[ Volume Group ]-----------------+
| +--[PV]--------+ +--[PV]---------+ |
| | PE | PE | PE | | PE | PE | PE | |
| +--------------+ +---------------+ |
+---------------------------------------+

We now further expand this:

+------[ Volume Group ]-----------------+
| +--[PV]--------+ +--[PV]---------+ |
| | PE | PE | PE | | PE | PE | PE | |
| +--+---+---+---+ +-+----+----+---+ |
| | | | +-----/ | | |
| | | | | | | |
| +-+---+---+-+ +----+----+--+ |
| | Logical | | Logical | |
| | Volume | | Volume | |
| | | | | |
| | /home | | /var | |
| +-----------+ +------------+ |
+---------------------------------------+
This shows us two filesystems, spanning two disks. The /home filesystem contains 4 Physical Extents, the /var filesystem 2.

look for type -> linear or striped




Monday, February 21, 2011

Solaris SMF Commands

Solaris SMF Commands

SMF has a limited yet powerful set of commands.

Each command has several options which cover the tasks required to manage Solaris systems.
The following table lists the SMF commands.

Command Description
svcs Reports service status
svcadm Used for service management: e.g., starting, stopping and restoring services
svccfg Used to list properties of a service
svcprop Used to list properties of a service
inetadm Used to manage inetd services

Solaris ssh is offline?

Solaris ssh is offline

I'm sure you must have seen a situation like this, where for some reason ssh died and you cannot login to the server remotely. If you have console access to box, you see the ssh is offline.

root@app1 # svcs -a | grep ssh
offline 1:40:22 svc:/network/ssh:default

svcs -d will tell us what other services depends on ssh

root@app1 # svcs -d ssh
STATE STIME FMRI
online 1:40:19 svc:/network/loopback:default
online 1:40:24 svc:/network/physical:default
disable 1:41:04 svc:/system/cryptosvc:default
online 1:41:16 svc:/system/filesystem/local:default
online 1:42:44 svc:/system/filesystem/autofs:default
online 1:42:43 svc:/system/utmp:default

Offline means that the service is enabled, but something it depends on is missing, disable or in maintenance mode

Here in our case crypto is disable. You might have a service with lots of dependencies that are disabled, or you might have dependencies disabled many levels deep.

Do you want to walk through all those services, find out why they're not on, and enable every dependency by hand? Of course you don't. So svcadm has a "recursive enable" option that goes through and enables everything that your service depends on.

# svcadm enable -r network/ssh


#svcs network/ssh
STATE STIME FMRI
online 1:02:23 svc:/network/ssh:default


#svcs -d network/ssh:default
STATE STIME FMRI
online 1:40:19 svc:/network/loopback:default
online 1:40:24 svc:/network/physical:default
disabled 1:41:04 svc:/system/cryptosvc:default
online 1:41:16 svc:/system/filesystem/local:default
online 1:42:44 svc:/system/filesystem/autofs:default
online 1:42:43 svc:/system/utmp:default

As you can see, we recursively enabled not only ssh, but everything it depended on, allowing it to come online.

One last option of note for enable/disable is the "temporary" option. Say that you want to enable/disable a service just for this session, but have it revert to its previous state on reboot, in case there are problems. If ssh is disabled and you issue:

#svcadm enable -t network/ssh
The enable will only be temporary. If you reboot the machine, the service will once again be disabled.

refresh
Refresh serves two purposes. One is if you've changed any of the properties of your service, say that you've added a dependency or changed the timeout for starting, you refresh the service, and the properties become active. The other purpose is that there's an optional method, in addition to "start" and "stop", called "refresh" that you can define. If your daemon can be sent a HUP signal to re-read its configuration file, you put this in the refresh method, and when you refresh the service, this method is called.

restart
Restart is pretty self evident. Restarting a service means that you stop it and start it again. Where in the past you might have issued a

/etc/init.d/sendmail stop followed by /etc/init.d/sendmail start, now you would use:

#svcadm restart network/smtp:sendmail
... which will restart sendmail.

mark (degraded | maintenance)
Mark is used to force a service into a certain state. (The states are here if you've forgotten them) An administrator might want to force a service into the maintenance state to let other administrators know that there's something wrong with it that needs to be addressed before it's started again. You can force a service into either maintenance (which will shut the service down) or degraded (which will leave it running, but let others know that it's running in a degraded state).

Keeping with our earlier example of ssh:

#svcadm mark maintenance network/ssh

#svcs network/ssh
STATE STIME FMRI
maintenance 1:12:47 svc:/network/ssh:default

clear
Clear is used to "reset" the state of a service, and have it be re-evaluated. For example, say that syslog is in maintenance:

#svcs system/system-log
STATE STIME FMRI
maintenance 1:15:33 svc:/system/system-log:default
You debug the problem, and realize that syslog failed to start because someone had accidentally deleted syslog.conf, which syslog needs to start. It attempted to start, saw that the conf file was missing, and fell into maintenance. You repair the file, and issue a clear:

# svcadm clear system/system-log

# svcs system/system-log
STATE STIME FMRI
online 1:25:07 svc:/system/system-log:default

Summary
These are SMF basic maintenance on a Solaris 10 machine. SMF administration is quite easy, and incredibly powerful. No longer do you have to hunt around for daemons and init scripts, every service is given a unique FMRI, administered through a unified framework. This, combined with explicit states and dependencies, gives administrators flexibility and power that is unavailable in other Unix distributions.

Sunday, February 20, 2011

Resolving 3PAR/Vmware SCSI reservation conflicts

Resolving 3PAR/Vmware SCSI reservation conflicts:

Environment:
Vmware 4.1
3PAR 2.3.1 MU2 with VAAI API

Symptoms:
-All the esx host lost the datastores
-When you login to esxhost and do "df -h" it hangs
-You cannot shutdown the guest vm's properly, it will get stuck at say 95%
-Your VM's won't be accessible to power on


Login to 3PAR
3PAR_F200_PG1 cli% showrsv
VVname Host Owner Port Reservation Type
vv-datastore1 esx01 21000024 FF2FCA50 unknown SCSI-2
vv-datastore2 esx01 21000024 FF2FCA50 unknown SCSI-2
VV-datastore5-2MB esx01 21000024 FF2FCA50 unknown SCSI-2

The above output confirms that there are scsi reservation on the luns


VMWARE KB Article to resolve the issue
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1002293



Solution from 3PAR side:

3PAR_F200_PG1 cli% setvv -clrrsv vv-datastore1

WARNING: Active hosts may be disrupted.

Are you sure you want to run setvv -clrrsv vv-datastore1
select q=quit y=yes n=no: y

3PAR_F200_PG1 cli% showrsv
VVname Host Owner Port ReservationType
vv-datastore2 esx01 21000024FF2FCA50 unknown SCSI-2
VV-datastore5-2MB esx01 21000024FF2FCA50 unknown SCSI-2

(the above output shows it reset lock on vv-datastore1)


3PAR_F200_PG1 cli% setvv -clrrsv vv-datastore2

WARNING: Active hosts may be disrupted.

Are you sure you want to run setvv -clrrsv vv-datastore2
select q=quit y=yes n=no: y

3PAR_F200_PG1 cli% showrsv
VVname Host Owner Port ReservationType
VV-datastore5-2MB esx01 21000024FF2FCA50 unknown SCSI-2
3PAR_F200_PG1 cli% setvv -clrrsv VV-datastore5-2MB

(the above output shows it reset lock on vv-datastore2)

WARNING: Active hosts may be disrupted.

Are you sure you want to run setvv -clrrsv VV-datastore5-2MB
select q=quit y=yes n=no: y


3PAR_F200_PG1 cli% showrsv
no reservations found

(the above output shows no reservations)




Solution from VMware ESx host side:

List all the pending reservation
#tail -1 /proc/scsi/qla2xxx/[0-9]*

Perform a LUN reset to clear the lock
# vmkfstools --lock lunreset /vmfs/devices/disks/naa.50002ac000080a7e



---------------
ESXi /var/log/messages Error Logs:
---------------
Feb 18 19:11:32 Vpxa: [2011-02-18 19:11:32.385 1D695B90 warning 'App'] [VpxaHalStats] Unexpected return result. Expect 1 sample, receive 2
Feb 18 19:11:35 Vpxa: [2011-02-18 19:11:35.216 1D613B90 verbose 'SoapAdapter.HTTPService'] User agent is 'VMware-client/4.1.0'
Feb 18 19:11:35 Vpxa: [2011-02-18 19:11:35.216 1D613B90 verbose 'SoapAdapter.HTTPService'] HTTP Response: Client: NeedsContentLength: false UnderstandsChunking: true CanKeepAlive: true (PresetContentLength -1)
Feb 18 19:11:35 Vpxa: [2011-02-18 19:11:35.216 1D5D2B90 info 'App' opID=task-internal-22417-dbfb04f9] [VpxLRO] -- BEGIN task-internal-22417 -- -- vpxapi.VpxaService.fetchQuickStats -- 52c7f745-06cb-1a35-9dd0-388015a6d4f4
Feb 18 19:11:35 Vpxa: [2011-02-18 19:11:35.216 1D5D2B90 verbose 'SoapAdapter.HTTPService' opID=task-internal-22417-dbfb04f9] HTTP Response: Complete (processed 396 bytes)
Feb 18 19:11:35 Vpxa: [2011-02-18 19:11:35.216 1D5D2B90 info 'App' opID=task-internal-22417-dbfb04f9] [VpxLRO] -- FINISH task-internal-22417 -- -- vpxapi.VpxaService.fetchQuickStats -- 52c7f745-06cb-1a35-9dd0-388015a6d4f4
############################################################### Error ###############################################################
Feb 18 19:11:37 vmkernel: 10:02:15:41.486 cpu17:4113)ScsiDeviceIO: 1672: Command 0x16 to device "naa.50002ac000050a7e" failed H:0x5 D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
Feb 18 19:11:37 vmkernel: 10:02:15:41.486 cpu4:4134)WARNING: FS3: 7030: Reservation error: Timeout
Feb 18 19:11:37 vmkernel: 10:02:15:41.534 cpu4:4134)FS3: 6978: Starting HB reclaim for [HB state abcdef02 offset 3809280 gen 49 stamp 868815074527 uuid 4d5175ef-d3ceec8d-8b50-a4badb47bc9f jrnl drv 8.46]
############################################################### Error ###############################################################
Feb 18 19:11:37 vmkernel: 10:02:15:42.274 cpu17:4113)ScsiDeviceIO: 1672: Command 0x16 to device "naa.50002ac000080a7e" failed H:0x5 D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
Feb 18 19:11:37 vmkernel: 10:02:15:42.274 cpu6:4135)WARNING: FS3: 7030: Reservation error: Timeout
Feb 18 19:11:37 vmkernel: 10:02:15:42.274 cpu18:697291)FS3: 7346: Waiting for timed-out heartbeat [HB state abcdef02 offset 3809280 gen 3517 stamp 871821852348 uuid 4d5175ef-d3ceec8d-8b50-a4badb47bc9f jrnl drv 8.46]
Feb 18 19:11:37 vmkernel: 10:02:15:42.274 cpu6:4135)FS3: 6978: Starting HB reclaim for [HB state abcdef02 offset 3809280 gen 3517 stamp 871821852348 uuid 4d5175ef-d3ceec8d-8b50-a4badb47bc9f jrnl drv 8.46]
Feb 18 19:11:38 Vpxa: [2011-02-18 19:11:38.322 1D85CB90 verbose 'SoapAdapter.HTTPService'] User agent is 'VMware-client/4.1.0'
Feb 18 19:11:38 Vpxa: [2011-02-18 19:11:38.323 1D85CB90 verbose 'SoapAdapter.HTTPService'] HTTP Response: Client: NeedsContentLength: false UnderstandsChunking: true CanKeepAlive: true (PresetContentLength -1)
Feb 18 19:11:38 Vpxa: [2011-02-18 19:11:38.323 1D613B90 info 'App' opID=CB8B255C-0000010A-52] [VpxLRO] -- BEGIN task-internal-22418 -- -- vpxapi.VpxaService.queryPerformanceStatistics -- 52c7f745-06cb-1a35-9dd0-388015a6d4f4
Feb 18 19:11:38 Vpxa: [2011-02-18 19:11:38.324 1D613B90 verbose 'App' opID=CB8B255C-0000010A-52] [VpxaMoService::QueryStats] Query last timestamp 1298056298
Feb 18 19:11:38 Vpxa: [2011-02-18 19:11:38.326 1D613B90 verbose 'SoapAdapter.HTTPService' opID=CB8B255C-0000010A-52] HTTP Response: Complete (processed 418 bytes)
Feb 18 19:11:38 Vpxa: [2011-02-18 19:11:38.326 1D613B90 info 'App' opID=CB8B255C-0000010A-52] [VpxLRO] -- FINISH task-internal-22418 -- -- vpxapi.VpxaService.queryPerformanceStatistics -- 52c7f745-06cb-1a35-9dd0-388015a6d4f4
Feb 18 19:11:39 Vpxa: [2011-02-18 19:11:39.244 1D5D2B90 verbose 'App'] [VpxaVMAP] Checking Node Resources
Feb 18 19:11:39 Vpxa: [2011-02-18 19:11:39.249 1D5D2B90 verbose 'App'] [VpxaVMAP] CheckThreshold values stored:(35400,58178,35400,58178) - retrieved:(35400,57085,35400,58129)
Feb 18 19:11:39 Vpxa: [2011-02-18 19:11:39.249 1D5D2B90 verbose 'App'] [VpxaVMAP] CheckThreshold percent changes (0,1,0,0) - threshold 5
Feb 18 19:11:40 Hostd: [2011-02-18 19:11:40.006 4FD49B90 error 'Statssvc'] HostCtl Exception during stats collection: Unable to complete Sysinfo operation. Please see the VMkernel log file for more details.
############################################################### Error ###############################################################
Feb 18 19:11:42 vmkernel: 10:02:15:46.496 cpu17:4113)ScsiDeviceIO: 1672: Command 0x16 to device "naa.50002ac000030a7e" failed H:0x5 D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
Feb 18 19:11:42 vmkernel: 10:02:15:46.496 cpu14:4133)WARNING: FS3: 7030: Reservation error: Timeout
Feb 18 19:11:42 vmkernel: 10:02:15:46.496 cpu18:1048314)Fil3: 11853: Max timeout retries exceeded for caller Fil3_FileIO (status 'Timeout')
Feb 18 19:11:42 vmkernel: 10:02:15:46.496 cpu12:2194046)FS3: 7346: Waiting for timed-out heartbeat [HB state abcdef02 offset 3809280 gen 161 stamp 870183428483 uuid 4d5175ef-d3ceec8d-8b50-a4badb47bc9f jrnl drv 8.46]
Feb 18 19:11:42 vmkernel: 10:02:15:46.496 cpu14:4133)FS3: 6978: Starting HB reclaim for [HB state abcdef02 offset 3809280 gen 161 stamp 870183428483 uuid 4d5175ef-d3ceec8d-8b50-a4badb47bc9f jrnl drv 8.46]
Feb 18 19:11:42 vmkernel: 10:02:15:46.496 cpu18:1048314)FS3: 7346: Waiting for timed-out heartbeat [HB state abcdef02 offset 3809280 gen 161 stamp 870183428483 uuid 4d5175ef-d3ceec8d-8b50-a4badb47bc9f jrnl drv 8.46]
Feb 18 19:11:42 Hostd: [2011-02-18 19:11:42.035 4FBA0B90 verbose 'vm:/vmfs/volumes/4caa11fb-4eb23e3b-1ada-a4badb47bc9f/mdc3vr1904/mdc3vr1904.vmx'] Running status of tools changed to: running
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.037 1D591B90 verbose 'VpxaHalCnxHostagent'] Received callback in WaitForUpdatesDone
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.038 1D591B90 verbose 'VpxaHalCnxHostagent'] [VpxaHalCnxHostagent::ProcessUpdate] Applying updates from 102653 to 102654 (at 102653)
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.038 1D591B90 verbose 'App'] [VpxaHalVmHostagent] 160: Runtime changed 'guest.toolsStatus'
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.038 1D591B90 verbose 'App'] [VpxaHalVmHostagent] 160: Runtime changed 'guest.toolsRunningStatus'
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.038 1D591B90 verbose 'App'] [VpxaHalVmHostagent] 160: Runtime changed 'guest.toolsVersion'
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.038 1D591B90 verbose 'App'] [VpxaHalVmHostagent] 160: Runtime changed 'guest.guestId'
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.038 1D591B90 verbose 'App'] [VpxaHalVmHostagent] 160: Runtime changed 'guest.guestFamily'
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.038 1D591B90 verbose 'App'] [VpxaHalVmHostagent] 160: Runtime changed 'guest.guestFullName'
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.038 1D591B90 verbose 'App'] [VpxaHalVmHostagent] 160: Runtime changed 'guest.hostName'
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.038 1D591B90 verbose 'App'] [VpxaHalVmHostagent] 160: Runtime changed 'guest.ipAddress'
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.038 1D591B90 verbose 'App'] [VpxaHalVmHostagent] 160: Runtime changed 'guest.net'
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.038 1D591B90 verbose 'App'] [VpxaHalVmHostagent] 160: Runtime changed 'guest.ipStack'
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.038 1D591B90 verbose 'App'] [VpxaHalVmHostagent] 160: GuestInfo changed 'guest.disk'
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.038 1D591B90 verbose 'App'] [VpxaHalVmHostagent] 160: Runtime changed 'guest.screen'
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.038 1D591B90 verbose 'App'] [VpxaHalVmHostagent] 160: Runtime changed 'guest.guestState'
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.038 1D591B90 verbose 'App'] [VpxaHalVmHostagent] 160: appHeartbeatStatus changed to appStatusGray
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.038 1D591B90 verbose 'App'] [VpxaHalServices] appHeartbeatChange Event for vm(11) 160
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.038 1D591B90 verbose 'App'] [VpxaInvtVmChangeListener] App HeartbeatStatus Changed
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.039 1D591B90 verbose 'App'] [VpxaHalServices] RuntimeChange Event for vm(11) 160
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.039 1D591B90 verbose 'App'] [VpxaInvtVmChangeListener] AAM won't be notifyed. vmid 11: notifyVMAP 0,isRestarting 0
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.039 1D591B90 verbose 'App'] [VpxaInvtHost] Increment master gen. no to (4151): VmRuntime:VpxaInvtVmChangeListener::RuntimeChanged
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.039 1D591B90 verbose 'App'] [VpxaHalServices] VmGuestDiskChange Event for vm(11) 160
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.039 1D591B90 verbose 'App'] [VpxaInvtVmChangeListener] Guest DiskInfo Changed
Feb 18 19:11:42 Vpxa: [2011-02-18 19:11:42.039 1D591B90 verbose 'App'] [VpxaInvtHost] Increment master gen. no to (4152): VmRuntime:GuestDiskChanged
Feb 18 19:11:43 Vpxa: [2011-02-18 19:11:43.242 1D799B90 verbose 'SoapAdapter.HTTPService'] User agent is 'VMware-client/4.1.0'
Feb 18 19:11:43 Vpxa: [2011-02-18 19:11:43.242 1D799B90 verbose 'SoapAdapter.HTTPService'] HTTP Response: Client: NeedsContentLength: false UnderstandsChunking: true CanKeepAlive: true (PresetContentLength 129)
Feb 18 19:11:43 Vpxa: [2011-02-18 19:11:43.242 1D799B90 verbose 'SoapAdapter.HTTPService'] HTTP Response: Auto-completing at 129/129 bytes
Feb 18 19:11:45 vmkernel: 10:02:15:49.496 cpu14:1048552)FS3: 7346: Waiting for timed-out heartbeat [HB state abcdef02 offset 3809280 gen 161 stamp 870183428483 uuid 4d5175ef-d3ceec8d-8b50-a4badb47bc9f jrnl drv 8.46]
Feb 18 19:11:45 vmkernel: 10:02:15:49.498 cpu8:2045185)FS3: 7346: Waiting for timed-out heartbeat [HB state abcdef02 offset 3809280 gen 161 stamp 870183428483 uuid 4d5175ef-d3ceec8d-8b50-a4badb47bc9f jrnl drv 8.46]
Feb 18 19:11:45 Vpxa: [2011-02-18 19:11:45.083 1D717B90 verbose 'App'] [VpxaVMAP] Monitoring AAM health: vpxdDasStateOnLastInvocation(running) currentVpxdDasState(running) forceRunOfListNodes(0) isDasEnabled(1) skipOperation(0)
Feb 18 19:11:45 Vpxa: [2011-02-18 19:11:45.083 1D717B90 verbose 'App'] [VpxaVMAP::Invoke]Command to invoke is /opt/vmware/aam/bin/aamPerl /opt/vmware/aam/ha/aam_config_util.pl -z -shortname=md000ysesx01 -uname=VMkernel -cmd=monitornodes -domain=vmwar
Feb 18 19:11:45 e
Feb 18 19:11:45 Vpxa: [2011-02-18 19:11:45.084 1D717B90 info 'SysCommandPosix'] ForkExec(/opt/vmware/aam/bin/aamPerl) 2196440
Feb 18 19:11:45 Vpxa: [2011-02-18 19:11:45.316 1D717B90 verbose 'App'] [VpxaVMAP::Invoke] task percent done is 100
Feb 18 19:11:46 Vpxa: [2011-02-18 19:11:46.119 1D717B90 verbose 'App'] [VpxaVMAP::Invoke] Command output: 02/18/11 19:11:45 [print_args ] Invoked command: 02/18/11 19:11:45 [print_args ] /opt/vmware/aam/bin/ftPerl /opt/vmware/a
Feb 18 19:11:46 am/ha/aam_config_util.pl -z -shortname=md000ysesx01 -uname=VMkernel -cmd=monitornodes -domain=vmware 02/18/11 19:11:45 [print_args ] Environment: 02/18/11 19:11:45 [print_args ] FT_DIR=/opt/vmware/aam 02/18/11 19:11:45 [print_ar
Feb 18 19:11:46 gs ] FT_ISOLATION_TIME=1 02/18/11 19:11:45 [print_args ] GREP=/bin/grep 02/18/11 19:11:45 [print_args ] FT_CONFIG_DIR=/var/lib/vmware/aam 02/18/11 19:11:45 [print_args ] RPCINFO=/bin/rpcinfo 02/1

AIX 5.3 - The parameter or environment lists are too long

Example Error:
pg@ibmhost: files/$ ls -ltr /data/params_backup/files/*.env
bash: /usr/bin/ls: The parameter or environment lists are too long.

Explanation: NCARGS value is one of the scheduler and memory load control parameter to tune system memory. The value of NCARGS can be increased to overcome this problem. The value can be tuned anywhere within the range of 24576 to 524288 in 4 KB page size increments.

To display and update ncargs value, use the following command.

Purpose: Specifies the maximum allowable size of the ARG/ENV list (in 4KB blocks) when running exec() subroutines.

Values: Default: 6; Range: 6 to 128 (6=24576, 128=524288)

Display: lsattr -E -l sys0 -a ncargs
Change: chdev -l sys0 -a ncargs=NewValue

Change takes effect immediately and is preserved over boot.