Назад | Перейти на главную страницу

ZFS в Linux для совместного использования RHEL / OEL NFS

Я пробую ZFS в Linux для Oracle Linux (OLE) 6.1 (клон, совместимый с Red Hat RHEL 6.1). Я успешно скомпилировал и установил spl и zfs на нем для 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

Чтобы установить монтирование NFS, вам потребуется portmap служба запущена до попытки монтирования.

Бегать /sbin/service portmap start и повторите попытку монтирования NFS.

Для RHEL6 и новее это в rpcbind - /sbin/service rpcbind start

По моему опыту работы с ZFS на FreeBSD и Debian GNU / kFreeBSD, я обнаружил, что функция sharenfs не реализована должным образом. Вы можете настроить экспорт NFS в / etc / exports.

Каждая файловая система ZFS, которую вы хотите экспортировать, требует отдельной строки экспорта. Мы обнаружили, что это слишком медленно с сотнями файловых систем. Вам также следует попробовать использовать одну файловую систему, как если бы вы использовали традиционную файловую систему.

Экспорт NFS в Linux

Вам нужно будет отредактировать файл / etc / exports, чтобы включить NFS в Linux. При использовании NFSv4 в Linux каждая экспортированная файловая система должна быть смонтирована в одном каталоге, который называется псевдофайловой системой NFSv4. В данном случае это будет / tank. Точки монтирования в псевдосистеме можно экспортировать с помощью различных методов управления доступом и параметров экспорта. Любые файловые системы, смонтированные под psuedofilesystem, должны иметь свою собственную строку экспорта в / 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

Что-то не так с конфигурацией вашего сервера nfs.

Пожалуйста, попробуйте следовать этому как для настройки RHEL 6 в качестве сервера nfs.

Рассмотрите возможность использования ZFS изначально на Solaris, SolE 11 или OpenIndiana. На мой взгляд, ZFS в Linux далеко не готова к производству. ZFS с NFS имеют встроенную интеграцию в ОС на базе Solaris, но не в Linux.