Bienvenidos
Todos estos pasos descriptos fueron probados en ambientes productivos
viernes, 13 de mayo de 2016
Creacion de un LDOM paso a paso
Paso a paso de la creacion de un Ldom
Se utilizo un t5-2 . Documento realizado por Nicolas Morono
### Seteamos los parametros de la primary (memoria y cpu)
ldm set-vcpu 16 primary
ldm set-memory 16g primary
### Agregamos vcc vsw vds y los isos de instalacion
## Creamos el virtual console conentrator.
ldm add-vcc port-range=5000-5100 primary-vcc0 primary
## Creamos el virtual network switch
ldm add-vsw net-dev=net4 vsw4 primary
ldm add-vsw net-dev=net5 vsw5 primary
ldm add-vsw net-dev=net1 vsw1 primary
## Creamos el virtual disk server y le agregamos dos isos.
ldm add-vds primary-vds0 primary
#### Creando los zpool
zpool create psunt100_so c0t600014400000001070211E0F481E625Ed0
zpool create psunt200_so c0t600014400000001070211E0F481E625Fd0
### Creando zvols
zfs set mountpoint=none psunt100_so
zfs create -V 75g psunt100_so/vol1
zfs create -V 200m psunt100_so/volreplicas (esto es porque dentro del Ldom uso SVM )
zfs set mountpoint=none psunt200_so
zfs create -V 75g psunt200_so/vol1
zfs create -V 200m psunt200_so/volreplicas
### Creando los ldoms
ldm add-domain psunt100
ldm add-domain psunt200
ldm add-vcpu 64 psunt100
ldm add-vcpu 32 psunt200
ldm add-memory 64g psunt100
ldm add-memory 32g psunt200
ldm add-vnet vnet1 vsw4 psunt100
ldm add-vnet vnet2 vsw1 psunt100
ldm add-vnet vnet1 vsw5 psunt200
ldm add-vnet vnet2 vsw1 psunt200
### Me parece muy poca la memoria en los ldoms y mucha en el primary asi que reconfiguro
ldm start-reconf primary
ldm set-vcpu 8 primary
ldm set-memory 16G primary
### Reinicio
### Creando el virtual disk server de cada ldom
ldm add-vds psunt100-vds0 primary
ldm add-vds psunt200-vds0 primary
### Asignando vdsdevs
ldm add-vdsdev /dev/zvol/dsk/psunt100_so/vol1 vol1@psunt100-vds0
ldm add-vdsdev /dev/zvol/dsk/psunt100_so/volreplicas volreplicas@psunt100-vds0
ldm add-vdsdev /dev/zvol/dsk/psunt200_so/vol1 vol1@psunt200-vds0
ldm add-vdsdev /dev/zvol/dsk/psunt200_so/volreplicas volreplicas@psunt200-vds0
### Asignado vdisk a los ldoms
ldm add-vdisk vdiskrep volreplicas@psunt100-vds0 psunt100
ldm add-vdisk vdisk1 vol1@psunt100-vds0 psunt100
ldm add-vdisk vdiskrep volreplicas@psunt200-vds0 psunt200
ldm add-vdisk vdisk1 vol1@psunt200-vds0 psunt200
### Creando y montando los dvd para instalar y parchear (los dos de una sola vez)
ldm add-vdsdev options=ro /sun/sol-10-u11-ga-sparc-dvd.iso sol10u11@primary-vds0
ldm add-vdsdev options=ro,slice /sun/EIS-DVD-ONE-20APR16.iso eis20160420@primary-vds0
ldm add-vdsdev options=ro /sun/sol-10-u11-ga-sparc-dvd.iso sol10u11_2@primary-vds0
ldm add-vdsdev options=ro,slice /sun/EIS-DVD-ONE-20APR16.iso eis20160420_2@primary-vds0
ldm add-vdisk sol10u11 sol10u11@primary-vds0 psunt100
ldm add-vdisk eis20160420 eis20160420@primary-vds0 psunt100
ldm add-vdisk sol10u11 sol10u11_2@primary-vds0 psunt200
ldm add-vdisk eis20160420 eis20160420_2@primary-vds0 psunt200
### Seteo variable
ldm add-variable auto-boot?=false psunt100
ldm add-variable auto-boot?=false psunt200
### Bindeo los ldoms y empiezo a instalar
ldm bind psunt100
ldm bind psunt200
### Esto para que funcione la consola de las ldom
svcadm enable svc:/ldoms/vntsd:default
### Starteo
ldm start psunt100
ldm start psunt200
### Me conecto y busco el dispositivo del cdrom y le agrego :f al final para que bootee del slice que corresponde
telnet 0 5000
OBP> show-disks
OBP> boot /virtual-devices@100/channel-devices@200/disk@2:f
### Despues de instalar monto el EIS.
mkdir /cdrom
mount -F hsfs -o=ro /dev/dsk/c0d3s0 /cdrom
cd /cdrom/sun/patch
patch-EIS /var/tmp
cd /var/tmp/10; ./install_all_patches
jueves, 21 de abril de 2016
Backstage de la Review de Solaris
La semana pasada, se contacto conmigo, por email, Javed Mohammed, quien se desempeña como Community Manager para el sector Systems ( persona muy amable por cierto), para ofrecerme una entrevista , y dar mi opinion como Oracle ACE de Solaris, en la prestigiosa IT Central Station, esta web es muy utilizada por los CIO, como consulta habitual de opiniones, algo asi como el Tripadvisor para los viajeros, pero enfocado en sistemas.
La entrevista se desarrollo, mediante envio de emails, y un cuestionario en ingles, donde la cuestion a desarrollar era la experiencia sobre Oracle Solaris.
Una vez, finalizada, la devolucion fue en un mail por parte del Community Director de IT, Ariel Lindenfeld el cual me avisaba que ya se encuentra on line la "Review"
Para el que guste leer , les dejo el link de la entrevista
Salgo por un rato del lado tecnico, y agradezco a :
Mi esposa Liliana, que me ayudo a traducir al ingles, lo que deberia haber escrito yo, si le hubiese hecho caso a mis padres cuando me insistian que estudie ingles.
A Rick Ramsey, ex Community Manager de Oracle ( EEUU ), el cual siempre me ayudo y confio en mi cuando escribia y le enviaba articulos tecnicos a Sun Microsystems .
A Carlos Lazarte, y Diego Torres Dho, que ante cualquier duda especifica que no estan en manuales o en la web, sino mas bien de la experiencia de campo no dudan en darme una mano.
A mi compañero Nicolas Morono, con el cual a diario desde la trinchera, damos soporte, e investigamos estas tecnologias.
A mis hijas Meli y Cande
La entrevista se desarrollo, mediante envio de emails, y un cuestionario en ingles, donde la cuestion a desarrollar era la experiencia sobre Oracle Solaris.
Una vez, finalizada, la devolucion fue en un mail por parte del Community Director de IT, Ariel Lindenfeld el cual me avisaba que ya se encuentra on line la "Review"
Para el que guste leer , les dejo el link de la entrevista
Salgo por un rato del lado tecnico, y agradezco a :
Mi esposa Liliana, que me ayudo a traducir al ingles, lo que deberia haber escrito yo, si le hubiese hecho caso a mis padres cuando me insistian que estudie ingles.
A Rick Ramsey, ex Community Manager de Oracle ( EEUU ), el cual siempre me ayudo y confio en mi cuando escribia y le enviaba articulos tecnicos a Sun Microsystems .
A Carlos Lazarte, y Diego Torres Dho, que ante cualquier duda especifica que no estan en manuales o en la web, sino mas bien de la experiencia de campo no dudan en darme una mano.
A mi compañero Nicolas Morono, con el cual a diario desde la trinchera, damos soporte, e investigamos estas tecnologias.
A mis hijas Meli y Cande
lunes, 28 de marzo de 2016
Zfs consume mucha memoria
En los monitoreos , con herramientas externas al S.O. detectaron que el equipo esta consumiendo un total de 96% de la memoria del equipo.
Los administradores de las aplicaciones, no encuentran con los comandos habituales, que haya un consumo excesivo de memoria y mucho menos que aplicacion es la que la esta utilizando.
El vmstat , prstat no muestran valores significativos ni preocupantes.
Aca es donde hay que mirar un poco mas a fondo.
Para eso utilizo el comando mdb donde observo que el ZFS esta tomando el 67 % de la memoria del equipo
# mdb -kw
Loading modules: [ unix genunix dtrace specfs zfs ldc ip hook neti sockfs dls sctp arp usba fctl nca lofs md cpc random crypto fcip logindmux ptm ufs sppp nfs ipc ]
> ::memstat
Page Summary Pages MB %Tot
------------ ---------------- ---------------- ----
Kernel 821817 6420 10%
ZFS File Data 5611890 43842 67%
Anon 1633674 12763 19%
Exec and libs 9035 70 0%
Page cache 2320 18 0%
Free (cachelist) 3400 26 0%
Free (freelist) 306472 2394 4%
Total 8388608 65536
root #
Aca, la explicacion :
ZFS cache data o ZFS File Data ( como vemos en la salida del mdb) es donde ZFS almacena ( cachea ) todos los storage pools activos. Zfs crece y consume memoria al inicio del equipo.
Cuando una nueva aplicacion se inicia, necesita memoria, ZFS devuelve de la que tomo.
Hasta el momento, no se ve cual es el problema. Pero ....algunas aplicaciones que cuando inician chequean la freemem, como por ejemplo java, van a ver que hay poca memoria en la freelist y no van a iniciar.
Aca, la solucion :
Existe un parametro a modificar en el /etc/system , que se le indica al zfs que tome
un maximo X de memoria al inicio, este parametro es zfs:zfs_arc_max .
El valor a asignarle varia dependiendo la cantidad de pooles de zfs que tengamos y la cantidad de memoria.
En mi caso, que tengo solo dos pooles, y 65 gb de ram, opte por limitar a 12b de ram
set zfs:zfs_arc_max=12884901888
Luego del reboot.
chequeo con echo ::memstat | mdb -k
Page Summary Pages MB %Tot
------------ ---------------- ---------------- ----
Kernel 473869 3702 6%
ZFS File Data 1567085 12242 19%
Anon 1090066 8516 13%
Exec and libs 10325 80 0%
Page cache 3339 26 0%
Free (cachelist) 9461 73 0%
Free (freelist) 5234463 40894 62%
Total 8388608 65536
Nota: Este tunning fue realizado en un solaris 10 1/13 s10s_u11wos_24a SPARC Generic_150400-28
En un T5-2 , con 65 gb de ram
Los parametros y explicaciones estan detallados con nivel de excelencia en la web solarisinternals.com
@diego_qac
martes, 15 de marzo de 2016
Configurar memoria y cpu a un ldom
Desde el pdom, vamos a agregarle 32gb y 16 cpus al ldom dsunp008-ldm
ldm stop dsunp008-ldm ( bajamos el equipo )
ldm unbind dsunp008-ldm
ldm set-memory 32g dsunp008-ldm
ldm set-vcpu 16 dsunp008-ldm
ldm start dsunp008-ldm
Luego , como el ldm stop dejo el ldom en OBP, me conecto con
telnet localhost 5004 ( es el puerto donde esta configurado el ldom en el pdom)
boot
jueves, 10 de marzo de 2016
ufsdump error
Al hacer un ufsdump del Sistema Operativo , tira este error y aborta
DUMP: Warning -
block 1952473204 is beyond the end of `/dev/rdsk/c0d0s0'
DUMP: More than
32 block read errors from dump device `/dev/rdsk/c0d0s0'
DUMP: Warning -
block 1684029600 is beyond the end of `/dev/rdsk/c0d0s0'
DUMP: Warning -
block 2587919012 is beyond the end of `/dev/rdsk/c0d0s0'
DUMP: More than
32 block read errors from dump device `/dev/rdsk/c0d0s0'
DUMP:
NEEDS ATTENTION: Do you want to attempt to continue? ("yes" or
"no") DUMP: NEEDS ATTENTION:
Do you want to attempt to continue? ("yes" or "no") DUMP: The ENTIRE dump is abortedNO googlees mas ,no busques mas.
La unica solucion es volver a ejecutarlo, en otro momento, el error es porque esos bloques estan siendo accedidos en ese momento.
Se supone que un mundo ideal, se deberia poner el equipo en single-user y ejecutar el backup de sistema operativo, pero en la realidad es impracticable, pedir un corte de servicio para esto, asi que ejecutalo en otro momento.
@diego_qac
Montando en Single User el ZFS recien restaurado
## Creamos el rpool en el disco que corresponde.
zpool create -f -o failmode=continue -R /a -m legacy -o cachefile=/etc/zfs/zpool.cache rpool c0d0s0
## Restoreamos del nfs que habiamos montado.
cat /mnt/psun5000-ldm/rpool.zfs | zfs receive -Fdu rpool
## Montamos el / de lo restoreado. Primero lo listo para saber el nombre de lo que tengo que montar.
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
rpool 16.5G 61.7G 106K /a/rpool
rpool@archive 0 - 106K -
rpool/ROOT 16.5G 61.7G 31K legacy
rpool/ROOT@archive 0 - 31K -
rpool/ROOT/s10s_u11wos_24a 16.5G 61.7G 6.45G /a
rpool/ROOT/s10s_u11wos_24a@ archive 0 - 6.45G -
rpool/ROOT/s10s_u11wos_24a/var 10.1G 61.7G 10.1G /a/var
rpool/ROOT/s10s_u11wos_24a/ var@archive 0 - 10.1G -
rpool/export 561K 61.7G 38K /a/export
rpool/export@archive 0 - 38K -
rpool/export/home 523K 61.7G 523K /a/export/home
rpool/export/home@archive 0 - 523K -
zfs mount rpool/ROOT/s10s_u11wos_24a
### un df para ver que este montado
# df -h
Filesystem size used avail capacity Mounted on
/ramdisk-root:a 212M 187M 3.6M 99% /
/devices 0K 0K 0K 0% /devices
ctfs 0K 0K 0K 0% /system/contract
proc 0K 0K 0K 0% /proc
mnttab 0K 0K 0K 0% /etc/mnttab
swap 29G 344K 29G 1% /etc/svc/volatile
objfs 0K 0K 0K 0% /system/object
sharefs 0K 0K 0K 0% /etc/dfs/sharetab
swap 29G 1.1M 29G 1% /tmp
/tmp/dev 29G 1.1M 29G 1% /dev
fd 0K 0K 0K 0% /dev/fd
/devices/virtual-devices@100/ channel-devices@200/disk@106:a
2.2G 2.2G 0K 100% /cdrom
df: cannot statvfs /platform/sun4v/lib/libc_psr. so.1: Operation not applicable
df: cannot statvfs /platform/sun4v/lib/sparcv9/ libc_psr.so.1: Operation not applicable
swap 29G 8K 29G 1% /tmp/root/var/run
10.11.33.114:/BACKUPS
1.8T 1.6T 173G 91% /mnt
rpool/ROOT/s10s_u11wos_24a
78G 6.5G 62G 10% /a
## Queda montado en /a entro y modifico hostname, ip, vfstab, shadow y/o lo que necesite.
Creditos : Documento realizado por mi colega Nicolas Morono @nicomorono
viernes, 5 de febrero de 2016
Nos equivocamos ? teniendo backup...lo arreglamos
Como decia Palito Ortega ...Yo me equivoque, Yo me equivoque, cuidese compadre pa' que no le pase a usted
Por error formatee el disco que contenia el sistema operativo del Ldom ( por suerte mientras no estaba productivo ) asi que si llegara a pasar, tener en cuenta lo siguiente :
###############################################################
###############################################################
### Cuidado, si voy a formatear este disco, tener en cuenta que si los datos que tenia eran con ZFS, lo debo labelear con EFI , si era con ufs lo debere labelear con SMI ( en mi caso como era ZFS lo labelee con EFI )
Si por error lo labeleo con SMI y tenia ZFS, no me dejara hacer ni el zpool destroy, ni nada , es probable que se cuelgue todo el Physical Domain ( pdom) , y la unica solucion es rebootear el PDOM )
root@pdom # format -e c0t60050768018107A7900000000000016Bd0
selecting c0t60050768018107A7900000000000016Bd0
[disk formatted]
/dev/dsk/c0t60050768018107A7900000000000016Bd0s0 is part of active ZFS pool rpool_dsun1001. Please see zpool(1M).
FORMAT MENU:
disk - select a disk
type - select (define) a disk type
partition - select (define) a partition table
current - describe the current disk
format - format and analyze the disk
repair - repair a defective sector
label - write label to the disk
analyze - surface analysis
defect - defect list management
backup - search for backup labels
verify - read and display labels
inquiry - show disk ID
scsi - independent SCSI mode selects
cache - enable, disable or query SCSI disk cache
volname - set 8-character volume name
! - execute , then return
quit
format> label
[0] SMI Label
[1] EFI Label
Specify Label type[1]: 1
root@pdom #
############################################################
############################################################
Por error formatee el disco que contenia el sistema operativo del Ldom ( por suerte mientras no estaba productivo ) asi que si llegara a pasar, tener en cuenta lo siguiente :
###############################################################
###############################################################
### Cuidado, si voy a formatear este disco, tener en cuenta que si los datos que tenia eran con ZFS, lo debo labelear con EFI , si era con ufs lo debere labelear con SMI ( en mi caso como era ZFS lo labelee con EFI )
Si por error lo labeleo con SMI y tenia ZFS, no me dejara hacer ni el zpool destroy, ni nada , es probable que se cuelgue todo el Physical Domain ( pdom) , y la unica solucion es rebootear el PDOM )
root@pdom # format -e c0t60050768018107A7900000000000016Bd0
selecting c0t60050768018107A7900000000000016Bd0
[disk formatted]
/dev/dsk/c0t60050768018107A7900000000000016Bd0s0 is part of active ZFS pool rpool_dsun1001. Please see zpool(1M).
FORMAT MENU:
disk - select a disk
type - select (define) a disk type
partition - select (define) a partition table
current - describe the current disk
format - format and analyze the disk
repair - repair a defective sector
label - write label to the disk
analyze - surface analysis
defect - defect list management
backup - search for backup labels
verify - read and display labels
inquiry - show disk ID
scsi - independent SCSI mode selects
cache - enable, disable or query SCSI disk cache
volname - set 8-character volume name
! - execute , then return
quit
format> label
[0] SMI Label
[1] EFI Label
Specify Label type[1]: 1
root@pdom #
############################################################
############################################################
jueves, 4 de febrero de 2016
Restore por ZFS snapshot de un LDOM completo.
Para ver como realize el backup por zfs , mirar este enlace
Me posiciono en el Physical Domain ( PDOM ) y chequeo el LDOM que quiero recuperar , en este caso es ldom dsun1001-ldm que reside en el rpool_dsun1001
root@pdom # zpool status rpool_dsun1001
pool: rpool_dsun1001
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
rpool_dsun1001 ONLINE 0 0 0
c0t60050768018107A7900000000000016Bd0 ONLINE 0 0 0
errors: No known data errors
root@pdom #
####despues le di desde
el PDOM
zpool destroy
rpool_dsun1001
#### Lo cree de vuelta
con el mismo disco. el tamaño del volumen lo puedo sacar del backup en
zpool.list.rpool.cfg
zpool create rpool_dsun1001 c0t60050768018107A7900000000000016Bd0
zfs set mountpoint=none rpool_dsun1001
zfs create -V 144g rpool_dsun1001/vol1_dsun1001
###le agrego un cdrom y a
reinstalar.( esto es porque ya tenemos hecho un .iso )
ldm add-vdisk cdrom s10-iso@primary-vds0 dsun1001-ldm
ldm start dsun1001-ldm
telnet localhost 5003 ( el 5003 es el puerto del ldom , lo sacas con ldm ls )
### TODOS LOS COMANDOS ACA ABAJO SE EJECUTAN Desde el LDOM ,
boot cdrom -s
#### La red... tengo un ifconfig en el backup siempre que tengo zfs.
ifconfig vnet101000 plumb
ifconfig vnet101000 10.XX.32.77 netmask 255.255.252.0
ifconfig vnet101000 up
route add default 10.XX.32.1
ping 10.xx.33.114 ( chequeo que llegue al servidor en el cual deposito los backups )
mount
10.xx.33.114:/BACKUPS /mnt
#### Restore parado en el LDOM
format #### todo el
tamaño al slice 0 del disco del rpool
zpool create -f -o failmode=continue -R /a -m legacy -o
cachefile=/etc/zfs/zpool.cache rpool c0d0s0
cat /mnt/dsun1001-ldm/rpool.zfs | zfs receive -Fdu rpool
zfs list
### el dato siguiente lo
saco del backup de zpool.getall.rpool.cfg
zpool set bootfs=rpool/ROOT/s10s_u11wos_24a rpool
installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk
/dev/rdsk/c0d0s0
umount /mnt
init 0
boot
Creditos : Documento realizado por mi colega Nicolas Morono @nicomorono
Creditos : Documento realizado por mi colega Nicolas Morono @nicomorono
zfs snapshot remoto para backup de Sistema Operativo
La finalidad es backupear en forma remota a un equipo que montamos por nfs, un backup de sistema operativo, con zfs
#!/usr/bin/ksh -x
## Script de resguardo de Sistema Operativo Solaris
### Monto por NFS
mount 10.xx.33.114:/BACKUPS /mnt
MONTO=$?
UBICA=/mnt/`uname -n`
cd $UBICA
LOGerr="/export/home/backup/LOGS/backup_SO_Zonas_`date +%d_%m_%y.err`"
LOG="/export/home/backup/LOGS/backup_SO_Zonas_`date +%d_%m_%y`"
MAILTO="root tecnico.solaris@gmail.com "
###Variables agregadas para zfs
RPOOL=rpool
#
### FIN DE ASIGNACION DE VARIABLES ESPECIFICAS
#
if [ "$MONTO" -eq 0 ]
then
: echo "# El FS por NFS fue montado OK"
else
echo "error NO se pudo montar por NFS el ERROR fue $MONTO"
echo "################################"
echo "################################"
exit 1
fi
backup_FS_to_NFS() {
echo
if zpool status $RPOOL
then
echo backupZFS
### DATOS ZFS
zpool list $RPOOL > $UBICA/zpool.list.$RPOOL.cfg
zpool get all $RPOOL > $UBICA/zpool.getall.$RPOOL.cfg
zfs get -r all $RPOOL > $UBICA/zfs.getall.$RPOOL.cfg
zpool status $RPOOL > $UBICA/zpool.status.$RPOOL.cfg
DISK=`zpool status $RPOOL | grep c.d.s. | awk '{ print $1 }'`
for k in $DISK
do
k=`echo $k | sed "s/\/dev\/rdsk\///" `
prtvtoc /dev/rdsk/$k > $UBICA/prtvtoc.$RPOOL.$k.lst
done
ifconfig -a > $UBICA/ifconfig-a.cfg
zfs snapshot -r ${RPOOL}@archive
zfs destroy ${RPOOL}/swap@archive
zfs destroy ${RPOOL}/dump@archive
date >> $UBICA/backup_LOG.log
zfs send -Rv ${RPOOL}@archive | cat > $UBICA/${RPOOL}.zfs
zfs destroy -r ${RPOOL}@archive
else
###echo ":::: Montando fsssnap"
#fssnap -F ufs -o backing-store=/snaps/root.backup.dmp /
echo ":::: Efectuando DUMP de / (`date +%d_%m-%T`)"
ufsdump 0uf $UBICA/BARRA.DMP /
echo ":::: BACKUP: FIN backup fs / (`date +%d_%m-%T`)"
fi
} 1>>$LOG 2>>$LOGerr
backup_NFS
################################
cp $LOG $UBICA
cp $LOG.err $UBICA
cp $EXPLORER/explorer*gz $UBICA
cd /
umount /mnt
echo $?
### Notificar Resultados via email
cat $LOGerr|mailx -s "Backup `uname -n`" $MAILTO
#!/usr/bin/ksh -x
## Script de resguardo de Sistema Operativo Solaris
### Monto por NFS
mount 10.xx.33.114:/BACKUPS /mnt
MONTO=$?
UBICA=/mnt/`uname -n`
cd $UBICA
LOGerr="/export/home/backup/LOGS/backup_SO_Zonas_`date +%d_%m_%y.err`"
LOG="/export/home/backup/LOGS/backup_SO_Zonas_`date +%d_%m_%y`"
MAILTO="root tecnico.solaris@gmail.com "
###Variables agregadas para zfs
RPOOL=rpool
#
### FIN DE ASIGNACION DE VARIABLES ESPECIFICAS
#
if [ "$MONTO" -eq 0 ]
then
: echo "# El FS por NFS fue montado OK"
else
echo "error NO se pudo montar por NFS el ERROR fue $MONTO"
echo "################################"
echo "################################"
exit 1
fi
backup_FS_to_NFS() {
echo
if zpool status $RPOOL
then
echo backupZFS
### DATOS ZFS
zpool list $RPOOL > $UBICA/zpool.list.$RPOOL.cfg
zpool get all $RPOOL > $UBICA/zpool.getall.$RPOOL.cfg
zfs get -r all $RPOOL > $UBICA/zfs.getall.$RPOOL.cfg
zpool status $RPOOL > $UBICA/zpool.status.$RPOOL.cfg
DISK=`zpool status $RPOOL | grep c.d.s. | awk '{ print $1 }'`
for k in $DISK
do
k=`echo $k | sed "s/\/dev\/rdsk\///" `
prtvtoc /dev/rdsk/$k > $UBICA/prtvtoc.$RPOOL.$k.lst
done
ifconfig -a > $UBICA/ifconfig-a.cfg
zfs snapshot -r ${RPOOL}@archive
zfs destroy ${RPOOL}/swap@archive
zfs destroy ${RPOOL}/dump@archive
date >> $UBICA/backup_LOG.log
zfs send -Rv ${RPOOL}@archive | cat > $UBICA/${RPOOL}.zfs
zfs destroy -r ${RPOOL}@archive
else
###echo ":::: Montando fsssnap"
#fssnap -F ufs -o backing-store=/snaps/root.backup.dmp /
echo ":::: Efectuando DUMP de / (`date +%d_%m-%T`)"
ufsdump 0uf $UBICA/BARRA.DMP /
echo ":::: BACKUP: FIN backup fs / (`date +%d_%m-%T`)"
fi
} 1>>$LOG 2>>$LOGerr
backup_NFS
################################
cp $LOG $UBICA
cp $LOG.err $UBICA
cp $EXPLORER/explorer*gz $UBICA
cd /
umount /mnt
echo $?
### Notificar Resultados via email
cat $LOGerr|mailx -s "Backup `uname -n`" $MAILTO
miércoles, 20 de enero de 2016
Agregar Discos en Cluster sobre LDOM
Se pidieron 3 discos de 50 gb.
Se uso en el pdom (en ambos lados m5-1 m5-2) el script de /usr/scripts Agrega.sh pero en definitiva los comandos fueron estos.
m5-2-pdom2
ldm add-vdsdev /dev/rdsk/c0t6000144000000010602742B9EE6B61F2d0s2 vol41@sun2009-vds0
ldm add-vdsdev /dev/rdsk/c0t6000144000000010602742B9EE6B61F8d0s2 vol42@sun2009-vds0
ldm add-vdsdev /dev/rdsk/c0t6000144000000010602742B9EE6B61FEd0s2 vol43@sun2009-vds0
ldm add-vdisk vdisk41 vol41@sun2009-vds0 sun2009-ldm
ldm add-vdisk vdisk42 vol42@sun2009-vds0 sun2009-ldm
ldm add-vdisk vdisk43 vol43@sun2009-vds0 sun2009-ldm
m5-1-pdom2
ldm add-vdsdev /dev/rdsk/c0t6000144000000010602742B9EE6B61F2d0s2 vol41@sun5002-vds0
ldm add-vdsdev /dev/rdsk/c0t6000144000000010602742B9EE6B61F8d0s2 vol42@sun5002-vds0
ldm add-vdsdev /dev/rdsk/c0t6000144000000010602742B9EE6B61FEd0s2 vol43@sun5002-vds0
ldm add-vdisk vdisk41 vol41@sun5002-vds0 sun5002-ldm
ldm add-vdisk vdisk42 vol42@sun5002-vds0 sun5002-ldm
ldm add-vdisk vdisk43 vol43@sun5002-vds0 sun5002-ldm
NOTA: Con esto se asignaron los discos a ambos nodos y sin la opción excl.
Seguimos dentro de los ldoms con la asignación al equipo y al cluster.
psun2009
Se verifican los discos asignados con un format y se los labelea.
En ambos nodos (sun2009,sun5002) , de a un comando por nodo ejecuto
scdidadm -C
scdidadm -r
scgdevs
Confirmo que todos los discos queden ok con el siguiente comando (tardo 10min reloj en dejarlos ok todos)
scdpm -p all:all
En ambos nodos (sun2009,sun5002)
vxdctl enable
vxdisk list
Agrego los discos nuevos al disk group solo en el nodo donde esta activo el dg (sun2009)
vxdiskadm
(opción 1)
Estas son las opciones del vxdiskadm usadas (las elegidas están en negritas, si no dice nada es porque fue la default).
Select disk devices to add: [,all,list,q,?] disk_40 disk_41 disk_42
Continue operation? [y,n,q,?] (default: y) y
Which disk group [,none,list,q,?] (default: none) CPARKdg
Use default disk names for these disks? [y,n,q,?] (default: y) n
Add disks as spare disks for CPARKdg? [y,n,q,?] (default: n)
Exclude disks from hot-relocation use? [y,n,q,?] (default: n)
Add site tag to disks? [y,n,q,?] (default: n)
Continue with operation? [y,n,q,?] (default: y) y
Encapsulate these devices? [Y,N,S(elect),q,?] (default: Y) N
Instead of encapsulating, initialize? [Y,N,S(elect),q,?] (default: N) Y
Do you want to use the default layout for all disks being initialized? [y,n,q,?] (default: y)
Enter disk name for disk_40 [,q,?] (default: CPARKdg01) CPARKdgvmax04
Enter disk name for disk_41 [,q,?] (default: CPARKdg01) CPARKdgvmax05
Enter disk name for disk_42 [,q,?] (default: CPARKdg01) CPARKdgvmax06
Add or initialize other disks? [y,n,q,?] (default: n) n
vxprint -htg CPARKdg
La idea es usar las luns stripeadas crear un volumen y que me queden para crear otras dos luns a futuro. Por lo que el volumen se va a crear de un tercio del total.
Veo el tamaño total del stripe (para hacer la cuenta de cuanto voy a poner por volumen)
vxassist -g CPARKdg maxsize layout=stripe CPARKdgvmax04 CPARKdgvmax05 CPARKdgvmax06
Maximum volume size: 314349568 (153491Mb)
Creo el volumen
vxassist -g CPARKdg make vol15 51163m layout=stripe CPARKdgvmax04 CPARKdgvmax05 CPARKdgvmax06
Sincroniza los dispositivos recien creados y genera los links en ambos nodos. (tarda algunos minutos en reflejarse)
cldevicegroup sync CPARKdg
newfs /dev/vx/rdsk/CPARKdg/vol15
mkdir /x06
mount /dev/vx/dsk/CPARKdg/vol15 /x06
vi /etc/vfstab
#Agrego la linea que sigue
/dev/vx/dsk/CPARKdg/vol15 /dev/vx/rdsk/CPARKdg/vol15 /x06 ufs 1 no logging
Ejecuto en el otro nodo (sun5002)
mkdir /x06
vi /etc/vfstab
#Agrego la linea que sigue
/dev/vx/dsk/CPARKdg/vol15 /dev/vx/rdsk/CPARKdg/vol15 /x06 ufs 1 no logging
Ahora solo falta agregar el fs al cluster y se puede hacer en cualquiera de los dos nodos. ( o pones en modo suspend el paquete o lo haces a lo macho , pero si te equivocas armando el comando se va todo a la m...da)
clrs show -g central-park-rg -p FileSystemMountPoints cpark-hastp-rs
FilesystemMountPoints: /x00 /x01 /x02 /x03 /x04 /x05 /archive_POKPKPR1 /archive_POKPKPR1_old /exports_POKPKPR1 /app/parque/batch /interfaz/parque /export/home/x302168 /export/home/x302168/scripts_parque /TSM_Backup_CPARK
Este es el comando para agregar los fs al cluster, es muy importante aclarar, que los filesystems van entre comillas dobles, sin espacios ni antes ni después, y separados por comas para ir a línea siguiente no dejas ningún espacio pones una contrabarra y le das enter.
clrs set -g central-park-rg -p FileSystemMountPoints="/x00,/x01,/x02,/x03,/x04,/x05,/x06,/archive_POKPKPR1,\
/archive_POKPKPR1_old,/exports_POKPKPR1,/app/parque/batch,/interfaz/parque,\
/export/home/x302168,/export/home/x302168/scripts_parque,/TSM_Backup_CPARK" cpark-hastp-rs
Aclaracion: La opcion excl cuando se asignan los discos, se utiliza cuando NO se quieren ver los discos desde el PDOM cuando tiramos un format.
Creditos : Documento realizado por mi colega Nicolas Morono @nicomorono
jueves, 19 de noviembre de 2015
Fin de un equipo con Historia
Hoy 19 de noviembre del 2015, apagamos definitivamente un equipo historico, y cuando digo historico lo digo mas que nada por un tema personal, ya que para mi el SF6800 tiene historia.
Es o era parte un cluster, de un Sun Cluster 3.0 , con solaris 8 y Veritas 3.x
System Controller, Master Console, IO Board, System Board ( que era eso ? )
conectado cada dominio a un D240 ( y eso ? )
Fue un equipo con tecnologia de avanzada para la epoca, era lo ultimo que habia salido, y eramos pioneros en aplicarla.
Tenia discos EMC conectado por direct attach.
Hacia copias de volumenes , con BCV ( Business Continuance Volume ) .
Hasta aca viene todo muy lindo pero ....
Mi compañero estaba dedicado full time junto con gente de Sun y Emc al armado de este proyecto y yo no habia participado hasta el momento en nada de esto. Faltando 2 o 3 dias para sacar el equipo a produccion, mi compañero se anoto en una maraton de Carrefour, y cuando estaba corriendo se infarto.
Nooooo, como que se infarto ? Si ( por suerte se recupero y ahora esta muy bien).
Cuando me dieron la noticia, fue doblemente mala, ya que no sabia detalles de lo sucedido y la otra era que tenia que aprender toda esa tecnologia para el lunes, porque el equipo salia a produccion .
Asi que a leer manuales, pdf's y para los bcv con ayuda de gente de emc, y Sun salimos adelante.
Hoy 19 de noviembre, luego de 15 años , lo apagamos
Chau, Sun Fire 6800
Hola M5-32
Es o era parte un cluster, de un Sun Cluster 3.0 , con solaris 8 y Veritas 3.x
System Controller, Master Console, IO Board, System Board ( que era eso ? )
conectado cada dominio a un D240 ( y eso ? )
Fue un equipo con tecnologia de avanzada para la epoca, era lo ultimo que habia salido, y eramos pioneros en aplicarla.
Tenia discos EMC conectado por direct attach.
Hacia copias de volumenes , con BCV ( Business Continuance Volume ) .
Hasta aca viene todo muy lindo pero ....
Mi compañero estaba dedicado full time junto con gente de Sun y Emc al armado de este proyecto y yo no habia participado hasta el momento en nada de esto. Faltando 2 o 3 dias para sacar el equipo a produccion, mi compañero se anoto en una maraton de Carrefour, y cuando estaba corriendo se infarto.
Nooooo, como que se infarto ? Si ( por suerte se recupero y ahora esta muy bien).
Cuando me dieron la noticia, fue doblemente mala, ya que no sabia detalles de lo sucedido y la otra era que tenia que aprender toda esa tecnologia para el lunes, porque el equipo salia a produccion .
Asi que a leer manuales, pdf's y para los bcv con ayuda de gente de emc, y Sun salimos adelante.
Hoy 19 de noviembre, luego de 15 años , lo apagamos
Chau, Sun Fire 6800
Hola M5-32
viernes, 28 de agosto de 2015
Reemplazar modulos de cpu y memorias de un m5000
La finalidad de este documento es sacar los modulos de cpu y memoria de un servidor M5000.
Para esto, partimos de la base que el equipo esta en un rack, caso contrario salteamos los pasos 2 y 3
1) Primero apagar el equipo ( shutdown -g0 -i0 ) y luego desenchufar los cables de corriente.
2) Para desarmar la tapa superior o Top Cover del m5000, primero se debe sacar el rack's antitilt, estas son las 2 patas naranjas como se ve en la foto, que aguantan y balancean el peso del equipo.
3) Chequear los cables que tenemos conectados en la parte de atras del equipo ( red, fibra,power) y luego
Desplazar el m5000 hacia adelante
4) En la tapa superior, hay 2 tornillos ( Phillips) que debemos aflojar.
Hecho esto, se debe empujar la tapa hacia atras y luego levantar
5) Aca nos encontramos con los modulos de cpu y memoria. Para ambos es el mismo procedimiento.
Para sacar el modulo de cpu tiene 2 trabas (levers ) que deben empujar hacia arriba simultaneamente, esto destraba la caja , y luego tirar hacia arriba.
Una vez reemplazados los modulos. los pasos son :
a) Conectar la corriente al equipo
b) Conectarme a la xscf
c) chequear con showhardconf si tomo los modulos de cpu y o memoria reemplazados.
d)Encender el dominio con poweron -d 0
e) conectarme a la consola y levantar el sistema operativo
console -d 0
boot
f) Una vez dentro del sistema operativo, chequeamos con prtdiag -v si el S.O tomo los modulos asignados.
Esta tarea fue realizada con mi colega Nicolas Morono
Suscribirse a:
Entradas (Atom)









