NFS

  • En uno de mis servidores NFS sobre FreeBSD me ocurrió un error extraño que se resolvió con un simple reinicio de servicio: "RPC: Program not registered".

  • Los sistemas operativos FreeBSD admiten dos tipos de listas de control de accesos para los sistemas de archivos ZFS: POSIX.1e (las mismas que soporta Linux) y NFSv4 (parte del protocolo NFS versión 4).

    Anteriormente expliqué detalladamente cómo implementar y trabajar con ACLs POSIX en Linux, en esta oportunidad voy a demostrar cómo trabajar con ACLs NFSv4 en FreeBSD.

  • En el artículo Configuración de NFS en FreeBSD expliqué cómo implementar un servidor de archivos NFS sobre FreeBSD, y cómo montar los sistemas de archivos exportados desde clientes GNU/Linux. Esta vez explico cómo montarlos desde clientes FreeBSD.

  • En sistemas FreeBSD, el servicio NFS está conformado por cuatro demonios: el servidor NFS (nfsd), el cual sirve peticiones de clientes NFS; el demonio mountd, el cual lleva a cabo peticiones recibidas desde nfsd; el demonio nfsuserd, el cual gestiona la información de usuarios y grupos; y rpcbind, quien permite que los clientes NFS descubran qué puerto está utilizando el servidor NFS.

  • En el artículo Introducción a ZFS en FreeBSD enumeré las grandes ventajas de ZFS y expliqué paso a paso como definir pooles y crear datasets. En esta oportunidad voy a demostrar cómo configurar el servicio NFS (Network File System) para definir un espacio de almacenamiento en la nube (o sistema de archivos en red), y así poder aprovechar todas las ventajas que posee ZFS en FreeBSD desde clientes GNU/Linux.

  • El protocolo NFS permite compartir un directorio o sistema de archivos a través de la red. En artículos anteriores expliqué cómo se configura NFS en FreeBSD y cómo se relacionan sus diversos componentes (nfsd, portmap, mountd). En esta ocasión voy a explicar cómo configurar NFS en un servidor OpenBSD para compartir un directorio a través de la red.

  • En sistemas FreeBSD, la herramienta nfsstat muestra estadísticas de la actividad de clientes y servidores NFS. Esta herramienta puede ser útil para el monitoreo de la carga en un servidor NFS y detectar posibles cuellos de botella.

  • FreeBSD incluye tres firewalls diferentes en el sistema base (¡In your face Linux!): PF, IPFW e IPFILTER (también conocido como IPF). Cada firewall utiliza reglas para controlar el acceso de paquetes desde y hacia el sistema FreeBSD, aunque cada uno lo hace de diferente forma y con diferentes reglas. Además FreeBSD provee dos traffic shapers para controlar el uso de ancho de banda: altq y dummynet. Tradicionalmente ALTQ está fuertemente ligado a PF, mientras que dummynet a IPFW.

    FreeBSD provee múltiples firewalls para cumplir los diferentes requerimientos y preferencias de una amplia variedad de usuarios (de esto se trata la libertad de elección, lo mismo que ha hecho la comunidad GNU/Linux con systemd). Por ende cada usuario debe evaluar qué firewall se adopta mejor a sus necesidades.

    En este artículo se explica cómo implementar traffic shaping en FreeBSD utilizando dummynet e IPFW. No voy a hacer una introducción ni a explicar el funcionamiento de IPFW porque un firewall es un mundo, se necesitan varios artículos para cubrir cada aspecto de un firewall (y más uno tan completo que hasta incluye packet shaping entre sus funcionalidades). Notarán que este artículo es bastante extenso y apenas es una introducción a una de sus características. Para más información acerca de IPFW acceder a su página en el Handbook de FreeBSD o directamente a la página de manual (man ipfw).

  • Esta semana me tocó implementar un espacio de almacenamiento (Datastore en jerga VMware) utilizando un servidor FreeBSD con sistema de archivos ZFS sobre NFS. Una combinación muy interesante para hosts ESXi, especialmente para almacenar backups y snapshots de máquinas virtuales, ya que al hacer uso de las ventajas de ZFS (compresión y deduplicación) se logra un mejor aprovechamiento de los discos.

    El proceso de instalación y configuración de NFS en FreeBSD es bastante simple, tal como lo he explicado anteriormente, y montar un Datastore NFS en un host ESXi es una tarea trivial utilizando el cliente vSphere. Pero, al momento de verificar el funcionamiento del nuevo Datastore implementado con ZFS sobre NFS, los resultados fueron poco más que terribles: una tasa de transferencia entre el host ESXi y el servidor FreeBSD de algo más de 1 Mb/seg. Muy diferente a los resultados que había tenido con clientes GNU/Linux.