Bienvenidos

Todos estos pasos descriptos fueron probados en ambientes productivos

domingo, 30 de octubre de 2011

Malditos Parches

Tenia que actualizar los parches en Sun Solaris 10 release 1/06
Al intentar ejecutar el script install_all_patches, que viene en el DVD del EIS de marzo del 2011, el misma abortaba con el siguiente error.

Oct 30 01:03:35 2011

Oct 30 01:03:35 2011 This script will install the following patches:
Oct 30 01:03:35 2011 - Solaris 10 Recommended Patches
Oct 30 01:03:35 2011 - Solaris 10 Extra Patches
Oct 30 01:03:35 2011
Oct 30 01:03:35 2011 ONLY if your system has a graphics display:
Oct 30 01:03:35 2011 - You are advised not to have a graphics display active whilst patching!
Oct 30 01:03:35 2011 - Suggestion: Exit from CDE etc. & log back in on command line!
Oct 30 01:03:35 2011
Oct 30 01:03:44 2011 Are you ready to continue with install? [y/n]: y
Oct 30 01:03:44 2011
Oct 30 01:03:44 2011      ************************************************************
Oct 30 01:03:44 2011      ** INFO: Solaris 10 KU 118833-36 is currently installed.  **
Oct 30 01:03:44 2011      ************************************************************
Oct 30 01:03:44 2011
Oct 30 01:03:44 2011 Now the Solaris 10 Recommended Patches...
Oct 30 01:03:44 2011
Oct 30 01:03:44 2011 ERROR: Target boot environment not validated as Solaris 10 by INST_RELEASE file.
Oct 30 01:03:44 2011 Failed

Oct 30 01:03:44 2011
Oct 30 01:03:44 2011 ***********************************************************************
Oct 30 01:03:44 2011 * Installation of the Recommended OS patch cluster failed (see above) *
Oct 30 01:03:44 2011 ***********************************************************************

La solucion es la siguiente, Modificar el archivo INST_RELEASE la primer linea,
donde dice OS=Solaris4 cambiarla por O
S=Solaris
[coneja] /var/sadm/system/admin # cp INST_RELEASE INST_RELEASE.ANTESdeloParches
[coneja] /var/sadm/system/admin #

[coneja] /var/sadm/system/admin # ls -ltr
total 6
drwxr-xr-x   2 root     sys          512 Nov  8  2006 services
-rw-r--r--   1 root     root          30 Nov  8  2006 INST_RELEASE
-rw-r--r--   1 root     root          18 Nov  8  2006 CLUSTER
[coneja] /var/sadm/system/admin # more INST_RELEASE
OS=Solaris_4   Reemplazar , esta linea por esta OS=Solaris
VERSION=10
REV=0
 [coneja] /var/sadm/system/admin #

Tambien, puede o no pedirlo, en este caso el script se fija tambien si esta instalado el patch=118833-36 y en base a ese  dato hace unas verificaciones, para que no chequee esto y siga su curso, sugiero sacarlo del script install_all_patches.

Y... va como Piña

martes, 25 de octubre de 2011

Error al agregar una SB con DR.

Habia que agregar una System Board a un dominio, con el sistema operativo levantado.
Al loguearnos a la SC, y querer asignar la SB12 al dominio coneja nos da un  error de comunicacion, esto fue lo que hicimos, con Nico.
El Dominio tiene Solaris 10 y no hacia falta realizar un upgrade o downgrade de firmware porque la sb estaba instalada en otro dominio de la misma 25k.

e25k-2-sc0:sms-svc:18> addboard -d e sb12

ERROR: Unable to configure SB12 into domain: E
addboard: DCA/DCS communication error

