Saturday 16 July 2011

C4 TAPE LIBRARY CONFIGURATION ON SOLARIS WITH NETWORKER 7.2 TOOL

Today i have configured a C4 tape Library to a solaris server. We are running backup using networker 7.2.
The C4 tape library has got 38 slot with 2 drives.I made sure that all the connections are given properly with my colleagues working on hardware part.After that i logged into the server and i configured as root user.
Below i have mentioned steps on how to configure that.I have als o configured SL500 Tape library which i will include in my blog during the coming days

1)First take the output of cfgadm -al command output.After that,Run the networker command inquire which will display  all the SCSI devices connected with the manufacturer name and its serial number.


bash-2.05# cfgadm -al
Ap_Id                          Type         Receptacle   Occupant     Condition
c0                             scsi-bus     connected    configured   unknown
c0::dsk/c0t0d0                 CD-ROM       connected    configured   unknown
c1                             scsi-bus     connected    configured   unknown
c1::/dev/lus                   disk         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
c2                             scsi-bus     connected    configured   unknown
c2::lus1                       unknown      connected    configured   unknown
c3                             fc-private   connected    unconfigured   unknown
c3::100000e002236d82           med-changer  connected    configured   unknown
c4                             fc           connected    unconfigured unknown
usb0/1                         unknown      empty        unconfigured ok
usb0/2                         unknown      empty        unconfigured ok
bash-2.05# ./inquire
scsidev@1.0.0:FUJITSU MAW3073NCSUN72G 1703|Disk, /dev/rdsk/c1t0d0s2
                                           S/N: 000633B0G3TN    DAN0P680G3TN
scsidev@1.1.0:FUJITSU MAW3147NCSUN146G1703|Disk, /dev/rdsk/c1t1d0s2
                                           S/N: 000634C09CRW    DAC0P6809CRW
scsidev@1.2.0:FUJITSU MAW3147NCSUN146G1703|Disk, /dev/rdsk/c1t2d0s2
                                           S/N: 000634C09F90    DAC0P6809F90
scsidev@1.3.0:FUJITSU MAW3147NCSUN146G1703|Disk, /dev/rdsk/c1t3d0s2
                                           S/N: 000634C09F8H    DAC0P6809F8H
scsidev@3.100.0:QUANTUM PX500           000B|Autochanger (Jukebox)
                                           S/N: QP0633BDC00011
                                           ATNN=QUANTUM PX500           QP0633BDC00011
                                           IENN=00E09EFFFF0B086C
                                           WWNN=100000E09E0B086C
-----------------------------------------------------------------------------------------------------------
2)Now check for the cfgadm -al command and you can see that the med-changer type device is configured
bash-2.05# cfgadm -al
Ap_Id                          Type         Receptacle   Occupant     Condition
c0                             scsi-bus     connected    configured   unknown
c0::dsk/c0t0d0                 CD-ROM       connected    configured   unknown
c1                             scsi-bus     connected    configured   unknown
c1::/dev/lus                   disk         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
c2                             scsi-bus     connected    configured   unknown
c2::lus1                       unknown      connected    configured   unknown
c3                             fc-private   connected    configured   unknown
c3::100000e002236d82           med-changer  connected    configured   unknown
c4                             fc           connected    unconfigured unknown
usb0/1                         unknown      empty        unconfigured ok
usb0/2                         unknown      empty        unconfigured ok
---------------------------------------------------------------------------
3) Give the command ./lus_add_fp_devs which is a script that is made for solaris only which will update the lus.conf(Legato lus Driver configuration file ) file. This will reload the driver for the tape library.
bash-2.05# ./lus_add_fp_devs

                Updating /usr/kernel/drv/lus.conf

  Found Sun StorEdge(TM) HBA device:  /devices/pci@1d,700000/SUNW,qlc@1/fp@0,0:devctl

Mapping tape devices starting at target 0 connected via
   HBA  /devices/pci@1d,700000/SUNW,qlc@1/fp@0,0:devctl
   Adding:

Adding medium changer devices starting at target 100 connected via
   HBA  /devices/pci@1d,700000/SUNW,qlc@1/fp@0,0:devctl
   Adding:
     port WWN: 100000e002236d82 as SCSI target 100


The changes made to lus.conf will not take effect until lus is reloaded.

If you are sure that no process is currently using lus to control
     a tape library, then it may be safely unloaded.

