Академический Документы
Профессиональный Документы
Культура Документы
Introducción a la Administración
INTRODUCCIÓN cuando el software haya sido programado para ello, pues será necesa‐
rio disgregar el proceso, y para ello dicha aplicación tendrá que poder
ADMINISTRACIÓN DE UN SISTEMA ser “paralelizable”).
El clústering se puede lograr estableciendo un sistema por en‐
El administrador tiene la máxima responsabilidad sobre un sis‐ cima del sistema operativo, llamado middleware, que permita un
tema informático: tiene que ejecutar programas, mantener operativo trabajo coordinado y distribuido de un conjunto de máquinas, aunque
el sistema, mantener disponible la información (también para los lo más común es que esté a nivel del kernel, mediante la instalación
procesos) y garantizar la seguridad de acceso a la información. de módulos en el mismo.
En un clúster de máquinas no se replica la información, sino que
ESTRATEGIAS DE ADMINISTRACIÓN se replica el punto de acceso. Es decir, si el acceso a una unidad de
disco está restringido a una sola máquina, entonces la disponibilidad
Las estrategias que un administrador debe seguir para conse‐ de ese disco estará gravemente comprometida, pues si la máquina
guir cumplir con lo anteriormente dicho parten de conocer a fondo el falla, no podré acceder a él. Sin embargo, si tengo un cluster de tres
sistema. Además, y de forma complementaria, el administrador ten‐ máquinas, se podrá acceder al disco por cualquiera de ellas, y podrán
drá que planear y estudiar los cambios que vaya a realizar en el fallar dos sin que ello comprometa su disponibilidad. Por tanto, las
sistema, teniendo en cuento que cada uno de ellos tendrá que ser principales ventajas de esta técnica son:
siempre reversible (mediante copias, snapshots, o lo que sea). Hay
que tener en cuenta que para cambios sucesivos habrá que encade‐ Alta disponibilidad de la capacidad de cómputo.
narlos de forma incremental y realizar pruebas para cada uno de ellos, Mejora del rendimiento del sistema por su capacidad de
para saber a qué cambio achacar los posibles fallos. Además, será trabajo en paralelo.
importante que el administrador vaya redactando una bitácora de Balanceo de carga entre los nodos. Al tener muchos procesos
cambios y progresos del sistema, documentándolo todo para conocer ejecutándose de forma constante, podré separarlos entre
mejor el sistema (esta bitácora puede estar en cualquier soporte, los nodos del clúster y así distribuir la carga de trabajo según
aunque por ejemplo se podría guardar en “/etc/INFO”). convenga. Esto permite, obviamente, que el sistema sea fá‐
cilmente escalable, que es la siguiente ventaja.
DISPONIBILIDAD DEL SISTEMA Escalabilidad.
En un clúster de máquinas, tendremos redundancia a nivel de
El sistema ha de estar disponible para todos los usuarios y pro‐
acceso.
cesos que requieran de él. Ésta es la principal tarea del administrador,
A nivel de acceso, replicar servicios es muy utilizado, es decir, repli‐
que tendrá que conseguir, por tanto, que el sistema siempre esté
camos el servicio web sobre un cluster de nodos para que la web pueda
funcionando y sus recursos siempre estén disponibles. Para conseguir‐
realizar balanceo de carga (siendo muy útil para el cloud computing).
lo, la técnica básica es la replicación de recursos, aunque replicarlos
también implica la replicación de problemas y el aumento de la com‐
Clústeres Virtuales
plejidad, lo que es un inconveniente.
Podemos emular un clúster sobre un entorno virtualizado, en el
CLÚSTER DE MÁQUINAS
que nuestros nodos sean sistemas “guest” sobre una plataforma de
virtualización o Monitor (recuerda que una máquina puede poner en
Es una técnica de replicación basada en el agrupamiento de
marcha varios monitores a un mismo tiempo).
máquinas capaces de ejecutar procesos de forma coordinada y concu‐
rrente.
Antaño, esta técnica se utilizó para mejorar las prestaciones de
cara al cómputo, no de cara a la disponibilidad, pues permitía, y de
hecho permite, el procesamiento de datos en paralelo (siempre y
1
Administración de Sistemas Operativos
DISPONIBILIDAD DE LA INFORMACIÓN CENTRALIZACIÓN DE LA ADMINISTRACIÓN
Al igual que ocurre con el procesamiento, la información tam‐ La replicación de recursos es fundamental para aumentar la
bién debe estar siempre disponible, y como antes, también se basa en disponibilidad, sin embargo, implica un aumenta de complejidad, lo
la replicación de nodos, creando redes, o conjuntos de nodos, que que dificulta su administración. Por lo tanto, necesitaremos servicios
gestionen el acceso y el almacenamiento de la información de forma que centralicen la administración de estos recursos distribuidos para
coordinada. Es decir, si replico mi información tendré que hacer que reducir la complejidad de la información. Es decir, si centralizamos
todas las copias se actualicen a la vez a su versión más actual, pues cierta información, como usuarios, claves, configuraciones y demás,
habremos de respetar la coherencia de los datos, lo que suele suponer podremos simplificar las tareas del administrador.
una ralentización del sistema. La forma más sencilla de conseguir que Para centralizar esta información contamos con los servicios de
la información esté disponible será mediante el almacenamiento directorio (que se volverá a hablar de ellos en el Tema Dos).
distribuido de la misma.
SERVICIOS DE DIRECTORIO
ALMACENAMIENTO DISTRIBUIDO
Los servicios de directorio son algo parecido (que no igual) a
En el almacenamiento distribuido, al tener los datos replicados, una base de datos. Con ellos podemos centralizar la información para
también tendré que replicar los procesos que nos dan acceso a esos facilitar la administración. Se diferencian de una base de datos en que:
datos.
El almacenamiento distribuido se basa en una plataforma No son transaccionales. Es decir, las interacciones no tienen
hardware: que realizarse de una sola vez, ni tienen por qué tener que
realizarse completamente para que el resto del sistema
Redes SAN. pueda alcanzar la estructura de dicha interacción a medio
Sistemas RAID manipular.
Están pensados para ser leídos, más que escritos. Se dise‐
La información se almacena de forma organizada gracias a un ñaron como índices, no como depósitos de información ni
sistema de ficheros. Estos sistemas mantienen información de con‐ para ser modificados constantemente como una base de
texto con la ubicación de cada dato así como de su estado. datos.
Además de la organización de los datos y de la plataforma Su lenguaje de consulta es más sencillo.
hardware, también hemos de garantizar el acceso remoto a los datos.
Esto suele hacerse mediante protocolos de alto nivel para transferen‐ ACTUALIZACIÓN DEL SISTEMA
cia de ficheros, como los usados en volúmenes NAS (SMB, FTP,
WebDAV, etc.). Por tanto, para lograr esa disponibilidad, tendrá que Actualizar el sistema es fundamental para mejorar su rendi‐
funcionar tanto el protocolo que nos da acceso a los datos, como el miento, y no sólo a nivel hardware, sino a nivel software.
sistema de almacenamiento. Además, tampoco podremos olvidar la La aplicación de actualizaciones software implica:
seguridad de esta información, es decir:
Mejorar la compatibilidad con hardware de nueva apari‐
Seguridad a nivel de almacenamiento: podemos cifrar los ción.
datos en el disco para garantizar la seguridad, aunque esto Resolver problemas de seguridad.
conlleva una mayor lentitud y una mayor complejidad. Resolver errores del propio software instalado.
Seguridad a nivel de acceso y comunicación: mediante au‐
tenticación y protocolos seguros. Las actualizaciones se aplican a nivel de kernel y a nivel de apli‐
cación. Ambas son operaciones críticas que sólo deberían ser
Como se puede ver, conseguir una alta disponibilidad es com‐ realizadas por el administrador. Será fundamental conocer el origen
plicado. de estas actualizaciones, que deberán estar firmadas o tendrán que
garantizar su autenticidad de alguna otra forma. Si no fuera así, el
COORDINACIÓN DE RECURSOS Y USUARIOS sistema podría dar errores, o dar muestras de un funcionamiento
inesperado, y por tanto, no deseado.
Para conseguir una buena coordinación nos serviremos de ser‐
vicios de directorio y de una centralización de la administración.
2
Administración de Sistemas Operativos
DEPÓSITOS DE ACTUALIZACIONES SOFTWARE DESARROLLADO POR NOSOTROS
Casi todos los sistemas poseen sistemas de gestión de actuali‐ Suele ser más “ligero” que el desarrollado por terceros, ya que
zaciones. Estos sistemas permiten centralizar en una máquina de el administrador no tiene tiempo para largos y pesados desarrollos. Se
nuestra red la gestión de las actualizaciones para las demás. Los sis‐ utilizan lenguajes interpretados por su ligereza y versatilidad: Python,
temas operativos cuentan con estos servicios; Windows 2008 posee Visual Basic, Bash, etc., consiguiendo unas herramientas que, aunque
Windows Server Updater Service; y Linux, apt‐cacher (ver Tema Cua‐ son más sencillas, suelen adaptarse perfectamente al entorno en que
tro), asegurándonos su autenticidad y evitando, por tanto, que se ejecutan.
podamos instalar código desconocido en nuestro sistema que pueda
vulnerar su fiabilidad.
PREGUNTAS.
HERRAMIENTAS DE ADMINISTRACIÓN
1. ¿Qué responsabilidades son propias del administrador del
Entre las herramientas de administración podemos contar con sistema?
software desarrollado por terceros, o aquel que desarrollemos noso‐ 2. Describe al menos cuatro estrategias del administrador.
tros mismos. 3. Describe el concepto de clustering y sus principales venta‐
jas.
SOFTWARE DE TERCEROS 4. ¿Cómo asocias la idea del clúster y del cloud computing?
5. ¿Cómo podemos tratar el problema de la seguridad en rela‐
Se puede recurrir al software de terceros, que es aquel desarro‐ ción al almacenamiento de datos?
llado por una tercera parte y es adquirida por nosotros. En función de 6. ¿En qué consiste un servicio de directorio? ¿Qué lo diferen‐
su licencia, tendremos unos determinados derechos. Por recordar las cia de una base de datos?
licencias: 7. ¿Qué implica desconocer el origen de una actualización?
¿Cómo podemos garantizar su origen?
GPL, BSD, Apache, etc. Tendremos derecho a modificarlo y
adaptarlo a nuestro entorno directamente.
Si es una licencia propietaria o restringida, no podremos
modificarlo y tendremos que adaptarlo desde la configu‐
ración externa de la propia herramienta.
3
Tema Dos
Servicios de Directorio
INTRODUCCIÓN
Relación lectura – escritura. La información de los directo‐
¿QUÉ ES UN DIRECTORIO? rios es en gran medida estática (sufren pocos cambios).
Aunque soportan un gran número de lecturas, su número
Aunque un directorio, tradicionalmente ha sido, y sigue siendo, de escrituras es bajo. Los esfuerzos de optimización se
un lugar físico de almacenaje de la información, podemos definir centran en las búsquedas y lecturas del directorio, mien‐
también un directorio como un elemento lógico donde se almacena la tras que las bases de datos deben optimizar todas sus
información de forma organizada, y cuya función principal es soportar operaciones.
búsquedas o consultas sobre ellos. Para ello necesitan tener la infor‐ Extensibilidad. El esquema es la organización que se les da
mación organizada en base a un esquema. a los datos en el directorio o en la base de datos, y recoge
Los esquemas organizan la información de los directorios, y en qué atributos o información se guarda de cada elemento.
ellos están incluidos los tipos de elementos que vamos a almacenar, Los directorios suelen permitir la modificación de este es‐
qué información se almacena de cada elemento, y qué tipo de bús‐ quema de forma sencilla, mientras que en muchas bases
quedas vamos a soportar. Un ejemplo de directorio con diferentes de datos de propósito general este cambio suele ser cos‐
organizaciones, son una teleguía o una guía de teléfonos. toso o incluso imposible.
Distribución de los datos. La distribución de datos se realiza
SERVICIOS DE DIRECTORIO para optimizar consultas y paralelizarlas (o simultanear‐
las). Las bases de datos no suelen permitir fragmentar las
Los sistemas informáticos también cuentan con directorios. Se tablas en diferentes nodos (permiten una fragmentación
utilizan para almacenar información importante pero en pequeña vertical), mientras que los directorios permiten ordenar
cantidad, como: sus elementos en Unidades Organizativas y separar estas
en diferentes nodos (permiten fragmentación horizontal).
Índice de tablas. Replicación de los datos. Las bases de datos permiten la re‐
Datos personales de usuarios. plicación de sus datos y aseguran la consistencia entre
Localizaciones de datos o referencias. todas sus réplicas, lo que requiere protocolos complejos y
Configuraciones… y demás. pesados. Sin embargo, los directorios no suelen tener pro‐
tocolos de consistencia tan estrictos, que suelen permitir
Un servicio de directorio es tanto el origen de información del inconsistencias temporales. Estas inconsistencias pueden
directorio, como el servicio que hace que dicha información esté ser críticas si se están utilizando todas las réplicas de for‐
disponible para los usuarios. Un servicio de directorio permite a los ma activa, y no como simples apoyos frente a fallos.
usuarios encontrar un objeto con cualquiera de sus atributos. Rendimiento. Las necesidades de rendimiento entre las ba‐
Los servicios de directorio no son las fuentes principales de al‐ ses de datos y los directorios son muy diferentes: de un
macenamiento, sin embargo, ofrecen sencillez de implantación y servidor de base de datos se espera que permita hasta
administración, y son fáciles de adaptar a múltiples entornos. Su cientos de transacciones por segundo; sin embargo, aun‐
objetivo es ofrecer una fuente centralizada de búsqueda inicial. que un directorio no permita transacciones, se espera que
A los servicios de directorio se accede a través de aplicaciones su rendimiento sea del orden de miles de consultas por
cliente, de ahí su rol de servicios. segundo. Como los directorios son una parte central de
muchas aplicaciones, pueden ser potenciales cuellos de
botella.
RELACIÓN ENTRE EL DIRECTORIO Y LAS BBDD
Estándares. Para el aprovechamiento total de la potencia
de la base de datos se utiliza el lenguaje de consulta SQL,
Un directorio no es una base de datos; las bases de datos son
además, las aplicaciones de las utilizan suelen cargarse de
más genéricas, y los servicios de directorio más específicos.
complejidad adicional (transacciones, consistencia, etc.).
Las diferencias con las bases de datos son las siguientes:
4
Administración de Sistemas Operativos
En el caso de los directorios, el lenguaje de consulta es ra, etc.), y a su vez, las entradas están almacenadas en forma de árbol
más sencillo y compacto, y como consecuencia las aplica‐ para optimizar las búsquedas y consultas (es más rápido que si los
ciones son mucho más ligeras y sencillas de implementar. datos estuvieran almacenados de forma continua).
Como se dijo al principio, los componentes de cada entrada es‐
ARQUITECTURA LDAP tán definidos en un esquema, es decir, podríamos estructurarlos a
través de un xml, pues sus características no son muy complejas.
(Lightweight Directory Access Protocol)
Cada entrada tiene los siguientes componentes:
Por recordar lo del año pasado, LDAP “es el protocolo de acceso
DN (Distinguished Name). Es una cadena de caracteres.
principal de Active Directory, como tal, tendrá que ser instalado tanto
UUID (Universally Unique Identifier). Es el identificador de la
en el cliente como en el servidor. Por decirlo de forma sencilla, LDAP
entrada.
regula el acceso a los contenedores creados por Active Directory con
Atributos. Que a su vez están compuestos de un TIPO y un
toda la información de usuarios y objetos. Se entiende por contenedor,
VALOR (o valores). Los atributos más comunes son:
cualquier tabla que contiene nombres de elementos, cada uno de ellos
‐ dc (Domain Component). Se trata de la compo‐
cos sus características; es decir, una base de datos muy simple. Un
nente del dominio.
servicio LDAP da acceso a ese contenedor (o base de datos ligera)
‐ c (Country). Se refiere al país o región.
donde se almacenan las entidades y sus propiedades. Active Directory
‐ o (Organization). Sobre la organización
utiliza este protocolo para almacenar información de usuarios, obje‐
‐ ou (Organizative Unity). Se refiere a la Unidad Or‐
tos, configuraciones, directivas, etc. Lo primero para crear un dominio
ganizativa.
será montar este servicio.”
‐ cn (Common Name). Nombre común de la entrada.
Sin embargo, no sólo se implementa en Active Directory, sino
también en OpenLDAP, como veremos más adelante.
Es decir, todo registro está formado por un apuntador (una re‐
ferencia de ubicación del objeto) llamado DN y un esquema que
HISTORIA
almacena lo que se va a almacenar de cada tipo de elemento.
Hay que tener en cuenta que no todas las entidades tienen que
Este protocolo de acceso principal de Active Directory parte del
tener todos los atributos declarados. Además, podemos añadir ele‐
DAP (Directory Access Protocol), construido sobre el modelo OSI. LDAP
mentos o atributos para modificar las tablas de LDAP.
surge como adaptación de este protocolo sobre la arquitectura de
protocolos TCP/IP.
MODELO DE NOMBRADO
LDAP es más sencillo y ligero que DAP por haber eliminado sen‐
tencias poco utilizadas; se trata de un protocolo que va a ser utilizado
Las entradas se organizan dentro del árbol en base a su DN. El
en el nivel de aplicación (el quinto de TCP/IP).
DN muestra el camino desde la propia entrada hasta la raíz (y no al
revés como en los sistemas de ficheros). El DN es una secuencia de
MODELO DE INTERACCIÓN
RDNs (Relative Distinguished Names). De esta forma sabemos que dos
entradas que tengan una terminación común de su DN tienen ances‐
LDAP se utiliza siguiendo el modelo cliente – servidor, donde el
tros comunes (están en el mismo lugar del árbol).
cliente inicia una conexión contra un servicio LDAP en el puerto 389
de TCP (posiblemente con autenticación). Una vez conectado, el
Diferencias entre DN y RDN
cliente envía mensajes con operaciones sobre el directorio, como
search, modify, add, delete, etc. Como respuesta a las peticiones
El DN identifica unívocamente al objeto. El DN es un puntero
anteriores, y según este modelo, el servidor puede enviar al cliente:
de ubicación, es decir, una cadena que describe en qué lugar del árbol
encontramos esa entrada. La cadena se crea mediante una concate‐
‐ Mensajes de respuestas a sus peticiones.
nación de los RDN de todas las entradas por las que se pase hasta
‐ Mensajes de notificación no solicitada, que no responden
llegar a la raíz. Es decir, si nuestra raíz es el elemento EMPRESA, con
a ningún mensaje concreto del cliente.
UUID=001, y atributos: o=empresa y c=es, su DN base sería
[o=empresa, c=es]. Todos los elementos que “cuelguen” de empresa
Tras los mensajes, la conexión finaliza por parte del cliente.
tendrán ese DN base como terminación común.
El RDN identifica al objeto dentro de su rama. Es decir, es toda
ARQUITECTURA INTERNA
la parte del DN que no tiene que ver con la ubicación del objeto. El
RDN puedo elegirlo de entre los atributos del objeto, pero hay que
La información en LDAP se almacena en entradas. Cada entrada
tener en cuenta que como el DN se construye a partir de los RDN, si
almacena la información de un elemento o entidad (usuario, impreso‐
cambio los RDN tengo que cambiar los DN. Como el DN no debería
5
Administración de Sistemas Operativos
cambiar, tendré que elegir como RDN aquellos atributos que no pue‐ ACTIVE DIRECTORY
dan cambiar.
Si de EMPRESA salen los empleados, por ejemplo, el EMPLEA‐ Active Directory es un servicio de directorio que almacena in‐
DO1, con UUID=002, cuyos atributos son: cn=mdom, ou=explotación, formación acerca de los objetos de una red y la pone a disposición de
[o=empresa y c=es], tendremos que elegir su RDN (propio de cada los usuarios y administradores de la misma. Active Directory da a los
elemento), que tendrá que ser único para no tener que cambiarlo y así usuarios de red acceso a los recursos permitidos en cualquier punto
no tenga que cambiar su DN. Si elegimos como RDN, su cn=mdom (es de la red mediante un único proceso de inicio de sesión, proporcio‐
poco probable que el empleado cambie las siglas de su nombre), nando a los administradores una vista jerárquica e intuitiva de la red y
entonces su DN será: cn=mdom, o=empresa, c=es. un punto de administración único para todos sus objetos.
El servicio de directorio Active Directory para Windows cataloga
SERVICIOS DISTRIBUIDOS la información acerca de todos los objetos de una red, incluidos usua‐
rios, equipos e impresoras, y distribuye la información por toda la red.
Un servicio puede estar centralizado o distribuido: Además, proporciona un modo coherente para dar nombre, describir,
buscar, tener acceso, administrar y asegurar información sobre estos
Centralizado. Un servidor da servicio a todo el árbol de en‐ recursos individuales. La seguridad está integrada en Active Directory
tradas del directorio. mediante la autenticación de inicio de sesión y el control de acceso. Con
Distribuido. En el que varios servidores dan el servicio total. Active Directory sólo habrá que iniciar la sesión una vez para encontrar y
En este caso, el directorio puede estar FRACCIONADO o utilizar fácilmente los recursos de cualquier parte de la red.
REPLICADO (aunque los directorios pueden adquirir ambas Active Directory usa objetos para representar recursos de red
configuraciones o sólo una de ellas; es decir, a un nivel po‐ como usuarios, grupos y equipos. Estos objetos (como un usuario, una
demos tener distribución fraccionada, sin replicar nada, y impresora o un programa) son las entidades que conforman una red.
a otro nivel del directorio podemos tener replicados cier‐ Por ejemplo, un objeto de usuario puede contener valores para atri‐
tos elementos): butos como el nombre, apellidos y nombre de inicio de sesión del
‐ Fraccionado. Donde cada servidor almacena un usuario. Por fines organizativos, los objetos se colocarán en “contene‐
subconjunto único y no solapado del árbol. Es dores” (o unidades organizativas), como, por ejemplo, la unidad
decir, cada una de las entradas estará únicamen‐ organizativa del departamento de mercadotecnia o un contenedor de
te en un solo servidor, y por tanto, la tabla de objetos relacionados, como impresoras. El acceso a estos contenedo‐
todos los servidores será la tabla total. res estará reglado por LDAP, y así cualquier usuario podrá acceder a la
‐ Replicado. En este caso, una misma entrada LDAP información contenida en ellos.
se almacena en varios servidores. Aunque Active Directory sólo está disponible actualmente en
controladores de dominio de Windows, se podrán incluir al dominio
SEGURIDAD DEL DIRECTORIO estaciones de trabajo UNIX. Aunque tendrán acceso total a los recur‐
sos compartidos dentro del dominio, sólo aquellas máquinas basadas
La seguridad del directorio es algo crítico. Aunque los directos en Windows con el software de cliente Active Directory podrán utilizar
suelen tener parte de información pública, será raro que sean públi‐ Active Directory para solicitar información acerca de estos recursos
cos en su totalidad, ya que ciertos atributos de una entrada sólo compartidos.
deberían ser consultados por ciertos tipos de usuarios. Sin embargo, se podrán montar dominios sin Active Directory a
Esto es lo que hace la política de seguridad, definir quién tiene través de paquetes y aplicaciones (será necesario un servidor SAMBA,
qué tipo de acceso sobre la información a través de listas de control servidor DNS, servidor LDAP y estándar Kerberos) sobre Linux, pero
de acceso (ACL, Access Control List) sobre las entradas y los objetos tendremos que configurarlos de forma aislada (la distribución española,
del directorio. Zentyal, tiene una interfaz web para conectar un servidor para controlar
todo desde un panel gráfico, pero está muy lejos a nivel de fiabilidad de
IMPLEMENTACIONES DE LDAP la versión Windows). No será nada sencillo configurar estos servicios de
forma manual y por separado, para luego integrarlos.
LDAP está implementado en Active Directory (tal y como vimos Active Directory es la solución de Microsoft para la creación de
el año pasado) y en OpenLDAP. dominios; más que un servicio, es un conjunto de servicios para per‐
Active Directory es utilizado por Microsoft en sus sistemas des‐ mitir que toda la información de usuarios, objeto e impresoras, sea
de Windows 2000, por lo tanto su licencia es propietaria y es de accesible desde las demás máquinas del dominio, evitando acumular
código cerrado. OpenLDAP, sin embargo, es de código libre y posee esa información en cada una de las máquinas. Cualquier usuario podrá
una licencia llamada OpenLDAP Public License que ha sido aprobada acceder a cualquier máquina sin necesidad de tener cuenta de usuario
por la FSF (Free Software Foundation). Esta implementación se utiliza en ella. Para esto serán necesarios varios servicios de los que veremos
por lo tanto en diferentes distribuciones de Linux y BSD. los siguientes:
6
Administración de Sistemas Operativos
garantizará su fiabilidad. Algo parecido a Kerberos se utili‐
DNS (Domain Name System). Es el protocolo de resolución za para evitar la monitorización de las páginas de los bancos.
de nombres, utilizado para resolver la ubicación a nivel de
red a partir de un nombre. Active Directory requiere siem‐ CONCEPTOS
pre este servicio para resolver la ubicación de los
elementos registrados en su base de datos, aunque se ins‐ Controlador de Dominio.
tala a parte de Active Directory. Puesto que DNS no exige
muchos recursos, normalmente el controlador de dominio Máquina que centraliza la ejecución de los servicios del Active
también será nuestro servicio de nombres a la hora de Directory (la máquina donde se instala ese directorio). Es decir, la
configurar un dominio. máquina donde se instale el Active Directory será el controlador de
DHCP (Dynamic Host Configuration Protocol). Se instala a dominio.
parte. El protocolo DHCP permite la asignación dinámica
de direcciones IP y otros datos como la máscara de subred Árbol de Dominio.
o la puerta de enlace, haciendo posible una administración
de red cómoda, flexible, segura y confiable. DHCP asignará Estructura conceptual que representa controladores en forma
ámbitos de direcciones (creará una reserva o pool) de de árbol y sus máquinas asociadas. Requiere uno o varios controlado‐
donde los diferentes nodos obtendrán su dirección de red. res de dominio. Una vez montado un árbol de dominio, podrá ser
Es decir, en vez de configurar a mano los datos a nivel IP configurado a través de comandos mediante la PowerShell (una inter‐
(dirección IP, máscara, puerta de enlace) de las máquinas faz de línea de comandos con posibilidad de escritura y conjunción de
de tu dominio, cada una de ellas se lo preguntará a una comandos por medio de módulos de visual Basic), que permitirá hacer
tercera utilizando el protocolo DHCP (trabaja en la capa 2 scripts y macros para automatizar tareas, incluso de forma remota.
de enlace), evitando conflictos de direcciones y ayudando Por ejemplo, podríamos automatizar la creación de todas las cuentas
a conservar el uso de las direcciones IP de clientes en la de usuarios con un script que leyera los nombres de un archivo. La
red. Por ejemplo, el router de nuestras casas viene equi‐ PowerShell será fundamental para sacarle todo el partido al servidor.
pado con este protocolo, así, cada vez que arranca nuestra Todo árbol de dominio está compuesto por:
máquina, le pedirá al servicio DHCP los datos IP.
Este protocolo simplifica mucho las cosas, pero habrá má‐ Uno o varios controladores raíz. Todos estos controladores
quinas concretas que no podrán conseguir su IP mediante tendrán una base de datos con el mismo contenido. Si son
DHCP, como los servidores. Sin embargo, al tomar como varios controladores, esta réplica nos permitirá tener tole‐
base las direcciones MAC (recuerda que trabaja en la capa rancia a fallos. De forma automática, al crear un
2 del modelo TCP/IP), podremos hacer que un servidor controlador adicional en un dominio ya existente, se crea‐
tenga siempre la misma IP. ¿Cómo? Asociaremos siempre rá una réplica de la base de datos y ambos controladores
esa IP con la dirección MAC del servidor y conseguiremos se comunicarán. NO EXISTEN DIFERENCIAS entre un con‐
que siempre quede reservada para él, aunque se asigne trolador de dominio primario y uno secundario, aunque si
dinámicamente. la información de un usuario es creada en el controlador
Debido a que el DHCP se descubre por mensajes de difu‐ secundario, esta información tardará un tiempo en estar
sión, tener varios servicios de ellos funcionando en la sincronizada con el primario, y si las máquinas tienen co‐
misma subred IP podría ser problemático, pues podría ha‐ mo DNS primario la del controlador creado en primer
ber solapes de ámbitos (es decir, que dos servicios DHCP le lugar, podría tardar un tiempo hasta que se comuniquen
den la misma dirección IP a un mismo equipo). entre controladores, creando retardos y negaciones tem‐
LDAP (Lightweight Directory Access Protocol). porales. Cada máquina podrá ser configurada como se
Estándar de Autenticación Kerberos. Es un estándar (es de‐ desee para preguntar en primer lugar a un controlador o a
cir, un diseño, no una implementación); un mecanismo de otro.
autenticación utilizado para comprobar la identidad de Máquinas asociadas a ese dominio. Introduciendo el DNS
usuarios o hosts. Es un protocolo para permitir una comu‐ del controlador y el nombre del dominio, se unirán al
nicación confiable y segura. Con él, sabremos que los mismo.
actores son quienes dicen ser y nadie podrá seguir o copiar Controladores de dominios hijos.
la comunicación, permitiendo que dos entidades en una
red puedan mostrar sus identidades de manera segura, Bosque de Dominio.
evitando que sean usurpadas. Cuando queramos recupe‐
rar información del Active Directory de forma remota nos Estructura conceptual que representa un conjunto de árboles
de dominio de similar importancia (no comparten raíz). Cuando ten‐
7
Administración de Sistemas Operativos
gamos un conjunto de dominios, tendremos un árbol, y esos dominios DISTRIBUCIÓN (para la gestión de listas de correo) y de SE‐
tendrán una jerarquía relacionada. Si tuviéramos dominios sin rela‐ GURIDAD (para fines administrativos), y pueden tener tres
ción, tendríamos varios árboles de igual importancia, sin que uno de tipos de ámbitos: LOCALES o de DOMINIO, GLOBALES, y
ellos sea raíz de otro, teniendo entonces un bosque de dominio. UNIVERSALES.
Unidades Organizativas. Son contenedores de objetos pro‐
Ejemplo – Árbol de dominio único. Si creamos un dominio cuyo pios de Active Directory. El DN de un objeto representa la
nombre es IES.COM, la máquina controladora se llamará secuencia invertida de esos contenedores hasta la propia
DC1.IES.COM. Después acoplaremos el resto de máquinas al raíz del árbol. Un objeto sólo va a estar en una Unidad Or‐
dominio, que se llamarán PCX.IES.COM. Una vez hecho esto, ganizativa. Si quisieras relacionar un grupo con otro que
podremos crear cuentas de usuarios e impresoras en el contro‐ estuviera en Unidades Organizativas distintas, tendrías que
lador, para que los usuarios puedan loguearse en cualquier PC y crear una Unidad Organizativa superior a ellas asignando
acceder a cualquier información del dominio desde cualquier una política que le viniera bien a las dos.
terminal. Incluso, aunque uno de los PC tenga un NAS, cualquier Las Unidades Organizativas poseen dos funciones básicas:
usuario desde otro PC podrá acceder a las carpetas en red
siempre que tenga permisos para ello, pues su identificación es‐ ‐ La delegación administrativa a otros usuarios,
tará firmada por DC1. Los usuarios serán globales. Si DC1 se cae, pues es fundamental en un directorio de grandes
todo dejará de funcionar. Para evitarlo, podremos introducir dimensiones. Esto permite crear compartimentos
una controladora adicional, DC2, donde tendremos que activar estancos con administradores que se responsabili‐
el Active, y configurarlo como controlador de dominio para uno cen únicamente de esa unidad. Sin embargo, para
que ya existe. DC2 tardará un rato en sincronizarse, pero cuan‐ directorios de tamaño medio, estructurar bien las
do lo haga, tendrá la misma información que DC1. En este caso Unidades Organizativas, puede permitir gestionarlo
el servicio está replicado. todo en un solo dominio.
Aunque tener más controladores no mejora el rendimiento, la ‐ Crear plantillas de comportamiento para usuarios y
naturaleza de la organización podrá requerir de más dominios. equipos de esa unidad. A una Unidad Organizativa
le podemos vincular un objeto con políticas de
Ejemplo – Dominio raíz y dominios delegados. Si queremos crear grupo que afecte a todos los objetos contenidos en
subdominios, lo primero que tendremos que hacer será comprar esa unidad. Esto permite asignar diferentes políti‐
otra máquina server, instalar Windows 2008 y ponerle un nombre cas a usuarios concretos del dominio dependiendo
al dominio, en nuestro ejemplo, ADMIN. Ahora tendremos que de la unidad donde se encuentren.
instalar Active Directory, para convertirla en la controladora de
un dominio nuevo. Aunque dicho dominio sea nuevo, será dele‐ Con estas dos características, tenemos que las Unidades
gado del dominio IES.COM, y estará por debajo jerárquicamente. Organizativas tienen la potencia de un subdominio en ver‐
El nuevo dominio se llamará ADMIN.IES.COM., y el controlador siones antiguas de Active Directory.
DC.ADMIN.IES.COM. Este servicio está distribuido. En los permi‐ Equipos.
sos entra la política de grupos, y sus restricciones vendrán dadas Políticas de compartición de recursos. Para la compartición
por los grupos a los que pertenece. de recursos, como impresoras, ficheros, etc., todos los sis‐
A nivel de DNS funciona de forma jerárquica. Si no tiene la di‐ temas Windows poseen una “política local” con las
rección, le pregunta al controlador de nivel superior. directivas para ese sistema. Cuando varias máquinas tra‐
bajan en un mismo dominio, podemos centralizar la
¿QUÉ OBJETOS ALMACENA EL ACTIVE DIRECTORY? administración de todas esas políticas locales en el Active
Directory. Para ello utilizamos los objetos de directiva de
Active Directory almacena la siguiente información: grupo (GPOs), que son un conjunto de valores de configu‐
ración de directivas de grupo. Los objetos de Directiva de
Usuarios Globales. Los usuarios son visibles en todo el do‐ grupo son, esencialmente, los documentos creados por el
minio. Su validez se comprueba contra la base de datos del complemento Directiva de grupo, que es una utilidad de
dominio donde fueron creados, y son conocidos por todas Windows. Los objetos de Directiva de grupo se almacenan
las máquinas de ese dominio. Esto no quita para que dichas en los dominios y afectan a usuarios y equipos contenidos
máquinas no puedan gestionar a su vez sus propios usuarios en sitios, dominios y unidades organizativas. Además, cada
locales. equipo con Windows tiene exactamente un grupo de op‐
Grupos. Los grupos asocian características comunes a diferen‐ ciones de configuración almacenado localmente,
tes usuarios; relacionan objetos que comparten características denominado objeto de Directiva de grupo local, es decir,
comunes. Estas características puede ser de dos tipos: de un GPO posee una serie de directivas iguales a las ofreci‐
8
Administración de Sistemas Operativos
das por el propio equipo local. Cada una de estas directi‐ OPENLDAP
vas se encuentra en estado “no configurado”. Para
aplicarlas, primero debemos darlas un valor correcto, y OpenLDAP es una implementación libre de LDAP. Está licencia‐
tras configurarlas, vincularlas a una Unidad Organizativa. A do con OpenLDAP public license, aprobada por la FSF y compatible con
partir de ese momento, todos los objetos de esa Unidad GPL, por lo que se considera software libre. OpenLDAP está integrado
Organizativa comenzarán a comportarse en base a esas di‐ en múltiples distribuciones Linux, BSD, etc.
rectivas. Su funcionamiento se basa en el demonio slapd (Standalone
Las directivas se agrupan en: LDAP Daemon), y siempre que esté presente en el run level que se
ejecute, se ejecutará como servicio permanente. Además, posee otros
‐ Configuración del equipo. programas que actúan como clientes del servicio, para borrar, añadir,
‐ Configuración del usuario. o buscar elementos (registros con su DN) dentro del directorio:
Las GPOs se aplican siempre al inicio y al apagado, y tam‐ ‐ ldapsearch. Para búsquedas y consultas.
bién se aplican de forma periódica La configuración de ‐ ldapadd. Para inserciones
seguridad se actualiza cada 90 minutos en una estación de ‐ ldapdelete. Para borrados
trabajo o un servidor, y cada 5 minutos en un controlador
de dominio. La configuración se actualiza también cada 16 ARQUITECTURA
horas, con independencia de que se produzcan cambios o
no. Podemos forzar la actualización con el comando gpu- Su arquitectura está dividida en dos módulos, una división que
pdate. es bastante común en los servicios UNIX y en el desarrollo de software
Se puede aplicar más de una directiva a un equipo, por lo de almacenamiento:
que puede haber conflictos en las configuraciones de di‐
rectivas de seguridad. El orden de prioridad de mayor a Front – end. El módulo frontal se encarga de la gestión de las
menor es: Unidad Organizativa, Dominio y Equipo local. conexiones y el procesado del protocolo.
Back – end. El módulo dorsal se encarga de la gestión de al‐
Herencia de las Políticas de Grupo
macenamiento.
Las GPO de una Unidad Organizativa se heredan por sus
hijas. En caso de conflictos existen unas reglas basadas en
De esta forma, LDAP puede almacenar información sobre dife‐
el ámbito de los propios grupos que no vamos a estudiar.
rentes plataformas, permitiendo separar el control de las
Simplificando, se puede decir que tienen prioridad las
comunicaciones del almacenamiento propiamente dicho. Además, en
GPOs más cercanas al elemento (aunque esto no es siem‐
el caso de Open LDAP, podemos tener múltiples back‐ends desarrolla‐
pre del todo cierto). La herencia puede forzarse en un
dos para todo tipo de entornos, es decir, en función del back‐end
sentido y también bloquearse.
podremos guardar la información en bases de datos relacionales, en
archivos de texto plano, podrá redirigir las peticiones a otros destinos
Seguridad de las Políticas de Grupo
(proxy). También podríamos tener un back‐end que se encargue de
Para llevar a cabo la delegación de la administración de
distribuir el almacenamiento interno de ese directorio en otros equi‐
GPO es necesario contar con una cuenta de usuario con la
pos, o hacer que el back‐end redirija el flujo para que toda la
función de Administrador AGPM, Advanced Group Policy
información del directorio se almacene cifrada.
Management, (Control Total). Hay que tener en cuenta
El front‐end recibe las peticiones del cliente y comprueba la vali‐
que un Aprobador puede delegar la administración de un
dez del mensaje, trasladándolas al módulo dorsal para su
Objeto de directiva de grupo (GPO) creado por otro Apro‐
procesamiento. El front‐end tiene que utilizar código del back‐end para
bador. Al igual que un Administrador AGPM (Control
borrar, añadir o buscar cosas del directorio. Una vez concluidas dichas
total), el Aprobador puede delegar el acceso a dicho GPO
operaciones, el back‐end se comunica con el front‐end, y éste le devuel‐
de forma que los Editores seleccionados puedan editarlo,
ve una respuesta al cliente.
los Revisores revisarlo y otros Aprobadores aprobarlo. De
Se pueden construir diferentes back‐ends en función de los in‐
forma predeterminada, el Aprobador no puede delegar
tereses del programador. A OpenLDAP hay que indicarle qué tipo de
acceso a los GPO creados por otro administrador de direc‐
back‐end queremos que ejecute el demonio slapd. Ésta es una deci‐
tiva de grupo.
sión del administrador.
9
Administración de Sistemas Operativos
PREGUNTAS. 4. Describe brevemente la estructura interna de un servicio
LDAP.
1. Define las características y el objetivo de un servicio de di‐ 5. Enumera algún atributo utilizado en el estándar LDAP.
rectorio. 6. Diferencias entre DN y RDN.
2. Enumera las diferencias entre un servicio de directorio y 7. Describe el concepto de árbol, controlador de dominio y
una base de datos; explica tres de ellas. bosque de dominio.
3. Describe el modelo de interacción con los servicios de direc‐ 8. Qué función tienen los grupos en Active Directory.
torio. 9. ¿Qué son los GPO y qué relaciones existen entre ellos y las
unidades organizativas?
10
Tema Tres
Sistemas de Almacenamiento
INTRODUCCIÓN los diferentes tipos de información que tenga. UNIX fue diseñado
pensando en esto. Cuando instalas en UNIX un programa, cada uno de
En los sistemas informáticos la información es crucial. Al no ser sus componentes va a parar a un directorio distinto. De esta forma, si
más que pulsos eléctricos que fluyen por un conductor, si no se alma‐ instalamos una base de datos, los logs y el contenido de las tuplas se
cenan, se pierden. Los dispositivos destinados para tal fin se llaman irá almacenando bajo “/var”. Como esta información está modifi‐
memorias. cándose continuamente y puede llegar a crecer mucho, lo ideal sería
Los dispositivos de almacenamiento son de muy diferente natu‐ montar dicho directorio en un disco de gran capacidad y de rápido
raleza, aunque comparten una serie de parámetros comunes, como acceso, intentando garantizar su seguridad. Para ello lo más útil sería
son: recurrir a un RAID y no a un backup (que sería más práctico en el caso
de querer asegurar el contenido de la información contenida bajo
Capacidad. “/etc”).
Volatilidad temporal.
CONCEPTOS
Tiempo de acceso.
Los conceptos más básicos en almacenamiento son:
Según la información que queramos almacenar, utilizaremos
uno u otro dispositivo. Por lo que, como no toda la información es del
Alta disponibilidad
mismo tipo, no hay un único dispositivo mejor que los demás para su
almacenamiento.
Este concepto se refiere a cómo asegurar un grado de continui‐
Por tanto, en función de los siguientes parámetros de la infor‐
dad operacional del sistema, para aumentar el tiempo en el que el
mación, utilizaremos el tipo adecuado de memoria.
sistema está operativo y disponible para los usuarios. De no conseguir
esto, la organización puede perder clientes y dinero.
Tiempo de vida. Según sea CORTO o INDEFINIDO. Por
La disponibilidad (D) es un porcentaje calculado sobre el total
ejemplo, el fichero de estos apuntes tiene una vida que
de minutos del año (365 x 24 x 60 = 525600 minutos).
podríamos considerar indefinida, mientras que un fichero
temporal tendrá una corta vida.
D = 100 – t
Actualización o modificación. Según sea ESCASA o CONTI‐
NUA. Por ejemplo, un fichero de eventos (log) está
Siendo t el porcentaje de inactividad, calculado a partir de los
modificándose continuamente, mientras que un fichero de
minutos inactivos (m) del sistema en un año (que serían el 100% de
configuración, bajo “/etc” tendrá una modificación esca‐
los minutos). Es decir:
sa, ya que será modificado al configurarlo en un principio y
cuando se quiera volver a reconfigurar.
525600/100 = m/t
Accesos o consultas. Si son ESCASAS o CONTINUAS. Por
ejemplo, un fichero de configuración tiene escasas consul‐
Donde t:
tas, y si bien otros ficheros tienen más consultas, no van a
ser muy modificados, como los ficheros de LDAP.
t = m x 100 /525600
Alta disponibilidad. Según sea necesidad o deseo de con‐
seguirla. Es decir, si puedo admitir una cierta demora en el
Distribución
acceso a la información (esté donde esté), o si mi informa‐
ción no puede admitir demora alguna.
La distribución de datos consiste en la repartición de los mismos
en diferentes fuentes. La ventaja de la distribución es la reducción de
En función de la naturaleza de la información, así se tendrá que
la latencia de acceso a datos (el tiempo que se tarda desde que se
montar el dispositivo o sistema de almacenamiento. Lo que suele
envía la operación, hasta que se recibe), que se puede conseguir
hacerse es combinar las diferentes naturalezas de los dispositivos con
11
Administración de Sistemas Operativos
acercando cada fuente de datos a sus usuarios concretos, o posibili‐ Como se ha venido diciendo hasta ahora, el problema de la
tando que el acceso a diferentes fuentes pueda ser paralelizable. coherencia de datos surge con la replicación de los mismos, puesto
Lo ideal es que la distribución sea transparente al usuario, para que los cambios en el valor de los datos podrían no reflejarse en otras
que no sea consciente de las tareas de distribución por parte del copias de dichos datos.
programa cliente. Obviamente, la distribución aumenta la complejidad Asegurar la coherencia implica diseñar un protocolo de cohe‐
del sistema. rencia entre las réplicas implicadas. Existen diferentes tipos de
Los nodos de una red SAN no tienen problemas de coherencia, modelos, unos más estrictos y otros más relajados. En los modelos
pues no hay replicación de datos (ver más abajo). ESTRICTOS se garantiza la coherencia de los datos, y se asegura que
los cambios introducidos en un dato pasan a los datos replicados sin
Replicación que se produzcan incoherencias. En los modelos más OPTIMISTAS está
permitida la escritura de datos replicados, haciendo cada cierto tiem‐
Consiste en copiar un mismo dato en varias fuentes. Al igual po una RECONCILIACIÓN (con ciertas políticas). Active Directory se
que en la distribución, tenemos la ventaja de poder reducir la latencia basa en un sistema optimista, ya que no garantiza la sincronización
(pues los datos también están distribuidos), y además tenemos tole‐ inmediata, y por tanto, tampoco la coherencia.
rancia a fallos. Las TRANSACCIONES (en el Tema Uno se hablaba de que los
La replicación conlleva el problema de la coherencia de datos, Servicios de Directorio no eran transaccionales) aportan maquinaria
pues si los datos están replicados, tanto la fuente como sus réplicas adicional para garantizar la coherencia, pues al forzar el todo o nada,
deben mostrar un estado coherente (ver “Coherencia” más adelante). toda transacción inacabada quedará deshecha.
Obviamente, la replicación, al igual que la distribución, también En los sistemas de archivos distribuidos tenemos que saber có‐
aumenta la complejidad del sistema. mo manejar la coherencia, y existen muchas técnicas para
implementarla, como por ejemplo:
Cacheo
Copia maestra con propagación. Si tengo varias réplicas,
Es un tipo particular de replicación, aunque implica una replica‐ puedo leer sobre cualquiera, pero sólo una de ellas podrá
ción parcial de los ítems originales (no una replicación total de los ser escrita, y ésta será la encargada de transmitir sus mo‐
mismos; en general, una cache de datos siempre tiene menos capaci‐ dificaciones a las demás.
dad que la fuente original). Por tanto, también implica problemas de Cerrojo. Es una estructura adicional que mantiene infor‐
coherencia. mación sobre qué cosas no se pueden modificar. Cada vez
El cacheo consiste en guardar una copia de un dato cerca del que modificamos una réplica se echa el cerrojo, de forma
usuario de dicho dato, de forma que si se gestiona bien, se pueda que nadie más pueda entrar a modificarlo. El cerrojo se le‐
reducir de forma notable la latencia de acceso a los datos, así como el vantará cuando, una vez finalizada la modificación, los
número de accesos a la fuente de los datos. Por ejemplo, una empresa cambios se hayan propagado al resto de réplicas.
que haya decidido externalizar su almacenamiento tendrá que enfren‐ Con este método garantizamos la coherencia, pero au‐
tarse a un problema de latencia cada vez que sus usuarios quieran menta la latencia.
acceder a los ítems localizados en la nube. Este tiempo se podría Cesión (leases). Con esta técnica cuento inicialmente con
reducir si se monta una pasarela que recoja los datos de la nube para un banco principal que contiene todos los ítems y una pe‐
cachearlos. De esta forma, no sólo reducimos latencias, sino que queña cache. Cada vez que un ítem pasa a una caché, el
además reducimos números de acceso a la nube (y por tanto ancho de banco emite una cesión de tiempo. Si mientras un ítem es‐
banda, lo que repercute en un ahorro de dinero). Obviamente, si tá en uso, otra cache intenta cogerlo, le advierte de que
existen varias pasarelas, podrá haber varias caches de un mismo ítem, dicho ítem ha sido cedido. Hasta que el lease no expira, di‐
y por tanto nos tendremos que enfrentar de nuevo al problema de la cho ítem no puede ser utilizado de nuevo, momento en el
coherencia. Otro ejemplo de cacheo sería el llevado a cabo por un que su información será actualizada en el banco. Su cesión
equipo dotado con múltiples procesadores, cada uno de ellos con su podrá ser renovada por la misma cache o se podrá emitir
propia cache. Garantizar la coherencia llevará implícita un aumento de una nueva para otra distinta.
la latencia. Inundación. Aquí, cada vez que una réplica recibe una ac‐
tualización, las propaga a las demás. Nos surgirá un
Coherencia problema a la hora de establecer la prioridad de las actua‐
lizaciones.
Se dice que todas las copias de un dato son coherentes cuando Sincronización bajo demanda. Recurre a las reconciliacio‐
una lectura sobre una de ellas obtiene el valor de la última escritura nes, como Active Directory.
sobre cualquiera de ellas.
12
Administración de Sistemas Operativos
Podemos utilizar la coherencia a diferentes niveles, es decir, Inconvenientes: No tiene tolerancia de fallos. Si
podemos utilizar copias maestras para nuestros ítems de la fuente perdemos uno de los discos, perdemos una
original y leases para nuestras caches. enésima parte de la información.
RAID 1. Discos en espejo. Formado por un número par de
DFS (Distributed File System) discos en los que siempre uno es copia idéntica de su pare‐
ja. Cada byte que guardamos en un disco, se guarda
La implementación DFS consigue un acceso transparente a tra‐ también en el otro; todos los discos de este RAID tendrán
vés de SAMBA a volúmenes de diferentes servidores, montándolos en la misma información. Este nivel no mejora la velocidad de
un árbol de archivos ficticio. De esta manera podemos organizar los acceso de lectura.
elementos de todos nuestros servidores en una unidad con apariencia Ventajas: Tiene tolerancia a fallos, como mucho,
de un árbol de ficheros. un fallo. Si perdemos un disco, no perdemos in‐
formación, pues está duplicada en el resto de
SISTEMAS RAID discos.
Inconvenientes: Desperdiciamos el doble de es‐
Empezamos a estudiar la alta disponibilidad al más bajo nivel pacio. Si compro dos discos de 500Gb, sólo
(hardware), mediante el replicado de las unidades de almacenamiento tendré 500Gb de almacenamiento.
o discos. RAID 5. Esta configuración reparte un código de paridad so‐
La idea no es simplemente agrupar discos y replicar la informa‐ bre todos los discos. Este nivel no duplica información,
ción de forma manual, sino que queremos que un grupo de discos sino que para cada conjunto de stripes reparte entre los
funcione de manera coordinada y transparente para quien los usa. demás discos una tira más que asegure la integridad de las
Para ello utilizamos el RAID (Redundant Array of Independent Disks). tiras anteriores. En el caso de que falle uno de los discos,
Un RAID son un conjunto de discos magnéticos independientes se podrá reconstruir la información del mismo a partir de
que funcionan coordinados y que ofrecen servicio como si fueran uno los códigos de paridad distribuidos entre los demás discos.
solo (son por tanto dispositivos hardware). Para que funcionen como El código asegura la integridad de los datos y el fallo de un
un todo, necesitan del gobierno de una controladora, que optimizará disco. Aporta las ventajas del RAID 0 y del RAID 1 sin des‐
la velocidad de acceso y la repartición de bytes en cada disco (el cómo perdiciar tanto espacio.
se repartan definirán el NIVEL DEL RAID). Esta configuración permitirá Ventajas: Al repartir la información mejora los
obtener menores tiempos de acceso, tolerancia a fallos e integridad tiempos de acceso (a diferencia de los niveles 3 y
de datos. 4 que dejan los códigos de paridad en un único
El nivel de nuestro RAID dependerá de la potencia de nuestra disco y, por tanto, crean un cuello de botella).
controladora. La controladora RAID es el circuito hardware que se Además, no desperdiciamos espacio y tenemos
encarga de llevar la gestión coordinada de todo el RAID. Las controla‐ tolerancia a fallos, como máximo, de un disco. Si
doras funcionan como una interfaz hardware entre los discos y el perdemos más de un disco, no podremos recupe‐
propio bus SATA o SCSI, y la mayoría de ellas permiten diferentes rar la información.
configuraciones de niveles. Inconvenientes: Necesitamos más discos para
montar un RAID5, al menos 3, por lo que será
NIVELES DE RAID más caro.
Vamos a ver tres niveles (RAID 0, RAID 1 Y RAID 5) aunque hay Cuando montemos un RAID en nuestro equipo sólo veremos un
muchos más (RAID 3, RAID 4, RAID6, etc.), y también existen los nive‐ disco, es decir, siempre se verá como una unidad de bajo nivel. El
les de RAID híbridos o anidados (que se mencionan brevemente más sistema operativo no accede ni controla los discos, sino que es la
adelante): controladora la que se encarga de ello.
Windows 2008 tiene mecanismos para emular RAID (como se
RAID 0. Es el más sencillo. La información se divide en tiras vio el año pasado).
(stripes) que se almacenan en paralelo en dos o más discos
(no hay información duplicada). Niveles de RAID anidados y propietarios
Ventajas: Reducimos la latencia de accesos, pues
podremos hacer lecturas paralelas (ya que son Algunas controladoras dan opción a anidar niveles de RAID,
unidades físicas independientes). De hecho, divi‐ combinándolos. Esto puede hacernos fusionar las ventajas de diferen‐
dimos la latencia de accesos por n, donde n es el tes niveles:
número de discos montados en el RAID.
RAID 0+1. Un espejo de divisiones.
13
Administración de Sistemas Operativos
RAID 1+0. Una división de espejos. Protocolo iSCSI
RAID 5+1. División con paridad reflejada en espejos.
Es una alternativa más rentable que FB. La red se monta sobre
También existen otros niveles de RAID propietarios y diseñados una infraestructura de cables par trenzado, donde el protocolo de
por compañías, que son menos utilizados y por tanto están menos transporte funciona sobre IP (utiliza el protocolo iSCSI, usado en
extendidos. discos duros y RAIDs en la pila TCP/IP; los mensajes se meten dentro
de un datagrama IP). Por tanto, la infraestructura hardware es compa‐
REDES ORIENTADAS A BLOQUES tible con la utilizada en redes TCP/IP. Se ha popularizado mucho
gracias a la aparición del estándar Ethernet a 1 Gigabit.
Cada nodo debe tener:
En la última década se han utilizado otros tipos de sistemas de
almacenamiento para mejorar la escalabilidad, es decir que pueda
crecer en tamaño y que siga funcionando (crecimiento en cuanto a Initiator: Un iniciador que hace de pasarela hacia los dife‐
volumen de datos, así como en cuanto a su capacidad de cálculo). rentes targets.
A nivel de almacenamiento, el objetivo ideal para cualquier ad‐ Target: Simboliza a un disco duro virtual creado sobre nues‐
ministrador es que cada componente funcione íntegramente con el tra plataforma de almacenamiento. El target quedará
sistema y no implique una traba para el cálculo. Para esto, el RAID no conectado a la red como si se tratara de un disco SCSI co‐
es muy válido, pues es poco flexible, de forma que se recurre a las nectado a un bus.
redes, consiguiendo así disponibilidad.
No se pueden conectar varios initiators a un mismo target pues
ALMACENAMIENTO A BAJO NIVEL se podrían dar accesos concurrentes (ES ASÍ???). La concurrencia es
difícil de gestionar a bajo nivel; el acceso concurrente suele ser tarea
Una vez vistas las ventajas de los niveles y configuraciones de servicios de alto nivel. El SAN, que comienza por el driver iniciador,
RAID, podemos observar que no ofrecen disponibilidad, pues no está por debajo del sistema de ficheros, por lo que sólo se puede
toleran la caída de la máquina que controla todos los discos. acceder al SAN a través del iniciador, de forma que no habrá proble‐
Para conseguir disponibilidad necesitamos un sistema com‐ mas con las peticiones que se hagan simultáneamente.
puesto por varios nodos autónomos interconectados. Esta es la Podemos utilizar sistemas de ficheros especiales para nuestros
filosofía de una red SAN (Storage Area Network). target (por ejemplo GFS – Global File System, para clústeres de servi‐
dores de sistemas Linux, que permite que todos los nodos tengan
Redes SAN (Storage Area Network). acceso simultáneo al mismo bloque de almacenamiento compartido).
Los críticos de iSCSI argumentan que tiene un rendimiento infe‐
Son conjuntos de nodos o hosts interconectados en una red lo‐ rior a FiberChannel. Esto es debido a que la red se ve sobrecargada al
cal, donde cada uno de los nodos posee un dispositivo de añadir las cabeceras de los protocolos como IP, que no fueron diseña‐
almacenamiento o disco donde almacena la información. La gestión dos para funcionar en estos entornos. Sin embargo, se puede utilizar
conjunta de esta información, así como la coordinación de los diferen‐ como argumento a favor su bajo coste. Además, su rendimiento es
tes nodos es función de la SAN. óptimo cuando se utilizan cableados que soporten la tecnología Giga‐
Estos nodos estarán organizados por un sistema de ficheros bit Ethernet (que consigue una velocidad de transmisión de 1 Gigabit
único que se encargará de resolver la ubicación de cada uno de los por segundo).
bloques de información repartidos entre todos los nodos. Es decir, las Básicamente, funciona de la siguiente forma:
solicitudes se harán al sistema de ficheros, pero este generará una
solicitud hacia el nodo de la red que tenga el bloque. Por tanto, el La aplicación accede al sistema de ficheros.
almacenamiento está orientado a bloques. El sistema de ficheros accede a su mapa y llama al driver
La interconexión de la red de nodos se puede montar de dos iSCSI.
formas, mediante FiberChannel o mediante protocolo iSCSI. El driver iSCSI sabe que tiene que comunicarse por la red,
esperando mensajes para confirmar donde está la infor‐
FiberChannel (FB) mación que se le ha ubicado en el mapa.
iSCSI se comunica con la red para pedir la información, se
La tecnología de la conexión está basada en fibra. La tecnología hace con ella, la compila, se la pasa al sistema de ficheros
FiberChannel, nacida del mundo de los clusters de supercomputación, y éste a la aplicación.
se compone de una topología y cableado propio basado en conexio‐
nes de fibra, desde 1 hasta 8 Gigabites. FB utiliza un cableado de fibra La red iSCSI no debería compartir nada con la red local y debe‐
no compatible con TCP/IP (es decir, no vale un conector RJ‐45), por lo ría tener su propio switch.
que su infraestructura resulta costosa de implantar.
14
Administración de Sistemas Operativos
Este es un sistema muy flexible; lo único que tenemos que ha‐ Diferencias entre SAN y NAS.
cer para ampliarlo, es añadir más nodos a la red. Además, cada nodo
podrá tener un sistema RAID en su interior. SAN
En las redes SAN, la aplicación accede directamente al sis‐
REDES ORIENTADAS A FICHEROS tema de ficheros, y la ruta se queda en el mapa. A partir
de ahí, la red iSCSI trabajará con bloques, bytes, etc., por
Sistemas NAS (Network Attached Storage). lo que debajo del mapa, las rutas no tendrán ninguna utili‐
dad.
Este sistema es otra alternativa para exportar hacia el exterior Conceptualmente está “por debajo” del sistema de fiche‐
lo almacenado por un nodo. ros (orientado a bloques).
Son un conjunto de nodos conectados en una red local, al igual No existe concurrencia. (CIERTO? O sólo es difícil de gestio‐
que la SAN, pero conceptualmente está por encima del sistema de nar)
ficheros, a diferencia de la SAN. Implementación más complicada.
NAS se basa en un servicio de ficheros, sus mensajes manejan Menor latencia de acceso. Mayor rendimiento.
abstracciones como ficheros y directorios: acepta mensajes asociados
a ficheros que trabaja con rutas (lee, escribe, cierra, abre, elimina, NAS
etc.; mensajes de alto nivel), y está basado en protocolos como CIFS, En las redes NAS, el servicio de ficheros deriva al sistema de
FTP, NFS, etc. ficheros la petición del cliente, por lo que trabajará con ru‐
NAS requiere un sistema de ficheros bajo el servicio de ficheros tas.
para conseguir el acceso a los datos (el sistema de ficheros resuelve Conceptualmente está “por encima” del sistema de fiche‐
cualquier tipo de problema que haya dejado pasar el servicio de ros (orientado a ficheros).
ficheros). Muchos de estos servicios de ficheros se apoyan en el sis‐ Garantiza un uso concurrente de los datos.
tema que haya bajo ellos para garantizar un uso concurrente de los Implementación más sencilla.
datos, lo que permite que estos sistemas NAS puedan ser utilizados Mayor latencia de acceso. Menor rendimiento.
por muchos clientes de forma simultánea.
Básicamente, funciona de la siguiente manera: PROTOCOLO CIFS (Common Internet File System)
El cliente accede al servicio de ficheros (NFS, SMB, etc.). Este protocolo, que antes se denominaba SMB, está basado en
Una vez se ha dado la orden al servicio de ficheros, éste mensajes con la forma petición‐respuesta. Es un protocolo para el uso
desvía la petición al sistema de ficheros de cada uno de los compartido de archivos que permite a los equipos conectados en red
nodos de la red. tener acceso de forma transparente a los archivos que residen en
sistemas remotos a través de diversas redes. El protocolo CIFS define
Por tanto, dos equipos comunicados con SAMBA forman un un conjunto de comandos que pasan información entre equipos. Se
NAS. Además, al igual que el SAN, cada nodo podrá tener un sistema pensó como protocolo para acceso a ficheros e impresoras. El formato
RAID en su interior. Es decir, el almacenamiento en un NAS puede ser de los mensajes es muy sencillo, pero el protocolo, a veces, resulta
un disco local o un conjunto RAID con cualquier configuración. Incluso, farragoso y poco intuitivo.
podemos tener una red SAN soportando el almacenamiento.
Al trabajar a un nivel superior que SAN (trabaja a nivel de fiche‐ Mensajes
ros), es más sencillo implementarlos. Además, al existir muchas
implementaciones de los servicios y de sus clientes, la mayoría de los CIFS utiliza cuatro tipos de mensajes: control de sesión, archivo,
sistemas operativos los soportan. Esto hace a los sistemas NAS com‐ impresora y mensaje. Los mensajes se componen de una cabecera y
patibles en casi cualquier contexto. un comando/respuesta.
Los sistemas NAS trabajan con protocolos a nivel de aplicación.
Dichos protocolos necesitan a TCP para garantizar fiabilidad, lo que Cabecera: La cabecera tiene una longitud fija, tras la que se
implica que las latencias de acceso sean mayores que en los sistemas sitúa un comando o una respuesta.
de nivel más bajo. Por tanto, ganamos compatibilidad y sencillez Comando/Respuesta: Están colocados tras la cabecera y
frente a estos sistemas, pero perdemos rendimiento. tienen una longitud variable que va en función de sus pa‐
rámetros. Algunos de los comandos más utilizados son:
abrir y cerrar ficheros, escribir o leer, crear o borrar, bus‐
car fichero, enviar fichero a cola de impresión, borrar cola
de impresión.
15
Administración de Sistemas Operativos
SISTEMAS DISTRIBUIDOS DE FICHEROS Algunos de los sistemas de ficheros distribuidos en la actualidad
son: DFS, Coda, ZFS, Google File System.
Un sistema distribuido de ficheros es un concepto muy relacio‐
nado con todo lo anterior. Se trata de una herramienta más compleja PREGUNTAS.
y más potente que las redes orientadas a bloques y ficheros. Los
sistemas distribuidos se basan en la idea de los sistemas de ficheros 1. Enumera y explica los parámetros más comunes en todos
tradicionales, (es decir, en el almacenaje de información y en la oferta los dispositivos de almacenamiento.
de servicios (funciones) para el acceso y la manipulación de dicha 2. Enumera los parámetros acerca de la naturaleza de la in‐
información), pero teniendo en cuenta la distribución de la informa‐ formación que deciden qué tipo de dispositivo es mejor
ción en diferentes nodos. para almacenarlos.
En un sistema distribuido, muchos clientes pueden utilizar el 3. Calcula el % de inactividad teniendo en cuenta unos perio‐
sistema de ficheros de forma concurrente y acceder a toda la informa‐ dos de inactividad anuales de 7 y 48 horas.
ción de una manera transparente. Por debajo, el sistema de ficheros 4. ¿Cuánto tiempo estuvo inactiva una máquina cuyo informe
distribuido gestiona los nodos de almacenamiento a través de una red nos muestra una disponibilidad anual del 99.18%?
de comunicaciones. 5. ¿Qué diferencias existen entre distribución y replicación de
Un sistema distribuido de ficheros puede tener gran compleji‐ datos? Comenta ventajas y desventajas de ambas.
dad. 6. ¿En qué consiste y qué aporta el cacheo de datos?
¿Mantiene réplicas de la información? Coherencia 7. Define el concepto de coherencia y describe algunas técni‐
¿Permite particiones de red? Reintegración cas para conseguirla.
¿Permite cachear datos? Coherencia de caches 8. ¿Qué es un RAID y qué aporta al sistema? Tipos.
Además, existen otros problemas añadidos: 9. Describe brevemente la tecnología FiberChannel e iSCSI.
Seguridad 10. Describe cómo funciona el modelo de una red SAN.
Confiabilidad
Administración
16
Tema Cuatro
Gestión y Técnicas
de Actualización
INTRODUCCIÓN Hay que tener en cuenta que toda actualización viene motivada
por:
EL SOFTWARE
Informes de los usuarios (feedback).
El software es una pieza fundamental e imprescindible; sin él no Estudio y decisión de los programadores.
podría existir la computación propiamente dicha. Auditorías externas.
Todo software está sujeto a un ciclo de vida que hace que sea
algo dinámico (una vez acabado, sigue estando abierto a modificacio‐ FASE DE DESARROLLO
nes posteriores). A diferencia de los productos de otras ingenierías, su
propia naturaleza les permite ser cambiantes, mediante lo que deno‐ DESARROLLO DE SOFTWARE
minamos, actualizaciones.
Cuando obtenemos un producto software listo para su comer‐ Todo software debe ser desarrollado antes de poder utilizarse,
cialización, su producción en cadena es barata. Su replicación es “casi” y a su vez, antes de ser desarrollado, debe haberse completado (aun‐
gratis (no es como replicar coches). Además, si pasado un tiempo que sea parcialmente) una fase de diseño.
deseamos incluir un cambio en su prototipo, no se tiene que modificar Ante las preguntas, sobre ¿cuándo considerar la fase de diseño
la maquinaria, ni hay que adquirir instrumental adicional, bastará con finalizada?, ¿cuándo estimar que el software ha sido completamente
modificar el prototipo e iniciar su replicación. desarrollado?, y ¿qué ocurre si necesitamos actualizar, cambiar o
arreglar algo tras dar por finalizada la fase de desarrollo?, hay que
VERSIONES DE SOFTWARE tener en cuenta que el software no suele fabricarse como un producto
monolítico. Su proceso de fabricación y copia es barato, lo que permi‐
El software comercial suele ser programado por equipos de va‐ te que el producto pueda readaptar su forma durante su periodo de
rias personas. Cada programador suele responsabilizarse de un fabricación y consumo. Además, generalmente se orienta a versiones,
módulo o librería, centralizando todo el código en un repositorio o por lo que el producto nunca estará plenamente desarrollado. Siem‐
almacén. Cuando el producto tiene un acabado funcional, se libera pre partiendo de un diseño previo, el desarrollo del software
una versión comercial. evolucionará a partir del mismo.
ACTUALIZACIONES DEL SOFTWARE ¿Cuándo iniciar la distribución de la versión?
Una vez se tiene un producto que se considera usable, aunque Actualmente se está observando que no es recomendable de‐
esté incompleto, se libera una versión comercial, que será la versión a morar mucho la distribución de las versiones (sobre todo de la
partir de la cual los programadores continuarán su trabajo, añadiendo primera). Esto provoca que el feedback del cliente llegue antes y se
nuevas funciones, corrigiendo errores encontrados por los clientes o pueda readaptar el propio diseño en fases iniciales.
usuarios, etc. De esta forma, cuando se considere oportuno, se libera‐ Muchos proyectos libres sigue al extremo esta política: progra‐
rá una nueva versión, obligando a los usuarios a actualizar sus mar rápido para liberar con mayor velocidad.
ejecutables por la nueva versión compilada.
Así, la actualización se entiende como un proceso continuo, que SISTEMAS DE CONTROL DE VERSIONES
sólo finalizará cuando el software se considere obsoleto y no utiliza‐
ble. En este sentido, los usuarios estarán sujetos a su disponibilidad y Los programas actuales suelen ser desarrollados por equipos de
a los ritmos de actualización del software. programadores que tienen que compartir código entre ellos. Esto solía
17
Administración de Sistemas Operativos
ser un problema tradicionalmente, aunque actualmente se utilizan Resolver cualquier dependencia (paquete autocontenido).
depósitos de código (CVS – Control Version System) para solventar Es decir, el paquete a veces no incluye todo el código obje‐
este problema. to necesario para poder ejecutarse, es decir no es
Los CVS reciben el código fuente de los programadores, crean‐ AUTOCONTENIDO. En ocasiones, conseguir que un paque‐
do diferentes versiones de cada fichero con cada actualización. Estos te sea autocontenido es casi imposible, pues todo paquete
sistemas suelen proveer de mecanismos para comunicar incidencias o necesita en última instancia un sistema operativo. Por otro
errores (Tickets), es decir, no es tan sencillo como una lista de correo. lado, podríamos tener problemas de licencias para incluir
De esta forma, el sistema clasifica las incidencias y se las envía al ciertas librerías, por lo que no conseguiríamos que nuestro
equipo de desarrollo. Además, en los proyectos abiertos o libres, estos paquete resolviera todas las dependencias.
almacenes suelen ser públicos, permitiendo el envío de código por Simplificar el proceso de actualización.
parte de terceros a la espera de que éste sea aprobado y reintegrado
en el código general por el administrador o coordinador. SISTEMA MSI
Las ventajas son, por tanto, que permiten mantener ramas de
desarrollo de forma paralela. Es decir, como todos los programadores Este sistema es el de instalación de paquetes propios de Micro‐
poseen una copia completa del código sobre el que hacen sus modifi‐ soft. Estos paquetes mantienen toda la información acerca de la
caciones, una vez suben sus cambios, el CVS creará una nueva rama instalación en forma de una base de datos autocontenida en el fichero
“no estable” a partir de dichas modificaciones que pasará a ser apro‐ “.msi”. Cada uno de los paquetes MSI gestiona la instalación de un
bada, o no, por el administrador de dicho proyecto. Obviamente, este producto, y si bien este sistema no gestiona dependencias, es posible
tipo de mecanismos ha supuesto un gran avance en los proyectos que varios productos compartan elementos comunes a través de sus
abiertos (como Linux), pues al no haber posibilidad de reunir a todos MSI (librerías, módulos, etc.). Cuando se dice que no gestiona depen‐
los desarrolladores, estos repositorios han permitido el crecimiento dencias, se refiere a que si un MSI depende de otro, habrá que instar
de la comunidad sin necesidad de encuentros físicos entre ellos. ese otro manualmente antes de poder seguir con la instalación del
Aunque los almacenes de los sistemas de control pueden ser primero. Es por ello por lo que se dice que no hay relación entre
públicos (abiertos o libres) también pueden ser privados. Por ejemplo, paquetes.
Github.com permite alojar proyectos libres y propietarios, aunque no
permite más de un proyecto privado. SISTEMA DE PAQUETES DEBIAN
Entre los CVS más utilizados en la actualidad están: Mercurial,
Git o Subversion (entre otros). Este sistema fue creado y popularizado por la comunidad De‐
Fuera del entorno de desarrollo, estos sistemas se recomiendan bian. En un principio, el sistema estaba gestionado por dpkg, aunque
con archivos susceptibles de recibir muchas modificaciones por parte posteriormente fue adoptado por apt. En realidad, apt es un recu‐
de muchas personas. Manejar estos sistemas no es nada intuitivo, por brimiento de dpkg, es decir, se basa en dpkg pero con apt se ha
lo que si no se necesita de uso, mejor obviarlo. facilitado su interfaz.
Para que un paquete pase a ser parte de este sistema, debe te‐
DISTRIBUCIÓN DE SOFTWARE ner una estructura interna bien definida. No es nada fácil construir
estos paquetes.
EMPAQUETADO Los paquetes “.deb” están formados por tres ficheros:
Una vez hemos construido el producto software existen varias debian‐binary: Fichero de versión del paquete.
formas de empaquetado y distribución, siempre teniendo en cuenta control.tar.gz: Ficheros que guardan la meta‐información
que dicha distribución y empaquetado tendrán que estar orientadas al del paquete (descripción, así como información a apt so‐
usuario, y que éste no tiene por qué ser un usuario especializado, es bre los scripts que debe lanzar durante la instalación, es
decir, el software debería poder instalarse o actualizarse sin necesidad decir, a través de la meta‐información del paquete contro‐
de ayuda o intervención del usuario final. lamos las dependencias).
Habrá, sin embargo, ciertos productos software que no requie‐ data.tar.gz: Que engloban los ficheros instalables del pa‐
ran de su distribución (como las aplicaciones web), por lo que no será quete (aplicación ejecutable, código fuente, páginas del
necesario empaquetarlas. manual, script de arranque).
Existen diferentes sistemas de empaquetado de software. De
entre ellos, el ideal tendría que cumplir ciertas características: Como se ha mencionado antes, actualmente estos paquetes
son gestionados por apt y por aplicaciones afines. Realmente, apt
Simplificar al máximo la instalación de toda la información no es una aplicación, sino una librería en C++ con funciones para la
(archivos, ejecutables, otros datos, etc.) gestión de paquetes (ten en cuenta que sobre apt también existen
Simplificar su eliminación. aplicaciones con interfaz gráfica).
18
Administración de Sistemas Operativos
Los siguientes comandos utilizan las librerías apt. Con este comando, apt buscará en cada almacén las versiones
más nuevas de todo el software instalado en nuestro sistema y las
apt-get: Usado para instalar y actualizar el software. instalará.
apt-cache: Usado para consultar y buscar paquetes y Es una buena medida que el primer cron programado por un
listas. administrador en un sistema debian sea:
Ambas funciones se basan en la idea de repositorios o almace‐ apt-get update; apt-get upgrade
nes de paquetes. Dichos almacenes son servidores que almacenan
colecciones de paquetes y mantienen catálogos con los nombres de Si lo que queremos es actualizar un único paquete, lo único que
aquellos. Estos catálogos son ficheros que contienen el inventario de tenemos que hacer es utilizar el argumento install, de la misma
los paquetes. forma que si los fuéramos a instalar por primera vez.
Como administradores, debemos mantener una lista con los También podremos desinstalar los paquetes instalados con esta
almacenes que queramos utilizar. Dicha lista está contenida en el herramienta, bastará con escribir:
fichero: “/etc/apt/sources.list”, donde se almacenan las
/# apt-get purge <nombre-paquete>
URL de estos repositorios; será nuestro deber mantener esta lista
actualizada y con almacenes seguros.
Y para borrar la aplicación y también eliminar el paquete des‐
cargado (O AL REVÉS):
apt‐get
/# apt-get remove <nombre-paquete>
Para instalar o actualizar cualquier paquete utilizamos apt-
get. Para instalar un paquete, ejecutamos:
apt‐cache
/# apt-get install <nombre-paquete>
Para realizar consultas a los catálogos de paquetes utilizamos el
comando apt-cache. Es muy útil porque para instalar un paquete
Esta orden, primero buscará el paquete en los catálogos de los
hay que conocer su nombre exacto, y para ello, podremos hacer
almacenes para localizar su almacén original, y una vez localizado,
búsquedas de palabras clave.
descargará el paquete. Una vez descargado, lo instalará resolviendo
Aunque este comando suele utilizarse para buscar un nombre
las dependencias de otros paquetes si fuera necesario.
de paquete, también tiene otros usos, como por ejemplo:
Si apt-get no encuentra el paquete, puede ser debido a dos
cosas:
Conseguir información de un paquete en concreto.
Obtener estadísticas sobre los catálogos.
Los catálogos de los almacenes registrados están desac‐
tualizados. Conseguir información sobre dependencias.
Los catálogos están actualizados, pero ningún almacén
Para buscar el nombre exacto de un paquete en base a la in‐
guarda ese paquete.
formación sobre su descripción, ejecutamos:
Para actualizar los catálogos y pedírselos de nuevo a los alma‐
/# apt-cache search ‘cadena de texto’
cenes debemos ejecutar:
Todo paquete tiene una descripción larga y otra corta, y search
/# apt-get update
te busca en ambas.
Si cuando vas a instalar algo te dice que no lo encuentra, antes
Meta‐paquete
de nada haz un update para pedirle a cada repositorio la última actua‐
lización de su catálogo.
Se entiende por meta‐paquete aquel paquete que no tiene más
Con apt-get también podemos gestionar las actualizaciones
que la información necesaria para resolver todas las dependencias del
de nuestros paquetes. Siempre que tengamos la versión más nueva de
paquete, es decir, es un paquete vacío (por ejemplo, genome3).
todos los catálogos de nuestros almacenes, podremos ejecutar lo
siguiente para actualizar todos nuestros paquetes (busca actualizacio‐
Paquete Roto
nes y las instala):
/# apt-get upgrade Si tenemos un paquete A, que depende de las librerías A1, A2 y
A3, y tenemos un paquete B, que depende de A3, B1 y B2, al borrar A,
19
Administración de Sistemas Operativos
estaré borrando la librería A3, de la que depende B, por lo que diré utilizaron mucho para realizar copias de seguridad de árboles de
que B es un paquete roto. Sin embargo, hay argumentos de apt-get ficheros sobre cintas magnéticas (tapes).
para arreglar los paquetes corruptos. Sus argumentos son:
También es posible arreglar los paquetes rotos con dpkg –i,
instalando un paquete sin resolver sus dependencias, es decir, po‐ C (create). Empaqueta.
dríamos instalar el paquete B y su librería A3 (dependiente de A), sin
instalar el paquete A. /# tar c directorio > fichero.tar
SISTEMA DMG DE Mac OS X Si se combina con f, redirigimos directamente la salida al
fichero:
Es el sistema más usual de distribución de software sobre Mac
OS. Está basado en un formato de imagen de disco propietario de /# tar cf fichero.tar directorio
Apple, de extensión “.dmg”. Por tanto, podemos manipularlos como
imágenes que son, es decir, podemos montarlas, grabarlas en CDs, Si se combina con v, aparece por pantalla la lista de fiche‐
etc. ros que se empaquetan:
Estos paquetes están formados por una cabecera junto con to‐
/# tar cvf fichero.tar directorio
dos los datos del fichero comprimidos, y soportan protección en
forma de cifrado.
t (list). Visualiza el contenido
OTROS MECANISMOS
/# tar t < fichero.tar
Existen otros mecanismos para distribuir software, basados to‐
Si se combina con f, redirigimos directamente la entrada
dos ellos en el empaquetamiento de los archivos ejecutables, o bien,
desde el fichero, y si ponemos v, nos lanza el mensaje por
del código fuente. El distribuir el código fuente ofrece ventajas e
pantalla.
inconvenientes, entre los que cabe destacar:
/# tar tvf fichero.tar
Ventaja: Compilar el código fuente en la máquina de des‐
tino suele generar un mayor rendimiento. x (extract). Desempaqueta un tar.
Inconveniente: La compilación podría requerir dependen‐
cias no suministradas, como librerías externas que tengan /# tar x < paquete.tar
que ser enlazadas de forma estática y compiladas; versio‐
nes concretas del compilador; variables de entorno Si se combina con f, redirigimos directamente la entrada
concretas… desde el fichero, y si ponemos v, nos muestra por pantalla
lo que va haciendo.
Para resolver estas dependencias, en los entornos Unix se tiene
la herramienta make. A través de los archivos makefile, los pro‐ /# tar xvf fichero.tar
gramadores pueden escribir la receta ideal de compilación.
Para comprimir un archivo “.tar”, demos utilizar un programa
Archivos Contenedores aparte, como gzip, y gunzip para descomprimir. Sin embargo,
también podemos utilizar el argumento z junto con el resto para
Es muy habitual realizar un empaquetamiento básico del código señalar su compresión.
fuente, o de la versión compilada, dentro de un formato de archivo Es decir, para comprimir con gzip:
“contenedor” (por ejemplo “.tar”). Además, estos archivos conte‐
nedores pueden estar comprimidos (zip, rar, bzip, etc.), existiendo /# gzip fichero.tar
para múltiples plataformas programas capaces de manipularlos.
Y obtengo como salida el siguiente archivo:
TAR
fichero.tar.gz
Su nombre viene de Tape Archive. Esta herramienta no com‐
Si utilizo gunzip fichero, lo descomprimo.
prime, sino que sólo serializa los archivos y directorios, poniéndolos
uno tras otro, para formar un único fichero. En entornos Unix se /# gunzip fichero.tar
20
Administración de Sistemas Operativos
Como se ha dicho antes, también puedo empaquetar y com‐ WSUS permite la creación de grupos de equipos que permiten dirigir
primir con el argumento z. actualizaciones hacia equipos específicos. Por ejemplo, creando un
grupo de prueba, podremos permitir que las actualizaciones se lleven
/# tar cvzf fichero.tar.gz directorio a cabo en el resto de equipos fuera de ese grupo si se han aprobado
antes en el grupo de prueba.
Y obtengo como salida el siguiente archivo:
APT‐CACHER
fichero.tar.gz ó también puedo poner “.tgz”
Este servicio está basado en la librería de paquetes apt. Lo que
Ten en cuenta que no podremos comprimir nada que antes no hace es utilizar una máquina como contenedora de paquetes, que no
haya sido empaquetado en un único fichero. sólo se bajará los paquetes de los repositorios, sino que los comparti‐
rá con el resto de máquinas de su red, consiguiendo un ahorro del
SISTEMAS DE GESTIÓN DE ACTUALIZACIONES ancho de banda. Además, apt-cacher permite tener un control
sobre las versiones de estos paquetes.
La gestión de actualizaciones es un proceso que podemos cen‐ Para instalarlo se utiliza el propio apt.
tralizar en nuestra infraestructura. Esta técnica aporta diferentes
ventajas a los administradores: /# apt-get install apt-cacher
Permite filtrar y seleccionar aquellas actualizaciones que Tras lo que tendremos que editar su fichero de configuración,
no deseamos para nuestro dominio de máquinas. situado en “/etc/apt-cacher/apt-cacher.conf”.
Funciona como una caché de paquetes, evitando sobre‐ Lo normal es que el puerto utilizado sea el 3142, y habrá que
carga de la red. tener cuidado con el tráfico en cortafuegos y redes privadas; puede
Evita que se obtengan actualizaciones de fuentes no auto‐ que sea necesario abrir puertos. Además, será necesario actualizar los
rizadas por el administrador. scripts rc para que se ejecute al inicio.
WINDOWS SERVER UPDATE SERVICES APÉNDICE.
Es el servicio de actualizaciones de Microsoft. Una vez instalado Si quieres bajar ficheros de Internet puedes utilizar el comando wget:
y configurada la red correctamente, se conectará con el servicio de
Microsoft Update. A partir de ese momento, el servicio WSUS se wget http://url.archivo.jpg
sincronizará periódicamente con el servidor para comprobar si hay
actualizaciones nuevas. Y se descargará el archivo en la ruta en la que te encuentres.
Para configurar las actualizaciones en los equipos clientes, po‐
demos utilizar los objetos GPO sobre el Active Directory. Además,
21