Este error de comunicacion es porque no esta levantado el demonio dca en la System controler o el dcs en el dominio a asignar la SB.
Chequeo en la SC y efectivamente esta levantado
e25k-2-sc0:sms-svc:19> ps -ef|grep dca
 sms-dca   130   696  0   Jan 12 ?        0:00 dca -d C
 sms-dca 16160   696  0   Sep 27 ?        0:00 dca -d B
 sms-dca 24394   696  0   Aug 19 ?        0:00 dca -d J
 sms-dca 11039   696  0   Sep 10 ?        0:00 dca -d A
 sms-dca 12590   696  0   Sep 13 ?        0:00 dca -d F
 sms-dca 18983   696  0   Apr 10 ?        0:00 dca -d G
 sms-dca  8266   696  0   Mar 09 ?        0:00 dca -d D
 sms-dca 19674   696  0   May 31 ?        0:00 dca -d I
 sms-dca 22635   696  0   Oct 13 ?        0:00 dca -d E

Dentro del equipo, el demonio estaba en estado maintenance

[coneja] # svcs -a|grep dcs
maintenance    Sep_04   svc:/platform/sun4u/dcs:default
[coneja] #

Existe un bug al upgradear la versión de solaris (en 10/2010 habiamos instalado parches)

Solucion, borrar el servicio y volver a crearlo desde cero

[coneja] #  inetadm -l dcs

SCOPE    NAME=VALUE
Error: Required property name is missing.
Error: Required property endpoint_type is missing.
Error: Required property proto is missing.
Error: Required property isrpc is missing.
Error: Required property wait is missing.
Error: Required property exec is missing.
Error: Required property user is missing.
default  bind_addr=""
default  bind_fail_max=-1
default  bind_fail_interval=-1
default  max_con_rate=-1
default  max_copies=-1
default  con_rate_offline=-1
default  failrate_cnt=40
default  failrate_interval=60
default  inherit_env=TRUE
default  tcp_trace=FALSE
default  tcp_wrappers=FALSE
default  connection_backlog=10

[coneja] # svcs dcs
STATE          STIME    FMRI
maintenance    14:40:17 svc:/platform/sun4u/dcs:default
[coneja] # svcadm disable dcs

[coneja] # svcs dcs

STATE          STIME    FMRI
disabled       14:52:29 svc:/platform/sun4u/dcs:default

[coneja] # svccfg -v delete dcs
svccfg: Expected property external of property group svc:/platform/sun4u/dcs/:properties/network is missing.
svccfg: Expected property external of property group svc:/platform/sun4u/dcs/:properties/cryptosvc is missing.
svccfg: Expected property external of property group svc:/platform/sun4u/dcs/:properties/filesystem_usr is missing.
svccfg: Expected property external of property group svc:/platform/sun4u/dcs/:properties/nodename is missing.
svccfg: Expected property external of property group svc:/platform/sun4u/dcs/:properties/sckmd is missing.

[coneja] # svcs dcs

svcs: Pattern 'dcs' doesn't match any instances
STATE          STIME    FMRI

[coneja]  # svccfg -v import /var/svc/manifest/platform/sun4u/dcs.xml
svccfg: Taking "initial" snapshot for svc:/platform/sun4u/dcs:default.
svccfg: Taking "last-import" snapshot for svc:/platform/sun4u/dcs:default.
svccfg: Refreshed svc:/platform/sun4u/dcs:default.
svccfg: Successful import.

[coneja] /var # svcs dcs

STATE          STIME    FMRI

disabled       14:53:12 svc:/platform/sun4u/dcs:default

[coneja]  # svcadm enable dcs

[coneja]  # svcs dcs

STATE          STIME    FMRI
online         14:53:30 svc:/platform/sun4u/dcs:default

Y ahora si, a agregar la SB

e25k-2-sc0:sms-svc:20> addboard -d e sb12
assign SB12
.
assign SB12 done
poweron SB12
........................
poweron SB12 done
test SB12
............                
test SB12 done
connect SB12
...........                  
connect SB12 done
configure SB12
.........
configure SB12 done
.
notify online SUNW_cpu/cpu384
notify online SUNW_cpu/cpu388
notify online SUNW_cpu/cpu385
notify online SUNW_cpu/cpu389
notify online SUNW_cpu/cpu386
notify online SUNW_cpu/cpu390
notify online SUNW_cpu/cpu387
notify online SUNW_cpu/cpu391
.
notify add capacity (8 cpus)
notify add capacity (4194304 pages)
notify add capacity SB12 done
.