Would you like to unload lus? (y/n) y

lus is not currently loaded

Would you like to load and configure lus using the newly modified lus.conf? (y/n) y

Would you like to run inquire? (y/n) y

scsidev@1.0.0:FUJITSU MAW3073NCSUN72G 1703|Disk, /dev/rdsk/c1t0d0s2
                                           S/N: 000633B0G3TN    DAN0P680G3TN
scsidev@1.1.0:FUJITSU MAW3147NCSUN146G1703|Disk, /dev/rdsk/c1t1d0s2
                                           S/N: 000634C09CRW    DAC0P6809CRW
scsidev@1.2.0:FUJITSU MAW3147NCSUN146G1703|Disk, /dev/rdsk/c1t2d0s2
                                           S/N: 000634C09F90    DAC0P6809F90
scsidev@1.3.0:FUJITSU MAW3147NCSUN146G1703|Disk, /dev/rdsk/c1t3d0s2
                                           S/N: 000634C09F8H    DAC0P6809F8H
scsidev@3.100.0:QUANTUM PX500           000B|Autochanger (Jukebox)
                                           S/N: QP0633BDC00011
                                           ATNN=QUANTUM PX500           QP0633BDC00011
                                           IENN=00E09EFFFF0B086C
                                           WWNN=100000E09E0B086C
---------------------------------------------------------------------------------------------------------
4) Once the drivers are loaded then you can carry on with the configuration of Library using the command jbconfig
bash-2.05# jbconfig

Jbconfig is running on host hbak020 (SunOS 5.9),
  and is using hbak020 as the NetWorker server.

         1) Configure an AlphaStor Library.
         2) Configure an Autodetected SCSI Jukebox.
         3) Configure an Autodetected NDMP SCSI Jukebox.
         4) Configure an SJI Jukebox.
         5) Configure an STL Silo.
What kind of Jukebox are you configuring? [1] 2
14484:jbconfig: Scanning SCSI buses; this may take a while ...
Installing 'Standard SCSI Jukebox' jukebox - scsidev@3.100.0.

What name do you want to assign to this jukebox device? hotfix-c4
15814:jbconfig: Attempting to detect serial numbers on the jukebox and drives ...

15815:jbconfig: Will try to use SCSI information returned by jukebox to configure drives.

Turn NetWorker auto-cleaning on (yes / no) [yes]?
The drives in this jukebox cannot be auto-configured with the available
 information. You will need to provide the path for the drives.
Is (any path of) any drive intended for NDMP use? (yes / no) [no]
Is any drive going to have more than one path defined? (yes / no) [no]

Please enter the device path information in one of the following formats:

/dev/rmt/1cbn --for local path or
host:device-path --for remote node or NDMP device(s) or
host:drive-letter:directory path --for Windows disk file

Drive  1, element 128
Drive path ? /dev/rmt/0cbn
This path already exists in the database. Proceed with the same path?
(yes / no) [yes]

Drive  2, element 129
Drive path ? /dev/rmt/1cbn
This path already exists in the database. Proceed with the same path?
(yes / no) [yes]

Only model LTO Ultrium-2 drives have been detected.
Are all drives in this jukebox of the same model?  (yes / no) [yes]
14416:jbconfig:
Found device /dev/rmt/0cbn already configured in NetWorker.
 Delete existing definition? (yes / no) [no]
14416:jbconfig:
Found device /dev/rmt/1cbn already configured in NetWorker.


 Delete existing definition? (yes / no) [no]


Jukebox has been added successfully

The following configuration options have been set:

> Jukebox description to the control port and model.
> Autochanger control port to the port at which we found it.
> Networker managed tape autocleaning on.
> Barcode reading to on.
> Volume labels that match the barcodes.
> Slot intended to hold cleaning cartridge to 38.  Please insure that a
        cleaning cartridge is in that slot
> Number of times we will use a new cleaning cartridge to 50.

You can review and change the characteristics of the autochanger and its
        associated devices using the NetWorker Management Console.
Thus the C4 tape library is configured and now after starting the backup you can see in the nwadmin & output that the C4 tape library with the 2 drives.
In the above "jbconfig" option you can select option 2 also but you will have to answer couple of questions.

Friday 15 July 2011

FIRMWARE UPGRADATION ON T2K SERVER

