Sei sulla pagina 1di 8

ESTADO DEL ARTE SOBRE LA IMPLEMENTACIN DE SAMBA EN UN CLSTER CON CTDB Sahyra J. Ypez E.

Universidad Central de Venezuela Facultad de Ciencias, Escuela de Computacin sahyrayepez@gmail.com

RESUMEN El objetivo de este artculo es hacer una revisin sobre las tecnologas usadas para implementar un sistema de cluster que ofrezca un repositorio de almacenamiento con alta disponibilidad, permitiendo compartir los recursos para ser accedidos desde equipos con diferentes sistemas operativos y con una alta concurrencia, manteniendo la integridad de la informacin. Este escenario es muy comn hoy en da, debido a la necesidad que tienen las empresas e instituciones de tener grandes repositorios de informacin que pueda ser compartido y accedido por diversos usuarios. En este sentido, se presentar una solucin tecnolgica que satisfaga eficiente y oportunamente todas estas necesidades. Palabras clave: samba, clster, TDB, CTDB.

1. INTRODUCCIN Hoy en da, debido a la gran cantidad de recursos disponibles en red que requieren ser compartidos y a la diversidad de sistemas operativos en los equipos pertenecientes a estas redes, es necesario solventar los problemas de interoperabilidad entre los mismos. Este proceso de compartir los recursos debe ser para el usuario final lo mas transparente y eficaz posible, sin importar donde y bajo que plataforma se encuentren ubicados. En este sentido, en los Sistemas de redes Windows se cuenta con SMB ("Server Message Block") renombrado recientemente a CIFS (Common

Internet Filesystem), que es parte del protocolo NetBEUI desarrollado por Microsoft e IBM el cual permite la comunicacin entre Discos e Impresoras [2]. Sin embargo, esta comunicacin esta limitada a equipos pertenecientes a una Red de Windows. Con el fin de cubrir las necesidades de interoperabilidad y acceso en redes heterogneas, es decir donde los recursos pueden estar ubicados en equipos bajo plataforma Windows o Unix/Linux, se desarroll un protocolo que permite el acceso a distintos recursos distribuidos en redes donde los equipos trabajan con sistemas operativos diferentes.

2. SAMBA Samba es una implementacin libre del protocolo de archivos compartidos de Microsoft Windows [1], permitiendo que un servidor ("Host") Unix pueda accesar recursos en plataformas de Windows (95, 98, NT, 2000), al igual que permite a equipos en plataformas Windows accesar recursos en "Hosts" de Unix. Samba se instala en el servidor Unix o Linux que va a interactuar entre los protocolos TCP/IP y NetBios para convertir al servidor en un sistema que permite compartir archivos e impresoras de manera tal que el servidor se vincula a la red sin notarlo. El efecto de Samba hace que en el entorno de red aparezca el servidor Linux o Unx como si fuera un equipo ms de la red Windows, permitiendo entrar a los directorios autorizados y servir como repositorio de datos sin importar el sistema operativo. La suite Samba implica un par de demonios que proporcionan recursos compartidos a clientes SMB sobre la red (las comparticiones son denominadas a veces tambin como servicios). Estos demonios son: smbd: un demonio que permite comparticin de archivos e impresoras sobre una red SMB y proporciona autentificacin y autorizacin de acceso para clientes SMB. nmbd: un demonio que busca a travs del Windows Internet Name Service (WINS), y ayuda mediante un visualizador. [3]

Una configuracin de red simple con un servidor Samba consta de un servidor Unix/Linux sobre el cual corre el servicio de Samba, y n equipos clientes con diversos sistemas operativos (Windows 95, Windows XP, Windows NT, entre otros).

Figura 1: Configuracin de red simple con un servidor Samba

En esta red, cada una de las computadoras comparte el mismo grupo de trabajo. Un Grupo de Trabajo es simplemente una etiqueta de nombre de grupo que identifica a una determinada coleccin de ordenadores y sus recursos sobre una red SBM. [3]

3. COMPUTACIN CLSTER Como se ha visto hasta ahora, una de las grandes funcionalidades de Samba es poder compartir a travs de la red, archivos que estn ubicados en un espacio comn (servidor), sin importar la plataforma desde la cual se quiere acceder. Ahora bien, existen empresas donde se maneja un gran volumen de informacin y tienen una gran cantidad de usuarios queriendo acceder y compartir esa misma informacin, por lo que requieren el uso de tecnologa que combine alta capacidad de almacenamiento, as como tambin el fcil y rpido acceso a los recursos. Esta solucin tecnolgica se basa en la implementacin de un sistema distribuido, especficamente la utilizacin de tecnologa de clusters, la cual

ha evolucionado en apoyo de actividades que van desde aplicaciones de supercmputo y software de misiones crticas, servidores Web y comercio electrnico, hasta bases de datos de alto rendimiento, entre otros usos. [9] Un Clster consiste en un grupo de computadoras de relativo bajo costo conectadas entre s mediante un sistema de red de alta velocidad (gigabit de fibra ptica por lo general) y un software que realiza la distribucin de la carga de trabajo entre los equipos. Por lo general, este tipo de sistemas cuentan con un centro de almacenamiento de datos nico [4], lo que solventa el problema de alta capacidad de almacenamiento, rpido y mltiple acceso. Se debe solventar el problema de interoperabilidad, es decir, permitir que se pueda tener acceso a la informacin contenida en el clster desde cualquier equipo con plataforma Unix/Linux o Windows. Para esto utilizamos Samba, sin embargo, las implementaciones actuales de Samba3 no se pueden utilizar directamente en los sistemas de clster ya que estn orientados a sistemas de un solo servidor. Samba usa una base de datos ligera llamada Trivial Database (TDB), en la cual se almacenan datos persistentes y transitorios. Los procesos smbd usan esta TDB para la mensajera, almacenamiento de datos compartidos, entre otros. Algunos archivos TDBs se pueden eliminar antes de reiniciar Samba, pero otros se utilizan para almacenar informacin que es vital para la configuracin y comportamiento de Samba. Ahora bien, no hay forma de coordinar los procesos smbd para que se ejecuten en diferentes nodos del clster. En una implementacin de Samba para clster, cada nodo tiene su propio proceso smbd y deben comunicarse entre s para evitar la corrupcin de datos compartidos y el tratamiento de bloqueos, entre otras cosas. As que el mayor problema para esta implementacin, es la ampliacin del subsistema de seguridad (modo compartir bloqueos, bloqueos oportunos, bloqueos de rango de bytes) en el sistema multi-nodo del clster. Grficamente, la implementacin de Samba en un clster sera:

Figura 2: Arquitectura Clster con Samba [5]

En esta configuracin existe un conjunto de nodos que conforman el clster, en los cuales se ejecuta el servicio de Samba y todas sus instancias aparecen como un nico servidor Samba desde el punto de vista del cliente. A travs de este servicio y el balanceo de cargas se tendr acceso al conjunto de discos de almacenamiento de forma rpida, garantizando la alta disponibilidad de los recursos. Sin embargo, existen algunos desafos que se deben enfrentar, los cuales se mencionan a continuacin: El demonio de Samba sobre los nodos del clster deben actuar como un Servidor CIFS, es decir, tener una visin coherente de las

propiedades de los archivos y bloqueo coherente en archivos de Windows [6]. Las instancias de Samba necesitan compartir ciertos datos persistentes: Base de datos de usuarios, informacin de seguridad, tablas de mapeo de identificadores (id). Adems compartir datos voltiles de sesin: SMB sessions, compartir conexiones, seguridad en intervalo de bytes (brlock.tdb) Mensajera.

4. CTDB La implementacin de Samba sobre un clster, se basa en el uso de CTDB la cual es una implementacin de la base de datos TDB usada por Samba y otros proyectos para almacenamiento de datos temporal. CTDB provee las mismas funciones que TDB pero en una plataforma de Clster, suministrando una base de datos estilo TDB que abarca mltiples host fsicos. Usando CTDB, Samba es capaz de compartir archivos correctamente desde mltiples nodos al mismo tiempo (activo pasivo) manteniendo altamente la semntica SMB sin bajar el rendimiento. [10] El servicio CTDB, ctdbd, se ejecuta en cada nodo. Los servidores negocian los metadatos de la base de datos TDB y poseen una copia local (LTDB) de la base de datos TDB que mantiene para CTDB; esta copia no reside en el sistema de ficheros del clster, sino en una memoria local rpida. El acceso a los datos es manejado por los TDBs locales. [8] CTDB usa bases de datos persistentes y normales. La replicacin de la base de datos persistente es realizada usando una transaccin global y luego se distribuyen los datos a todos los nodos cuando la transaccin esta completada. Mientras que la replicacin de la base de datos normal es sobre demanda, es decir, los registros son recuperados por un nodo slo cuando son necesitados y luego son copiados localmente. [10] Para la comunicacin se cuentan con dos redes, separadas fsicamente: una red pblica desde la que los clientes accedern a los servicios disponibles (Samba, NFS, FTP,) y una red privada, que los CTDB utilizarn para las comunicaciones internas dentro del clster. [8]

La implementacin de Samba en un clster con CTDB ofrece muchas prestaciones, entre las cuales se encuentran [7]: Servicios de archivos de alta disponibilidad. Rendimiento muy escalable. Soporte para snapshots (copia instantnea de volumen). Soporte para archivos sin conexin.

De igual forma, CTDB posee caractersticas que permiten ofrecer un servicio de alta disponibilidad (HA), tales como: monitoreo de nodos, nodo failover (recuperacin contra fallos), e IP takeover (si el nodo maestro falla, un nodo de respaldo asume su direccin IP y pasa a atender las peticiones).

REFERENCIAS 1. Samba (programa): http://es.wikipedia.org/wiki/Samba_(programa) 2. Samba en Linux: http://www.osmosislatina.com/linux/win_samba.htm 3. Usando Samba por Robert Eckstein, David CollierBrown y Peter Kelly, 1999, http://lucas.hispalinux.es/Manuales-LuCAS/USANDOSAMBA/usando-samba.pdf 4. Computacin distribuida: http://es.wikipedia.org/wiki/Computacin_distribuida 5. Clustered Samba: http://wiki.samba.org/index.php/Clustered_Samba 6. Clustering Samba With CTDB. A Tutorial At sambaXP 2010 por Michael Adam, 2010, http://www.samba.org/~obnox/presentations/sambaXP2010/sambaxp-2010-tutorial-ctdb-handout.pdf 7. Clustered Samba por Andrew Tridgell, Ronnie Sahlberg, Samba Team, 2008, http://mirror.linux.org.au/pub/linux.conf.au/2008/slides/178-tridgectdb.pdf 8. ADMINISTRACIN - Samba para Clusters: http://www.linuxmagazine.es/issue/55/062-066SambaClustersLM55.pdf

9. Cluster (informtica): http://es.wikipedia.org/wiki/Cluster_(informtica) Samba in Red Hat Enterprise Linux 6, clustering and other new 10. Features: http://www.redhat.com/promo/summit/2010/presentations/summit/wh ats-new/thurs/ssorce-310-samba/Summit-2010-Samba-in-RHEL6Final.pdf

Potrebbero piacerti anche