Записи с Меткой ‘ nfs

Xenserver 6.5 nfs4 client default

1. Изменить дефолтную версию клиента по-умолчанию в файле /opt/xensource/sm/nfs.py на 4

Very simply, edit the file /opt/xensource/sm/nfs.py and change line 46 to use ‘4’ instead of ‘3’ :

DEFAULT_NFSVERSION = ‘4’

and reboot.

NFS mounts for SRs that support NFSv4 now all seem to come up using this (as seen in /etc/mtab). Manual entries in /etc/fstab can also be adjusted to specify nfs4 in the definition (such as for defining NFS export locations for backups and such), but the «tcp» option must be removed from the options list since it is for NFSv4 both the default and no longer supported as an option (I believe you can request udp as a specific alternative).

2. Рестарт серверов Xen.
3. Проверить маунтится ли клиент в локальную папку.
4. Если выдает ошибку mount: can’t get address for , то прописать в /etc/hosts все ip адреса серверов, например: 192.168.4.7 srv-xen1 srv-xen1.example.com
5. Пробовать подключать nfs в pool серверов Xen. Например: 192.168.4.10:/mnt/nfs.
Все.

Centos 7 nfs4 server

[root@dlp ~]# yum -y install nfs-utils
[root@dlp ~]# vi /etc/idmapd.conf
# line 5: uncomment and change to your domain name
Domain = server.world
[root@dlp ~]# vi /etc/exports
# write settings for NFS exports
/home 10.0.0.0/24(rw,no_root_squash) - /mnt/nfs *(rw,no_root_squash,sync)
[root@dlp ~]# systemctl start rpcbind nfs-server 
[root@dlp ~]# systemctl enable rpcbind nfs-server 
[root@dlp ~]# export-ra
[root@dlp ~]# export
[root@dlp ~]# firewall-cmd --add-service nfs

 

http://initrd.org/wiki/NFS_Setup#RHEL_.2F_CentOS_2

http://www.unixmen.com/setting-nfs-server-client-centos-7/

Local NFS storage xenserver 6.5

1. mkfs -t ext3 /dev/md3
2. mkdir /mnt/nfs{vdisk,iso}
3. mount -t ext3 /dev/md3 /mnt/nfs
4. echo «/dev/md3 /mnt/nfs ext3 defaults 0 0» >> /etc/fstab
5. echo «/mnt/nfs/iso 192.168.0.0/255.255.255.0(rw,no_root_squash,sync)» >> /etc/exports
6. echo «/mnt/nfs/vdisk *(rw,no_root_squash,sync)» >> /etc/exports
7. exportfs -r
8. exportfs
9. lsmod | grep nfs
Если все печально и ничего на выходе нет, то
10. modprobe nfsd
+ echo «modprobe nfsd» >> /etc/rc.local
+ echo «modprobe nfsd» >> /etc/rc.sysinit
>> 9 тест
chkconfig nfs on
chkconfig portmap on

11. sed -i -e ‘s/PMAP_ARGS=-l/PMAP_ARGS=/’ /etc/sysconfig/portmap
Если не проходит и service portmap start валиться с ошибкой нужно привести файл к виду
PMAP_ARGS=»»
12. Раскоментируем /etc/sysconfig/nfs
MOUNTD_PORT=892
!!!
Иначе не достучимся!

13. Добавляем правила iptables для nfs и portmap /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -p tcp -m tcp —dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp —dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp —dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp —dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp —dport 892 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp —dport 892 -j ACCEPT
14. В порядке очереди дергаем службы
service portmap restart & service nfs restart & service iptables restart

15. showmount localhost
16. rpcinfo -p

Жесткое присвоение портов.

NFS

Спасибо http://debian-help.ru/articles/nastroika-nfs-servera-debian/

Установка NFS-сервера.
Небольшое замечание. Если вы используете ядро 2.2.13 и выше, вы можете использовать nfs-kernel-server. Кроме него можно использовать nfs-user-server. Этот пакет более медленный, но имеет больше функций и его легче дебажить, чем nfs-kernel-server.

Установка осуществляется следующей командой:

# aptitude install nfs-kernel-server nfs-common portmap
После установки нужно указать, доступ к каким директориям мы предоставляем. Для этого правим файл /etc/exports. Для NFSv3 и ранее содержимое файла будет выглядеть примерно так:

/mnt/movie 192.168.0.0/24(rw,async,no_subtree_check) /mnt/user 192.168.0.41(rw,async,no_subtree_check)
В NFSv4 предоставляется доступ к главной директории и ее поддиректориям. Таким образом в первой строке описывается главная директория, а в последующих — поддиректории, с отдельной строки:

/mnt 192.168.0.0/24(ro, fsid=0, async, no_subtree_check) /mnt/movie 192.168.0.0/24(rw, async, no_subtree_check) /mnt/user 192.168.0.41(rw, async, no_subtree_check)
В этом примере директория /mnt/movie будет доступна всем в сети 192.168.0.0/24, а /mnt/user — только с компьютера с адресом 192.168.0.41 при этом можно указать несколько конкретных адресов в одной строке разделив блоки описания пробелом.