jueves, 13 de octubre de 2011

Lo atamos con alambre

Pequeña historia con algunas conclusiones :

El equipo XXX No Responde al ping.
Bueno, vamos a ver el equipo al Centro de Computos, con mi compañero Nicolas Morono.
El equipo habia entrado en un booteo en loop.
Uhhh , aca empieza la historia, el equipo es un Enterprise 450 con Solaris 2.6, de donde sacamos un cd de esa epoca?
y bueno, lo conseguimos

Ahi nomas un STOP + A
desde el OBP , un boot cdrom -s y a intentar un fsck
pero .... Se rompio la lectora de CD.
A esta altura , ya teniamos 2 problemas, Disco Roto y Lectora de CD Rota.
Intentamos bootear via OBP a un servidor remoto con
setenv network-boot-arguments host-ip=ip_de_server,router-ip=gw_del_server,subnet-mask=255.255.255.0,hostname=hostname-server,file=http://10.11.33.106/cgi-bin/wanboot-cgi
pero la version de OBP era muy vieja y no tenia la opcion de network boot, obviamente tampoco podiamos actualizar la OBP, porque no teniamos lectora de CD.
No nos queda mas remedio, llamamos a Soporte Oracle/Sun para que nos envien un repuesto de disco y lectora de cd ( el ingeniero que tomo el caso todavia se debe estar cagando de risa de la version de Sistema Operativo y Hardware )
Mientras tanto, vamos por la opcion bien Argentina, desarmemos otro equipo, revisemos a ver que hay por ahi.
Encontramos un V210 con 2 discos internos, mirroreados con Solaris Volume Manager , con Solaris 10. Perfecto.
Destornillador y manos a la obra,
Antes de sacar el disco del v210, le editamos el /etc/shadow, y el /etc/system , para que no pida passwd y que no arroje errores por la parte de Solaris Volume Manager.
Insertamos el disco del v210 en el E450, y el que tenia el Solaris 2.6 lo ponemos en otra bahia.
boot -s desde el disco con solaris 10
El boot con el disco de solaris 10 no anduvo bien en single user porque no detectaba/reconfiguraba correctamente  el hardware y no veiamos los discos internos.
Booteamos con opcion de solaris 10 "boot -F failsafe", esta opcion busca en los discos instalaciones de solaris  y te da la opcion de montarlas en /a (se toma su tiempo)

Desde esa opcion montando el solaris 10, conseguimos hacer un ufsrestore desde cinta dds3 de filesystems /, /var, /usr y /home.
reconstruimos el bootblk desde el solaris 10 y booteamos (esta opcion No funciona.)

Volvimos a bootear con boot -F failsafe otra vez con solaris 10 y esta vez montamos el /usr viejo (solaris 2.6 ) en /mnt y ejecutamos
/mnt/usr/sbin/installboot /mnt/usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/dsk/c0t1d0s0

Reboot y salio andando.
Cerramos el caso con Oracle.


Conclusion nro1 : el disco interno del v210 entra perfectamente en el E450
Conclusion nro 2: el installboot bootblk debe hacerse con la misma version de OS

martes, 11 de octubre de 2011

Cambiar el nombre del host

Para cambiar el nombre del hosts permanentemente, existen 2 modos.
con el menu del sys-unconfig ( requiere reboot)
o modificando los siguientes archivos manualmente :
/etc/hosts
/etc/hostname*
/ec/nodename
En versiones previas a solaris 10, inlcuir estos archivos tambien
/etc/net/ticlts/hosts
/etc/net/ticots/hosts
/etc/net/ticotsord/hosts

y Luego reboot

Container con solaris 8

