Sunteți pe pagina 1din 10

Unix

Unix es un sistema operativo portable, multitarea y multiusuario desarrollado a partir de


1969. Como era de esperar el sistema original ha ido mejorándose, adaptándose al nuevo
hardware y diversificándose a lo largo del tiempo. Hoy en día los sistemas operativos Unix
son ampliamente utilizados en multitud de dispositivos que abarcan desde los
supercomputadores más capaces hasta los teléfonos móviles más populares, pasando por
los ordenadores que utilizamos diariamente en nuestros escritorios. La filosofía de los
sistemas Unix se caracteriza por:

 el uso de ficheros de texto para almacenar los datos,


 un sistema de ficheros jerárquico,
 una gran colección de pequeños programas que pueden trabajar en serie,
 tratar los dispositivos como ficheros.

Dos de los sistemas Unix más populares en la actualidad son Mac OS X y Linux.

Linux
Linux es una familia de sistemas operativos de tipo Unix que
utilizan el kernel Linux. Linux puede instalarse en prácticamente
cualquier ordenador personal además en en teléfonos móviles y
supercomputadores.

El nombre proviene del programador original, un estudiante


llamado Linus Torvals, que en 1991 completando las herramientas
GNU desarrolladas por el proyecto GNU de la Fundación del Software Libre, creo la
primera versión de este sistema operativo. El papel fundamental jugado por estas
herramientas libres del proyecto GNU hace que este sistema operativo sea denominado
también como GNU/Linux, pero en este texto utilizaremos la denominación más sencilla y
corta.

El desarrollo de Linux es uno de los ejemplos más claros de desarrollo de software libre
por una comunidad dispersa de programadores. Cualquiera puede usar el sistema
operativo, estudiarlo y modificarlo. Estos derechos están protegidos por la
licencia GPL (GNU General Public License).
Distribuciones
Linux, como cualquier otro sistema operativo, se compone de un gran número de piezas,
que, en este caso, son desarrolladas de forma independiente por miles de programadores
y proyectos. Normalmente estas piezas son integradas por un distribuidor y Linux es
suministrado como una distribución Linux. Las distribuciones Linux incluyen todo el
software necesario para instalar un servidor o un escritorio. Algunas de las aplicaciones
comúnmente incluidas incluyen: el navegador web Firefox y las aplicaciones de oficina
LibreOffice.

Actualmente hay unas 600 distribuciones Linux de las cuales aproximadamente la mitad
tienen un desarrollo activo. Estas distribuciones están adaptadas para usuarios o tareas
específicas. Algunas de estas distribuciones están desarrolladas o apoyadas por empresas
como Fedora (Red Hat), openSUSE (Novell) y Ubuntu (Canonical) mientras que otras son
mantenidas por la propia comunidad de usuarios (Debian).

Ubuntu
Ubuntu es una distribución Linux mantenida por la empresa Canonical. Está orientada a
usuarios de escritorio y sus puntos fuertes son su facilidad de uso y de instalación.

Al instalarla, una gran cantidad de software se instala de forma automática para facilitar
su uso como escritorio. Ejemplos de estos programas son LibreOffice o Firefox. Además de
estos programas instalados por defecto una enorme cantidad de programas se encuentra
disponible para ser instalados con unos pocos clicks de ratón.

Ubuntu está basada en una distribución mantenida por la comunidad de usuarios


llamada Debian. El principal objetivo de Debian es crear un sistema operativo robusto que
incluya la mayor proporción posible de programas libres.
Software libre
El software libre es software que puede ser utilizado, estudiado, modificado, copiado y
redistribuido sin restricciones. Habitualmente el software libre suele ser además gratuito,
pero ese no tiene por que ser necesariamente el caso.

En la práctica el software libre se distribuye junto al código fuente que lo hace posible y
junto a una nota en la que se explican cuales son los derechos y las obligaciones del
usuario final. Esta nota se denomina licencia. El movimiento del software libre fue iniciado
por Richard Stallman en 1983. Stallman decidió crear un sistema compatible con Unix
completamente libre al que llamó GNU (GNU is Not Unix). Con el tiempo este sistema
acabaría uniéndose al kernel de Linus para formar un sistema operativo completo.
Dado que las aplicaciones del software libre suelen ser gratuitas, su modelo de negocio
suele basarse en el cobro de los servicios de soporte al usuario y de adaptación del
software.

