Estoy probando ZFS en Linux para Oracle Linux (OLE) 6.1 (clon compatible con Red Hat RHEL 6.1). Compilé e instalé exitosamentesplyzfen él para Oracle Unbreakable Kernel. Zfs está funcionando y creé un espejo mediante
zpool create -f -o ashift=12 tank mirror sdb sdc
Ahora estoy intentando compartir mi grupo zfs llamado "tank/nfs" como se menciona ensitio zfsonlinux.
zfs set sharenfs=on tank/nfs
Entonces creétanque/nfsy establecernfsaen.
Ahora estoy intentando montar el recurso compartido nfs en el host local para probarlo
mount -t nfs4 127.0.0.1:/tank/nfs /mnt
pero lo entiendomount.nfs4: mount system call failed
Entonces la pregunta es:
Cómo compartir una carpeta NFSo volúmenes iSCSI en OLE correctamente y montarlocon cliente Linux a través de ZFSen Linux.
la respuesta es
mount 127.0.0.1:/tank/nfs /mnt
Respuesta1
Debe haber algún problema con la configuración de su servidor nfs.
Por favor intenta seguir estocómopara configurar RHEL 6 como servidor nfs.
Respuesta2
Para establecer un montaje NFS, debe tener el portmap
servicio ejecutándose antes de intentar el montaje.
Ejecute /sbin/service portmap start
y vuelva a intentar su montaje NFS.
Para RHEL6 y versiones posteriores, esto está en rpcbind
:/sbin/service rpcbind start
Respuesta3
En mi experiencia con ZFS en FreeBSD y Debian GNU/kFreeBSD, descubrí que la función sharenfs no estaba bien implementada. Puede configurar sus exportaciones NFS en /etc/exports.
Cada sistema de archivos ZFS que desee exportar necesita su propia línea de exportación. Descubrimos que esto era demasiado lento con cientos de sistemas de archivos. También deberías intentar usar un único sistema de archivos como si estuvieras usando un sistema de archivos tradicional.
Exportaciones NFS en Linux
Tendrá que editar el archivo /etc/exports para habilitar NFS en Linux. Con NFSv4 en Linux, cada sistema de archivos exportado debe montarse en un único directorio llamado pseudosistema de archivos NFSv4. En este caso, sería /tank. Los puntos de montaje bajo el pseudosistema de archivos se pueden exportar con diferentes métodos de control de acceso y opciones de exportación. Cualquier sistema de archivos montado bajo psuedofilesystem debe tener su propia línea de exportación en /etc/exports.
/etc/exportaciones:
/tank *(fsid=0)
/tank/nfs *(rw,sync)
Para que los cambios en /etc/exports surtan efecto, debe ejecutar exportfs -r
.
Para NFSv4 necesitará ejecutar idmapd tanto en el cliente como en el servidor para facilitar la asignación del nombre de usuario al número de identificación del usuario.
En Linux NFSv4, la exportación es diferente que con NFSv3 e inferiores. Dado que el pseudosistema de archivos es /tank, su comando de montaje sería:
mount -t nfs -o vers=4 server:/nfs /mnt
Para NFSv3, sería:
mount -t nfs -o vers=3 server:/tank/nfs /mnt
Respuesta4
Considere realizar ZFS de forma nativa en Solaris, SolE 11 u OpenIndiana. En mi opinión, ZFS en Linux no está ni cerca de estar en forma, listo para producción. ZFS con NFS tiene integración nativa en sistemas operativos basados en Solaris, pero no en Linux.