La idea era traer de un equipo viejo, con hardware obsoleto a otro que al menos tenga soporte. Para eso utilize un v210 con solaris 10 y me traje con ufsdump el backup del sistema operativo del solaris 8.
Aca esta el paso a paso de la creacion del container :

Pasos previos a la instalacion de la zona
En el equipo viejo , realizo un backup del solaris 8
 ufsdump 0uf /backup/BARRA.DMP /
luego me traigo el BARRA.DMP al v210 nuevo.
en el V210, genero el fs donde residira la zona con el solaris 8
newfs /dev/rdsk/c2t1d0s0 /ZONAS
mkdir /ZONAS
chmod 700 /ZONAS

En viejos releases de solaris 10, hay que bajar un package  s8containers-bundle-solaris10-sparc.tar.gz


gzip -d s8containers-bundle-solaris10-sparc.tar.gz
tar xvf s8containers-bundle-solaris10-sparc.tar
cd s8containers-bundle/1.0.1/Product
[skol] /usr/scripts/s8containers-bundle/1.0.1/Product # pkgadd -d .

The following packages are available:
  1  SUNWs8brandk     Solaris 8 Containers: solaris8 brand support RTU
                      (sparc) 11.10.0,REV=2008.09.20.18.50

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

Processing package instance from
## Installing package in global zone

Solaris 8 Containers: solaris8 brand support RTU(sparc) 11.10.0,REV=2008.09.20.18.50
Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Using as the package base directory.
## Processing package information.
## Processing system information.
   8 package pathnames are already properly installed.
## Verifying package dependencies.
## 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:
  /usr/share/man/man5/solaris8.5

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

Installing Solaris 8 Containers: solaris8 brand support RTU as

## Installing part 1 of 1.
/usr/lib/brand/solaris8/files/patches/109147-44.zip
/usr/lib/brand/solaris8/files/patches/109221-01.zip
/usr/lib/brand/solaris8/files/patches/111023-03.zip
/usr/lib/brand/solaris8/files/patches/111431-01.zip
/usr/lib/brand/solaris8/files/patches/112050-04.zip
/usr/lib/brand/solaris8/files/patches/112605-04.zip
/usr/lib/brand/solaris8/files/patches/order
/usr/share/man/man5/solaris8.5
[ verifying class ]

Installation of was successful


y Aca viene la instalacion

[skol] /ZONAS # zonecfg -z SOLARIS8
SOLARIS8: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:SOLARIS8> create -t SUNWsolaris8
zonecfg:SOLARIS8> set zonepath=/ZONAS/SOLARIS8
zonecfg:SOLARIS8> set autoboot=true
zonecfg:SOLARIS8> add net
zonecfg:SOLARIS8:net> set address=10.71.100.98
zonecfg:SOLARIS8:net> set physical=bge0
zonecfg:SOLARIS8:net> end
zonecfg:SOLARIS8> exit
[skol] /ZONAS # zoneadm list -cv
  ID NAME             STATUS     PATH                           BRAND    IP
   0 global           running    /                              native   shared
   - SOLARIS8         configured /ZONAS/SOLARIS8                solaris8 shared
[skol] /ZONAS #
[skol] /ZONAS # zonecfg -z SOLARIS8
zonecfg:SOLARIS8> info
zonename: SOLARIS8
zonepath: /ZONAS/SOLARIS8
brand: solaris8
autoboot: true
bootargs:
pool:
limitpriv:
scheduling-class:
ip-type: shared
net:
        address: 10.71.100.98
        physical: bge0
        defrouter not specified
zonecfg:SOLARIS8>exit


[skol] /ZONAS # zoneadm -z SOLARIS8 install -p -v -a /ZONAS/BARRA.DMP
      Log File: /var/tmp/SOLARIS8.install.17125.log
       Product: Solaris 8 Containers 1.0
     Installer: solaris8 brand installer 1.3
          Zone: SOLARIS8
          Path: /ZONAS/SOLARIS8
        Source: /ZONAS/BARRA.DMP
    Media Type: ufsdump archive
    Installing: This may take several minutes...
  Sanity Check: Passed.  Looks like a Solaris 8 system.
