Обзор
На работе решили использовать NFS сервер для резервных копий в Рroxmox. Думаю, стоит накидать заметку, чтобы не искать в следующий раз.
Чтобы NFS заработал в контейнере OpenVZ, нужно чтобы в гипервизоре была поддержка NFS, т.е. установлен nfs-utils. В образе с Proxmox этот пакет установлен, если вы устанавливали гипервизор самостоятельно, то его, скорее всего, не будет.
Kernel NFS server
Kernel-space NFS server is supported by latest RHEL5 and RHEL6 based kernels and since vzctl-3.0.24.
NB! Currently only NFSv3 is supported — no NFSv4 support yet.
Prerequisites
In order to run an NFS server inside a container, make sure:
nfsd kernel module is loaded on host system before starting a container
nfsd feature for a container is turned on (vzctl set $CTID —feature nfsd:on —save)
Установка nfs
$ yum install nfs-utils nfs-utils-lib
Запускаем демон rpcbind
$ chkconfig rpcbind on && service rpcbind start
Настраиваем NFS
$ vim /etc/sysconfig/nfs
Раскомментируем следующие строки
MOUNTD_NFS_V3="yes"
RPCNFSDARGS="-N 4"
NFSD_MODULE="noload"
Добавим следующие строки
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
STATD_OUTGOING_PORT=2020
Стартуем сервис nfs
$ chkconfig nfs on
$ service nfs start
Iptables
Генерируем файл правил
$ iptables-save
Правим файл в соответствии с
# Generated by iptables-save v1.4.7 on Mon Oct 6 02:58:25 2014
*filter
:INPUT DROP [6251:6489925]
-A INPUT -s 192.168.0.0/24 -m state --state NEW -p udp --dport 111 -j ACCEPT
-A INPUT -s 192.168.0.0/24 -m state --state NEW -p tcp --dport 111 -j ACCEPT
-A INPUT -s 192.168.0.0/24 -m state --state NEW -p tcp --dport 2049 -j ACCEPT
-A INPUT -s 192.168.0.0/24 -m state --state NEW -p tcp --dport 32803 -j ACCEPT
-A INPUT -s 192.168.0.0/24 -m state --state NEW -p udp --dport 32769 -j ACCEPT
-A INPUT -s 192.168.0.0/24 -m state --state NEW -p tcp --dport 892 -j ACCEPT
-A INPUT -s 192.168.0.0/24 -m state --state NEW -p udp --dport 892 -j ACCEPT
-A INPUT -s 192.168.0.0/24 -m state --state NEW -p tcp --dport 875 -j ACCEPT
-A INPUT -s 192.168.0.0/24 -m state --state NEW -p udp --dport 875 -j ACCEPT
-A INPUT -s 192.168.0.0/24 -m state --state NEW -p tcp --dport 662 -j ACCEPT
-A INPUT -s 192.168.0.0/24 -m state --state NEW -p udp --dport 662 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [3092:284379]
COMMIT
# Completed on Mon Oct 6 02:58:25 2014
# Generated by iptables-save v1.4.7 on Mon Oct 6 02:58:25 2014
*mangle
:PREROUTING ACCEPT [6251:6489925]
:INPUT ACCEPT [6251:6489925]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [3092:284379]
:POSTROUTING ACCEPT [3092:284379]
COMMIT
# Completed on Mon Oct 6 02:58:25 2014
# Generated by iptables-save v1.4.7 on Mon Oct 6 02:58:25 2014
*nat
:PREROUTING ACCEPT [10:449]
:POSTROUTING ACCEPT [217:15513]
:OUTPUT ACCEPT [217:15513]
COMMIT
# Completed on Mon Oct 6 02:58:25 2014
Применяем новые правила
$ service iptables restart
Ссылки:
- Подробности читаем здесь
- Сам NFS я устанавливал по этой инструкции
- Не нашел изначальную статью по Iptables по которой делал, но эта тоже ничего