Пояснения к параметрам в строке:

/mnt/movie — путь к директории, доступ к которой необходимо предоставить.
192.168.1.0/24 — описание сети, из которой можно получить доступ к директории. Также можно указать конкретный адрес, к примеру, 192.168.0.41. Кроме того, NFS понимает шаблоны с применением символов * и ?.
rw — говорит о том, что предоставляются права как на чтение, так и на запись. Если нужно разрешить только читать из директории, то следует указать параметр ro.
async — включает возможность обслуживания клиентов еще до окончания действия предыдущей команды на запись. Это может значительно увеличить быстродействие при большом количестве пользователей, но снижает надежность. По умолчанию, включена опция sync.
no_subtree_check — отключает проверку вложенных директорий.

Прочие опции:

secure — при включении данной опции для соединения будут использоваться порты с номером ниже 1024. Эта опция включена по умолчанию, чтобы её отключить, используйте параметр insecure.
no_wdelay — эта опция не действует при включенной опции async. В нормальном состоянии NFS-сервер немного задерживает запись на диск, если уже ведется запись или ожидается поступление запроса на запись. Это позволяет запустить несколько процессов записи на диск с помощью одной команды, что увеличивает производительность. Однако, если NFS-сервер получает в основном мелкие, не связанные между собой, запросы, то стандартное поведение может снизить производительность, поэтому доступна опция no_wdelay чтобы отключить задержку перед записью.
nohide — в случае когда экспортируются две директории, одна из которых вложенная, при монтировании только родительской директории вложенная будет видна как пустая. Чтобы предотвратить такой эффект, можно использовать данный параметр. Стоит учесть, что данный параметр работает только для экспортирования по конкретному ip-адресу. Обратным параметром является параметр hide.
crossmnt — данный параметр похож на параметр nohide, но дделает возможным для клиентов переходить из файловой системы помеченой параметром crossmnt в экспортированную файловую систему смонтированную в ней. То есть когда вложенная файловая система «B» смонтирована внутри файловой системы «A», установка параметра crossmnt для «A» имеет тот же эффект, как установка параметра nohide для «B».
fsid=num|root|uuid — NFS необходимо идентифицировать каждую файловую систему, которую она экспортирует. Обычно используется UUID. Однако ядра Linux ниже 2.6.20 не понимают UUID, поэтому необходимо устанавливать данный параметр, к примеру fsid=root или fsid=0.

Опции подмены идентификатора пользователя:

nfsd основывает свой доступ к файлами на сервере на gid и uid, предоставляемых в каждом NFS RPC запросе. По привычке пользователь будет ожить что он может получить доступ к своим файлам на сервере, как к обычной файловой системе. Это требует того, чтобы одни и те же gid и uid использовались на клиентской и серверной машинах. Это не всегда верно или не всегда желательно.

Очень часто не желательно, чтобы пользователь root на клиентской машине также воспринимался как root при доступе к файлам на NFS-сервере. Чтобы это предотвратить uid 0 обычно подменяется другим id: так называемым «анонимом» или nobody. Этот тип поведения (называемый «root squashing») применяется по умолчанию и может быть отключен параметром no_root_squash.

По умолчанию, exportfs использует uid/gid с номером 65534 для доступа с подменой. Эти значения могут быть изменеы параметрами anonuid и anongid. Наконец, вы можете подменить все пользовательские запросы на анонимные с помощью параметра all_squash.

Вот полный список параметров для подмены идентификаторов:

root_squash — подменяет запросы от uid/gid 0 (root) на анонимыне uid/gid.
no_root_squash — выключает подмену uid/gid для root. Эта опция используется в основном для бездисковых клиентских машин.
all_squash — используется обычно для публичного экспорта директорий. Обратный параметр — no_all_squash.
anonuid и anongid — применяется для указания uid/gid для анонима. Это может быть полезно, если какая либо директория экспортируется для конкретного пользователя, заведенного в системе.

После описания всех директорий, к которым предоставляем доступ, сохраняем файл и перезапускаем NFS-сервер, так как после установки он запускается автоматически:

# /etc/init.d/nfs-kernel-server restart
Полезные утилиты.
Чтобы не передергивать сервис, можно мягко применить измененные настройки командой:

# exportfs -ra
Где параметр -a говорит о том, что нужно экспортировать все директории из файла /etc/exports, а параметр -r заставляет реэкспортировать список всех директорий очистив текущий список. Вообще говоря, если нужно пополнить список экспортированных директорий, то нужно использовать параметр -a, а если нучно убрать все текущие и добавить только те, что есть в /etc/exports, то следует использовать параметр -r. Также может быть полезен параметр -u, который позволяет отменить экспорт определенных директорий и параметр -f, который очищает текущую таблицу экспорта ядра и все активные пользователи при последующем запросе получат новый список экспортируемых директорий.

