Антон Рябов bio photo

Антон Рябов

Не люблю бриться и у меня умный взгляд.

Email Twitter Github RSS

Обзор

На работе решили использовать 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

Ссылки:

#Centos #Proxmox