This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| nfs_server_on_centos_6 [2015/03/03 18:12] – herwarth | nfs_server_on_centos_6 [2015/03/05 08:56] (current) – herwarth | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | {{tag> | + | ======NFS server on CentOS 6====== |
| - | ===Install the packages=== | + | =====Installation===== |
| + | ====Packages==== | ||
| yum groupinstall "NFS server" | yum groupinstall "NFS server" | ||
| - | ===Configure the NFS options=== | + | =====Configuration===== |
| + | ====NFS options==== | ||
| In this example we disable NFS4 | In this example we disable NFS4 | ||
| - | vi / | + | <code - / |
| + | # Port rquotad should listen on. | ||
| + | RQUOTAD_PORT=875 | ||
| + | # TCP port rpc.lockd should listen on. | ||
| + | LOCKD_TCPPORT=32803 | ||
| + | # UDP port rpc.lockd should listen on. | ||
| + | LOCKD_UDPPORT=32769 | ||
| + | # Turn off v4 protocol support | ||
| + | RPCNFSDARGS=" | ||
| + | # Number of nfs server processes to be started. | ||
| + | # The default is 8. | ||
| + | RPCNFSDCOUNT=128 | ||
| + | # Port rpc.mountd should listen on. | ||
| + | MOUNTD_PORT=892 | ||
| + | # Port rpc.statd should listen on. | ||
| + | STATD_PORT=662 | ||
| + | # Outgoing port statd should used. The default is port | ||
| + | # is random | ||
| + | STATD_OUTGOING_PORT=2020 | ||
| + | # Specify callout program | ||
| + | # To enable RDMA support on the server by setting this to | ||
| + | # the port the server should listen on | ||
| + | RDMA_PORT=20049 | ||
| + | </ | ||
| - | # Port rquotad should listen on. | + | ====Iptables==== |
| - | RQUOTAD_PORT=875 | + | <code - / |
| - | # TCP port rpc.lockd should listen on. | + | . |
| - | LOCKD_TCPPORT=32803 | + | . |
| - | # UDP port rpc.lockd should listen on. | + | -A INPUT -m state --state NEW -m udp -p udp --dport 111 -j ACCEPT |
| - | LOCKD_UDPPORT=32769 | + | -A INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT |
| - | # Turn off v4 protocol support | + | -A INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT |
| - | RPCNFSDARGS="-N 4" | + | -A INPUT -m state --state NEW -m tcp -p tcp --dport 32803 -j ACCEPT |
| - | # Number of nfs server processes to be started. | + | -A INPUT -m state --state NEW -m udp -p udp --dport 32769 -j ACCEPT |
| - | # The default is 8. | + | -A INPUT -m state --state NEW -m tcp -p tcp --dport 892 -j ACCEPT |
| - | RPCNFSDCOUNT=128 | + | -A INPUT -m state --state NEW -m udp -p udp --dport 892 -j ACCEPT |
| - | # Port rpc.mountd should listen on. | + | -A INPUT -m state --state NEW -m tcp -p tcp --dport 875 -j ACCEPT |
| - | MOUNTD_PORT=892 | + | -A INPUT -m state --state NEW -m udp -p udp --dport 875 -j ACCEPT |
| - | # Port rpc.statd should listen on. | + | -A INPUT -m state --state NEW -m tcp -p tcp --dport 662 -j ACCEPT |
| - | STATD_PORT=662 | + | -A INPUT -m state --state NEW -m udp -p udp --dport 662 -j ACCEPT |
| - | # Outgoing port statd should used. The default is port | + | . |
| - | # is random | + | . |
| - | STATD_OUTGOING_PORT=2020 | + | </ |
| - | # Specify callout program | + | ====Hardware |
| - | # To enable RDMA support on the server by setting this to | + | |
| - | # the port the server should listen on | + | |
| - | RDMA_PORT=20049 | + | |
| - | + | ||
| - | ===Configure iptables=== | + | |
| - | vi / | + | |
| - | vi / | + | |
| - | Add the following lines | + | |
| - | | + | |
| - | -A INPUT -m state --state NEW -m udp -p udp --dport 111 -j ACCEPT | + | |
| - | -A INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT | + | |
| - | -A INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT | + | |
| - | -A INPUT -m state --state NEW -m tcp -p tcp --dport 32803 -j ACCEPT | + | |
| - | -A INPUT -m state --state NEW -m udp -p udp --dport 32769 -j ACCEPT | + | |
| - | -A INPUT -m state --state NEW -m tcp -p tcp --dport 892 -j ACCEPT | + | |
| - | -A INPUT -m state --state NEW -m udp -p udp --dport 892 -j ACCEPT | + | |
| - | -A INPUT -m state --state NEW -m tcp -p tcp --dport 875 -j ACCEPT | + | |
| - | -A INPUT -m state --state NEW -m udp -p udp --dport 875 -j ACCEPT | + | |
| - | -A INPUT -m state --state NEW -m tcp -p tcp --dport 662 -j ACCEPT | + | |
| - | -A INPUT -m state --state NEW -m udp -p udp --dport 662 -j ACCEPT | + | |
| - | ===Configure hardware | + | |
| Configure the cache ratio: 75% read, 25% write. On HP we use hpacucli | Configure the cache ratio: 75% read, 25% write. On HP we use hpacucli | ||
| Line 54: | Line 58: | ||
| hpacucli ctrl slot=0 modify cacheratio=75/ | hpacucli ctrl slot=0 modify cacheratio=75/ | ||
| - | ===Configure | + | ====Linux parameters==== |
| - | vi / | + | <code - / |
| + | # NFS ESXi | ||
| + | # Configuring the Linux I/O Scheduler | ||
| + | echo " | ||
| + | # Configuring Disk Read-Ahead. Set read-ahead cache to 512KB | ||
| + | / | ||
| + | </ | ||
| + | <code - / | ||
| + | . | ||
| + | . | ||
| + | # ESXi NFS settings | ||
| + | net.core.rmem_max = 16777216 | ||
| + | net.core.wmem_max = 16777216 | ||
| + | net.ipv4.tcp_rmem = 4096 87380 16777216 | ||
| + | net.ipv4.tcp_wmem = 4096 65535 16777216 | ||
| + | net.core.netdev_max_backlog = 30000 | ||
| + | vm.dirty_background_ratio = 1 | ||
| + | vm.dirty_expire_centisecs = 1000 | ||
| + | vm.dirty_ratio = 10 | ||
| + | vm.dirty_writeback_centisecs = 100 | ||
| + | vm.vfs_cache_pressure = 40 | ||
| + | </ | ||
| - | # NFS ESXi | + | ====Mount and exports==== |
| - | # Configuring the Linux I/O Scheduler | + | |
| - | echo " | + | |
| - | # Configuring Disk Read-Ahead. Set read-ahead cache to 512KB | + | |
| - | / | + | |
| - | vi /etc/sysctl.conf | + | <code - /etc/fstab> |
| - | + | . | |
| - | # ESXi NFS settings | + | . |
| - | net.core.rmem_max = 16777216 | + | / |
| - | net.core.wmem_max = 16777216 | + | </ |
| - | | + | |
| - | net.ipv4.tcp_wmem = 4096 65535 16777216 | + | |
| - | net.core.netdev_max_backlog = 30000 | + | |
| - | vm.dirty_background_ratio = 1 | + | |
| - | vm.dirty_expire_centisecs = 1000 | + | |
| - | vm.dirty_ratio = 10 | + | |
| - | vm.dirty_writeback_centisecs = 100 | + | |
| - | vm.vfs_cache_pressure = 40 | + | |
| - | + | ||
| - | ===Configure mount and exports=== | + | |
| - | + | ||
| - | vi / | + | |
| - | + | ||
| - | | + | |
| mount -a | mount -a | ||
| - | vi / | + | <code - / |
| - | + | . | |
| - | / | + | . |
| + | / | ||
| + | </ | ||
| + | {{tag> | ||