X

News, tips, partners, and perspectives for the Oracle Solaris operating system

Un nuevo conjunto de comandos para Solaris Cluster 3.2

Guest Author

La versión 3.2 de Solaris Cluster incluye una Interfaz de línea de comandos (CLI) completamente nueva para la administración del clúster. El nuevo conjunto de comandos incluye numerosas características que facilitan su uso y lo convierten en una opción más fácil de utilizar y más potente que el conjunto de comandos incluido en versiones anteriores del producto.

Por supuesto, el conjunto de comandos conocido de versiones anteriores todavía está disponible en la versión 3.2, y es totalmente compatible para aquellos usuarios que no estén preparados para el cambio. Todos los comandos siguen ubicados en /usr/cluster/bin, de modo que no es necesario que los usuarios modifiquen la configuración de PATH para buscar comandos de ambos conjuntos. Los nombres de los comandos en el antiguo conjunto de comandos comienzan con el prefijo "sc", y los nombres de los comandos de la nueva CLI comienzan con el prefijo "cl". Los dos conjuntos de comandos son totalmente compatibles entre sí, de modo que los usuarios pueden intercambiar comandos de ambos conjuntos en la misma secuencia de comandos o en la línea de comandos.

Las primeras impresiones de los usuarios en lo que al nuevo conjunto de comandos respecta ha resultado muy positiva. Pero, en ocasiones, nos han preguntado "¿Por qué una nueva CLI para Solaris Cluster? ¿Qué problema tenía la antigua?" No hace mucho tiempo, Sun llevó a cabo un amplio sondeo entre administradores del sistema Solaris Cluster. Se llegó a la conclusión de que los principales problemas a los que hacían frente los administradores estaban relacionados principalmente con el conjunto de comandos. Sun pensó que la mejor solución para atajar estos problemas era la introducción de un conjunto de comandos totalmente nuevo. Los datos procedentes de este estudio, junto con otros comentarios de clientes, fueron de gran utilidad para comenzar el diseño de una nueva CLI. Su diseño pasó por varias fases de mejora a medida que íbamos presentando nuevas ideas a nuestros clientes. Y, por último, se realizaron estudios exhaustivos sobre su facilidad de uso antes de que el diseño final estuviera listo para su implementación.

El nuevo conjunto de comandos está "orientado a objetos". Es decir, existe un comando distinto para cada tipo de objeto de clúster que un administrador podría necesitar administrar. Por ejemplo, un usuario que administre únicamente grupos de recursos sólo necesita utilizar el nuevo comando "clresourcegroup" para administrar grupos. El comando "clresourcegroup" puede utilizarse para crear/eliminar grupos, definir propiedades de grupos, realizar intercambios entre grupos de recursos, imprimir informes de estado y configuración, etc... Cada comando nuevo admite la administración completa de todos los objetos del tipo que controla.

Las nuevas interfaces de comandos utilizan el mismo formato básico:

cl<tipo_objeto> [<subcomando>] [<opciones>] [<objetos>]

Por ejemplo, para crear un nuevo grupo de recursos "rg1", se puede utilizar alguno de los siguientes comandos:

clresourcegroup create rg1
clresourcegroup create --property Description="My rg" rg1

Los usuarios utilizarán subcomandos para realizar la mayoría de tareas, aunque algunas opciones como, por ejemplo --help y --version, pueden utilizarse sin subcomandos.

La mayoría de los nuevos comandos también cuentan con "alias" o "nombres cortos". Nuestros clientes nos comunicaron que deseaban nombres de comandos que fueran descriptivos y que tuvieran sentido. No obstante, también nos comunicaron que deseaban nombres de comandos que fueran cortos y fáciles de escribir. El equipo de Solaris Cluster pensó que la mejor solución era ofrecer ambas alternativas. Por lo tanto, la mayoría de los comandos disponen de dos nombres para elegir: un nombre descriptivo y un nombre corto. Por ejemplo, "clrg" es igual a "clresourcegroup":

clresourcegroup create rg1
clrg create rg1

En los ejemplos anteriores, habrá podido observar que los nuevos comandos aceptan nombres de opción largos (por ejemplo, --property, --help, --version, ...). Los nombres de opción largos resultan útiles, especialmente en secuencias de comandos, ya que suelen ser aclaratorios. Sin embargo, también pueden suponer un problema al emitir comandos directamente desde la línea de comandos. Los nuevos comandos admiten nombres largos y sólo letras para las distintas opciones. Al especificar opciones, los usuarios pueden utilizar nombres de opción largos, con un guión doble (--), o letras de opción abreviadas, con un único guión (-). A modo de ejemplo, los siguientes dos comandos realizan exactamente lo mismo:

clrg create --property Description="My rg" rg1
clrg create -p Description="My rg" rg1

Por el momento, puede pensar que es algo muy básico y muy similar a otros comandos que ha utilizado. Y eso es exactamente lo que pretendemos. La nueva interfaz de línea de comandos Solaris Cluster está diseñada para presentar una interfaz conocida. Los comandos son similares a los de GNU, pero cumplen con las convenciones más estrictas del "Paradigma de interfaz de línea de comandos" (CLIP) de Sun.

No contamos aquí con el espacio suficiente para describir todas las características útiles que se incluyen en el nuevo conjunto de comandos. Sin embargo, utilizaremos algunos ejemplos sencillos para mostrar rápidamente otras funciones que todavía no hemos abordado.

En nuestro primer ejemplo, se eliminan y se vuelven a crear a continuación todos los recursos y grupos de un clúster:

# cluster export >clusterconfig.xml
# clrg delete --force +
# clrg create --input clusterconfig.xml +
# clrs create --input clusterconfig.xml +
# clrg online +

El primer comando de este ejemplo es "cluster export". La mayoría de los nuevos comandos admiten un subcomando "export" para exportar una copia de los datos de configuración del clúster seleccionados al formato XML. El comando "cluster" es parecido al comando "umbrella" y puede, entre otras opciones, generar informes de configuración y estado para el clúster si se utiliza con los subcomandos "status", "show" o "export".

A continuación, "clrg delete --force +" se utiliza para eliminar todos los recursos y grupos de recursos del clúster. La opción "force" (forzar) ordena al comando que elimine todos los grupos de recursos, incluso si los grupos aún incluyen recursos. El símbolo "+" puede utilizarse como un operando en la mayoría de comandos como una especie de "carácter comodín" para indicar todos los objetos del tipo administrado por el comando.

Los siguientes dos comandos, "clrg create" y "clrs create", se utilizan para volver a crear todos los grupos de recursos y los recursos descritos en el archivo "clusterconfig.xml" creado en el primer paso. En un enfoque distinto, podríamos haber omitido el paso relacionado con "clrg" y haber utilizado la opción "--automatic" del paso de "clrs" para crear automáticamente los grupos necesarios para los nuevos recursos.

Por último, todos los grupos de recursos del clúster se establecen en línea utilizando "clrg online +".

En el ejemplo que se muestra a continuación, se muestra cómo se actualiza una propiedad de recurso "matriz de cadena":

# clrs list-props --verbose myresource
Property Name Description
-------------  -----------
myuserlist This is a list of user names
# clrs set -p myuserlist+=user9,user10 myresource

"list-props" es un subcomando bastante útil. Se utiliza para indicar nombres de propiedad y, si se utiliza con --verbose, sus descripciones. Con "clrs", se enumeran de forma predeterminada las propiedades de extensión, aunque hay opciones disponibles para enumerar también las propiedades. En este ejemplo, hemos utilizado "clrs list-props" para mostrar las descripciones de todas las propiedades de extensión para el recurso denominado "myresource".

Por último, "clrs set" se utiliza para actualizar la propiedad de extensión "myuserlist" del recurso "myresource". Tenga en cuenta que ya no es necesario distinguir entre las propiedades "extensión" y "estándar" al actualizarlas en la línea de comandos (a no ser que un tipo de recurso utilice un nombre de propiedad "extensión" que entra en conflicto con un nombre de propiedad "estándar"). Otra característica útil es que las propiedades "matriz de cadena" pueden ahora actualizarse sin tener que volver a especificar la parte de la matriz sin modificar. La opción --property (-p) en "clrs" admite la siguiente sintaxis para actualizar una propiedad de recurso "matriz de cadena":

--property <property name>=<property value list>
--property <property name>+=<property value list>
--property <property name>-=<property value list>

Las páginas de comando man en línea de la nueva CLI de Solaris Cluster pueden encontrarse en la sección "1CL" del Manual de referencia de Sun Cluster para el SO Solaris.

Existen otras características más eficaces en el nuevo conjunto de comandos que no hemos podido tratar aquí. Háganos saber qué es lo más le gusta del nuevo conjunto de comandos. Y, por supuesto, no dude en enviarnos sugerencias para realizar mejoras.


John Cummings
Ingeniero jefe
Departamento de ingeniería de Solaris Cluster

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha
Oracle

Integrated Cloud Applications & Platform Services