NFS сервер
Модераторы: Olej, bellic, vikos
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
NFS сервер
Точно так же, как здесь в теме рядом: TFTP сервер - понадобился локальный NFS сервер, для работы всё с теми же embedded девайсами.
Логика простая:
- собираем имиджи, прошивки (из исходников, из GIT репозитория)...
- дело это (компмляция, сборка, ...) - долгое, проект огромный, развивается не один год, сборка, если она не инкрементная (--clean) может идти на хорошем железе минут 40-50
- заливаем собранное в девайс о TFTP...
- вносим мелкие изменения, отладку ... чтобы не делать полную пересборку - можем разместить изменённые компоненты (библиотеки .so) на NFS сервере...
- подключившись к девайсу по UART, монтируем свой NFS ...
- и вуаля - запускается изменённый экземпляр.
Вопросы точно те же, что и относительно TFTP сервера:
1). какой выбрать проект (если есть из чего выбирать) и чем они отличаются?
2). установить и настроить
3). собрать сюда, под одну тему, полезные публикации, ссылки, ... чтобы завтра не потерять.
Логика простая:
- собираем имиджи, прошивки (из исходников, из GIT репозитория)...
- дело это (компмляция, сборка, ...) - долгое, проект огромный, развивается не один год, сборка, если она не инкрементная (--clean) может идти на хорошем железе минут 40-50
- заливаем собранное в девайс о TFTP...
- вносим мелкие изменения, отладку ... чтобы не делать полную пересборку - можем разместить изменённые компоненты (библиотеки .so) на NFS сервере...
- подключившись к девайсу по UART, монтируем свой NFS ...
- и вуаля - запускается изменённый экземпляр.
Вопросы точно те же, что и относительно TFTP сервера:
1). какой выбрать проект (если есть из чего выбирать) и чем они отличаются?
2). установить и настроить
3). собрать сюда, под одну тему, полезные публикации, ссылки, ... чтобы завтра не потерять.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: NFS сервер
Вот этого, пожалуй, достаточно:
НАСТРОЙКА NFS В UBUNTU
ПОДНИМАЕМ NFS СЕРВЕР НА UBUNTUОбновлено: 17 декабря, 2020
...
По сути, это альтернатива общего доступа Windows для Linux, в отличие от Samba реализована на уровне ядра и работает более стабильно.
Как настроить NFS (Network File System) на RHEL/CentOS/Fedora и Debian/UbuntuМАЙ 21, 2018
...
НАСТРОЙКА
27 марта 2017
...
Параметры NFS
...
Важные команды для NFS
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: NFS сервер
Но и здесь (как и с TFTP) в DNF (Fedora) всё не так...
Код: Выделить всё
[olej@xenix ~]$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: Fedora
Description: Fedora release 32 (Thirty Two)
Release: 32
Codename: ThirtyTwo
Код: Выделить всё
[olej@xenix Zodiac_Systems]$ dnf list installed '*nfs*' | grep -i ^nfs
nfs-utils.x86_64 1:2.5.3-0.fc32 @updates
Код: Выделить всё
[olej@xenix Zodiac_Systems]$ dnf list '*nfs*' | grep -i ^nfs
nfs-utils.x86_64 1:2.5.3-0.fc32 @updates
NFStest.noarch 2.1.5-8.fc32 fedora
nfs-ganesha.i686 3.5-1.fc32 updates
nfs-ganesha.x86_64 3.5-1.fc32 updates
nfs-ganesha-ceph.x86_64 3.5-1.fc32 updates
nfs-ganesha-gluster.x86_64 3.5-1.fc32 updates
nfs-ganesha-gpfs.x86_64 3.5-1.fc32 updates
nfs-ganesha-mem.x86_64 3.5-1.fc32 updates
nfs-ganesha-nullfs.x86_64 3.5-1.fc32 updates
nfs-ganesha-proxy.x86_64 3.5-1.fc32 updates
nfs-ganesha-rados-grace.x86_64 3.5-1.fc32 updates
nfs-ganesha-rados-urls.x86_64 3.5-1.fc32 updates
nfs-ganesha-rgw.x86_64 3.5-1.fc32 updates
nfs-ganesha-selinux.noarch 3.5-1.fc32 updates
nfs-ganesha-utils.x86_64 3.5-1.fc32 updates
nfs-ganesha-vfs.x86_64 3.5-1.fc32 updates
nfs-utils-coreos.x86_64 1:2.5.3-0.fc32 updates
nfs4-acl-tools.x86_64 0.3.5-3.fc32 fedora
nfsometer.noarch 1.9-7.fc32 fedora
nfswatch.x86_64 4.99.11-18.fc32 fedora
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: NFS сервер
Код: Выделить всё
Здесь, как обещают, всё будет более проще, потому как Fedora/RedFat - более UNIX-овые системы...
Делаю каталог который буду заполнять загружаемыми имиджами и расшаривать по NFS:
[olej@xenix Zodiac_Systems]$ sudo mkdir /nfs_builds
[sudo] пароль для olej:.
[olej@xenix Zodiac_Systems]$ sudo chmod a+w /nfs_builds
[olej@xenix Zodiac_Systems]$ ls -ld /nfs_builds
drwxrwxrwx 1 root root 0 мар 14 00:37 /nfs_builds
Код: Выделить всё
[root@xenix etc]# cat /etc/exports
/nfs_builds 192.168.1.0/24(rw,sync,no_root_squash)
/home/olej 192.168.1.0/24(ro,no_root_squash)
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: NFS сервер
Старт NFS сервера:
Код: Выделить всё
[root@xenix etc]# systemctl start rpcbind nfs-server
[root@xenix etc]# systemctl enable rpcbind nfs-server
Created symlink /etc/systemd/system/multi-user.target.wants/rpcbind.service → /usr/lib/systemd/system/rpcbind.service.
Created symlink /etc/systemd/system/multi-user.target.wants/nfs-server.service → /usr/lib/systemd/system/nfs-server.service.
Код: Выделить всё
[root@xenix etc]# systemctl status rpcbind nfs-server
● rpcbind.service - RPC Bind
Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2021-03-14 00:44:49 EET; 1min 20s ago
TriggeredBy: ● rpcbind.socket
Docs: man:rpcbind(8)
Main PID: 34845 (rpcbind)
Tasks: 1 (limit: 9497)
Memory: 1.5M
CGroup: /system.slice/rpcbind.service
└─34845 /usr/bin/rpcbind -w -f
мар 14 00:44:49 xenix.localdomain systemd[1]: Starting RPC Bind...
мар 14 00:44:49 xenix.localdomain systemd[1]: Started RPC Bind.
● nfs-server.service - NFS server and services
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled)
Drop-In: /run/systemd/generator/nfs-server.service.d
└─order-with-mounts.conf
Active: active (exited) since Sun 2021-03-14 00:44:50 EET; 1min 20s ago
Main PID: 34870 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 9497)
Memory: 0B
CGroup: /system.slice/nfs-server.service
мар 14 00:44:50 xenix.localdomain systemd[1]: Starting NFS server and services...
мар 14 00:44:50 xenix.localdomain systemd[1]: Finished NFS server and services.
Код: Выделить всё
[olej@xenix INT1902-168-NSK]$ rpcinfo -p | grep nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
Код: Выделить всё
[olej@xenix INT1902-168-NSK]$ cat /proc/filesystems | grep nfs
nodev nfsd
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: NFS сервер
Проверка клиентом на совсем другом хосте LAN (там Fedora 32, а здесь Mint 20.1):
Код: Выделить всё
olej@nvidia:~$ sudo mkdir /mnt/nfs
[sudo] пароль для olej:
olej@nvidia:~$ sudo mount 192.168.1.20:/nfs_builds /mnt/nfs
mount: /mnt/nfs: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program
Такой облом указывает, что на этом компьютере не была установлена клиентская часть.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: NFS сервер
Заодно и серверная часть, в DEB дистрибутиве, она мне и здесь понадобится...
Код: Выделить всё
olej@nvidia:~$ sudo apt install nfs-kernel-server nfs-common
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
libnfsidmap2 libtirpc-common libtirpc3 rpcbind
Предлагаемые пакеты:
open-iscsi watchdog
Следующие НОВЫЕ пакеты будут установлены:
libnfsidmap2 libtirpc-common libtirpc3 nfs-common nfs-kernel-server rpcbind
Обновлено 0 пакетов, установлено 6 новых пакетов, для удаления отмечено 0 пакетов, и 1 пакетов не обновлено.
Необходимо скачать 458 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 1 782 kB.
Хотите продолжить? [Д/н] y
Пол:1 http://archive.ubuntu.com/ubuntu focal/main amd64 libtirpc-common all 1.2.5-1 [7 632 B]
Пол:2 http://archive.ubuntu.com/ubuntu focal/main amd64 libtirpc3 amd64 1.2.5-1 [77,2 kB]
Пол:3 http://archive.ubuntu.com/ubuntu focal/main amd64 rpcbind amd64 1.2.5-8 [42,8 kB]
Пол:4 http://archive.ubuntu.com/ubuntu focal/main amd64 libnfsidmap2 amd64 0.25-5.1ubuntu1 [27,9 kB]
Пол:5 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 nfs-common amd64 1:1.3.4-2.5ubuntu3.3 [204 kB]
Пол:6 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 nfs-kernel-server amd64 1:1.3.4-2.5ubuntu3.3 [98,9 kB]
Получено 458 kB за 1с (421 kB/s)
Выбор ранее не выбранного пакета libtirpc-common.
(Чтение базы данных … на данный момент установлено 443185 файлов и каталогов.)
Подготовка к распаковке …/0-libtirpc-common_1.2.5-1_all.deb …
Распаковывается libtirpc-common (1.2.5-1)
Выбор ранее не выбранного пакета libtirpc3:amd64.
Подготовка к распаковке …/1-libtirpc3_1.2.5-1_amd64.deb …
Распаковывается libtirpc3:amd64 (1.2.5-1) …
Выбор ранее не выбранного пакета rpcbind.
Подготовка к распаковке …/2-rpcbind_1.2.5-8_amd64.deb …
Распаковывается rpcbind (1.2.5-8) …
Выбор ранее не выбранного пакета libnfsidmap2:amd64.
Подготовка к распаковке …/3-libnfsidmap2_0.25-5.1ubuntu1_amd64.deb …
Распаковывается libnfsidmap2:amd64 (0.25-5.1ubuntu1) …
Выбор ранее не выбранного пакета nfs-common.
Подготовка к распаковке …/4-nfs-common_1%3a1.3.4-2.5ubuntu3.3_amd64.deb …
Распаковывается nfs-common (1:1.3.4-2.5ubuntu3.3) …
Выбор ранее не выбранного пакета nfs-kernel-server.
Подготовка к распаковке …/5-nfs-kernel-server_1%3a1.3.4-2.5ubuntu3.3_amd64.deb …
Распаковывается nfs-kernel-server (1:1.3.4-2.5ubuntu3.3) …
Настраивается пакет libtirpc-common (1.2.5-1) …
Настраивается пакет libnfsidmap2:amd64 (0.25-5.1ubuntu1) …
Настраивается пакет libtirpc3:amd64 (1.2.5-1) …
Настраивается пакет rpcbind (1.2.5-8) …
Created symlink /etc/systemd/system/multi-user.target.wants/rpcbind.service → /lib/systemd/system/rpcbind.service.
Created symlink /etc/systemd/system/sockets.target.wants/rpcbind.socket → /lib/systemd/system/rpcbind.socket.
Настраивается пакет nfs-common (1:1.3.4-2.5ubuntu3.3) …
Creating config file /etc/idmapd.conf with new version
Добавляется системный пользователь «statd» (UID 132) ...
Добавляется новый пользователь «statd» (UID 132) в группу «nogroup» ...
Не создаётся домашний каталог «/var/lib/nfs».
Created symlink /etc/systemd/system/multi-user.target.wants/nfs-client.target → /lib/systemd/system/nfs-client.target.
Created symlink /etc/systemd/system/remote-fs.target.wants/nfs-client.target → /lib/systemd/system/nfs-client.target.
Created symlink /etc/systemd/system/sockets.target.wants/rpcbind.socket → /lib/systemd/system/rpcbind.socket.
Настраивается пакет nfs-common (1:1.3.4-2.5ubuntu3.3) …
Creating config file /etc/idmapd.conf with new version
Добавляется системный пользователь «statd» (UID 132) ...
Добавляется новый пользователь «statd» (UID 132) в группу «nogroup» ...
Не создаётся домашний каталог «/var/lib/nfs».
Created symlink /etc/systemd/system/multi-user.target.wants/nfs-client.target → /lib/systemd/system/nfs-client.target.
Created symlink /etc/systemd/system/remote-fs.target.wants/nfs-client.target → /lib/systemd/system/nfs-client.target.
nfs-utils.service is a disabled or a static unit, not starting it.
Настраивается пакет nfs-kernel-server (1:1.3.4-2.5ubuntu3.3) …
Created symlink /etc/systemd/system/multi-user.target.wants/nfs-server.service → /lib/systemd/system/nfs-server.service.
Job for nfs-server.service canceled.
Creating config file /etc/exports with new version
Creating config file /etc/default/nfs-kernel-server with new version
Job for nfs-server.service canceled.
invoke-rc.d: initscript nfs-kernel-server, action "start" failed.
● nfs-server.service - NFS server and services
Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2021-03-14 00:56:07 EET; 3ms ago
Process: 960704 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
Process: 960705 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=1/FAILURE)
Process: 960707 ExecStopPost=/usr/sbin/exportfs -au (code=exited, status=0/SUCCESS)
Process: 960710 ExecStopPost=/usr/sbin/exportfs -f (code=exited, status=0/SUCCESS)
Main PID: 960705 (code=exited, status=1/FAILURE)
мар 14 00:56:07 nvidia systemd[1]: Starting NFS server and services...
мар 14 00:56:07 nvidia rpc.nfsd[960705]: error starting threads: errno 12 (Cannot allocate memory)
мар 14 00:56:07 nvidia systemd[1]: nfs-server.service: Main process exited, code=exited, status=1/FAILURE
мар 14 00:56:07 nvidia systemd[1]: nfs-server.service: Failed with result 'exit-code'.
мар 14 00:56:07 nvidia systemd[1]: Stopped NFS server and services.
Failed to start nfs-kernel-server, ignoring.
Обрабатываются триггеры для systemd (245.4-4ubuntu3.4) …
Обрабатываются триггеры для man-db (2.9.1-1) …
Обрабатываются триггеры для ureadahead (0.100.0-21) …
Обрабатываются триггеры для libc-bin (2.31-0ubuntu9.2) …
Код: Выделить всё
olej@nvidia:~$ sudo mount 192.168.1.20:/nfs_builds /mnt/nfs
olej@nvidia:~$ mount | grep nfs
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
192.168.1.20:/nfs_builds on /mnt/nfs type nfs4 (rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.11,local_lock=none,addr=192.168.1.20)
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: NFS сервер
На клиенте создаю тестовый файл в разделяемом каталоге (по записи!):
Код: Выделить всё
olej@nvidia:~$ echo 2222222222222222222222222222222222222 > /mnt/nfs/test2.txt
olej@nvidia:~$ ls -l /mnt/nfs
итого 4
-rw-rw-r-- 1 olej olej 38 мар 14 00:58 test2.txt
Код: Выделить всё
olej@xenix ~]$ hostname
xenix.localdomain
[olej@xenix ~]$ ls -l /nfs_builds/
итого 4
-rw-rw-r-- 1 olej olej 38 мар 14 00:58 test2.txt
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: NFS сервер
То же самое на embedded железке (TV box) весьма давнего года выпуска:
Код: Выделить всё
-sh-3.2# hostname
(none)
-sh-3.2# pwd
/mnt/flash
-sh-3.2# mkdir nfs
-sh-3.2# ls -l
-rw-r--r-- 1 root root 10006528 Mar 10 10:48 92c0cf76b2d61f6b411c1bf35e21bf38b60a88e9
drwxr-xr-x 2 root root 1024 Jan 1 2000 dhcpc
drwx------ 2 root root 12288 Jan 1 2000 lost+found
drwxr-xr-x 2 root root 1024 Mar 13 23:01 nfs
drwxr-xr-x 4 root root 1024 Jan 1 2000 zodiac
Код: Выделить всё
-sh-3.2# mount 192.168.1.20:/nfs_builds /mnt/flash/nfs
mount: mounting 192.168.1.20:/nfs_builds on /mnt/flash/nfs failed: Input/output error
Код: Выделить всё
-sh-3.2# ping -c2 192.168.1.20
PING 192.168.1.20 (192.168.1.20): 56 data bytes
64 bytes from 192.168.1.20: seq=0 ttl=64 time=0.346 ms
64 bytes from 192.168.1.20: seq=1 ttl=64 time=0.241 ms
--- 192.168.1.20 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.241/0.293/0.346 ms
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: NFS сервер
Читаем такое про древние железки - https://www.linux.org.ru/forum/general/14453819
И правим (дописали) конфиги сервера:
Код: Выделить всё
[root@xenix etc]# tail -n9 /etc/nfs.conf
udp=y
tcp=n
vers2=y
vers3=y
vers4=n
vers4.0=n
vers4.1=n
vers4.2=n
Код: Выделить всё
[root@xenix etc]# systemctl restart rpcbind nfs-server
Код: Выделить всё
[root@xenix etc]# rpcinfo -p | grep nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
И опять на embedded облом!
Код: Выделить всё
-sh-3.2# mount 192.168.1.20:/nfs_builds /mnt/flash/nfs
mount: mounting 192.168.1.20:/nfs_builds on /mnt/flash/nfs failed: Input/output error
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 18 гостей