Я пробую ZFS на Linux для Oracle Linux (OLE) 6.1 (совместимый с Red Hat RHEL 6.1 клон). Я успешно скомпилировал и установилсплизфсна нем для Oracle Unbreakable Kernel. Zfs работает, и я создал зеркало
zpool create -f -o ashift=12 tank mirror sdb sdc
Теперь я пытаюсь поделиться своим пулом zfs под названием "tank/nfs", как упоминалось всайт zfsonlinux.
zfs set sharenfs=on tank/nfs
Поэтому я создалтанк/нфси установитьнфскна.
Теперь я пытаюсь смонтировать общий ресурс nfs на локальном хосте, чтобы проверить его.
mount -t nfs4 127.0.0.1:/tank/nfs /mnt
Но я получаюmount.nfs4: mount system call failed
Итак, вопрос:
Как предоставить общий доступ к папке NFSили тома iSCSI в OLE правильно и смонтировать егос Linux-клиентом через ZFSна Linux.
ответ
mount 127.0.0.1:/tank/nfs /mnt
решение1
Должно быть, что-то не так с конфигурацией вашего сервера NFS.
Пожалуйста, попробуйте следовать этомукакдля настройки RHEL 6 в качестве сервера NFS.
решение2
Чтобы установить монтирование NFS, необходимо portmap
запустить службу перед попыткой монтирования.
Запустите /sbin/service portmap start
и повторите попытку монтирования NFS.
Для RHEL6 и новее это rpcbind
-/sbin/service rpcbind start
решение3
По моему опыту работы с ZFS на FreeBSD и Debian GNU/kFreeBSD, я обнаружил, что функция sharenfs реализована не очень хорошо. Вы можете настроить экспорт NFS в /etc/exports.
Каждая файловая система ZFS, которую вы хотите экспортировать, нуждается в собственной строке экспорта. Мы обнаружили, что это слишком медленно с сотнями файловых систем. Вам также следует попробовать использовать одну файловую систему, как если бы вы использовали традиционную файловую систему.
Экспорт NFS в Linux
Вам придется отредактировать файл /etc/exports, чтобы включить NFS в Linux. С NFSv4 в Linux каждая экспортированная файловая система должна быть смонтирована в одном каталоге, называемом псевдофайловой системой NFSv4. В данном случае это будет /tank. Точки монтирования в псевдофайловой системе могут быть экспортированы с различными методами управления доступом и параметрами экспорта. Любые файловые системы, смонтированные в псевдофайловой системе, должны получить свою собственную строку экспорта в /etc/exports.
/etc/exports:
/tank *(fsid=0)
/tank/nfs *(rw,sync)
Чтобы изменения в /etc/exports вступили в силу, необходимо запустить exportfs -r
.
Для NFSv4 вам потребуется запустить idmapd как на клиенте, так и на сервере, чтобы упростить сопоставление имени пользователя с номером идентификатора пользователя.
В Linux NFSv4 экспорт отличается от NFSv3 и ниже. Учитывая, что псевдофайловая система — /tank, ваша команда монтирования будет:
mount -t nfs -o vers=4 server:/nfs /mnt
Для NFSv3 это будет:
mount -t nfs -o vers=3 server:/tank/nfs /mnt
решение4
Рассмотрите возможность использования ZFS нативно на Solaris или SolE 11 или OpenIndiana. По моему мнению, ZFS на Linux еще не готов к производству. ZFS с NFS имеют нативную интеграцию в ОС на базе Solaris, но не на Linux.