# Global File System (Red Hat)

El Global File System (GFS, también GFS2), inicialmente llamado Minnesota Global File System, es un sistema de archivos de discos compartidos o sistema de archivos distribuido para clústeres de servidores de sistemas GNU/Linux (principalmente). No debe confundirse con el Google File System, ni el GMail File System (también llamados GFS), que son sistemas de archivos privativos desarrollados por Google Inc. Tampoco con el Gluster File System, adquirido en octubre de 2011 por Red Hat Inc.
El GFS y el GFS2 difieren de otros sistemas de archivos distribuidos (como AFS, Coda y el InterMezzo) porque permiten que todos los nodos tengan acceso simultáneo directo al mismo bloque de almacenamiento compartido. Además el GFS y el GFS2 también pueden ser usados como sistema de archivos local.
El GFS posee un modo de operación no desconectado (no disconnected operating-mode), y roles no cliente y no servidor. Todos los nodos en un cluster GFS funcionan como pares. Usar GFS en un cluster requiere de un hardware para proveer el acceso al almacenamiento compartido, y un administrador de bloqueo para controlar el acceso los datos. El administrador de bloqueo opera como un módulo separado: así GFS y GFS2 pueden usar el Administrador de Bloqueo Distribuido (Distributed Lock Manager, o DLM) para configuraciones de trabajo en cluster (o trabajo simétrico o síncrono) y el administrador de bloqueo "no bloqueado" para trabajo como sistema de archivos local. En versiones anteriores del GFS, también soportaba Gran Administrador de Bloqueo Unificado (Grand Unified Lock Manager o GULM), un servidor basado en administración de bloqueo que implementa redundancia contra fallos.
GFS y GFS2 son software libre, distribuidos bajo los términos de la GNU General Public License.

## Historia

El desarrollo de GFS comenzó en 1995 y fue desarrollado originalmente por el profesor de la Universidad de Minnesota Matthew O'Keefe y un grupo de estudiantes. Fue escrito inicialmente para el sistema operativo IRIX de SGI, pero en 1998 fue portado a Linux ya que el código abierto proporcionaba una plataforma de desarrollo más conveniente. A finales de 1999 y principios de 2000 fue a parar a Sistina Software, donde permaneció durante un tiempo como proyecto de código abierto. En 2001, Sistina consideró que GFS debía ser un producto propietario.
Los desarrolladores hicieron una bifurcación en OpenGFS a partir de la última versión pública de GFS y posteriormente la mejoraron para incluir actualizaciones que le permitieran trabajar con OpenDLM. Pero OpenGFS y OpenDLM desaparecieron, ya que Red Hat compró Sistina en diciembre de 2003 y licenció GFS y gran parte de la infraestructura de clusters bajo la GPL a finales de junio de 2004.
Posteriormente, Red Hat se encargó de financiar un ulterior desarrollo orientado a la corrección de errores y a la estabilización. Un desarrollo posterior, GFS2 deriva de GFS y se incluyó junto con su gestor de bloqueo distribuido (compartido con GFS) en Linux 2.6.19. Red Hat Enterprise Linux 5.2 incluyó GFS2 como módulo del kernel para su evaluación. Con la actualización 5.3, GFS2 pasó a formar parte del paquete del kernel.
GFS2 forma parte de las distribuciones de Fedora, Red Hat Enterprise Linux y CentOS Linux correspondiente. Los usuarios pueden adquirir soporte comercial para ejecutar GFS2 con todo el apoyo de Red Hat Enterprise Linux. A partir de Red Hat Enterprise Linux 8.3, GFS2 es compatible con entornos de computación en nube en los que se dispone de dispositivos de almacenamiento compartido.
La siguiente lista resume algunos números de versión y las principales características introducidas:
* v1.0 (1996) Sólo SGI IRIX
* v3.0 Adaptación a Linux
* v4 journaling
* v5 Gestor de bloqueos redundante
* v6.1 (2005) Gestor de bloqueos distribuido
* Linux 2.6.19 - GFS2 y DLM se fusionan en el núcleo de Linux
* Red Hat Enterprise Linux 5.3 lanza la primera versión de GFS2 totalmente soportada