¿Qué es un sistema distribuido?


Un sistema distribuido es un conjunto de equipos independientes que actúan de forma
transparente actuando como un único equipo .

Su objetivo es descentralizar tanto el almacenamiento de la información como el


procesamiento.

Esto lo vemos de cara al uso de Elasticsearch y cómo funciona.

¿Qué ventajas aporta?


Algunas de las ventajas que aporta un sistema distribuido son:

  Mayor eficacia.
  Mayor tolerancia a fallos: al estar distribuida la información en nodos, en caso de
que se caiga un nodo, dicha información va a encontrarse replicada en otros nodos.
  Mayor velocidad y procesamiento distribuido: cuando se realiza una consulta, lo
procesamientos se dividen entre todos los nodos que forman el sistema distribuido,
en lugar de enviarlos a un único nodo y que el mismo tenga que hacer todo el
trabajo.
  Escalabilidad: si, por ejemplo, se necesita más procesamiento o añadir más disco
duro, en lugar de que los equipos crezcan de forma vertical añadiendo más
almacenamiento, RAM o CPU, se añaden equipos de forma horizontal al clúster o
sistema distribuido.

¿Qué aporta una base de datos distribuida?


Una base de datos distribuida aporta una serie de ventajas:

  La información se almacenaría físicamente en diferentes sitios de la red, aunque


lógicamente, de cara a un usuario final es una única base de datos. Cuando queramos
acceder a la información, vamos a lanzar una consulta e internamente ya sabrá
dónde está almacenado cada uno de esos datos.
  Independencia respecto al sistema operativo, ya que si el servicio se puede instalar
en sistemas operativos Linux o Windows, la base de datos es de forma distribuida y
resulta completamente transparente el sistema operativo para el usuario final.
  La información queda fragmentada.
  Las réplicas aportan alta disponibilidad.

¿Qué es un clúster?
Este conjunto de nodos del que hemos hablado, forman lo que se conoce como clúster.

Cuando tenemos una instancia de Elasticsearch instalada, un servicio en un equipo se


denomina nodo , y un conjunto de nodos de Elasticsearch se denomina clúster.

Cada nodo se encarga de peticiones HTTP y dispone de una REST API para contestar a las
peticiones que se vayan realizando. Los nodos conocen el estado del resto y pueden reenviar
las peticiones de los clientes al nodo indicado.

Tipos de nodos
Tenemos varios tipos de nodos disponibles:

Master node

Es el encargado de crear y borrar los índices . Al hablar de índices en Elasticsearch nos


referimos a bases de datos. Además, gestiona los nodos conectados al clúster y toma
decisiones de colocación de datos, es el encargado de repartir e indexar los shards entre los
nodos. De la misma forma, cuando realizamos una búsqueda, se encarga de indicarnos
dónde consultar la información solicitada.

Data node

Su objetivo es almacenar la información y procesarla . Podemos realizar consultas en la que


únicamente se devuelva una información, pero también otras más complejas, en las que
hagamos agregaciones. Por ejemplo, si tenemos la información de nuestros clientes y la
cantidad que nos deben, podemos consultar el total que nos debe un cliente concreto, para
ello el data node realizará una suma. Es un ejemplo muy básico, pero nos sirve para entender
el procesamiento que emplean estos nodos.

Ingest node

Ejecutan una especie de pre-procesamiento de la información antes de almacenarla .


Normalmente se realiza con Logstach instalado, pero si es un pre-procesamiento muy básico
podemos hacerlo de esta forma. Lo que hace es recoger la información, aplicarle una serie de
campos con unos filtros y después pasarla al master node para que pueda realizar el
indexado de dichos datos.

Coordinating node
El último tipo de nodo, el que más queríamos destacar, es el nodo coordinador (Coordinating
node). Es el nodo que encamina las peticiones y se instala en el cliente, en nuestro caso
Kibana .

