Espacio destinado a compartir el conocimiento, buenas prácticas y experiencias relacionadas al mundo de las Operaciones en empresas TIC
Wednesday, October 18, 2006
Blog de Solaris solidos
1) Brendan Gregg:
Solido en Solaris. Escribió el DTraceToolkit (Solaris 10) y K9Toolkit (Solaris 8 en adelante). Tiene cosas interesantes:
http://bdgregg.blogspot.com/
http://blogs.sun.com/brendan
http://www.brendangregg.com/
2) Blog O'Matty:
Siempre tiene Tips de Solaris, Linux, etc. Es sólido el Blog:
http://prefetch.net/blog/index.php/
3) Derek Crudgington
Tiene varias cosas interesantes de Solaris:
http://hell.jedicoder.net/
Eso por ahora.
Saludos,
ChaZcaZ./
Tuesday, October 17, 2006
VCS Seeding - Iniciar un Veritas Cluster con un solo nodo
Los sistemas son seeded automáticamente en una de 2 maneras:
- Cuando un sistema "unseeded" se comunica con un sistema "seeded"
- Cuando todos los sistemas en el cluster están "unseeded" y habilitados para comunicarse con los otros.
El control del "seeding" está establecido en el archivo /etc/gabtab. GAB es iniciado con la línea de comando /sbin/gabconfig -c -n X, donde X es igual al número de nodos en el cluster. Por ejemplo, la línea de comando en el archivo /etc/gabtab para un cluster de 4-nodos es /sbin/gabconfig -c -n 4. VCS requiere que se declare el número de nodos en el Cluster.
Cuando el último sistema es "booteado", el cluster "seedeará" y comenzará VCS en todos los sistemas. Desde ahora los sistemas pueden ser bajados y reiniciados en cualquier combinación. "Seeding" es automático siempre que al menos una instancia de VCS está corriendo en algún lugar del Cluster.
Para iniciar el cluster con menos nodos que el total, verificar que los nodos a ser excluídos están actualmente abajo. Luego, iniciat GAB con el comando /sbin/gabconfig -c -x. Esto "seedeará" manualmente el cluster y habilitará VCS para subir en todos los sistemas conectados.
Saludos,
ChaZcaZ./
Setear y revisar modo Duplex de interfaces de Red en Unix
Solaris
Para checkear el Duplex:
ndd /dev/hme link_mode
Cuando retorna un valor 0 = half duplex, y 1 = full duplex
Para forzar a modo full duplex:
ndd -sec /dev/hme adv_100fdx_capndd -set /dev/hme adv_autoneg_cap 0
Para forzar a modo half duplex:
ndd -sec /dev/hme adv_100hdx_capndd -set /dev/hme adv_autoneg_cap 0
Linux
La herramiento original en Linux para setear la velocidad y el duplex es mii-tool. Ahora está destinado a ser reemplazado por ethtool, pero muchas tarjetas antiguas sólo soportan mii-tool.
Por ejemplo:
mii-tool -F 100baseTx-FD eth0
Para ver la configuración de las tarjetas de red, usar:
mii-tool -v
Lo siguiente también puede ser usado con algunas tarjetas comunes:
Para setear las tarjetas eepro100 a modo full-duplex:
en /etc/modules.conf (para Redhat Linux)
options eepro100 options=48
Para las tarjetas 3c59x: options 3c59x options=0x204 full_duplex=0x200
ethtool
El comando entrega información acerca de la configuración de la interfaz de red que se le pasa como parámetro. Ejemplo:
#ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: No
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: internal
Auto-negotiation: off
Supports Wake-on: g
Wake-on: g
Current message level: 0x00000007 (7)
Link detected: yes
Para setear la velocidad y el duplex, se debe editar el archivo de configuración de la interfaz de red y se debe agregar la línea ETHTOOL_OPTS, como se muestra a continuación:
#
# File: /etc/sysconfig/network-script/ifcfg-eth0
#
DEVICE=eth0
IPADDR=192.168.1.100
NETMASK=255.255.255.0
BOOTPROTO=static
ONBOOT=yes
ETHTOOL_OPTS="speed 100 duplex full autoneg off"
Para setear la velocidad y duplex en forma dinámica, se puede hacer de la siguiente manera:
#ethtool -s eth1 speed 100 duplex full autoneg off
FreeBSD
Para chequear el modo Duplex: Solo se usa ifconfig -a
Para forzar a modo Full Duplex: ifconfig xl0 media 100baseTX mediaopt full-duplex
Para forzar a modo Half Duplex: ifconfig xl0 media 100baseTX mediaopt half-duplex
Note: Esto funciona para todos los dispositivos, no sólo para el driver xl0.
IBM AIX
Para obtener una lista de adaptadores:
lsdev -HCc adapter
Para chequear el modo duplex:
lsattr -d ent#
Para forzar el modo full duplex:
chdev -l ent# -a media_speed=100_Full_Duplex -P reboot
Para forzar el modo half duplex:
chdev -l ent# -a media_speed=100_Half_Duplex -P reboot
HP-UX
Para obtener una lista de adaptadores:
HP-UX 10.x usa el "Network Management IDs "
lanscan -n
HP-UX 11.x usa los números "PPA"
lanscan -p
Para chequear el modo duplex:
lanadmin -x NMid# (HP-UX 10.x)
lanadmin -x PPA# (HP-UX 11.x)
Para forzar el modo full duplex:
lanadmin -X 100FD NMid# (HP-UX 10.x)
lanadmin -X 100FD PPA# (HP-UX 11.x)
Para forzar el modo half duplex:
lanadmin -X 100HD NMid# (HP-UX 10.x)
lanadmin -X 100HD PPA# (HP-UX 11.x)
Tru64
1) Para ver como estan configuradas las interfaces de red, utilizar el siguiente comando:
hwmgr -get attr -cat network
27:
name = ee0
category = network
sub_category = Ethernet
model = Intel 82559
hardware_rev = 8
firmware_rev =
MAC_address = 00-50-8B-65-AA-FA
MTU_size = 1500
media_speed = 100
media_selection = Automatic
media_type = Unshielded Twisted Pair (UTP)
loopback_mode = 0
promiscuous_mode = 0
full_duplex = 0
multicast_address_list = CF-00-00-00-00-00 01-00-5E-00-00-01 09-00-2B-00-00-0F 09-00-2B-02-01-04
interface_number = 1
link = Up
autoneg_enable = 1
registration_time = Thu Nov 3 18:08:36 2005
user_name = (null) (settable)
location = (null) (settable)
software_module = (null)
[…]
2) Esta interfaz está a 100Mbps Half-Duplex y con autonegociación. Se dejará forzada a 100Mbps Full-Duplex. Para esto, ejecutar:
/usr/sbin/lan_config -i ee0 -a0 -s100 -x1
3) Para que quede permanente después de cada boot, agregar la línea del lanconfig al final de archivo /etc/inet.local
Saludos,
ChaZcaZ./
Monday, October 16, 2006
Olvidar contraseña de root en Linux y FreeBSD - resetear
A continuación muestro como se puede cambiar (o resetear) la contraseña de root en Linux y en FreeBSD. A lo mejor existen otros métodos, pero estos son los que yo conozco.
Para resetear la contraseña de root en Linux, debes hacer lo siguiente:
1. Iniciar el sistema con alguna distribución LiveCD (como Knoppix por ejemplo) o desde algún disco de rescate de alguna distro de Linux (como se bootea desde el CD de instalación de algunas distros, te da la opción de entrar en modo Rescue System, el cual ejecuta un Kernel, carga un ramdisk inicial e inicializa varios procesos del sistema. Para ingresar, solo debes escribir root como el usuario).
2. Una vez que están dentro de este “Linux”, debes identificar la partición que contiene el directorio /etc, ya que esta estará usualmente en tu partición / (root). Monta la partición bajo /mnt. El siguiente ejemplo usa /dev/hda3 como la partición root:
mount /dev/hda3 /mnt
3. Una vez montado el filesystem, necesitas editar el archivo /mnt/etc/shadow para resetear la contraseña de root. Este lo puedes editar con cualquier editor de textos, pero lo más recomendable (o más usado) es el vi.
4. Cuando esté cargado el archivo en el editor, debes buscar la entrada para el usuario root. Busca la contraseña encriptada, la cual es el segundo campo de la línea (los campos están separados por : ). Borra el password de tal manera que los dos punto y coma queden uno al lado del otro ( :: ) y guarda el archivo.
5. Una vez que el archivo fue editado, anda a la raiz (cd / ) y desmonta el filesystem con el siguiente comando:
umount /mnt
6. Finalmente, puedes rebotear el sistema, sacar el cd de Linux que pusiste y bootear desde el Linux instalado. Ahora la contraseña de root estará en blanco.
Para resetear la contraseña de root en FreeBSD:
1. Bootear el sistema en Single User Mode.
Para esto, cuando el sistema está iniciando, desplegará el siguiente mensaje:
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 10 seconds...
En este momento se debe presionar la barra espaciadora o cualquier otra tecla (menos [Enter]) y se verá el siguiente mensaje:
Type '?' for a list of commands, or 'help' for more detailed help.
ok
Ahora se debe tipear boot –s y presionar [Enter] para subir FreeBSD en Single User mode. Cuando el sistema sube, se debiera ver lo siguiente:
Enter full pathname of shell or RETURN for /bin/sh:
Presionar [Enter] y debiera aparecer el prompt #.
2. Montar el Filesystem
En el Prompt., ejecutar el comando mount. Este comando montará todos los filesystems listados en el archivo /etc/fstab:
# mount -t ufs -a
Adicionalmente, debiera ejecutarse este comando (si no funciona, continuar con el siguiente paso)
# swapon -a
3. Cambiar la contraseña de root
Ejecutar el comando passwd y el sistema solicitará la nueva contraseña para la cuenta root:
# passwd
New password:_
Retype new password:_
passwd: updating the database...
passwd: done
Si no funciona, probar agregando la opción –l:
# passwd -l
4. Subir en MultiUser mode
Finalmente, no es necesario rebootear para subir en multiuser mode. El comando exit causará que el sistema vaya a modo multiusuario sin reiniciar:
# exit
Eso es todo.
Saludos,
ChaZcaZ./
cpio remoto - Copia remota
Como ejemplo, se va a copiar el home del usuario chazcaz desde la máquina local hacia la máquina grodas (usuario chazcaz igual):
find /path_local/chazcaz/ | cpio -ocB | remsh grodas "cd /path_remoto/chazcaz/ ;cpio -imudcB"
Por otro lado, dentro de un mismo server se puede utilizar para copiar directorios completos, manteniendo privilegios, propietarios, permisos, etc. Como ejemplo, queremos copiar todo el contenido del directorio /chazcaz1 al directorio /chazcaz2. Esto se haría de la siguiente manera:
cd /chazcaz1
find . | cpio -pdmvu /chazcaz2
Saludos,
ChaZcaZ./
Thursday, October 05, 2006
Configuracion de MPxIO en Fujitsu Siemens PrimerPower 450 / Solaris 10 / EVA8000
En un principio, vino un jote de Fujitsu Siemens Chile a configurar este asunto, pero ni siquiera pudo ver los discos. En ese momento, este compadre me instaló el driver lpfc, el cual es el driver para tarjetas HBA Emulex de Emulex.
Para poder ver los discos, tuve que modificar el archivo de configuracion del driver, que es el /kernel/drv/lpfc.conf. Ahí, uno pone los puertos de cada controlador del EVA, por que HBA se van a ver y el target que se le asignará a cada puerto. Se debe tener presente que en este caso, el Binding se está haciendo por WWPN (World Wide Port Name), por lo cual la variable que controla el Binding debe estar seteada en el valor que corresponde a WWPN.
Con esta configuración, veía los discos 4 veces ( cada controlador tenia 2 puertos habilitados) y con el comando format los devices aparecian de la forma catbdcsd. Esto ya estaba malo, porque cuando uno va a configurar los discos con MPxIO, en los dispositivos aparece el WWID de la LUN.
Fue imposible configurar el MPxIO con el driver lpfc. Asi que decidi entonces instalar el driver para HBA Emulex de Sun (SUNWemlxs y SUNWemlxu). Con estos drivers si funciono y esto fue lo que hice:
1) Instalar físicamente 2 o más tarjetas HBA Emulex Light Pulse LP10000
2) Presentar al menos una LUN al servidor
3) Instalar los paquetes SUNWemlxs y SUNWemlxu
4) Instalar parche 120222-11 o superior
5) Reiniciar
--> En esta altura, ya está instalado el driver y se pueden ver las LUN repetidas 4 veces (En estecaso, cada controlador tiene conectado 2 de los 4 puertos)
6) Con comando format, verificar que se están viendo 4 veces las LUN.
7) Ejecutar "luxadm -e port" para ver que Solaris ve los dispositivos correctamente a través deldriver (debiera ver 2):
root@prd1009 # luxadm -e port
/devices/pci@82,4000/lpfc@3/fp@0,0:devctl CONNECTED
/devices/pci@82,4000/lpfc@4/fp@0,0:devctl CONNECTED
8) Se habilitará el Traffic Manager (MPxIO) por puerto y no globalmente, para evitar tener problemas con lacontroladora de los discos internos. Para esto, se debe hacer lo siguiente:
- En el archivo /kernel/drv/fp.conf, la variable mpxio-disable debe estar configurada así:
mpxio-disable="yes";
- Editar el archivo /kernel/drv/fp.conf y agregar estas dos lineas al final (la información se saca de lasalida del comando luxadm -e probe):
name="fp" parent=/pci@82,4000/lpfc@3 port=0 mpxio-disable="no";
name="fp" parent="/pci@82,4000/lpfc@4" port=0 mpxio-disable="no";
- Editar el archivo /kernel/drv/scsi_vhci.conf y la variable device-type-scsi-options-list debe quedar como sigue (OJO con los espacios entre HP y HSV210 - Solo para EVA4000/6000/8000):
device-type-scsi-options-list ="HP HSV210", "symmetric-option";
- La variable symmetric-option del archivo /kernel/drv/scsi_vhci.conf debe tener el siguiente valor (solopara EVA):
symmetric-option = 0x1000000;
9) Reiniciar
10) A esta altura el MPxIO ya debe estar funcionando. Para comprobar, ejecutar el comando format, solo se debiera ver un disco por LUN:
root@prd1009 # format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c0t0d0
1. c0t1d0
2. c0t2d0
3. c1t0d0
4. c1t1d0
5. c1t2d0
6. c7t600508B4001064A30000500001A10000d0
7. c7t600508B4001064A30000500001A40000d0
8. c7t600508B4001064A300005000046E0000d0
9. c7t600508B4001064A30000500004780000d0
10. c7t600508B4001064A30000500004690000d0
11. c7t600508B4001064A30000500004640000d0
12. c7t600508B4001064A30000500001950000d0
13. c7t600508B4001064A30000500004730000d0
Specify disk (enter its number): ^D
- Para corrobar que cada LUN tiene los 4 PATH, ejecutar el comando siguiente:
root@prd1009 # luxadm -v display /dev/rdsk/c7t600508B4001064A30000500001A10000d0s2
Displaying information for: /dev/rdsk/c7t600508B4001064A30000500001A10000d0s2
DEVICE PROPERTIES for disk: /dev/rdsk/c7t600508B4001064A30000500001A10000d0s2 Vendor: HP
Product ID: HSV210
Revision: 5031
Serial Num: Unavailable
Unformatted capacity: 51200.000 MBytes
Read Cache: Enabled
Minimum prefetch: 0x0
Maximum prefetch: 0x0
Device Type: Disk
device Path(s):
/dev/rdsk/c7t600508B4001064A30000500001A10000d0s2
/devices/scsi_vhci/ssd@g600508b4001064a30000500001a10000:c,raw Controller /devices/pci@82,4000/lpfc@4/fp@0,0
Device Address 50001fe150072d59,2
Host controller port WWN 10000000c955ae84 Class secondary State ONLINE Controller /devices/pci@82,4000/lpfc@3/fp@0,0 Device Address 50001fe150072d5c,2
Host controller port WWN 10000000c955af48 Class primary State ONLINE Controller /devices/pci@82,4000/lpfc@4/fp@0,0 Device Address 50001fe150072d5d,2
Host controller port WWN 10000000c955ae84 Class primary State ONLINE Controller /devices/pci@82,4000/lpfc@3/fp@0,0 Device Address 50001fe150072d58,2
Host controller port WWN 10000000c955af48 Class secondary State ONLINE
Eso es todo!.
Saludos,
ChaZcaZ./