Postprocessing: This may take several minutes...
   Postprocess: Gathering information about zone SOLARIS8
   Postprocess: Creating mount points
   Postprocess: Processing /etc/system
   Postprocess: Booting zone to single user mode
   Postprocess: Applying p2v module S20_apply_patches
        S20_apply_patches:  Unpacking patch:  109147-44
        S20_apply_patches: Installing patch:  109147-44
        S20_apply_patches:  Unpacking patch:  111023-03
        S20_apply_patches: Installing patch:  111023-03
        S20_apply_patches:  Unpacking patch:  111431-01
        S20_apply_patches: Installing patch:  111431-01
        S20_apply_patches:  Unpacking patch:  112605-04
        S20_apply_patches: Installing patch:  112605-04
        S20_apply_patches:  Unpacking patch:  112050-04
        S20_apply_patches: Installing patch:  112050-04
        S20_apply_patches:  Unpacking patch:  109221-01
        S20_apply_patches: Installing patch:  109221-01
   Postprocess: Applying p2v module S31_fix_net
   Postprocess: Applying p2v module S32_fix_nfs
   Postprocess: Applying p2v module S33_fix_vfstab
   Postprocess: Applying p2v module S34_fix_inittab
   Postprocess: Applying p2v module S35_fix_crontab
   Postprocess: Applying p2v module S36_fix_pam_conf
   Postprocess: Applying p2v module S40_setup_preload
   Postprocess: Halting zone
   Postprocess: Postprocessing successful.
        Result: Postprocessing complete.
   Service Tag: Gathering information about zone SOLARIS8
   Service Tag: Adding service tag: urn:st:02760bc1-0f12-4af8-f7be-82b17da0378d
   Service Tag: Operation successful.

        Result: Installation completed successfully.
      Log File: /ZONAS/SOLARIS8/root/var/log/SOLARIS8.install.17125.log
[skol] /ZONAS #                                                              

[skol] /ZONAS # zoneadm list -cv
  ID NAME             STATUS     PATH                           BRAND    IP
   0 global           running    /                              native   shared
   - SOLARIS8         installed  /ZONAS/SOLARIS8                solaris8 shared
[skol] /ZONAS #              


[skol] /ZONAS # zoneadm -z SOLARIS8 ready
[skol] /ZONAS # zoneadm list -cv
  ID NAME             STATUS     PATH                           BRAND    IP
   0 global           running    /                              native   shared
   4 SOLARIS8         ready      /ZONAS/SOLARIS8                solaris8 shared
[skol] /ZONAS # zoneadm -z SOLARIS8 boot

En Medio de esto, entre a /ZONAS/SOLARIS8/root/etc/shadow y modifique para que root  no pida password
[skol] /ZONAS/SOLARIS8/root/etc # zlogin SOLARIS8
[Connected to zone 'SOLARIS8' pts/2]
Last login: Wed Sep 16 16:28:06 from 10.71.100.100
Sun Microsystems Inc.   SunOS 5.8       Generic Patch   February 2004
You have new mail.
[angra] / # df -k
Filesystem            kbytes    used   avail capacity  Mounted on
/                    30982173 9643911 21028441    32%    /
/.SUNWnative/lib     18354602 4276990 13894066    24%    /.SUNWnative/lib
/.SUNWnative/platform
                     18354602 4276990 13894066    24%    /.SUNWnative/platform
/.SUNWnative/usr     18354602 4276990 13894066    24%    /.SUNWnative/usr
/dev                 30982173 9643911 21028441    32%    /dev
proc                       0       0       0     0%    /proc
mnttab                     0       0       0     0%    /etc/mnttab
swap                 5562192      16 5562176     1%    /etc/svc/volatile
/dev/ksyms           18354602 4276990 13894066    24%    /dev/ksyms
fd                         0       0       0     0%    /dev/fd
swap                 5562240      64 5562176     1%    /tmp
[angra] / #