Всем доброе время суток!
Есть две машины с реальными IP на данный момент все порты между ними открыты. На обоих стоит Debian Lenny
Сервер с которого делаются бэкапы будем называть websrv
Сервер на котороый бэкапы заливаются назовем backupsrv
Сервер backsrv находиться в офисе за роутером, websrv - на колокейшене
В том же офисе где backsrv за роутером (в локальной сети с адресом 10.0.4.224 есть машина с ubuntu 9.10 - так ее и назовем - ubuntu
Теперь собственно о проблеме. Я настраивал бэкапы по NFS, конфигурация следующая:
Так как backsrv за роутером то и настраивалась NFS для работы через firewall. Поэтому был в /etc/modprobe.d/ создан файл options.local для nlockmgr, в котором следующее написано ( backsrv):
options lockd nlm_udpport=32768 nlm_tcpport=32768
В /etc/default/nfs-common ( backsrv):
STATDOPTS="--port 8000 --outgoing-port 8001"
В /etc/default/nfs-kernel-server ( backsrv):
RPCMOUNTDOPTS="--port 8002"
В /etc/exports на backsrv:
/home/userdir/userdir/ websrv.IP (rw,sync,no_root_squash) - проблема здесь - директория не монтируется на websrv. Причем до какого-то момента работало - потом отвалилось и не хочет прилеплятся обратно - не монтируется том хоть убей. Пытался руками:
sudo mount.nfs backsrv.domain.com:/home/userdir/userdir /backups
просто подвисает - выхожу по ctrl+c
При этом на сервере backsrv в /var/log/syslog пишет только следующее:
Mar 4 13:42:03 backsrv mountd[11256]: authenticated mount request from websrv.IP:838 for /home/userdir/userdir (/home/userdir/userdir)
/home/userdir/userdir/ ubuntu.IP (rw,sync,no_root_squash) - здесь проблемы нет - директория монтируется без проблем и руками и через fstab
Собственно после этого предпринял попытку открыть все порты между websrv и backsrv - не помогло.
backsrv:/var/log# rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper
100021 1 udp 32768 nlockmgr
100021 3 udp 32768 nlockmgr
100021 4 udp 32768 nlockmgr
100021 1 tcp 32768 nlockmgr
100021 3 tcp 32768 nlockmgr
100021 4 tcp 32768 nlockmgr
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100005 1 udp 8002 mountd
100005 1 tcp 8002 mountd
100005 2 udp 8002 mountd
100005 2 tcp 8002 mountd
100005 3 udp 8002 mountd
100005 3 tcp 8002 mountd
100024 1 udp 8000 status
100024 1 tcp 8000 status
100000 2 udp 111 portmapper
Далее конфигурация webserv:
Установлен portmap + nfs-common
в /etc/default/nfs-common у него написано то же что и у backsrv
До последнего момента отсутствовал файл /etc/modprobe.d/options.local - его я скопировал с backsrv. Но я так понял он применяется к системе только после ребута, а этого я себе пока позволить не могу так как сервак - продакшн. Не очень понимаю нужн ли этот файл на клиенте. Проясните плз:)
Ну и собственно вот вывод rpcinfo -p на websrv:
websrv:/var/log$ rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper
391002 2 tcp 881 sgi_fam
100021 1 tcp 49069 nlockmgr
100021 3 tcp 49069 nlockmgr
100021 4 tcp 49069 nlockmgr
100024 1 udp 8000 status
100024 1 tcp 8000 status
100000 2 udp 111 portmapper
Какой-то он подозрительный:
391002 2 tcp 881 sgi_fam - откуда это взялось? На ubuntu такого нет и на других машинах с debain, на которых я эксперементировал c NFS такого процесса не запускалось.
Второе собственно относится к моему некоторому недопониманию NFS:
На backsrv есть процесс на порту 2049 nfs - на клиенте websrv нет
Нужен ли и этот процесс на клиенте.
nfs volume mount problem
1) использование nfs для бекапа - неверный шаг в корне.
2) посмотрите http://wiki.debian.org/SecuringNFS и http://forums.gentoo.org/viewtopic.php?t=77748 потому что я не все в вашем описании понял.
1) использование nfs для бекапа - неверный шаг в корне.
2) посмотрите http://wiki.debian.org/SecuringNFS и http://forums.gentoo.org/viewtopic.php?t=77748 потому что я не все в вашем описании понял.
1) - Потому что не шифруется?
2) К сожалению это читал и учел при первичной конфигурации.
Суть в том, что по каким-то причинам директория на backsrv не монтируется на websrv при всех открытых портах между ними. при этом запускается sgi_fam который непонятно откуда взялся... Может меня похакали , подменили бинарники какие-нибудьа я и не знаю, . Можете меня как-то направить, где почитать на эту тему ( в смысле "а не хакнули ли меня")?
При том что на другой машине монтируется на раз.
запускается sgi_fam который непонятно откуда взялся
man fam на этой машине расскажет зачем нужен sgi_fam.
лично я не увидел ни каких настроек относительно самого NFS, вы настроили кучу портов, еще чего-то, но монтирование проводите с настройками по умолчанию?
такие вещи как timeout, rsize, wsize, все что влияют на производительность, где они?
На backsrv есть процесс на порту 2049 nfs - на клиенте websrv нет
на то он и клиент а не сервер =)
1) - Потому что не шифруется?
он может шифроваться керберосом например, но ftp да и ssh быстрей, на дальних дистанциях =)