No todo es OpenSolaris
jue 24 de abril del 2008
Tercera ronda del quiz de OpenSolaris
mié 16 de abril del 2008
Seguimos con la tercera entrega del quiz de OpenSolaris a pesar de la
baja participación de la semana pasada. Espero que la gente no pensara
que las preguntas eran en exceso difíciles, ya que las de esta solo son aptas
para un administrador Senior, lo eres tu ? ;)
Las preguntas de la semana anterior y sus respuestas correctas eran:
Como pasarías el sistema desde multiusuario a single user ?
c) ejecutar "#svcadm milestone single-user".
Como deshabilitarías el rutado de paquetes ipv6 en opensolaris ?
c) ejecutar "#svcadm disable ipv6-forwarding".
Que comando usarías para ver el número de paquetes
erróneos en una
interfaz de red en el último minuto ?
netstat -i -I interfaz 60
Con este comando netstat nos ira mostrando cada 60 segundos las estadísticas
de la interfaz, incluido los paquetes erróneos (entrantes y salientes).
Ramses a bordado su respuesta y con un poco de mágia de shell y awk,
nos da la suma ya hecha del último minuto, felicidades !! :)
netstat -i -I NOMBRE_INTERFAZ 60 2 |awk 'NR==4{print $2+$4}'
Su sugerencia para hacer lo mismo con dtrace la apuntamos para la 4 ronda del
quiz.Las preguntas para esta semana son:
Como impedirías que desde una zona no global alguien llene /tmp ? a) configuraría el parámetro capped-memory [swap] a n Mb en la zona.
b) no se puede, /tmp tiene permisos 777 para todos los usuarios, cualquiera puede copiar lo que quiera.
c) habilitaría las quotas para /tmp.
d) crearía un tmp distinto para cada zona. Como limitarías a un máximo de 512m el uso de shared memory por parte de cualquier usuario del sistema ? a) Añadir en el fichero "/etc/system" la linea " set shmsys:shminfo_shmmax = 536870912" y rebotar.
b) ejecutar "projmod -K "project.max-shm-memory=(priv,512MB,deny)" default".
c) ejecutar "export MAX-SHM-MEMORY = 512M"
d) Añadir en el fichero "/etc/default/memory" la linea "MAX-SHM-MEMORY = 512M" y rebotar. Que privilegios debe tener un usuario para poder para usar el provider lockstat de dtrace ? Respuesta libre ... Recordad que la dificultad irá ascendiendo cada semana. Animaros a participar !!!
Limitando un Brandz con containers
jue 10 de abril del 2008
bash-3.2# zonecfg -z linux zonecfg:linux> info zonename: linux zonepath: /linux-zone brand: lx autoboot: false bootargs: pool: limitpriv: scheduling-class: ip-type: shared [max-lwps: 128] capped-cpu: [ncpus: 0.10] capped-memory: physical: 128M [swap: 128M] rctl: name: zone.cpu-cap value: (priv=privileged,limit=10,action=deny) rctl: name: zone.max-swap value: (priv=privileged,limit=134217728,action=deny) rctl: name: zone.max-lwps value: (priv=privileged,limit=256,action=deny)
Básicamente he limitado el uso de cpu al 10%, permitido un máximo de 128 threads y limitado a 128M el consumo de ram. A continuación he ejecutado una fork bomb dentro de la zona, usando perl, "#perl -e ' fork while 1;'". Una vez alcanzado el límite de hilos no se han creado nuevos hijos, es decir el control de recursos ha funcionado como era esperado. Para el segundo experimento he establecido el límite en 256. Sin embargo se ha quedado parado en 171 y no ha seguido aumentando. Podemos observarlo lanzando un prstat desde la zona global.#prstat -z linux -t NPROC USERNAME SWAP RSS MEMORY TIME CPU 170 root 188M 98M 19% 0:00:00 8.2% 1 43 2564K 8620K 1.6% 0:00:00 0.0% Total: 171 processes, 171 lwps, load averages: 89.13, 40.49, 22.91
Al hacer un truss a cualquiera de los procesos perl el motivo ha quedado claro.bash-3.2# truss -faelid -p 8113 Base time stamp: 1207823679.1278 [ Thu Apr 10 03:34:39 PDT 2008 ] 8113/1: psargs: perl -e fork while 1; 8113/1: 0.0478 forkx(0) Err#12 ENOMEM
La zona no disponía de más memoria, es decir el control de recursos funcionaba bien otra vez. Resumiendo, a la hora de evaluar la performance de los procesos linux dentro del brandz, las herramientas típicas de este sistema operativo no nos proporcionan datos fiables. Espero haber terminado de aclarar las dudas que quedaron durante la charla. :)OpenSolaris Quiz, Semana 2
mié 09 de abril del 2008
Segunda semana del mini-quiz de OpenSolaris, haciendo caso del feedback de
gente que ha participado he ampliado el número de preguntas por semana
a 3. Además una de ellas será de respuesta libre, en vez de ser
de tipo test. De esta forma no bastará copiar y pegar los comandos
para ver cual funciona.
La pregunta de la semana anterior y su respuesta correcta eran:
Que comando ejecutarías para listar la configuración de las
interfaces de red de tu sistema ?
"#ifconfig -a"
Las preguntas para esta semana son:
Como pasarías el sistema desde multiusuario a single user ? a) ejecutar "#init S".
b) ejecutar "#init 2".
c) ejecutar "#svcadm milestone single-user".
d) ejecutar "boot -s" en el arranque de la maquina.
Como deshabilitarías el rutado de paquetes ipv6 en opensolaris ? a) crear un fichero llamado "/etc/notrouter".
b) crear un fichero llamado "/etc/not_ipv6_router".
c) ejecutar "#svcadm disable ipv6-forwarding".
d) crear un fichero "/etc/default/network" con el contenido "IPV6-FORWARDING=no".
Que comando usarías para ver el número de paquetes erróneos en una interfaz de red en el último minuto ? Respuesta libre. Recordad que la dificultad irá ascendiendo cada semana. Animaros a participar !!!
OpenSolaris Quiz
mié 02 de abril del 2008
He preparado un pequeño quiz con preguntas acerca de
OpenSolaris, para
todos aquellos que quieran poner a prueba sus conocimientos acerca de este
sistema operativo. La dificultad será ascendente, comenzando por una
pregunta casi trivial y terminando con un buen nivel de "geekismo".
El funcionamiento es sencillo, cada miércoles pondré una pregunta nueva
y la respuesta de la correspondiente a la semana anterior. Mi idea es que se
prolongue a lo largo de 5 semanas, aunque todo depende del nivel de
aceptación que tenga la propuesta. Si queréis
participar podéis dejar un comentario con la respuesta en la entrada del blog
correspondiente.
También podéis participar sugiriendo preguntas a mi correo
electrónico (quiz at rjblog es). En caso de publicarlas se indicaría el nombre del
autor.
La pregunta de esta semana es:
Que comando ejecutarías para listar la configuración de las
interfaces de red de tu sistema ?
- ifconfig
- ifconfig -a
- lanscan
- ethlist -a