Today i have upgraded the firmware for 2 T2000 server which seems a bit interesting.I have done it both from terminal and also from serial console(sc>)

A firmware is something that we can't touch like a hardware or something that we can't see like a software.Its something that drives the hardware for supporting the software.If the firmware upgradation is not done in a proper way or if it gets aborted, the hardware you can sell it for scrap value.ie. the hardware cant be used again.
In a T2k server the firmware uprades the following modules:
a) Open boot prom(OBP) version.
b)Hypervisor layer that provides a platform for LDOMS

Below i have mentioned it in step by step method

FROM SC


Prior to upgradation put the firmware patch in some server and ftp share it

1)Bring the machine to Ok prompt and from there login to sc prompt pressing  "#." What i did was i took tip conection and i directly went to sc prompt once  after bringing down the server


bash-3.00#init 0
ok>#.
sc>poweroff -y

-------------------------------------------------------------
2)Once after the server is down,check the status of sc> and then connect a lan cable to etwork management port.
sc> showhost
Host flash versions:
   Reset V1.0.0
   Hypervisor 1.0.1 2005/11/14 14:31
   OBP 4.19.0 2005/10/27 17:24
   MPT SAS FCode Version 1.00.37 (2005.06.13)>R
    Integrated POST 4.19.1 2005/11/15 11:10
sc> showsc
Advanced Lights Out Manager CMT v1.0.2

parameter                value
---------                -----
if_network               false
if_modem                 false
if_emailalerts           false
netsc_tpelinktest        true
netsc_dhcp               false
netsc_ipaddr             0.0.0.0
netsc_ipnetmask          0.0.0.0
netsc_ipgateway          0.0.0.0
mgt_mailhost
mgt_mailalert
sc_customerinfo          chicken
sc_escapechars           #.
sc_powerondelay          true
sc_powerstatememory      false
sc_clipasswdecho         true
sc_cliprompt             sc
sc_clitimeout            0

---------------------------------------------------------------
3)Asign IP address for sc prompt as metioned in the below
sc> setsc netsc_ipaddr 10.1.18.20
sc> setsc netsc_ipnetmask 255.255.255.0
sc> setsc netsc_ipgateway 10.1.18.1
sc> showsc
Advanced Lights Out Manager CMT v1.0.2

parameter                value
---------                -----
if_network               false
if_modem                 false
if_emailalerts           false
netsc_tpelinktest        true
netsc_dhcp               false
netsc_ipaddr             10.1.18.20
netsc_ipnetmask          255.255.255.0
netsc_ipgateway          10.1.18.1
mgt_mailhost
mgt_mailalert
sc_customerinfo          chicken
sc_escapechars           #.
sc_powerondelay          true
sc_powerstatememory      false
sc_clipasswdecho         true
sc_cliprompt             sc
sc_clitimeout            0
Check whether this assigned IP is pinging or not.
------------------------------------------------------
4)Now there is a utility called flashupdate in the sc prompt from which we can download the firmware patch from another server and install here.Here i have put the patch in a server with IP 10.1.18.132.When you run the command it will ask for root password of the server where we have kept the firmware patch
sc> flashupdate -s 10.1.18.132 -f /firmware_patch/139434-08/Sun_System_Firmware-6_7_11-Sun_Fire_T2000.bin -v
mention -s as server name where the patch is present
-f as the path where the patch is kept in
-v will display te output in a verbose mode
SC Alert: System poweron is disabled.
Username: root
Password: *******

.....................................................................................................................................................................................................................................................
--------------------------------------------------------------------------
5) Once its done type the command resetsc
sc> resetsc
Are you sure you want to reset the SC [y/n]?y
----------------------------------------------------------------------------


6)check for the status of server using below command where you can see the hypervisor and OBP prompt are upgraded.Then power on the machine
sc> showhost
Host flash versions:
   OBP 4.30.4.b 2010/07/09 13:48
   Hypervisor 1.7.3.c 2010/07/09 15:14
sc> poweron
----------------------------------------------------------------------------
----------------------------------------------------------------------------
FROM TERMIAL
1)We can also upgrade the firmware from terminal using an utiliy called 'sysfwdownload' which will download the firmware to sc> and upgrade there.
bash-3.00# ./sysfwdownload Sun_System_Firmware-6_7_11-Sun_Fire_T2000.bin
...........................................................................
...........................................................................
-----------------------------------------------------------
2)After that reboot the machine and you will find the firmware upgraded.Check for OBP version and you can see that the verson is changed.
bash-3.00#prtconf -V