Узнать различную информацию об экспорте можно с помощью утилиты showmount:

showmount без параметров отображает список подключенных клиентов,
-a или —all — показывает все используемые точки монтирования с ip-адресами и директориями. Так можно узнать, какие машины пользуются NFS-сервером и какие директории на них смонтированы.
-d — отображает только список директорий смонитированных клиентами.
-e — выводит список экспорта NFS-сервера.

Утилита nfsstat отображает диагностическую информацию об активности как NFS-сервера, так и клиента.

Параметры команды nfsstat:

-s — вывести только серверную статистику. По умолчанию выводится как серверная, так и клиентская информация.
-c — вывести только клиентскую статистику.
-n — вывести только статистику NFS. По умолчанию, выводится как NFS, так и RPC статистика.
-2 — вывести данные только по NFS v2. По умолчанию, выводится информация обо всех версиях имеющих не нулевую статистику.
-3 — вывести данные только по NFS v3.
-4 — вывести данные только по NFS v4.
-m — отобразить информацию о всех смонтированных NFS файловых системах. Если указан данный параметр, то все остальные игнорируются.
-r — вывести только статистику NFS.
-l — отобразить информацию в виде списка.

Монтирование на клиентской машине.
При необходимости устанавливаем пару пакетов:

# aptitude install nfs-common portmap
Теперь создаем директории для монтирования, к примеру:

# mkdir -p /home/movie /home/user
Затем просто монтируем в них директории, экспортируемые с NFS-сервера:

# mount -t nfs 192.168.0.2:/mnt/movie /home/movie # mount -t nfs 192.168.0.2:/mnt/user /home/user
Монтирование при использовании NFSv4:

mount -t nfs4 192.168.0.2:/ /home/mnt
То есть при монтировании экспортируемых директорий по NFSv4 необходимо указывать путь на сервере относительно основной директории.

Размонтирование делается как обычно, к примеру:

# umount /home/movie
Настройка автоматического монтирования.
Для того, чтобы на клиентской машине экспортируемые директории монтировались автоматически вносим следующие строки в файл /etc/fstab:

192.168.0.2:/mnt/movie /home/movie nfs rw,async 192.168.0.2:/mnt/user /home/user nfs rw,async
Порядок элементов строки: что, куда, тип файловой системы, параметры.

Бывают следующие параметры:

soft/hard — определяет поведение после превышения количества запросов на подключение. Если ничего не указано или указан параметр hard, то запросы будут отправляться бесконечно. Если задан параметр soft, то после таймаута быдет выдана ошибка. Параметр soft может привести к порче данных, поэтому его следует использовать в случаях когда больше требуется отзывчивость, чем надежность. Увеличение значения параметра retrans может снизить риск порчи данных.
timeo=n — время (в десятках секунд) которое NFS-клиент ждет ответа перед повтором запроса.
retrans=n — сколько раз NFS-клиент повторяет запрос перед тем как перейти к дальнейшим действиям. По умолчанию, запрос повторяется три раза.
rsize=n — максимальное количество байт в каждом сетевом запросе на чтение, которое NFS-клиент может получить когда читает из файла на NFS-сервере. Должно быть кратно 1024. Если параметр не указан, то используется максимальное значение поддерживаемое клиентом и сервером.
wsize=n — максимальное количество байт в каждом сетевом запросе на запись. Условия работы те же, что и для rsize.
ac/noac — определяет будет или нет использоваться кеширование атрибутов файлов. Если ни одна опция не будет установлена (или будет установлена опция ac), то клиент будет кешировать атрибуты файлов.
bg/fg — определяет то, каким образом поведет себя утилита mount если попытка смонтировать nfs-экспорт не удастся. fg (по умолчанию) заставляет mount выйти с ошибкой, а bg заставляет mount в случае таймаута создавать потомка и продолжать попытки смонтировать в то время как родительский процесс будет закрыт.
sharecache/nosharecache — определяет использовать ли один кеш данных в случае если монтируется одна и та же экспортируемая директория в несколько точек монтирования. По умолчанию кеш включен.
intr/nointr — выбирает можно ли применять сигналы на прерывание файловых операций на этой точке монтирования. По умолчанию используется nointr. Использовании опции intr предпочтительно при указании опции soft, так как это сильно снижает вероятность порчи данных. В версиях ядра 2.6.25 и выше данные опции не применяются и при их указании будут проигнорированы.

P.S. Одной из причин, почему я взялся за NFS, было желание смотреть фильмы прямо с домашнего сервера. Вначале запустил samba, что, конечно, удобнее, но при просмотре фильмов раз где-то в 8 минут происходило подвисание, которое отвисало еще минуты через 2. Так жить было не возможно и пришлось запустить NFS-сервер. Однако на домашней машине у меня установлен Windows 7 Pro, в котором нет встроенного NFS-клиента. Поэтому пришлось искать сторонние NFS-клиенты под Windows.