Я пробую 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, которую вы хотите экспортировать, требует отдельной строки экспорта. Мы обнаружили, что это слишком медленно с сотнями файловых систем. Вам также следует попробовать использовать одну файловую систему, как если бы вы использовали традиционную файловую систему.
Вам нужно будет отредактировать файл / 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.