NFS部署和优化

系统环境:CentOS release 6.5 (Final)web

1、啥是NFS

    NFS是Network File System即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是经过网络让不一样的机器、不一样的操做系统可以彼此分享个别的数据,让应用程序在客户端经过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。服务器

2、安装NFS服务(Server端)

服务端ip地址:192.168.1.201网络

监听端口号:2049/tcp,2049/udp 异步

# yum -y install nfs-utils rpcbindasync

在CentOS5.x叫portmaptcp

编辑/etc/exports文件加入以下内容:ui

/web 192.168.1.1/24(rw,sync)spa

exports文件说明:操作系统

文件系统 客户端1(文件系统导出属性) 客户端2(文件系统导出属性)进程

  • 客户端指定方式:

    IP:192.168.1.202

    Hostname:*.fansik.com

    Network:192.168.1.0/24

  • 文件系统属性  

    rw:读写 

    async:异步
    sync:同步
    root_squash:压缩root用户,基于imapd,将root经过网络访问时转换为nfsnobody用户
    no_root_squash:不压缩用户
    all_squash:压缩全部用户
    anonuid,anongid:指定

启动rpcbind服务:

# /etc/init.d/rpcbind start

启动nfs服务:

# /etc/init.d/nfs start

启动后三个关键进程:

mountd:挂载守护进程,负责客户端来源认证的进程

nfsd:文件读写

idmapd:id映射进程

使用下面的命令能够查看各进程监听的端口号

# rpcinfo -p localhost

因为mountd的监听端口号是随机的可能会占用其余服务的端口号,因此要使nfs的辅助进程mountd监听在固定的端口上,能够经过/etc/sysconfig/nfs文件进行配置。

3、挂在NFS目录(Client端)

客户端IP地址:10.10.10.101

# yum -y install nfs-utils

查看Server端共享哪一个目录,容许那个ip访问

# showmount -e 192.168.1.201

-e:在nfs客户端执行,探查某主机所导出的nfs文件系统,使用格式"showmount -e Server_IP";

-d:在nfs服务器端执行,显示哪一个导出的文件系统已经被至少一个客户挂载使用了;

-a:在nfs服务器端显示全部挂载会话。

建立挂载目录

# mkdir /web

挂载Server端web目录到本地

# mount -t nfs 192.168.1.201:/web /web

在挂载目录建立文件时因为操做web目录的是nfsnobody因此要把其余人的写权限打开。

4、NFS指定被关在目录写入文件的用户

编辑Server端的/etc/exports文件

/web 192.168.1.1/24(rw,sync,all_squash,anonuid=502,anongid=502)

重启nfs的服务或者# exportfs -arv

不去限制root的写法以下:

/web 192.168.1.1/24(rw,sync,no_root_squash)

去Client端从新挂载目录

若是使用# mount -t nfs 192.168.1.201:/web /web命令在touch文件的时候很慢,咱们可使用下面的命令指定nfs版本从新挂载一次就好啦:

# mount -t nfs -onolock,nfsvers=3 192.168.1.201:/web /web

是用此种方法后指定的用户id和组id使用的都是本地的id:例如Server端的组和用户id是fansik那么在Server端显示所属组和全部者就是fansik,可是若是Client的组和用户id是fanjinbao,那么Client端的文件的所属组和全部者就是fanjinbao

5、exportfs从新导出文件系统

在不重启nfs服务的状况下导出文件系统属性

选项:

-a:操做全部文件系统

-ra:从新导出全部文件系统

-ua:取消导出的全部文件系统

-v:显示详细信息

相关文章
相关标签/搜索