OBP 4.30.4.b 2010/07/09 13:48

Thursday 14 July 2011

LINK BASED IPMP CONFIGURATION ON SOLARIS

IPMP is nothing but just an abbreviation  of IP multipathing.Chances are there that if a network card fails in a server,for redundancy we need to keep something.In Solaris we have got two types of IPMP
1)Probe based IPMP &
2)Link based IPMP

In Probe based IPMP,we will have to asssign two ip address per NIC card and a virtual ip will play between these cards based on the availability.These are supported by some old NIC cards like ce0 etc..
In Link based IPMP,we need to assign only one IP provided the 2nd NIC card should be plumbed and up end running.Most of the modern NIC cards like igb0,e000g0 etc. support this type of IPMP

Below i have mentioned how to configure IPMP both in Probe based and :Link based fashion.

LINK BASED IPMP

1)first of all plumb 2 n/w cards , make it running and assign one IP address to one card.

  bash-3.00#  ifconfig igb0 plumb
 bash-3.00#  ifconfig igb1 plumb
  bash-3.00# ifconfig igb0 10.1.18.249 netmask 255.255.255.0 up
bash-3.00#ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
igb0: flags=19000802<BROADCAST,MULTICAST,IPv4,NOFAILOVER,FAILED> mtu 0 index 2
        inet 10.1.18.249 netmask 0
ether 0:21:28:b1:52:7c
igb1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
        inet 0.0.0.0 netmask ff000000 broadcast 0.255.255.255
        ether 0:21:28:b1:52:7d


--------------------------------------------------------------------------
2)Now in the files /etc/hostname.igb0 and /etc/hostname.igb1 insert the following entries which will create a group ipmp0 that will get changed according to scenarios.



bash-3.00# more /etc/hostname.igb0
PSBLTEST netmask + broadcast + group ipmp0 up
bash-3.00# more /etc/hostname.igb1
group ipmp0 up


--------------------------------------------------------------------------


3) After that restart the network service

bash-3.00#/etc/init.d/network stop
 bash-3.00#/etc/init.d/network start
bash-3.00# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
igb0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 10.1.18.249 netmask ffffff00 broadcast 10.1.18.255
        groupname ipmp0
        ether 0:21:28:b1:52:7c
igb0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 0.0.0.0 netmask ff000000 broadcast 0.255.255.255
igb1: flags=19000802<BROADCAST,MULTICAST,IPv4,NOFAILOVER,FAILED> mtu 0 index 3
        inet 0.0.0.0 netmask 0
        groupname ipmp0
        ether 0:21:28:b1:52:7d


--------------------------------------------------------------------------
4)Check for IPMP is working or not with the logs that we obtain


bash-3.00# if_mpathd -d igb0


May 5 21:31:52 PSBLTEST in.mpathd[244]: The link has come up on igb0
May  5 21:31:52 PSBLTEST in.mpathd[244]: NIC repair detected on igb0 of group ipmp0
May  5 21:31:52 PSBLTEST in.mpathd[244]: Successfully failed back to NIC igb0

 bash-3.00# ifconfig -a
bash-3.00# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
igb0: flags=19000802<BROADCAST,MULTICAST,IPv4,NOFAILOVER,FAILED> mtu 0 index 2
        inet 0.0.0.0 netmask 0
        groupname ipmp0
        ether 0:21:28:b1:52:7c
igb1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
        inet 0.0.0.0 netmask ff000000 broadcast 0.255.255.255
        groupname ipmp0
        ether 0:21:28:b1:52:7d
igb1:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
        inet 10.1.18.249 netmask ffffff00 broadcast 10.1.18.255

-----------------------------------------------------------------------



bash-3.00# if_mpathd -r igb0


May  5 21:31:59 PSBLTEST in.mpathd[244]: The link has gone down on igb1
May  5 21:31:59 PSBLTEST in.mpathd[244]: NIC failure detected on igb1 of group ipmp0
May  5 21:31:59 PSBLTEST in.mpathd[244]: Successfully failed over from NIC igb1 to NIC igb0



We can see that the IP got switched between the virtual n/w intefaces when either of the one goes down.


--------------------------------------------------------------------