2.28.2012

Solaris: removing a disk label

We recently had an issue where an existing unused LUN was shrunk on the backend array, after it had been labeled by Solaris. Esentially the disk when from 1TB to 990GB so that rather than creating an sliced/EFI disk group the LUN could be included in a CDS diskgroup. Attempts to change the disk size via format and fmthard were unsuccessful. Having nothing to lose, data wise or via trying, I dd the header off the disk which did the trick.

Please not that using this command on a LUN will completely wipe out the disk label and should not be used on any disk that is currently in use or has data you would like to read. First run dd to wipe out the label information from the disk


# dd if=/dev/zero  of=/dev/rdsk/c5t500A09838779AF95d36s2 count=24
24+0 records in
24+0 records out

After the dd completed , the LUN looked new when check with format and I could relabel and stick it in a CDS diskgroup with all of his disk friends:

-bash-3.00# format c5t500A09838779AF95d36s2

c5t500A09838779AF95d36s2: configured with capacity of 989.74GB
selecting c5t500A09838779AF95d36s2

2.23.2012

Solaris 10: What are your HBAs used for?

Here is a shell script I wrote to help quickly identify what types of devices are hanging off of each of a particular system's HBAs. Typically we have dedicated tape and storage fabrics so it speeds up figuring out which one is which based on the output of cfgadm and fcinfo; check it out.

I'm not sure if this would work with older version of Solaris, but it was written for Solaris 10.

Google Doc Link

2.15.2012

VXFS: enclosure based naming issues


Some times you will see disks appear to have "enclosure based naming" under Veritas when that is not the actual naming scheme in effect. To validate the current naming scheme runng the following:

# vxddladm get namingscheme
NAMING_SCHEME       PERSISTENCE    LOWERCASE      USE_AVID
============================================================
OS Native           No             Yes            Yes



If you are set to OS native this can happen for a couple of reason , the most common I see are the system is attached to a NetApp arrary with ALUA enabled or MPXIO is running in Solaris.

To disable MPXIO in Solaris 10, edit the file /kernel/drv/fp.conf file; so the MPXIO line reads:

mpxio-disable="yes";

After modifying fp.conf reboot the system (I prefer reconfiguration "reboot -- -r") the names of these disks should be back to the ugly long cname variety when check with vxdisk list.

2.02.2012

EMC: Unlicensed paths in PowerPath


 To fix the licensing issue use one of the following procedures:

Symmetrix
powermt check_registration  (Make sure the license shows with full capabilities.)
powermt set policy=so dev=all  (Set the Policy to SymmOpt.)
powermt display dev=all  (Make sure all device paths are now licensed.)
powermt save  (Save configuration.)

CLARiiON
powermt check_registration  (Make sure the license shows with full capabilities.)
powermt set policy=co dev=all (Set the Policy to ClarOpt.)
powermt display dev=all (Make sure all device paths are now licensed.)
powermt save (Save configuration.)

Other Storage Systems
powermt check_registration  (Make sure the license shows with full capabilities.)
powermt set policy=ad dev=all  (Set the correct policy.)
powermt display dev=all  (Make sure all device paths are now licensed.)
powermt save  (Save configuration.)


Note for UNIX Servers: If the license key is not installed, use the emcpreg ·install command.

HP: Smart Array Utilities


Starting the Smart Array drive utility web page:

[root]~# which cpqacuxe
/usr/sbin/cpqacuxe

[root]~# cpqacuxe -R
Array Configuration Utility version 7.70.12.0
Make sure that you have gone through the following checklist:
   1. Change the administrator password to something other than
      the default.
   2. Only run ACU on servers that are on a local intranet
      or a secure network.
   3. Secure the management port (port 2301 or 2381)
      on your network.

Remote connection enabled!

*** If you don’t know the Administrator password to the web interface,
    cd /opt/compaq/cpqacuxe/bld, and run hphmmopasswd

*** The webpage can be accesses at https://SERVER-IP:2381


Disable the Smart Array Drive utility web page:

[root]~# cpqacuxe -stop
[root]~# ps -ef |grep cpq
root     31910 14121  0 13:41 pts/0    00:00:00 grep cpq


Locating Controller slot:

[root]~/#: hpacucli controller all show

MSA1000 at SGM04450VL         (sn: #######L, wwn: ##########)
Smart Array 5300 in Slot 3      ()
Verify Controller status:


Checking Controller status:

[root]~# hpacucli controller slot=1 show status

Smart Array P400 in Slot 1
   Controller Status: OK
   Cache Status: OK
   Battery Status: OK


Verifying rebuild status:

[root]~#: hpacucli controller slot=3 logicaldrive all show

Smart Array 5300 in Slot 3

array A
  logicaldrive 1 (341 GB, 5, OK)
  logicaldrive 2 (341 GB, 5, OK)
  logicaldrive 3 (341 GB, 5, Rebuilding)
  logicaldrive 4 (341 GB, 5, Ready for Rebuild)
Check Physical Disks:

devapp1:/home # hpacucli controller slot=3  pd all show


Show HP related logs:

 # hplog -v

 *** shows ILM related log messages

# hpaducli -f /tmp/hpadu.out

VCS: Adding Oracle databases located in Solaris zones

Here is a script which I wrote to assist in the addition of Oracle databases running inside of a Solaris zone to a VCS configuration. The script does not actual modify the main.cf, rather it creates a shell script for each zone it finds new databases that need to be added to the VCS configuration. The output scripts are titled ZONENAME.dbvcs. The hares statements are included to create the needed resources are scripted if three criteria are met:
  1. The database is not already included in the main.cf configuration
  2. The database is currently running
  3. The oratab file indicates the database in question should be automatically started on boot.
Additionally Listener resources are added as well, provided that they are running at the time of script execution. Again if the listener is already included in the main.cf then the hares commands for the NetLsnr are not included. 

One final note the naming convention in our VCS configurations are quite rigid; therefore all zone resources are name zn_ZONENAME; IP addresses are ip_ZONENAME; Listener lsnr_ZONENAME; database pmon_ZONENAME.