Linux(内核版本2.6以上) 设置nfs服务

<<******************************nfs共享单个目录******************************>>
服务器端:
1.安装nfs服务器所需的软件包
yum install -y nfs-utils


2.配置 NFS 共享
编辑/etc/exports文件:vi /etc/exports
加上: 共享目录 共享的IP及掩码或者域名(权限,同步更新)
/root/server 192.168.0.1(rw,sync,fsid=0) 192.168.0.2(rw,sync,fsid=0)
表示:192.168.0.1和192.168.0.2两台服务器可以挂载NFS服务器上的/root/server目录到自己的文件系统中。
rw:可读可写
sync:同步写内存和磁盘
fsid=0:将/root/server这个导出文件夹包装成起始根目录


3.启动 NFS 服务
先开放rpcbind和nfs随机自启动:(即:设置开机自启)
chkconfig rpcbind on
chkconfig nfs on
然后分别启动rpcbind和nfs服务:
service rpcbind start
service nfs start


4.确认nfs服务启动成功:rpcinfo -p


5.检查nfs服务器是否输出我们想共享的目录:exportfs


客户端:
1.安装nfs服务器所需的安装包
yum install -y nfs-utils


2.启动 NFS 服务
先开放rpcbind和nfs随机自启动:(即:设置开机自启)
chkconfig rpcbind on
然后分别启动rpcbind和nfs服务:
service rpcbind start


3.检查 NFS 服务器是否有目录共享:showmount -e nfs 服务器的IP


4.使用mount挂载服务器的目录/root/server到客户端某个目录下:
mkdir /root/server
mount -t nfs4 nfs服务器IP:/ 客户端的目录
    如:mount -t nfs4 192.168.17.129:/ /root/server


5.查看是否挂载成功:df -h


6.设置客户机启动自动挂载
vi /etc/fstab
加上:nfs服务器IP:/ 客户端目录 nfs4 ro,hard,intr,proto=tcp,port=2049,noauto 0 0


7.客户端挂载后,写文件可能出现权限问题(Permission denied),可以修改服务器端文件/etc/exports
/root/server 192.168.0.1(rw,sync,fsid=0,anonuid=48,anongid=48) 192.168.0.2(rw,sync,fsid=0,anonuid=48,anongid=48)
anonuid=48的意思是让所有匿名用户的操作都视为服务器上ID=48的用户;
anongid=48的意思是让所有匿名用户组的操作都视为服务器上ID=48的用户组;
同时,客户机上也要有ID=48的用户和用户组,且用户名和用户组名要和服务器上的一致

设置好后,重启服务器:rpcbind、nfs服务
重启客户端:rpcbind服务



RH系操作系统在6.0版本之后没有portmap服务控制rpc的启动,由于NFS和nfslock的启动需要向rpc进行注册,rpc不启动的话就会报错。


解决方法:启动rpcbind&rpcidmap rpcbind是6.0版本后默认的RPC服务,所以要先于nfs启动。如果不启动rpcidmap则会造成用户权限的映射错误,用户的权限看起来是一串数字。




<<******************************nfs共享多个个目录******************************>>


1.使用NFSv4方式共享多个目录时,所有的目录都要作为共享目录的子目录


例如:
服务器端:
以下目录需要共享:
/first/very/long/path1
/second/very/long/path2


同时让客户端看上去共享的目录是 /dir1 和 /dir2。


服务器端 创建子目录:
mkdir /home/NFSv4/dir1
mkdir /home/NFSv4/dir2


使用参数挂载需要共享的目录:
mount --bind /first/very/long/path1 /home/NFSv4/dir1
mount --bind /secend/very/long/path2 /home/NFSv4/dir2


修改/etc/exports文件:
/home/NFSv4/dir1 *(rw,nohide,sync)
/home/NFSv4/dir2 *(rw,nohide,sync)

注意:需要使用nohide参数 重新读取NFS配置文件 # exportfs -rv


客户端:
方式一:从根目录挂载
mount server1:/ /mount/point/
方式二:单独挂载
mount server1:/dir1 /mount/point1/
mount server1:/dir2 /mount/point2/


权限控制:修改服务器端 /ect/export 文件,类似以下内容:

/home/NFSv4 192.168.1.0/24 (ro,fsid=0,sync,anonuid=65534,anongid=65534)


本文基于以下文章整理:http://www.server110.com/linux/201404/10169.html

你可能感兴趣的:(Linux)