<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>tail -f &#124; sysadmin &#187; Solaris</title>
	<atom:link href="http://www.tail-f.com.ar/category/sistemas-operativos/solaris/feed" rel="self" type="application/rss+xml" />
	<link>http://www.tail-f.com.ar</link>
	<description>Noticias y recursos para sysadmins Unix</description>
	<lastBuildDate>Mon, 28 Nov 2011 21:44:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Introducción a ZFS</title>
		<link>http://www.tail-f.com.ar/sistemas-operativos/solaris/introduccion-a-zfs.html</link>
		<comments>http://www.tail-f.com.ar/sistemas-operativos/solaris/introduccion-a-zfs.html#comments</comments>
		<pubDate>Mon, 08 Dec 2008 01:34:41 +0000</pubDate>
		<dc:creator>elbarto</dc:creator>
				<category><![CDATA[Sistemas operativos]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[filesystem]]></category>
		<category><![CDATA[opensolaris]]></category>
		<category><![CDATA[sistema de archivos]]></category>
		<category><![CDATA[zfs]]></category>

		<guid isPermaLink="false">http://www.tail-f.com.ar/?p=106</guid>
		<description><![CDATA[Hace un tiempo, publiqué un artículo sobre Nexenta, que aprovecha el ZFS de OpenSolaris para poder hacer un dist-upgrade y retornar a una versión anterior si algo sale mal. Hoy estaba viendo la entrada que escribió Marvin sobre Time Slider, el TimeMachine de OpenSolaris. A partir de esto me dieron ganas de averiguar un poco [...]]]></description>
			<content:encoded><![CDATA[<p>Hace un tiempo, publiqué un <a href="http://www.tail-f.com.ar/2008/11/23/sistemas-operativos/solaris/nexenta-opensolaris-ubuntu.html">artículo sobre Nexenta</a>, que aprovecha el ZFS de OpenSolaris para poder hacer un dist-upgrade y retornar a una versión anterior si algo sale mal. Hoy estaba viendo la entrada que escribió Marvin sobre <a href="http://www.maty1206linuxeando.com/?p=2354">Time Slider, el TimeMachine de OpenSolaris</a>. A partir de esto me dieron ganas de averiguar un poco más sobre ZFS, me puse a buscar un poco en Internet y escribí esta pequeña introducción a ZFS que dejo a continuación.</p>
<div id="attachment_30" class="wp-caption alignright" style="width: 190px"><a href="http://www.tail-f.com.ar/wp-content/uploads/sol10logo.png"><img class="size-medium wp-image-30" title="sol10logo" src="http://www.tail-f.com.ar/wp-content/uploads/sol10logo-300x156.png" alt="Sun Solaris 10" width="180" height="94" /></a><p class="wp-caption-text">Sun Solaris 10</p></div>
<p><strong>Introducción</strong></p>
<p>ZFS es un <a href="http://es.wikipedia.org/wiki/Sistema_de_archivos">filesystem</a> desarrollado por <a href="http://www.sun.com/">Sun Microsystems</a> (por un equipo coordinado por <a href="http://en.wikipedia.org/wiki/Jeff_Bonwick">Jeff Bonwick</a>), implementado en Solaris y OpenSolaris desde 2005. Un filesystem (o sistema de archivos) es la parte del sistema operativo que se ocupa de administrar el almacenamiento de información en distintos tipos de unidades (generalmente discos rígidos). En primer lugar, todos los filesystems ofrecen métodos para crear, borrar, mover, copiar y renombrar archivos y directorios. A eso se agregan otras características muy importantes como la gestión de permisos, enlaces (hard links y symbolic links), mecanismos para evitar la fragmentación, mecanismos para asegurar la integridad de los datos (como el <a href="http://es.wikipedia.org/wiki/Journaling">journaling</a>, utilizado por ext3, ext4, NTFS, ReiserFS, entre otros), y métodos de gestión de RAIDs entre otras cosas.</p>
<p>Como indica la gente de Sun, ZFS es una nueva aproximación a la organización de la información, orientada a evitar conceptos obsoletos y reducir la complejidad de código, produciendo un sistema de archivos sencillo de administrar, con énfasis en la integridad de los datos y la escalabilidad.</p>
<p><strong>Storage pools</strong></p>
<p>Una de las características novedosas de ZFS es que, a diferencia de los filesystems tradicionales, que se ubican en un único dispositivo y, por lo tanto, requieren de un administrador de volúmenes cuando se quiere trabajar con más de un dispositivo, éste sistema se apoya en <em>virtual storage pools</em> (espacios de almacenamiento virtual) llamados <em>&#8220;zpools&#8221;</em>. Éstos están formados por <em>virtual devices</em> (dispositivos virtuales), &#8220;vdevs&#8221;, que a su vez se componen de block devices (dispositivos de bloques): archivos, particiones o discos enteros. De esta forma, se pueden configurar <a href="http://es.wikipedia.org/wiki/RAID">RAID</a>s de distinto tipo. Además de los tradicionales RAID-0 (dividido o <em>data stripping</em>) y RAID-1 (espejo o <em>data mirroring</em>), ZFS ofrece una variante del RAID-5 (dividido con paridad distribuida) llamada RAID-Z que evita un problema conocido llamado &#8220;agujero de escritura&#8221; (corrupción de las divisiones por perdida de energía entre la actualización de la información y las partes).</p>
<p><strong>Capacidad y escalabilidad</strong></p>
<p>En cuanto a la capacidad de almacenamiento y su escalabilidad, ZFS fue diseñado para tener límites que nunca fueran alcanzados (el tipo de proposición que sabemos que a la ciencia le encanta hacer para poder romper algunos años más tarde). Algunos límites teóricos de ZFS (tomados de Wikipedia) son:</p>
<ul>
<li>2<sup>48</sup> — Número de <span class="new"><em>snapshots</em></span> en cualquier sistema de ficheros (2 × 10<sup>14</sup>)</li>
<li>2<sup>48</sup> — Número de ficheros en un sistema de ficheros (2 × 10<sup>14</sup>)</li>
<li>16 exabytes — Tamaño máximo de un sistema de ficheros</li>
<li>16 exabytes — Tamaño máximo de un fichero</li>
<li>16 exabytes — Tamaño máximo de cualquier atributo</li>
<li>3 × 10<sup>23</sup> petabytes — Tamaño máximo de un <span class="new">zpool</span></li>
<li>2<sup>56</sup> — Número de atributos de un fichero (realmente limitado a 2<sup>48</sup> que es el número de ficheros que puede contener un sistema de ficheros ZFS)</li>
<li>2<sup>56</sup> — Número de ficheros en un directorio (realmente limitado a 2<sup>48</sup> que es el número de ficheros que puede contener un sistema de ficheros ZFS)</li>
<li>2<sup>64</sup> — Número de dispositivos en cualquier zpool</li>
<li>2<sup>64</sup> — Número de zpools en un sistema</li>
<li>2<sup>64</sup> — Número de sistemas de ficheros en un zpool</li>
</ul>
<p><strong>Copy-on-write</strong></p>
<div id="attachment_115" class="wp-caption alignleft" style="width: 276px"><a href="http://www.tail-f.com.ar/wp-content/uploads/opensolaris.png"><img class="size-medium wp-image-115" title="opensolaris" src="http://www.tail-f.com.ar/wp-content/uploads/opensolaris.png" alt="OpenSolaris" width="266" height="40" /></a><p class="wp-caption-text">OpenSolaris</p></div>
<p>Otra característica muy interesante que agrega ZFS es un modelo transaccional llamado <em>copy-on-write</em> (algo así como &#8220;copia al escribir&#8221;). Este modelo, que se aplica a todas las transacciones, implica que todos los punteros de bloque tienen un checksum de 256 bits que se verifica cada vez que se accede a él. Además, cada los bloques que contienen información activa no son nunca sobreescritos, sino que la información modificada se ubica en otros bloques nuevos, y estos últimos son agrupados en grupos transaccionales para reducir el overhead que esto podría producir. Esto permite una preservación casi perfecta de la información, que hace que no sea necesario ejecutar <a href="http://www.linuxmanpages.com/man8/fsck.8.php">fsck</a> sobre filesystems ZFS. Además, en configuraciones de discos donde la información es replicada (mirroring), la información es <em>self-healing </em>(es decir que los bloques corruptos se reparan automáticamente en función de la información previamente almacenada).</p>
<p><strong>Snapshots</strong></p>
<p>Al utilizar el modelo de copy-on-write, se preservan los bloques con información antigua, con lo cual es posible crear <em>snapshots </em>(imágenes o &#8220;instantáneas&#8221;) de la información, las cuales se crean rápidamente y en una forma que es eficiente desde el punto de vista del espacio. Éstas permiten restaurar el sistema con los datos existentes en determinada fecha (lo que hace Time Slider). También se pueden crear snapshots escribibles llamadas clones, lo cual resulta en un par de sistemas de archivos independientes que comparten algunos bloques.</p>
<p><strong>Administración de cache</strong></p>
<p>ZFS utiliza <a href="http://en.wikipedia.org/wiki/Adaptive_Replacement_Cache">ARC</a> (<em>Adaptive Replacement Cache</em>), un algoritmo que resulta más eficiente que el tradicional sistema de memoria virtual <a href="http://en.wikipedia.org/wiki/Page_cache"><em>page cache</em></a> que implementaba Solaris.</p>
<p><strong>Gestión de I/O</strong></p>
<p>ZFS implementa un motor de I/O (Input/Output o Entrada/Salida) segmentado (en inglés es un pipelined I/O engine, basado en el concepto de las CPU pipelines). Esto le brinda una serie de características (scoreboarding, priorities, deadline scheduling, out-of-order issue y I/O aggregation), que hacen que ZFS soporte tranquilamente cargas de entrada y salida que otros filesystems no pueden manejar.</p>
<p><strong>Limitaciones</strong></p>
<p>Existen una serie de limitaciones que están mejor explicadas en la <a href="http://en.wikipedia.org/wiki/ZFS">entrada en inglés de la wikipedia</a>. Reproduzco algunas aquí.</p>
<ul>
<li>ZFS no soporta la definición de quotas por grupo o por usuario. En cambio, como los filesystems ZFS son muy livianos, uno crea filesystems para cada usuario con sus propias limitaciones de espacio. Sin embargo, no hay una solución para cuando un mismo filesystem debe ser compartido por varios usuarios con quotas distintas.</li>
<li>Por el momento, no es posible reducir la cantidad de vdevs en un zpool, ni reducir la capacidad de un zpool.</li>
<li>No se puede agregar un disco a un vdev de un RAID-Z o de un RAID-Z2, pero sí se puede agregar otro vdev al mismo zpool.</li>
<li>No se pueden mezclar vdevs de distintos tipos en un mismo pool.</li>
<li>ZFS no es un sistema nativo de cluster, distribuido, ni un sistema paralelo de archivos y no puede proveer acceso concurrente para múltiples hosts porque ZFS es un filesystem local.</li>
</ul>
<p><strong>Palabras finales</strong></p>
<p>Sin dudas, ZFS es un filesystem muy interesante, con características muy innovadoras. Personalmente tengo cierta reticencia a aceptar las contribuciones de software de las grandes empresas. Lejos de mí está casarme con Sun, que pone sus manos en muchos proyectos muy distintos y no en todos con buenos resultados. Sin embargo, hay algunas cosas que debo reconocerle. Así como me pareció muy interesante la <a href="http://www.tail-f.com.ar/2008/11/22/sistemas-operativos/solaris/solaris-smf.html">implementación de SMF</a>, este aporte de ZFS, al partir de una reconsideración integral de la estructura de un sistema de archivos (from the scratch), creo que es un avance muy interesante. No como el fin de un camino, sino justamente como un camino alternativo que pueda contribuir al desarrollo general de los sistemas operativos (unix).</p>
<p>¿Ustedes qué opinan?</p>
<p>Fuentes:</p>
<ul>
<li><a href="http://www.opensolaris.org/os/community/zfs/whatis/">What is ZFS? @ OpenSolaris</a></li>
<li><a href="http://en.wikipedia.org/wiki/ZFS">ZFS @ Wikipedia</a></li>
<li><a href="http://es.wikipedia.org/wiki/Sistema_de_archivos">Sistema de archivos @ Wikipedia</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.tail-f.com.ar/sistemas-operativos/solaris/introduccion-a-zfs.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Nexenta: OpenSolaris + Ubuntu</title>
		<link>http://www.tail-f.com.ar/sistemas-operativos/solaris/nexenta-opensolaris-ubuntu.html</link>
		<comments>http://www.tail-f.com.ar/sistemas-operativos/solaris/nexenta-opensolaris-ubuntu.html#comments</comments>
		<pubDate>Sun, 23 Nov 2008 14:54:47 +0000</pubDate>
		<dc:creator>elbarto</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Sistemas operativos]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[nexenta]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.tail-f.com.ar/?p=41</guid>
		<description><![CDATA[Vía: Web &#38; Beer &#124; Slashdot &#124; FOSS Boss Nexenta es un experimento interesante, que Ubuntu Hardy Heron y le reemplaza el kernel por el de Solaris y utiliza el filesystem zfs. Como dice el artículo de FOSS Boss, Solaris tiene un muy buen desempeño a nivel servidor, pero tiene un montón de herramientas que [...]]]></description>
			<content:encoded><![CDATA[<p>Vía: <a href="http://groups.google.com/group/webandbeer/browse_thread/thread/4eb81cafc56348c">Web &amp; Beer</a> | <a href="http://tech.slashdot.org/tech/08/11/22/2151242.shtml">Slashdot</a> | <a href="http://foss-boss.blogspot.com/2008/11/nexenta-can-you-say-solabuntu-part1.html">FOSS Boss</a></p>
<p>Nexenta es un experimento interesante, que Ubuntu Hardy Heron y le reemplaza el kernel por el de Solaris y utiliza el filesystem zfs. Como dice el artículo de FOSS Boss, Solaris tiene un muy buen desempeño a nivel servidor, pero tiene un montón de herramientas que están desactualizadas. Aunque yo diferiría, por ejemplo, en el caso del ya mencionado <a href="http://www.tail-f.com.ar/2008/11/22/sistemas-operativos/solaris/solaris-smf.html">SMF</a>.</p>
<div id="attachment_43" class="wp-caption alignright" style="width: 169px"><a href="http://www.tail-f.com.ar/wp-content/uploads/giraffe.png"><img class="size-medium wp-image-43" title="giraffe" src="http://www.tail-f.com.ar/wp-content/uploads/giraffe-159x300.png" alt="Nexenta OS" width="159" height="300" /></a><p class="wp-caption-text">Nexenta OS</p></div>
<p>Es muy interesante la integración del apt-get de Debian con el filesystem zfs, porque según indica el artículo, uno puede hacer un completo dist-upgrade y si algo anda mal, bootear a una imagen de tu sistema anterior al upgrade. Eso da una solidez muy interesante que no se obtiene con Ubuntu. Quienes usamos Ubuntu para Desktop sabemos que es casi un vicio estar actualizando paquetes varias veces por día, pero también sabemos que ello conlleva un aumento de la entropía (muy fatalista?) que hace a nuestro sistema inestable.</p>
<p>Además es interesante tener en un entorno Solaris herramientas de GNU. Recuerdo haberme peleado más de una vez porque alguna de las herramientas que uno tiene en GNU/Linux, en Solaris existen pero no funcionan 100% igual. Por ejemplo, si no recuerdo mal, el grep de Solaris no tiene el parámetro -r que sí existe en Linux, entonces para buscar un string en una serie de archivos hay que usar find, xargs, algunos pipes y grep.</p>
<p>Como dice el autor, se trata de una distribución muy joven y está orientada fundamentalmente a servidores. Pero de por sí es una idea interesante que habrá que ver cómo se desarrolla.</p>
<p>Pueden ver los releases de Nexenta aquí: <a href="http://www.nexenta.org/releases/">http://www.nexenta.org/releases/</a></p>
<p>Sitio oficial: <a href="http://www.nexenta.org/os">http://www.nexenta.org/os</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tail-f.com.ar/sistemas-operativos/solaris/nexenta-opensolaris-ubuntu.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Solaris SMF</title>
		<link>http://www.tail-f.com.ar/sistemas-operativos/solaris/solaris-smf.html</link>
		<comments>http://www.tail-f.com.ar/sistemas-operativos/solaris/solaris-smf.html#comments</comments>
		<pubDate>Sat, 22 Nov 2008 22:38:16 +0000</pubDate>
		<dc:creator>elbarto</dc:creator>
				<category><![CDATA[Solaris]]></category>
		<category><![CDATA[service management]]></category>
		<category><![CDATA[smf]]></category>

		<guid isPermaLink="false">http://www.tail-f.com.ar/?p=9</guid>
		<description><![CDATA[Este artículo fue publicado originalmente por mí en el blog de Web and Beer. Solaris 10 incorpora SMF: Service Management Facility, que básicamente es un daemon que controla los servicios que corren en el sistema operativo. Su idea es reemplazar los scripts de /etc/init.d y /etc/rc.*.d, con una utilidad bastante más robusta y simple de [...]]]></description>
			<content:encoded><![CDATA[<p>Este artículo fue publicado originalmente por mí en el <a href="http://www.webandbeer.com.ar/category/solaris-10/">blog de Web and Beer</a>.</p>
<div id="attachment_30" class="wp-caption alignright" style="width: 310px"><a href="http://www.tail-f.com.ar/wp-content/uploads/sol10logo.png"><img class="size-medium wp-image-30" title="sol10logo" src="http://www.tail-f.com.ar/wp-content/uploads/sol10logo-300x156.png" alt="Sun Solaris 10" width="300" height="156" /></a><p class="wp-caption-text">Sun Solaris 10</p></div>
<p>Solaris 10 incorpora SMF: Service Management Facility, que básicamente es un daemon que controla los servicios que corren en el sistema operativo. Su idea es reemplazar los scripts de /etc/init.d y /etc/rc.*.d, con una utilidad bastante más robusta y simple de configurar.</p>
<p>A partir de Solaris 10, entonces, vemos que muchos servicios que antes estaban en /etc/init.d ahora desaparecieron de allí y si revisamos el /etc/inittab vemos que una de las primeras cosas que hace es levantar el svc.startd que es el daemon que maneja los servicios de SMF. De hecho, dicen que ahora el boot es bastante más limpito, porque todos los mensajes de los servicios que se inician se van logueando en distintos lugares, y uno termina viendo algo así:</p>
<pre>SunOS Release 5.10 Version Generic 64-bit
Copyright 1983-2004 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Hostname: demobox
NIS domain name is testlab.example.com
checking ufs filesystems

demobox console login:</pre>
<p>En este link hay una Quickstart Guide muy interesante, donde muestra cómo se hacían las cosas en las versiones anteriores de Solaris y cómo deberían hacerse ahora con SMF: <a class="moz-txt-link-freetext" href="http://www.sun.com/bigadmin/content/selfheal/smf-quickstart.jsp">http://www.sun.com/bigadmin/content/selfheal/smf-quickstart.jsp</a></p>
<p>Subir y bajar el apache es tan sencillo como ejecutar los siguientes  comandos:</p>
<p>Levantar:     <span class="monospace">svcadm enable network/http:apache2</span><br />
Bajar:           <span class="monospace">svcadm disable network/http:apache2</span><br />
Reiniciar:     <span class="monospace">svcadm restart network/http:apache2</span></p>
<p>Como podrán observar, los servicios se agrupan en unidades más “user-friendly” (o admin-friendly), en vez de ser archivos tirados en directorios (de hecho en Solaris siempre era más molesto que en Linux, porque el archivo debía estar indefectiblemente en /etc/init.d y con hard links en /etc/rc3.d &#8211; para el caso de servicios que levantaran en runlevel 3). Además se pueden configurar facilmente variables de entorno y otras cosas locas que se deben inicializar con el servicio.</p>
<p>Por otro lado, al haber un daemon constantemente corriendo, si el servicio no es deshabilitado por un “restarter” habilitado, el servicio se levanta automáticamente:</p>
<pre>[root@BOCUNOCDWB04:~]# svcadm enable network/http:apache2
[root@BOCUNOCDWB04:~]# ps -ef |grep httpd
root 23319     1   3 13:38:59 ?           0:01 /usr/local/apache2/bin/httpd -k start -DSSL
nobody 23328 23319   0 13:39:02 ?           0:00 /usr/local/apache2/bin/httpd -k start -DSSL
root 23330 22786   0 13:39:04 pts/2       0:00 grep httpd
nobody 23327 23319   0 13:39:02 ?           0:00 /usr/local/apache2/bin/httpd -k start -DSSL
root 23322     1   0 13:39:01 ?           0:00 /usr/local/apache2/bin/httpd -k start -DSSL
nobody 23326 23319   0 13:39:02 ?           0:00 /usr/local/apache2/bin/httpd -k start -DSSL
nobody 23325 23319   0 13:39:02 ?           0:00 /usr/local/apache2/bin/httpd -k start -DSSL
nobody 23324 23319   0 13:39:02 ?           0:00 /usr/local/apache2/bin/httpd -k start -DSSL
[root@BOCUNOCDWB04:~]# pkill httpd
[root@BOCUNOCDWB04:~]# ps -ef |grep httpd
root 23357     1   0 13:39:22 ?           0:00 /usr/local/apache2/bin/httpd -k start -DSSL
nobody 23360 23351   0 13:39:22 ?           0:00 /usr/local/apache2/bin/httpd -k start -DSSL
root 23365 22786   0 13:39:22 pts/2       0:00 grep httpd
root 23351     1   2 13:39:20 ?           0:01 /usr/local/apache2/bin/httpd -k start -DSSL
nobody 23359 23351   0 13:39:22 ?           0:00 /usr/local/apache2/bin/httpd -k start -DSSL
nobody 23361 23351   0 13:39:22 ?           0:00 /usr/local/apache2/bin/httpd -k start -DSSL
nobody 23362 23351   0 13:39:22 ?           0:00 /usr/local/apache2/bin/httpd -k start -DSSL
nobody 23363 23351   0 13:39:22 ?           0:00 /usr/local/apache2/bin/httpd -k start -DSSL
[root@BOCUNOCDWB04:~]#</pre>
<p>De la misma forma, si hay algún error al levantar el programa o el mismo se muere dejando algún error, el servicio es puesto en estado “maintenance”, para poder consultar posteriormente por qué no está corriendo.</p>
<pre>[root@BOCUNOCDWB04:~]# svcs -xv network/http:apache2
svc:/network/http:apache2 (Apache 2 HTTP server)
State: maintenance since Mon 14 Jul 2008 01:37:39 PM COT
Reason: Start method failed repeatedly, last exited with status 1.
See: http://sun.com/msg/SMF-8000-KS
See: man -M /usr/apache2/man -s 8 httpd
See: /var/svc/log/network-http:apache2.log
Impact: This service is not running.
[root@BOCUNOCDWB04:~]#</pre>
<p>Para configurar los servicios hay una consola a la que podemos acceder  con svccfg.</p>
<pre>
[root@BOCUNOCDWB04:~]# svccfg
svc:> select network/http
svc:/network/http> select apache2
svc:/network/http:apache2> listprop
httpd                              application
httpd/stability                    astring  Evolving
httpd/ssl                          boolean  true
network                            dependency
network/entities                   fmri     svc:/milestone/network:default
network/grouping                   astring  require_all
network/restart_on                 astring  error
network/type                       astring  service
filesystem-local                   dependency
filesystem-local/entities          fmri     svc:/system/filesystem/local:default
filesystem-local/grouping          astring  require_all
filesystem-local/restart_on        astring  none
filesystem-local/type              astring  service
autofs                             dependency
autofs/entities                    fmri     svc:/system/filesystem/autofs:default
autofs/grouping                    astring  optional_all
autofs/restart_on                  astring  error
autofs/type                        astring  service
startd                             framework
startd/ignore_error                astring  core,signal
general                            framework
general/enabled                    boolean  true
start                              method
start/exec                         astring  “/lib/svc/method/http-apache2 start”
start/timeout_seconds              count    60
start/type                         astring  method
stop                               method
stop/exec                          astring  “/lib/svc/method/http-apache2 stop”
stop/timeout_seconds               count    60
stop/type                          astring  method
refresh                            method
refresh/exec                       astring  “/lib/svc/method/http-apache2 refresh”
refresh/timeout_seconds            count    60
refresh/type                       astring  method
restarter                          framework    NONPERSISTENT
restarter/transient_contract       count  restarter/logfile                  astring  /var/svc/log/network-http:apache2.log
restarter/contract                 count    299148
restarter/start_pid                count    23339
restarter/start_method_timestamp   time     1216060760.150109000
restarter/start_method_waitstatus  integer  0
restarter/auxiliary_state          astring  none
restarter/next_state               astring  none
restarter/state                    astring  online
restarter/state_timestamp          time     1216060760.155996000
restarter_actions                  framework    NONPERSISTENT
restarter_actions/restart          integer
restarter_actions/maint_off        integer
svc:/network/http:apache2>
</pre>
<p>La forma en que el daemon manejará los servicios se define en un script que tiene “métodos”, que serán invocados por el daemon. Estos scripts están en /lib/svc/methods, y el daemon los llama por ejemplo de esta forma:</p>
<pre>/lib/svc/methods/http-apache2 start </pre>
<p>Adentro el método consulta algunas variables del servicio y lo levanta.  El script es muy similar a los de /etc/init.d.</p>
<p>Con svcs se listan los servicios.<br />
Con svcs -l  se puede ver el estado actual de un determinado servicio. Además podes se puede ver el proceso principal y sus hijos:</p>
<pre> % <strong>svcs -p network/smtp:sendmail</strong>
    STATE          STIME    FMRI
    online         18:20:30 svc:/network/smtp:sendmail
     18:20:30      <em>655</em> sendmail
     18:20:30      <em>657</em> sendmail</pre>
<p>Y con svcs -x  se puede ver por qué un determinado servicio falló.</p>
<p>Tiene muchas más cosas locas. Yo creo que debe tener alguna forma de controlar servicios remotos, porque cada servicio tiene una URI que llaman FMRI (Fault Managed Resource Identifier), que puede ser algo así:</p>
<ul>
<li><span class="monospace"> svc://localhost/system/system-log:default</span></li>
<li><span class="monospace">svc:/system/system-log:default</span></li>
<li><span class="monospace">system/system-log:default</span></li>
</ul>
<p>Y en la primera opción justamente se define una location que en ese caso es localhost, pero supongo que uno podría poner una IP.</p>
<p>También hay otras cosas locas para el manejo de los runlevels del SO. Podés definir milestones que, si no entendí mal, serían como runlevels custom para los cuales vos podés definir qué servicios corren.</p>
<p>Más información sobre SMF en el System Administration Guide de Solaris:  <a class="moz-txt-link-freetext" href="http://docs.sun.com/app/docs/doc/817-1985">http://docs.sun.com/app/docs/doc/817-1985</a></p>
<p>Particularmente en estos dos capítulos:<br />
<a class="moz-txt-link-freetext" href="http://docs.sun.com/app/docs/doc/817-1985/hbrunlevels-25516?a=view">http://docs.sun.com/app/docs/doc/817-1985/hbrunlevels-25516?a=view</a><br />
<a class="moz-txt-link-freetext" href="http://docs.sun.com/app/docs/doc/817-1985/faauf?a=view">http://docs.sun.com/app/docs/doc/817-1985/faauf?a=view</a></p>
<p>Cheat-sheet de  SMF: <a href="http://www2.petervg.nl/quick_reference/SolarisSMF.pdf">http://www2.petervg.nl/quick_reference/SolarisSMF.pdf</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tail-f.com.ar/sistemas-operativos/solaris/solaris-smf.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