Cuando Kibana realiza las peticiones a Elasticsearch, si no se utiliza este tipo de nodo, las hará
al master node, por lo que si el mismo está sobrecargado, lo vamos a sobre sobrecargar aún
más.

Al utilizar un coordinating node, éste mantendrá una comunicación constante con el master


node, actualizando toda la información del mismo para compartirla con él . De esta forma
al conectar Kibana con el coordinating node, éste no necesita conectarse al master node para
buscar la información solicitada, ya que también la conoce.

Es una forma de evitar sobrecargar más el clúster , a través del master, y poder realizar las
consultas con la información que conoce el nodo coordinador.

Además de saber dónde escribir y leer la información, puede ayudar al procesamiento de


datos , es decir, lo que sería un mapreduce, que se ve mucho en procesamiento escalado de
Big Data.
De esta forma, cuando se realiza una consulta, se envía la misma a los data node, que
harán la búsqueda y una especie de pre-procesamiento . Para obtener un único resultado
de una única consulta, y uno un resultado de cada data node, entonces lo que se hace es que
los mismos realizan ese pre-procesamiento, una especie de mapeo. Una vez que se ha
realizado el mismo, es enviado al nodo coordinador, el cual realiza una unión o merge de los
resultados obtenidos de todos los nodos, y es el que presenta el resultado final a Kibana.

De esta forma mejoramos la velocidad y no sobrecargamos el clúster.


Introducción a los sistemas operativos en red
Son aquellos sistemas que mantienen a dos o más equipos unidos a través
de ALGÚN medio de comunicación (físico o no), con el objetivo primordial de
poder compartir los diferentes recursos hardware y software.
Los sistemas operativos de red más ampliamente usados son: Novell Netware,
LAN Manager, Windows Server, UNIX, Linux, LANtastic, Li, etc.
Al igual que un equipo no puede trabajar sin un sistema operativo, una
red de equi- pos no puede funcionar sin un sistema operativo de red. Si
no se dispone de NINGÚN equipo que monte un sistema operativo de red,
no existirá una gestión centralizada de recursos, por lo que la red se
convertirá en lo que hemos denominado grupo de trabajo.
Si existe un sistema operativo en red, los recursos de la red se gestionarán
siempre a través del ordenador principal de forma centralizada.
La configuración de una red con este tipo de sistemas operativos tiene sus
ventajas e inconvenientes. Por tanto, nuestro trabajo como profesionales es
determinar la configu- ración que mejor se adapte a las necesidades de
nuestra red.
En un entorno de red podemos diferenciar claramente dos componentes:
 Clientes. Equipos normalmente configurados con sistemas operativos
monopuesto, que se conectan y validan al servidor para poder
empezar a trabajar en la red.
 Servidores. Equipos configurados con operativos de red que
proporcionan recursos a los clientes y el software de red del cliente
permite que estos recursos estén disponibles para los equipos clientes. La
red y el sistema operativo del cliente están coordinados de forma que
todos los elementos de la red funcionen correctamente.
En particular, ya vimos el curso pasado la instalación, configuración, administración
y utilización de los equipos clientes, al montar sistemas operativos monopuesto o mo-
nousuario. Ahora vamos a ver la instalación, configuración y administración de los
denominados servidores, que incorporan sistemas operativos en red.

IMPRESORA IMPRESORA
LOCAL CLIENTE EN RED
DE RED

CLIENTE
DE RED
Sistemas operativos en red UNIX/Linux
UNIX/Linux es un sistema operativo de propósito general, multiusuario y
multitarea. Las versiones más conocidas de estos SO son Linux Debian y UNIX
Solaris de Sun Microsystem. Normalmente, un sistema UNIX/Linux está constituido
por un equipo cen- tral y MÚLTIPLES terminales para los usuarios. Este sistema
operativo incluye las pres- taciones de red, diseñado específicamente para grandes
redes, pero también presenta algunas aplicaciones para equipos personales.
UNIX/Linux trabaja bien sobre un equi- po autónomo y, como consecuencia de sus
posibilidades de multitarea, también lo hace perfectamente en un entorno de red.
A diferencia de los sistemas operativos Microsoft, UNIX/Linux en cualquiera de sus
versiones puede funcionar como cliente o como servidor. Cierto es que, en particular,
Linux Debian en su distribución Ubuntu distribuye dos versiones, como ya hemos
men- cionado anteriormente, pero básicamente tienen la misma arquitectura y se
gestionan y configuran igual. La diferencia radica principalmente en que los clientes
incorporan menos servicios que los servidores y especialmente que el trabajo sobre
los servidores normalmente no se desarrolla en entorno gráfico.

