分类: LINUX
2008-08-08 16:32:40
NFS 是一个不错的共享存储系统,不过就是在高负载情况下性能不是太好。
10.0.0.1 - NFS Server
10.0.0.2 - NFS Client
在NFS Server上:
共享目录:/nfspool
NFS 运行用户:nfsnobody
# mkdir /nfspool
# vi /etc/exports
/nfspool 10.0.0.2(rw,async,anonuid=65534,anongid=65534)
# mkdir -p /nfspool
# chown nfsnobody:nfsnobody /nfspool
# chown -R nfsnobody:nfsnobody /nfspool/.
# service portmap start
# service nfslock start
# service nfs start
在NFS Client上:
远程 NFS 共享目录挂载点:/usr/local/nfs
# service portmap start
# mkdir /usr/local/nfs
# chown nfsnobody:nfsnobody /usr/local/nfs
# chmod 777 /usr/local/nfs
# mount -t nfs -o soft,intr,bg,timeo=50 10.0.0.1:/nfspool /usr/local/nfs
# vi /etc/fstab
10.0.0.1:/nfspool /usr/local/nfs nfs soft,intr,bg,timeo=50 0 0
说明,注意
1、exports参数说明
rw: 读写模式;
async: 异步磁盘读写;
anonu(g)id: 指定NFS在进行操作时所使用的匿名用户uid/gid
2、NFS 管理命令
showmount -e 在NFS Server上执行此命令显示NFS Server上所有的共享卷;
showmount -e 10.0.0.1 在NFS Client上执行此命令显示NFS Server上所有共享卷;
export -av 根据/etc/exports导出所有卷;
export -rv 重新导出所有卷,增加/etc/exports中的新项目、删除不存在的项目、更新改变的项目;
3、NFS 相关文件
/etc/exports
是NFS Server最基本的配置文件之一,文件中列出了共享的文件系统和允许访问这些文件系统的主机。
/proc/fs/nfs/exports
导出文件列表的内核视图,包括导出的参数。
/var/lib/nfs/etab
状态文件,其中列出了当前的高级列表
var/lib/nfs/rmtab
状态文件,列出了挂接导出文件的远程客户机清单。
/var/lib/nfs/xtab
状态文件,当前底层导出清单。
4、/etc/exports 中client的书写规则
(1) 单个主机
可以用短名及完全限定名,或者用IP地址,例如student01、student01.flying.com.cn或者192.168.10.1都是合法的主机名。
(2) Net-Group
可以列出/etc/netgroup文件中或NFS网组映射中定义的整组主机。网组名以@开头。
(3) 通配符主机
*.discuz.net *.*.comsenz.com
(4) 掩码
192.168.1.0/255.255.255.0
5、起停顺序
启动:
portmap
nfslock
nfs
停止:
nfslock
nfs
portmap
6、安全性
portmap: 111
NFS: 2049
防止使用IP欺骗和RPC重定向技术通过lo回环进行攻击以及限定授权主机:
iptables -A INPUT -p udp -d 127.0.0.1 --dport 111 -j DROP
iptables -A INPUT -p udp -d 127.0.0.1 --dport 2049 -j DROP
iptables -A INPUT -p udp -s 10.0.0.2 --dport 111 -j ACCEPT
iptables -A INPUT -p udp -s 10.0.0.2 --dport 2049 -j ACCEPT