Integración de sistemas operativos en redes


mixtas
Ya hemos visto que los clientes de una red pueden ser equipos con SO del tipo
Windows XP, Windows Vista o UNIX/Linux. Por otro lado los servidores pueden ser
Windows Server o UNIX/Linux.
Tenemos que saber que cuando queremos montar una infraestructura de red siempre
podremos mezclar equipos de uno y otro tipo sin NINGÚN tipo de problema,
sabien- do qué características nos ofrece cada uno de ellos y el diseño y
necesidades que tengamos en nuestra red. Si miramos la Figura 1.2 podremos
ver un sistema infor- mático en red en el que existe una interoperabilidad total
entre sistemas clientes y servidores.
Selección de un sistema operativo en red
Cuando planificamos la infraestructura de una red, la selección del SO de red se puede
simplificar de forma significativa si primero se determina la arquitectura de red
(cliente/servidor o grupo de trabajo) que mejor se ajusta a nuestras necesi- dades.

Para decidir qué tipo de infraestructura queremos montar nos basaremos en varios
parámetros:

• Nivel de seguridad de la red. Esta decisión se basa en los tipos de seguridad


que se consideran más adecuados. Las redes basadas en servidor permiten in-
cluir más posibilidades relativas a la seguridad que las que nos ofrece un simple
grupo de trabajo. Por otro lado, cuando la seguridad no es una propiedad a
considerar, puede resultar más apropiado un entorno de red del tipo grupo de
trabajo.

• NÚMERO de usuarios de la red. Cuando el nÚmero de usuarios es pequeño, a veces


resulta más práctico y fácil de administrar un grupo de trabajo que una red en
entorno cliente/servidor ya que el mantenimiento, actualización y gestión de los
recursos será pequeño.

• NÚMERO de equipos de la red. Al igual que en el caso anterior y por los mismos
motivos, si disponemos de pocos equipos en la red, tal vez será mejor trabajar en
un grupo de trabajo que en un entorno de red cliente/servidor.

• Evaluar la interoperabilidad de la red. Después de identificar las necesidades de


seguridad, usuarios y equipos de la red, el siguiente paso es determinar los tipos
de interoperabilidad necesaria en la red para que se comporte como una uni-
dad.

Cada sistema operativo de red considera la interoperabilidad de forma


diferente y, por eso, resulta muy importante recordar nuestras propias
necesidades de inte- roperabilidad cuando se EVALÚE cada sistema operativo de
red.

Si la opción es grupo de trabajo, disminuirán las opciones de seguridad y de inte-


roperabilidad debido a las limitaciones propias de esta arquitectura. Si la opción
seleccionada se basa en la utilización de un entorno cliente/servidor, es necesario
realizar estimaciones futuras para determinar si la interoperabilidad va a ser con-
siderada como un servicio en el servidor de la red o como una aplicación cliente
en cada equipo conectado a la red.

La interoperabilidad basada en servidor es más sencilla de gestionar puesto que,


al igual que otros servicios, se localiza de forma centralizada.

La interoperabilidad basada en cliente requiere la instalación y configuración en cada


equipo. Esto implica que la interoperabilidad sea mucho más difícil de ges- tionar.
Seleccionado el SO en red que queremos instalar, a continuación se determinan
los servicios de red que se requieren. Recordemos que los servicios de red son
programas que se ejecutan de forma permanente en los SO y que determinan qué
es lo que se puede hacer sobre el sistema.

Otros servicios adicionales que se pueden incluir a la hora de configurar y ges-


tionar un SO en red son soportes de interoperabilidad para conexiones con otros
sistemas operativos, servicios de gestión de red, políticas de seguridad, automati-
zación de procesos, etc.

S-ar putea să vă placă și